Úlohy rozhraní WMI pro operační systémy získávají informace o operačním systému, jako je například verze, zda je aktivována nebo které opravy hotfix jsou nainstalovány.
Příklady skriptů uvedené v tomto tématu získávají data pouze z místního počítače. Další informace o tom, jak pomocí skriptu získat data ze vzdálených počítačů, naleznete v tématu Připojení k rozhraní WMI na vzdáleném počítači.
Následující postup popisuje, jak spustit skript.
Spuštění skriptu
- Zkopírujte kód a uložte ho do souboru s příponou .vbs, například název_souboru.vbs. Ujistěte se, že textový editor nepřidá do souboru .txt příponu.
- Otevřete okno příkazového řádku a přejděte do adresáře, do kterého jste soubor uložili.
- Na příkazovém řádku zadejte CScript filename.vbs.
- Pokud nemáte přístup k protokolu událostí, zkontrolujte, jestli používáte příkazový řádek se zvýšenými oprávněními. Některé protokoly událostí, jako je protokol událostí zabezpečení, můžou být chráněné řízením uživatelských přístupů (UAC).
Poznámka
Ve výchozím nastavení jazyk CScript zobrazí výstup skriptu v okně příkazového řádku. Vzhledem k tomu, že skripty rozhraní WMI můžou vytvářet velké objemy výstupu, můžete chtít výstup přesměrovat na soubor. Na příkazovém řádku zadejte cscript filename.vbs > outfile.txt a přesměrujte výstup skriptu název_souboru.vbs do outfile.txt.
Následující tabulka uvádí příklady skriptů, které lze použít k získání různých typů dat z místního počítače.
... Zjistěte, jestli je v počítači nainstalovaná aktualizace Service Pack? |
Použijte třídu Win32_OperatingSystem a zkontrolujte hodnotu vlastností ServicePackMajorVersion a ServicePackMinor 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.ServicePackMajorVersion & "." & objOperatingSystem.ServicePackMinorVersion
Next
|
Get-WmiObject -Class Win32_OperatingSystem -Namespace "root\cimv2" | `
format-list ServicePackMajorVersion, ServicePackMinorVersion
|
|
... určit, kdy byl operační systém nainstalován v počítači? |
Použijte třídu Win32_OperatingSystem a vlastnost 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
|
|
... Zjistěte, která verze operačního systému Windows je nainstalovaná na počítači? |
Použijte třídu Win32_OperatingSystem a načtěte jak vlastnosti Name, tak 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
|
|
... Určit, která složka je složka systému Windows (%Windir%) v počítači? |
Použijte třídu Win32_OperatingSystem a zkontrolujte hodnotu vlastnosti 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
|
|
... zjistěte, které hotfixy byly nainstalovány v počítači? |
Použijte třídu 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
|
|
... zjistěte, jestli potřebuji aktivovat operační systém na počítači? |
Použijte třídu Win32_WindowsProductActivation a zkontrolujte hodnotu vlastnosti 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
|
|
-
úlohy rozhraní WMI pro skripty a aplikace
-
příklady aplikací jazyka WMI C++
-
TechNet ScriptCenter