1

さまざまな種類のものをホストするコンピューター A があります。

  • C#Web サイト (およびを使用して開発されているASP.Net)
  • アプリケーション

当社のお客様は Web サイトにアクセスできますが、コンピューター A を再起動したい場合があります (再起動中に Web サイトが切断されることを知っています)。

私の質問は簡単です:それは次の方法が存在しますか:

  • ページ上のボタンをクリックするだけでコンピュータを再起動しASP.Netますか? どうすればそうすることができますか?
  • ASP.Net同じように、ページのボタンをクリックしたときにバッチ スクリプトを実行する (コンピューター A で実行する) ことは可能ですか?

ご協力いただきありがとうございます!

4

4 に答える 4

3

これは十分に安全な方法です (パスワードが安全に保存されている限り)。

ProcessStartInfo startInfo = new ProcessStartInfo("shutdown /r /f /t 5");
startInfo.UserName ="user with enough rights";
startInfo.Password ="password";
Process.Start(startInfo);

// /r - restart
// /f - force
// /t 5 - wait 5 seconds
于 2013-02-12T12:32:54.533 に答える
1

システムを使用してそれを行うことができます。Diagnostics.Process 名前空間。完全なプロセスについては、次のリンクを参照してください。

http://www.c-sharpcorner.com/UploadFile/yuanwang200409/RemoteRestartWindows09252006141003PM/RemoteRestartWindows.aspx

于 2013-02-12T12:33:51.187 に答える
1

実装は非常に簡単ですが、問題は IIS がそれを許可するかどうかです。また、誰かがこれを悪用した場合、サーバーを連鎖的に再起動する可能性があるため、悪用される可能性もあります。

本当にこれを実装したい場合はWeb Service、次のコードをトリガーする呼び出しを設定するだけです。

System.Diagnostics.Process.Start("shutdown.exe", "-r -t 0");

ただし、これを処理するための管理ツールを探しているように聞こえます. サーバーをリモートで管理するために利用できる多くのツールの 1 つを検討することをお勧めします。サーバーの再起動のみにアクセスを制限するなど、管理ソフトウェアがユーザーに特定の権限を与える機能を備えていることは、セキュリティ上重要です。

于 2013-02-12T12:34:15.903 に答える
1

コマンド ラインで C# から「shutdown -r」コマンドを実行できます。方法については、このSO の質問を参照してください。アプリケーションは十分に保護されている必要があり、IIS で実行されるアプリケーションには十分なユーザー権限が必要になることに注意してください。

編集:富士の提案された方法はうまく機能し、昇格したプロセスさえ必要としません(私はそれがうまくいくとは思っていませんでした;))

于 2013-02-12T12:34:19.383 に答える