オペレーティング システムに関する WMI タスクは、バージョン、アクティブ化されているかどうか、修正プログラムがインストールされているかどうかなど、オペレーティング システムに関する情報を取得します。
このトピックに示すスクリプト例では、ローカル コンピューターからのみデータを取得しています。 スクリプトを使用してリモート コンピューターからデータを取得する方法の詳細については、「リモート コンピューター上の WMI への接続」を参照してください。
以下の手順では、スクリプトの実行方法を説明します。
スクリプトを実行するには
- コードをコピーし、拡張子 .vbs を付けたファイル (filename.vbs など) に保存します。 テキスト エディターによってファイルに .txt 拡張子が追加されていないことを確認します。
- コマンド プロンプト ウィンドウを開き、ファイルを保存したディレクトリに移動します。
- コマンド プロンプトで「CScript filename.vbs」と入力します。
- イベント ログにアクセスできない場合は、管理者特権でのコマンド プロンプトから実行しているかどうかを確認します。 セキュリティ イベント ログなどの一部のイベント ログは、ユーザー アクセス制御 (UAC) によって保護されている場合があります。
注意
既定では、CScript により、コマンド プロンプト ウィンドウにスクリプトの出力が表示されます。 WMI スクリプトでは大量の出力が生成される可能性があるため、出力をファイルにリダイレクトしなくてはならない場合があるかもしれません。 コマンド プロンプトで「cscript filename.vbs > outfile.txt」と入力し、filename.vbs スクリプトの出力を outfile.txt にリダイレクトします。
次の表に、ローカル コンピューターからさまざまな種類のデータを取得するために使用できるスクリプトの例の一覧を示します。
サービス パックがコンピューターにインストールされているかどうかを確認する |
Win32_OperatingSystem クラスを使い、ServicePackMajorVersion と ServicePackMinorVersion プロパティの値を調べます。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo objOperatingSystem.ServicePackMajorVersion & "." & objOperatingSystem.ServicePackMinorVersion
Next
|
Get-WmiObject -Class Win32_OperatingSystem -Namespace "root\cimv2" | `
format-list ServicePackMajorVersion, ServicePackMinorVersion
|
|
オペレーティング システムがコンピューターにいつインストールされたかを確認する |
Win32_OperatingSystem クラスと InstallDate プロパティを使います。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo "Install Date: " & objOperatingSystem.InstallDate
Next
|
Get-WmiObject -Class Win32_OperatingSystem -Namespace "root\cimv2" | format-list InstallDate
|
|
コンピューターにインストールされている Windows オペレーティング システムのバージョンを確認する |
Win32_OperatingSystem クラスを使い、Name と Version の両方のプロパティを取得します。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo objOperatingSystem.Caption & " " & objOperatingSystem.Version
Next
|
Get-WmiObject -Class Win32_OperatingSystem -Namespace "root\cimv2" | format-list Caption, Version
|
|
コンピューターで Windows フォルダー (%Windir%) になっているフォルダーを確認する |
Win32_OperatingSystem クラスを使い、WindowsDirectory プロパティの値を調べます。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo "Windows Folder: " & objOperatingSystem.WindowsDirectory
Next
|
Get-WmiObject -Class Win32_OperatingSystem -Namespace "root\cimv2" | format-list WindowsDirectory
|
|
コンピューターにインストールされている修正プログラムを確認する |
Win32_QuickFixEngineering クラスを使います。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colQuickFixes = objWMIService.ExecQuery ("Select * from Win32_QuickFixEngineering")
For Each objQuickFix in colQuickFixes
Wscript.Echo "Description: " & objQuickFix.Description
Wscript.Echo "Hotfix ID: " & objQuickFix.HotFixID
Next
|
Get-WmiObject -Class Win32_QuickFixEngineering -Namespace "root\cimv2" | format-list Description, HotFixIDs
|
|
コンピューターでオペレーティング システムをアクティブにする必要があるかどうかを確認する |
Win32_WindowsProductActivation クラスを使って、ActivationRequired プロパティの値を調べます。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colWPA = objWMIService.ExecQuery ("Select * from Win32_WindowsProductActivation")
For Each objWPA in colWPA
Wscript.Echo "Activation Required: " & objWPA.ActivationRequired
Wscript.Echo "Remaining Evaluation Period: " & objWPA.RemainingEvaluationPeriod
Wscript.Echo "Remaining Grace Period: " & objWPA.RemainingGracePeriod
Next
|
Get-WmiObject -Class Win32_WindowsProductActivation -computer "." -Namespace "root\cimv2" | `
format-list ActivationRequired, RemainingEvaluationPeriod, RemainingGracePeriod
|
|
-
スクリプトおよびアプリケーション用の WMI タスク
-
WMI C++ アプリケーションの例
-
TechNet ScriptCenter