Sdílet prostřednictvím


Úlohy rozhraní WMI: Operační systémy

Ú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

  1. 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.
  2. Otevřete okno příkazového řádku a přejděte do adresáře, do kterého jste soubor uložili.
  3. Na příkazovém řádku zadejte CScript filename.vbs.
  4. 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.

Jak můžu... Třídy nebo metody služby WMI
... 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.
VB
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
PowerShell
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.

VB
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
PowerShell
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.

VB
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
PowerShell
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.

VB
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
PowerShell
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.

VB
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
PowerShell
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.

VB
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
PowerShell
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