Úlohy rozhraní WMI pro správu plochy můžou mít kontrolu a získávat data z vzdálené plochy nebo místního počítače. Můžete například určit, jestli screensaver na místním počítači vyžaduje heslo. Rozhraní WMI také umožňuje vypnout vzdálený počítač. Další příklady najdete na webu TechNet ScriptCenter na https://www.microsoft.com/technet.
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í 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 se vzdálený počítač v nouzovém režimu s stavem sítě nespustí?
Použijte třídu Win32_ComputerSystem a zkontrolujte hodnotu vlastnosti PrimaryOwnerName.
VB
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings
Wscript.Echo "System Name: " & objComputer.Name
Wscript.Echo "Registered owner: " & objComputer.PrimaryOwnerName
Next
... určíte, jestli počítač screensaver vyžaduje heslo?
Použijte třídu Win32_Desktop a zkontrolujte hodnotu vlastnosti ScreenSaverSecure.
VB
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Desktop")
For Each objItem in colItems
Wscript.Echo "Screen Saver Secure: " & objItem.ScreenSaverSecure
Next
... Ověřte, že je obrazovka počítače nastavena na 800 pixelů na 600 pixelů?
Použijte třídu Win32_DesktopMonitor a zkontrolujte hodnoty vlastností ScreenHeight a ScreenWidth.
VB
strComputer = "."
Set objWMIService = GetObject(_
"winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DesktopMonitor")
For Each objItem in colItems
Wscript.Echo "Screen Height: " & objItem.ScreenHeight
Wscript.Echo "Screen Width: " & objItem.ScreenWidth
Next
PowerShell
<# Get desktop information #>
$computer = "." $desktops = Get-WmiObject -Class Win32_DesktopMonitor $hostname = název hostitele
<# Zobrazit podrobnosti o ploše #> "Existují {0} Desktopy na {1} následujícím způsobem:" -f $desktops. Count, $hostname "" $i=1 # count of desktops on this system
strComputer = "atl-dc-01"
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Shutdown(1)
Next