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

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

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

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

- このユーザーの新しく作成されたエントリをダブルクリックします。の プロパティ ダイアログボックスが表示されます。
- まず 所属 タブを選択して 追加 ボタン。 ザ グループを選択 ダイアログボックスが表示されます。
- 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 に置き換える必要があります。
Syntax : (A;;LCRPRCLOCC;;;$UserSID)Example: (A;;LCRPRCLOCC;;;S-1-5-21-265800110-2195697097-2714329818-1112) - の隣に文字列を追加します
(A;;CCLCRPRC;;;IU)文字列。D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;LCRPRCLOCC;;;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;;LCRPRCLOCC;;;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_サービス などの別のサービスへ アプリ管理 サービスを使用するには、SCManager の権限を変更するために指定されたすべての手順を実行する必要があります。必ず交換する必要があります SCManager とともにWindowsサービスの. たとえば、次のコマンドは、 アプリ管理 サービス。
sc.exe sdshow AppMgmt独自の ACL を作成することも、Interactive Users (IU) で終わる SDDL からセグメントをコピーすることもできます。A;;CCLCRPRC;;;IU)。 ACLの作成の詳細については、を参照してください。 ACE文字列.
管理者以外の構成の自動化
構成手順を手動で実行する代わりに、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。 Source Starter 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.
- ユーザー ポリシーが正常に更新されたら、ドメイン マシンを再起動します。