Windows コレクター用の WinRM の構成
最終更新日: 10 年 2024 月 XNUMX 日WinRM は Microsoft による実装です。 WS管理プロトコルは、さまざまなベンダーのハードウェアとオペレーティング システムの相互運用を可能にする、標準の SOAP ベースのファイアウォール対応プロトコルです。 したがって、WinRM は、WS-Management プロトコルを使用してローカル コンピューターまたはリモート コンピューターから管理データを取得する方法を提供します。
前提条件
WinRM を構成して使用してデータをクエリするには、次の前提条件を満たす必要があります。
- EA Collector 35.400 以降のバージョンをインストールする必要があります。
- Windows デバイス上で HTTPS リスナーを作成して有効にする必要があります。 見る、 HTTPS リスナー (ポート 5986) を作成します。
ドメインユーザーの作成
新しいドメイン ユーザーを作成することも、既存のドメイン ユーザーを使用することもできます。 ただし、ドメイン ユーザーが Administrators グループのメンバーではないことを確認してください。 新しいドメイン ユーザーを作成する場合は、まずドメイン ユーザーを作成し、次にそのドメイン ユーザーを使用してコレクタをインストールすることをお勧めします。
- MFAデバイスに移動する サーバーマネージャ > ツール > Active Directoryユーザーとコンピュータ.
- WinRM に使用するドメインに移動し、右クリックします。 ユーザー をクリックして New.
- 新しいユーザーの詳細を入力し、選択します 次へ.
- パスワードを入力して確認し、選択します 次へ.
- 内容を確認して選択してください 終了.
HTTPS リスナー (ポート 5986) の作成
Windows デバイス上で HTTPS リスナーを作成または有効にする必要があります。 WinRM 用に作成された HTTPS リスナーがない場合は、以下の手順に従います。
- コマンドを実行する
WinRM e winrm/config/listener
cmd_promptで、ポート5986がWinRMサービスで既に有効になっているかどうかを確認します。 - 信頼できる証明機関 (CA) によって署名された証明書を使用します。
- 既存の証明書のサムプリントをコピーし、PowerShell で次のコマンドを実行します。
winrm create winrm/config/Listener?Address=*+Transport=HTTPS '@{Hostname="<YOUR_DNS_NAME>"; CertificateThumbprint="<COPIED_CERTIFICATE_THUMBPRINT>"}
' - リスナーが作成されたかどうかを確認するには、次のコマンドを実行します。
WinRM e winrm/config/listener
cmd_promptで、ポート5985および5986の詳細を出力します。 - 新しいファイアウォールインバウンドルールを追加して、ポート5986(TCP)のすべての接続を許可するには、次の手順に従います。
- 検索して選択します セキュリティが強化されたWindowsファイアウォール オプション。 [セキュリティが強化された Windows ファイアウォール] ウィンドウが表示されます。
- 左側のナビゲーションで、右クリックします インバウンドルール をクリックして 新しいルール。 [新しいインバウンドルールウィザード]ウィンドウが表示されます。
- 現在地に最も近い ポート ラジオボタンを押して選択します 次へ.
- 現在地に最も近い TCP ラジオボタン。
- 現在地に最も近い 特定のローカルポート ラジオボタンと入力 5986 空白のフィールドに。 選択する 次へ.
- 現在地に最も近い 接続を許可する ラジオボタンを押して選択します 次へ.
- 現在地に最も近い ドメイン, プライベート, 公共 チェックボックスをオンにして選択します 次へ.
- にルール名を入力します。 お名前 フィールドを選択して選択します 終了.
WinRM 対応コレクターのセットアップ
WinRM 対応コレクターをセットアップするには、次の手順に従います。
- Windowsコレクターをインストールする
- WinRM プロパティを構成する
- WinRM の非管理者構成を自動化する
- GPO ポリシーの作成
- WinRM タスクを GPO ポリシーに追加する
- リモートマシンを再起動します
Windows コレクターのインストール
で与えられた指示に従ってください コレクターのインストール Windows コレクターをインストールします。 EA Collector 35.400 以降のバージョンを必ずインストールしてください。
WinRM プロパティの構成
HTTP (ポート 5985) を使用して WinRM データ収集機能を使用するには、次のプロパティを構成する必要があります。
プロパティ | コレクター設定の場所 | デフォルト値 | Description |
wmi.winrm.enable | エージェント.conf | false | WinRM 機能を有効または無効にすることができます。コレクターが WinRM クエリを実行できるようにするには、値を true に設定します。 |
wmi.winrm.authType | sbproxy.conf | Negotiate |
|
wmi.winrm.useSSL | true | HTTPS を使用して WinRM データ収集を実行できるようにします。これを行うには、HTTPS セットアップが構成されていることを確認してください。 | |
wmi.winrm.certCheck | true |
詳細については、を参照してください。 CACheck をスキップ と CNチェックをスキップ Microsoft のドキュメント。 セキュリティのベスト プラクティスに従って、このプロパティの値を次のように設定することをお勧めします。 true .注意: wmi.winrm.useSSL と wmi.winrm.certCheck プロパティはテスト目的でのみ提供されており、コレクターの将来のリリースでは削除される予定です。 |
プロパティを使用して構成ファイルを更新した後、コレクターを再起動します。
ご注意: から始まるセクション WinRM の非管理者構成の自動化 以降は、WMI クエリ ユーザーを非管理者ユーザーにしたいユーザーのみを対象としています。
WinRM の非管理者構成の自動化
を追加することで、WinRM の非管理者構成プロセスを自動化しました。 Windows_NonAdmin_Config.ps1
。 スクリプトに関して次の点を考慮する必要があります。
- スクリプトは Windows コレクター インストーラーにバンドルされています。
- コレクターをインストールした後、次の場所に移動します。
\LogicMonitor\Agent\bin
スクリプトを ネットログオン フォルダにコピーします。 - ドメイン内のすべてのマシンが、 ネットログオン グループ ポリシー (GPO) を通じて実行されるときにこのスクリプトにアクセスするには、フォルダーにアクセスします。
アクセスの問題の場合は、次を参照してください。 Microsoft のドキュメントで詳しく説明されています)。
GPO ポリシーの作成
- MFAデバイスに移動する サーバーマネージャ > ツール > グループポリシー管理.
- 使用するドメインを右クリックし、選択します このドメインに GPO を作成し、ここにリンクします…
- 新しい GPO ポリシーの名前 (WinRM 構成など) を入力し、選択します。 OK。 Source Starter GPO は残ることに注意してください。 (なし).
- 新しく作成した GPO ポリシーを右クリックし、選択します。 編集 WinRM タスクを追加します。
GPO ポリシーへの WinRM タスクの追加
- グループ ポリシー管理エディターで、次の場所に移動します。 コンピューター構成 > 政策 > Windowsの設定 > スクリプト(起動/シャットダウン) をクリックして スタートアップ.
[スタートアップ プロパティ] ダイアログ ボックスが表示されます。 - 下 スクリプト タブ選択 Add.
「スクリプトの追加」ダイアログが表示されます。 - [スクリプトの追加] ダイアログで、次の詳細を入力します。
- スクリプト名 フィールドで 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 次に選択します 申し込む.
ドメインマシンの再起動
- PowerShell ターミナルを開いて実行します
gpupdate/force
. - ユーザー ポリシーが正常に更新されたら、ドメイン マシンを再起動します。
上記のセットアップを手動で実行するには、次を参照してください。 WindowsServerの監視と最小特権の原則.
Debug コマンドを使用して構成を確認する
設定が完了したら、 !winrm
WinRMの設定を確認するには、デバッグコマンドを実行します。さらに、 !winrm
出力を取得するには、任意のクエリを実行します。デバッグ コマンドが正常に実行されると、クエリの出力が出力されます。デバッグ コマンドの形式は次のとおりです。
!winrm host=<Computer Name> [auth=<Auth Type>] [useSSL=true|false] [certCheck=true|false] [username=foo] [password=var] [query=winrmquery]
このデバッグ コマンドのプロパティについては、次の表で説明します。
プロパティ名 | Description |
host | (必須の) 監視するリモート ドメイン コンピューター。 |
auth | サポートされている認証タイプは Kerberos と Negotiate 。 デフォルト値は Negotiate . |
useSSL | HTTPS経由のWinRMデータ収集。デフォルト値は true . |
certCheck | 証明書を使用する必要があるかどうかを示します。デフォルト値は true . |
username と password | ドメインユーザーの資格情報。渡されない場合は、 wmi.user と wmi.pass 使用されています。 |
query | WQLクエリ。デフォルト値は select * from Win32_Service . |
timeout | WQL クエリのタイムアウト値 (秒単位)。デフォルトでは、タイムアウト値は 60 秒です。 |
以下はクエリ入力の例です。
!winrm host=EC2AMAZ-93376C4.logicmonitor.com auth=Kerberos username=LOGICMONITOR\WinUser01 password=WinPass@123 useSSL=false certCheck=false
WinRM 構成のロールバック
によって行われた変更を元に戻すことができます。 Windows_NonAdmin_Config.ps1
脚本。次の例を参照してください。
-Noninteractive -ExecutionPolicy Bypass -Noprofile -file \\<IP_Address_of_DC>\netlogon\Windows_NonAdmin_Config.ps1 -remove -UserName logicmonitor\ScriptTestUser01
に記載されている手順に従ってください GPO ポリシーへの WinRM タスクの追加 セクションですが、スクリプトを実行します remove
WinRM 構成をロールバックするフラグ。
ご注意: この例では、DC の IP アドレスを正しいパスで追加します。
トラブルシューティング
以下を含む Groovy スクリプト モジュールの WQL フィルターの問題
とwmi.queryfirst()
wmi.queryAll()
WQL フィルターは次の 2 つの形式をサポートします。
- 形式 1 – 「select * from win32_bios where NAME LIKE '%'」 – WQL を二重引用符で囲み、句の値を一重引用符で囲みます。
- 形式 2 – 'select * from win32_bios where NAME LIKE “%” ' - WQL を一重引用符で囲み、句の値を二重引用符で囲みます。
WinRM(設定時) wmi.winrm.enable= true
) は形式 2 のみをサポートします。WinRM を有効にしていて、カスタム データソースに形式 1 を使用している場合は、呼び出し時にエラーが表示されます。 wmi.queryFirst()
/ wmi.queryAll()
グルーヴィーなスクリプトで。 エラーを回避するには、形式 2 を使用することをお勧めします。
断続的な問題 – ネットワーク パスが見つかりません
ネットワークまたはドメインの問題により、「ネットワーク パスが見つかりません」というメッセージが表示される場合があります。
Error Message : Exception calling "Invoke" with "2" argument(s): "The network path was not found.".Exception.Messages
ログでこのエラー メッセージが見つかった場合は、トラブルシューティングを行うために、スクリプトを新しいタスクとして再適用します。
サービス アカウントを管理者以外のユーザーに個別に移行するには、次を参照してください。 Windows Collector を管理者から非管理者ユーザーに移行する.