web-dev-qa-db-ja.com

UACが有効になっているときにWindowsサービスを管理するためのアクセス許可を割り当てる方法は?

私は次のシナリオを持っています:

  • 私はWindows7EnterpriseとUACが有効になっているコンピューターのローカル管理者です
  • コンピューターはドメイン内になく、グループポリシーの対象ではありません
  • 管理者として実行せずにプログラムを実行します
  • このプログラムは、ローカルにインストールされたWindowsサービスを制御する必要がある場合があります(手動起動オプションを使用)
  • 管理者として初期プログラムを実行しないか、UAC制御Windowsサービスを無効にしないと失敗します。

昇格された特権で実行したりUACを無効にしたりせずに、この特定のサービスを制御するためのアクセス許可をアカウントに付与するにはどうすればよいですか?

5
Ladislav Mrnka

サービスには、ほぼすべてのWindowsオブジェクトと同様に、ACLが関連付けられており、ACLを変更してアクセスできるようにすることができます。

私の知る限り、サービスACLを管理するための公式UIはないため、次の2つのオプションがあります。

  1. ダウンロード Process Explorer 。サービスを開始します(ProcExpは実行中のサービスのみを表示します)。 ProcExpで、サービスのプロセスをダブルクリックします(または右クリックして[プロパティ]をクリックします)。 「サービス」タブをクリックします。通常、プログラムは特定のユーザーによって実行されます-そのユーザーを追加します。 Advancedを押します。管理できる権限には、このサービスの停止/開始、およびカスタム定義のコマンドの送信が含まれます。

    Process Hacker も同様ですが、停止したサービスも管理できます。

  2. sc sdshowACE構文 および アクセス権 を学習し、セキュリティ記述子を編集して、sc sdsetに戻します。

4
user1686