データベースのエラーをチェックする Windows サービスを作成しました。特定のエラーが表示された場合は、IISRESET
コマンドを実行します。
問題は、昇格された特権なしで IISRESET コマンドを実行すると、実際にはリセットされないことです。したがって、コードで必要なすべてを実行できますが、IISRESET
コマンドが管理者として実行されているかどうかはわかりません。また、それを確認する方法もわかりません。
ここに私が持っているコードがあります
ErrorCheckerEventLog.WriteEntry("Performing IISReset", EventLogEntryType.Warning);
Process process = new Process();
process.StartInfo.Verb = "runas";
process.StartInfo.FileName = "iisreset.exe";
process.StartInfo.UseShellExecute = true;
process.StartInfo.CreateNoWindow = false;
process.StartInfo.RedirectStandardError = false;
process.StartInfo.RedirectStandardOutput = false;
process.Start();
process.WaitForExit();
ErrorCheckerEventLog.WriteEntry("IISReset finished", EventLogEntryType.Information);
アプリケーション イベント ログには、次の情報が表示されます。
リスナー アダプタ プロトコル 'net.tcp' が Windows プロセス アクティブ化サービスに正常に接続されました。
リスナー アダプター プロトコル 'net.pipe' が Windows プロセス アクティベーション サービスに正常に接続されました。
システム イベント ログには、次の情報が記録されています。
ユーザー testing\neil.kenny から IIS 開始コマンドを受け取りました。ログに記録されたデータはステータス コードです。
私にはすべて問題ないように見えますが、実際にリセットされたかどうかはまだわかりません。iisreset コマンドを実行しただけで、アクセス拒否メッセージが出力された可能性があります。
これを正しく確認するにはどうすればよいですか?