WindowsServerの監視と最小特権の原則
最終更新日 - 27年2026月XNUMX日
この構成の目的は、管理者権限なしでリモートWMI機能を実行することです。クエリユーザーは、デバイスに対する適切な権限を持っている必要があります。クエリユーザーは、ドメインユーザーまたはローカルユーザーのいずれでも構いません。ドメインユーザーは設定を一元的に構成できますが、ローカルユーザーは各デバイスごとに個別に構成する必要があります。
Windows Server 上で管理者権限なしで移行を行い、管理者権限なしでデータ収集を有効にするには、以下の方法があります。いずれの方法も同じ結果になりますので、環境に最適な方法を選択してください。
- 手動設定—この方法では、自動化や外部スクリプトを使用せずに、各ステップを手動で実行する必要があります。時間はかかりますが、スクリプトの実行が制限されている環境やドメインアクセスが利用できない環境では便利です。詳細については、 管理者以外の手動設定.
- スクリプトを使用した自動構成—あらかじめ作成されたスクリプトを使用して、各ターゲットサーバーを構成します。この方法は、グループポリシーにアクセスできないが、スクリプトの実行は許可されている場合に最適です。詳細については、 管理者以外の構成の自動化.
- グループポリシーを使用した展開グループポリシーを使用して、スクリプトを複数のサーバーに配布して実行します。この方法は、スケーラブルなドメイン全体の導入に推奨されます。詳細については、以下を参照してください。 GPOを使用したスクリプト実行の自動化.
管理者以外の手動設定
管理者以外の手動アクセスを構成するには、次の手順を実行します。
ユーザーをグループに追加する
ユーザーを作成したら、そのユーザーを次のグループに追加する必要があります。
- 分散COMユーザー—Windowsシステム上の分散コンポーネントオブジェクトモデル(DCOM)オブジェクトにアクセスし、操作するための権限を提供します。これにより、プロセス間通信にDCOMを利用するアプリケーションを実行し、ネットワーク経由で分散サービスにアクセスできるようになります。
- パフォーマンス監視ユーザー—Windowsシステムのパフォーマンスデータを監視および収集する権限を提供します。これにより、パフォーマンス監視ツールを実行し、システムメトリックを収集できるようになります。
- イベントログリーダー—Windowsシステムのイベントログを読み取る権限を提供します。これにより、システムイベントを監視および分析できます。イベントログから情報を表示・抽出し、問題をトラブルシューティングし、システムを分析できます。
- リモート管理ユーザー—Windowsシステム上のタスクをリモートで管理する権限を提供します。コマンドやスクリプトをリモートで実行したり、構成を管理したりできます。Windowsリモート管理(WinRM)やPowerShellリモート処理などのサービスも利用できます。
注意: リモート管理ユーザーグループへのユーザーの追加は、WinRMを使用する場合にのみ必要です。DCOMとWinRMを切り替える場合にのみ、このグループにユーザーを追加してください。
ドメインベースのセットアップでのグループへのユーザーの追加
- 管理者特権の PowerShell コンソールまたは cmd.exe から、次のコマンドを入力します。
dsaActive Directory ユーザーとコンピューターを起動します。
あるいは、open dsa.msc [ファイル名を指定して実行] ウィンドウ (Win+R) から。 - ドメインの下で右クリックします ユーザー をクリックして New > ユーザー.
A 新しいオブジェクト - ユーザー ダイアログボックスが表示されます。 - にユーザー名を入力します ユーザーのログオン名 フィールドを選択して選択します 次へ.

- パスワードを設定して選択します OK.
- このユーザーの新しく作成されたエントリをダブルクリックします。
その プロパティ ダイアログボックスが表示されます。 - まず 所属 タブを選択 追加.
その グループを選択 ダイアログボックスが表示されます。 - 4 つのグループの名前を入力します。 選択するオブジェクト名を入力します (例): フィールドを選択し、 OK.

下 所属 タブで、ユーザーが 4 つのグループに追加されていることを確認します。 - 選択する Apply 次に選択します OK.

非ドメインまたはローカル設定でのグループへのユーザーの追加
- 管理者特権の PowerShell コンソールまたは cmd.exe から、次のコマンドを入力します。
lusrmgrローカル ユーザーとグループを起動します。
また、 lusrmgr.mscと [ファイル名を指定して実行] ウィンドウ (Win+R) から。 - を右クリックします。 ユーザー フォルダを選択 新規ユーザ.
A 新規ユーザ ダイアログボックスが表示されます。 - 新しいユーザーのユーザー名とパスワードを入力し、 創造する.

- このユーザーの新しく作成されたエントリをダブルクリックします。
その プロパティ ダイアログボックスが表示されます。 - まず 所属 タブ、次に選択 追加.
その グループを選択 ダイアログボックスが表示されます。 - 4 つのグループの名前を入力します。 選択するオブジェクト名を入力します (例): フィールドを選択し、 OK.

下 所属 タブで、ユーザーが 4 つのグループに追加されていることを確認します。
- 選択する Apply 次に選択します OK.
WMI 名前空間のセキュリティ権限の付与
- 管理者特権の PowerShell コンソールまたは cmd.exe から、次のコマンドを発行します。
wmimgmtWMI 管理コンソールを起動します。
また、 wmimgmt.msc [ファイル名を指定して実行] ウィンドウ (Win+R) から。 - 右クリックする WMIコントロール をクリックして 特性.

その WMI コントロールのプロパティ ダイアログボックスが表示されます。 - 下 セキュリティ タブを選択 Root(根) フォルダにコピーします。

- 選択する セキュリティ.
その ルートのセキュリティ ダイアログボックスが表示されます。 - 選択する 追加.

その ユーザー、コンピュータ、サービスアカウント、またはグループを選択します ダイアログボックスが表示されます。 - にユーザー名を入力します 選択するオブジェクト名を入力します (例): フィールドを選択し、 OK.

下 セキュリティ タブで、ユーザーがユーザー名リストに追加されたことを確認します。 - ユーザーを選択し、選択したユーザーの権限を選択します。 許可する、選択 アカウントを有効にする, リモートイネーブル, セキュリティを読む チェックボックス

- 選択する Apply 次に選択します OK.
最小権限の原則を考慮すると、ユーザーにはWMI名前空間に対する以下の3つの権限のみが付与されます。これらの権限は、WMI名前空間、それに関連付けられたクラス、およびインスタンスへのアクセスを制御します。
- アカウントを有効にする– WMI プロバイダーを有効または無効にする機能を制御し、許可されたエンティティのみがその状態を制御できるようにします。
- リモートイネーブル–リモート システムがローカル コンピューター上の WMI プロバイダーにアクセスしてクエリできるかどうかを制御し、不正なリモート アクセスを防ぎます。
- セキュリティを読む– アカウントが WMI 名前空間のセキュリティ構成を表示できるようにし、監査を支援し、セキュリティ設定の効率的な管理を保証します。
Windows サービス権限の付与 - SDDL の変更
サービス コントロール マネージャー (SCManager) と Win32_services の権限を変更するには、次の手順に従います。
- LogicMonitor ユーザーのサービス ID (SID) を取得するには、PowerShell で次のコマンドを実行します。
[wmi] "win32_useraccount.domain='<domainName>',name='<userName>'" - SCManager の SDDL を取得するには、PowerShell で次のコマンドを実行します。
sc.exe sdshow SCMANAGER
取得したSDDLのサンプルD:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD) - 親 SDDL に追加する文字列を作成します。
これを LogicMonitor ユーザーの実際の SID に置き換える必要があります。
構文:(A;;GR;;;<UserSID>)
例:(A;;GR;;;S-1-5-21-265800110-2195697097-2714329818-1112) - の隣に文字列を追加します
(A;;CCLCRPRC;;;IU)文字列。D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;GR;;;S-1-5-21-265800110-2195697097-2714329818-1112)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD) - 新しい SDDL を SCManager のセキュリティ記述子として設定します。
sc sdset scmanager “D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;GR;;;S-1-5-21-265800110-2195697097-2714329818-1112)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)"
Win32 サービスの場合は、次の SDDL 形式を使用します。
"(A;;GR;;;<UserSID>)"
例:
Win32サービスをAppMgmtサービスなどの別のサービスに変更するには、SCManagerの権限変更に関するすべての手順を実行する必要があります。SCManagerを次のものに置き換えてください。 <serviceName> Windowsサービスの. たとえば、次のコマンドは、AppMgmt サービスのセキュリティ記述子を表示します。
sc.exe sdshow AppMgmtLogicMonitor サービスの権限
LogicMonitorサービス logicmonitor-agent の三脚と logicmonitor-watchdog 一般的な権限を超えた追加の権限を必要とする Read 権限。コレクタの通常の操作では、管理者以外のサービスアカウントがこれらのサービスを開始および停止します。そのため、より広範なACEが必要です。 (A;;CCLCRPWPRC;;;<UserSID>) 2つのサービスに適用されます。
注意: LogicMonitor サービス権限セットは LogicMonitor サービスにのみ適用され、一般的な Windows サービスには適用されません。
管理者以外の構成の自動化
構成手順を手動で実行する代わりに、PowerShell スクリプトを実行できます。 Windows_NonAdmin_Config.ps1 管理者以外の構成プロセスを自動化します。このスクリプトは、EA Collector 35.400 以降で利用できます。
注意:
- スクリプトは Windows コレクター インストーラーにバンドルされています。
- コレクターをインストールした後、次の場所に進みます。 \LogicMonitor\エージェント\bin.
- パスには、
Windows_NonAdmin_Config.ps1脚本。スクリプトをコピーして個々のドメイン デバイスに貼り付ける必要があります。 - その
Windows_NonAdmin_Config.ps1スクリプトはドメイン設定と非ドメイン設定の両方で機能します。 - 詳細なログは以下で確認できます。
%appdata%\LogicMonitor\Logs場所。
管理者以外の構成プロセスを自動化するには、次の手順に従います。
- 管理者として PowerShell セッションを開き、スクリプトの場所へのパスを変更します。 \LogicMonitor\エージェント\bin.
- ドメインベースのセットアップの場合、スクリプトを実行するには、 ユーザー名 パラメータは DomainName\UserName 形式で指定します。
.\Windows_NonAdmin_Config -add -UserName logicmonitor\DomainUser101
非ドメイン設定の場合は、次の形式を使用します。
.\Windows_NonAdmin_Config -add -UserName DomainUser101管理者ユーザーにロールバックする
管理構成にロールバックするには、次の手順に従います。
- 非管理者として PowerShell セッションを開き、スクリプトの場所に移動します。 \LogicMonitor\エージェント\bin.
- ドメインベースのセットアップの場合は、次のスクリプトを実行します。
.\Windows_NonAdmin_Config -remove -UserName logicmonitor\QueryUser101非ドメインベースのセットアップの場合は、次のスクリプトを実行します。
.\Windows_NonAdmin_Config -remove -UserName QueryUser101
コレクタ サービス アカウントの管理者から非管理者ユーザーへの移行
このセクションでは、Windows ユーザーを非管理者に変換し、データを照会するために必要な権限を付与する方法について説明します。
コレクタのインストール時にコレクタサービスアカウントの認証情報を使用した場合、コレクタは管理者ユーザーで実行されます。管理者ユーザーを非管理者ユーザーに変更するには、 Windows_NonAdmin_Config.ps1 スクリプト。例えば、コレクターのユーザー名がLogicMonitorの場合、以下のコマンドを使用して非管理者権限に変更します。ドメインベースの設定の場合は、ドメイン名を追加できます。
.\Windows_NonAdmin_Config -add -UserName LogicMonitorGPOを使用したスクリプト実行の自動化
GPO を通じてスクリプトの実行を自動化するには、GPO ポリシーを作成し、その GPO ポリシーにタスクを追加する必要があります。その後、ドメイン マシンを再起動する必要があります。
GPO ポリシーの作成
- MFAデバイスに移動する サーバーマネージャ > ツール > グループポリシー管理.
- 使用するドメインを右クリックし、選択します このドメインに GPO を作成し、ここにリンクします…

- 新しいGPOポリシーの名前を入力し、 OK.
ソーススターターGPOはそのまま残ります (なし).
- 新しく作成した GPO ポリシーを右クリックし、選択します。 編集 タスクを追加します。

GPO ポリシーへのタスクの追加
- グループ ポリシー管理エディターで、次の場所に移動します。 コンピューター構成 > 政策 > Windowsの設定 > スクリプト(起動/シャットダウン) をクリックして スタートアップ.

スタートアップ プロパティ ダイアログ ボックスが表示されます。 - 下 スクリプト タブ、選択 追加.

「スクリプトの追加」ダイアログが表示されます。 - 「スクリプトの追加」ダイアログで、次の詳細を入力します。
- スクリプト名 フィールドで、PowerShell.exe パスを参照します。
通常、パスはC:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe注: パスが異なる場合は、ファイルを配置した特定のフォルダーを参照してください。Powershell.exe. - スクリプトパラメータ フィールドに、スクリプトに次のパラメータを入力します。
-Noninteractive -ExecutionPolicy Bypass -Noprofile -file \\<IP_Address_of_DC>\netlogon\Windows_NonAdmin_Config.ps1 -add -UserName logicmonitor\DomainUser01
- スクリプト名 フィールドで、PowerShell.exe パスを参照します。
- 選択する OK 次に選択します Apply.
ドメインマシンの再起動
- PowerShellターミナルを開いて実行します
gpupdate/force.
- ユーザー ポリシーが正常に更新されたら、ドメイン マシンを再起動します。