WindowsサーバーのWMI設定
Windows管理インストルメンテーション (WMI)はWindowsベースのオペレーティングシステム (OS)の機器やアプリケーションを管理するしくみです。
WMIにより、ローカルやリモートシステムのステータスを把握します。
WindowsサーバーのWMI設定を行って、Site24x7を用いた監視を行います。
設定手順は次のとおりです。
WMIサービスが稼働しているかの確認
- Windowsマシンで、[services.msc]を開きます。
- [Windows Management Instrumentation]サービスを検索します。
- ステータスが実行中かを確認します。実行中でない場合、サービスを開始します。
リモート監視のWMI有効化
- [コントロールパネル]→[管理ツール]→[コンピューターの管理]の順にアクセスします。
- コンピューター管理画面で、[サービスとアプリケーション]をクリックします。
- [WMIコントロール]を右クリックして、[プロパティ]をクリックします。
- WMIコントロールプロパティ画面で、[セキュリティ]タブに移動します。
- [セキュリティ]ボタンをクリックします。
- グループやユーザー名で、WMIデータをリクエストするユーザーを選択し、[追加]をクリックします。
- 管理者権限で、リモート有効化が[許可]になっているかを確認します。
ファイアウォール許可
全ユーザーがローカルマシンでWMIデータのクエリや読み取りが行えます。リモートサーバーのWMIデータを読み取るには、次の設定を行いファイアウォールを許可します。
管理者権限でコマンドプロンプトを開いて、次のコマンドを実行します。
Windows XP、Windows Vista、Windows 7の場合
netsh firewall set service RemoteAdmin enable
Windows 8、Windows 8.1、Windows 10の場合
netsh advfirewall firewall set rule group="Windows Remote Management" new enable=yes
netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes
WMIリモート監視の確認と接続
PowerShellを用いたWMIリモート接続
Get-WmiObjectなど、多くのWMIコマンドレットで共通の-ComputerNameパラメーターを使用します。
$strComputer = "Computer_B"
$colSettings = Get-WmiObject Win32_OperatingSystem -ComputerName $strComputer
VBScriptを用いたWMIリモート接続
GetObjectへの要求で、リモートシステムの名前を含む監視を使用します。
strComputer = "Computer_B"
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
詳細はMicrosoftドキュメントを参照してください。