リモートマシン上のサービスを制御するために、.NETクラス?
-
18-09-2019 - |
質問
はい、私はこれをグーグルでしたが、私は少し怠けているんです。私はリモートで別のマシン上のWindowsサービスを制御する必要があります。 ServiceControllerのクラスは、私はこれをやらせるのか?どのような制限がありますか?私はスタート/ストップすることができます/リモートでの詳細「として実行」、すなわちを変更期限切れになるのパスワードを変更?
私は(彼らは自分のマシン上のすべてのローカル管理者だ)自分のアカウントで自分のローカルマシン上で実行するいくつかのサービスを制御するために仕事でASP.Netのウェブサイトのダッシュボードをユーザーに与えることを試みることになります。私は彼らのためにローカルで実行できる配布の作成を見ていないよので、これは他の機能と統合されています。 Windows認証を使用して、変更を行うために、ユーザーを偽装します。私はこれでに実行する可能性がどのような問題があればだ?
乾杯
解決
var sc = new ServiceController("servicename", "othermachinename");
のコードを実行しているアカウントは、サービスと対話するために、ターゲットコンピュータの管理者権限が必要になります。偽装が動作します。私は(すなわち、ソース/ターゲット・マシン上で同じ資格情報を持つユーザーアカウントから実行されている)かなり厳密に制御状況でこれを使用しましたが、私の経験では、すべての操作が期待通りに動作します。
ServiceControllerのクラスを使用するのと同じくらい簡単ではありません - あなたは、サービスの資格情報などを変更したい場合は、、あなたはWMIを使用する必要があります。詳細についてはするManagementObjectクラスを参照してください。
私は、サービスの資格情報を変更するにはWMIを使用して説明このリンクを発見しました。
所属していません StackOverflow