Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Krátký popis
Poskytuje základní informace o rozhraní WMI (Windows Management Instrumentation) a Windows PowerShellu.
Dlouhý popis
Toto téma obsahuje informace o technologii rozhraní WMI, rutinách rozhraní WMI pro Windows PowerShell, vzdálené komunikace založené na rozhraní WMI, akcelerátorech rozhraní WMI a řešení potíží s rozhraním WMI. Toto téma obsahuje také odkazy na další informace o rozhraní WMI.
INFORMACE O službě WMI
WMI (Windows Management Instrumentation) je způsob, jakým Microsoft implementuje standard WBEM (Web-Based Enterprise Management), což je oborová iniciativa zaměřená na vývoj standardní technologie pro přístup k informacím správy v podnikovém prostředí. WMI používá k reprezentaci systémů, aplikací, sítí, zařízení a jiných součástí správy oborový standard CIM (Common Information Model). CIM vyvíjí a udržuje konsorcium DMTF (Distributed Management Task Force). WMI můžete použít ke správě místních i vzdálených počítačů. Pomocí rozhraní WMI můžete například provést následující akce:
- Spusťte proces ve vzdáleném počítači.
- Restartujte počítač vzdáleně.
- Získejte seznam aplikací nainstalovaných na místním nebo vzdáleném počítači.
- Dotazujte se na protokoly událostí Systému Windows na místním nebo vzdáleném počítači.
RUTINY WMI PRO WINDOWS POWERSHELL
Windows PowerShell implementuje funkce rozhraní WMI prostřednictvím sady rutin, které jsou ve výchozím nastavení dostupné ve Windows PowerShellu. Tyto rutiny můžete použít k dokončení komplexních úloh potřebných ke správě místních a vzdálených počítačů.
Jsou zahrnuty následující rutiny rozhraní WMI.
Rutina | Popis |
---|---|
Get-WmiObject | Získá instance tříd služby WMI nebo informace |
o dostupných třídách. | |
Invoke-WmiMethod | Volá metody WMI. |
Register-WmiEvent | Přihlásí se k odběru události rozhraní WMI. |
Remove-WmiObject | Odstraní třídy a instance rozhraní WMI. |
Set-WmiInstance | Vytvoří nebo upraví instance tříd služby WMI. |
UKÁZKOVÉ PŘÍKAZY
Následující příkaz zobrazí informace o systému BIOS pro místní počítač.
C:\PS> Get-WmiObject Win32_BIOS | Format-List *
Následující příkaz zobrazí informace o službě WinRM pro tři vzdálené počítače.
$wql = "select * from Win32_Service where name='WinRM'"
Get-WmiObject -Query $wql -ComputerName server01, server01, server03
Následující složitější příkaz ukončí všechny instance programu.
C:\PS> notepad.exe
C:\PS> $wql = "select * from Win32_Process where name='notepad.exe'"
C:\PS> $np = Get-WmiObject -Query $wql
C:\PS> $np | Remove-WmiObject
VZDÁLENÉ KOMUNIKACE ZALOŽENÉ NA ROZHRANÍ WMI
I když je schopnost spravovat místní systém prostřednictvím rozhraní WMI užitečná, jedná se o možnosti vzdálené komunikace, díky kterým je WMI výkonným nástrojem pro správu. Rozhraní WMI používá k připojení a správě systémů model DCOM (Distributed Component Object Model) společnosti Microsoft. Možná budete muset nakonfigurovat některé systémy tak, aby povolovaly připojení modelu DCOM. Nastavení brány firewall a uzamčená oprávnění modelu DCOM můžou blokovat schopnost rozhraní WMI vzdáleně spravovat systémy.
AKCELERÁTORY TYPŮ ROZHRANÍ WMI
Windows PowerShell obsahuje akcelerátory typů rozhraní WMI. Tyto akcelerátory typů rozhraní WMI (zkratky) umožňují více přímého přístupu k objektům WMI než přístup, který není typu akcelerátor.
Rozhraní WMI podporuje následující akcelerátory typů:
[wmisearcher]
– zástupce pro hledání objektů WMI.
[wmiclass]
– zástupce pro přístup ke statickým vlastnostem a metodám třídy.
[wmi]
– zástupce pro získání jedné instance třídy.
[wmisearcher]
je akcelerátor typů pro ManagementObjectSearcher
. Může vzít konstruktor řetězce k vytvoření vyhledávacího prvku, který pak můžete provést Get()
.
Příklad:
PS> $s = [wmisearcher]'Select * from Win32_Process where HandleCount > 1000'
PS> $s.Get() | sort HandleCount | ft HandleCount, __PATH, Name -Auto
Count __PATH Name
----- ------ ----
1105 \\SERVER01\root\cimv2:Win32_Process.Handle="3724" PowerShell...
1132 \\SERVER01\root\cimv2:Win32_Process.Handle="1388" winlogon.exe
1495 \\SERVER01\root\cimv2:Win32_Process.Handle="2852" iexplore.exe
1699 \\SERVER01\root\cimv2:Win32_Process.Handle="1204" OUTLOOK.EXE
1719 \\SERVER01\root\cimv2:Win32_Process.Handle="1912" iexplore.exe
2579 \\SERVER01\root\cimv2:Win32_Process.Handle="1768" svchost.exe
[wmiclass]
je akcelerátor typů pro ManagementClass
. To má řetězcový konstruktor, který přebírá místní nebo absolutní cestu WMI ke třídě WMI a vrací objekt, který je vázaný na danou třídu.
Příklad:
PS> $c = [wmiclass]"root\CIMV2:Win32_Process"
PS> $c |fl *
Name : Win32_Process
__GENUS : 1
__CLASS : Win32_Process
__SUPERCLASS : CIM_Process
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_Process
__PROPERTY_COUNT : 45
__DERIVATION : {CIM_Process, CIM_LogicalElement,
CIM_ManagedSystemElement}
__SERVER : SERVER01
__NAMESPACE : ROOT\cimv2
__PATH : \\SERVER01\ROOT\cimv2:Win32_Process
[wmi]
je akcelerátor typů pro ManagementObject
. Má řetězcový konstruktor, který přebírá místní nebo absolutní cestu WMI k instanci rozhraní WMI a vrací objekt, který je vázán na danou instanci.
Příklad:
PS> $p = [wmi]'\\SERVER01\root\CIMV2:Win32_Process.Handle="1204"'
PS> $p.Name
OUTLOOK.EXE
ŘEŠENÍ POTÍŽÍ S ROZHRANÍM WMI
Následující problémy jsou nejběžnější problémy, ke kterým může dojít při pokusu o připojení ke vzdálenému počítači.
Problém 1: Vzdálený počítač není online.
Pokud je počítač offline, nebudete se k němu moct připojit pomocí rozhraní WMI. Možná se zobrazí následující chybová zpráva:
Remote server machine does not exist or is unavailable
Pokud se zobrazí tato chybová zpráva, ověřte, že je počítač online. Zkuste spustit příkaz ping na vzdálený počítač.
Problém 2: Ve vzdáleném počítači nemáte oprávnění místního správce.
Pokud chcete rozhraní WMI používat vzdáleně, musíte mít na vzdáleném počítači oprávnění místního správce. Pokud to neuděláte, přístup k danému počítači bude odepřen.
Ověření zabezpečení oboru názvů:
- Klepněte na tlačítko Start, klepněte pravým tlačítkem myši na položku Můj počítač a potom klepněte na příkaz Spravovat.
- V nástroji Správa počítače rozbalte položku Služby a aplikace, klepněte pravým tlačítkem myši řízení rozhraní WMI a klepněte na příkaz Vlastnosti.
- V dialogovém okně Vlastnosti ovládacího prvku služby WMI klikněte na kartu Zabezpečení.
Problém 3: Brána firewall blokuje přístup ke vzdálenému počítači.
Rozhraní WMI používá k procházení sítě protokoly DCOM (Distributed COM) a RPC (Vzdálené volání procedur). Ve výchozím nastavení mnoho bran firewall blokuje provoz modelu DCOM a RPC. Pokud vaše brána firewall blokuje tyto protokoly, připojení se nezdaří. Například brána Windows Firewall v systému Microsoft Windows XP Service Pack 2 je nakonfigurována tak, aby automaticky blokovala veškerý nevyžádaný síťový provoz, včetně DCOM a WMI. Ve výchozí konfiguraci brána Windows Firewall odmítne příchozí požadavek rozhraní WMI a zobrazí se následující chybová zpráva:
Remote server machine does not exist or is unavailable