Get-WmiObject
Získá instance třídy WMI (Windows Management Instrumentation) nebo informace o dostupných třídách.
Syntaxe
Get-WmiObject
[-Class] <String>
[[-Property] <String[]>]
[-Filter <String>]
[-Amended]
[-DirectRead]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[[-Class] <String>]
[-Recurse]
[-Amended]
[-List]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-DirectRead]
-Query <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Get-WmiObject
[-Amended]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[<CommonParameters>]
Description
Počínaje PowerShellem 3.0 byla tato rutina nahrazena Get-CimInstance
.
Rutina Get-WmiObject
získá instance tříd služby WMI nebo informace o dostupných třídách služby WMI. Pokud chcete zadat vzdálený počítač, použijte parametr ComputerName. Pokud je zadán parametr List, rutina získá informace o třídách WMI, které jsou k dispozici v zadaném oboru názvů. Pokud je zadaný parametr query, rutina spustí příkaz WMI query language (WQL).
Rutina Get-WmiObject
nepoužívá vzdálenou vzdálenou komunikace prostředí Windows PowerShell.
Parametr ComputerName rutiny Get-WmiObject
můžete použít i v případě, že váš počítač nesplňuje požadavky vzdálené komunikace prostředí Windows PowerShell nebo není nakonfigurovaný pro vzdálené komunikace v prostředí Windows PowerShell.
Počínaje Windows PowerShellem 3.0 má vlastnost
Příklady
Příklad 1: Získání procesů na místním počítači
Tento příklad získá procesy v místním počítači.
Get-WmiObject -Class Win32_Process
Příklad 2: Získá služby na vzdáleném počítači
Tento příklad získá služby na vzdáleném počítači. Parametr ComputerName určuje IP adresu vzdáleného počítače. Ve výchozím nastavení musí být aktuální uživatelský účet členem skupiny Administrators na vzdáleném počítači.
Get-WmiObject -Class Win32_Service -ComputerName 10.1.4.62
Příklad 3: Získání tříd rozhraní WMI v kořenovém nebo výchozím oboru názvů místního počítače
Tento příklad získá třídy WMI v kořenovém nebo výchozím oboru názvů místního počítače.
Get-WmiObject -Namespace "root/default" -List
Příklad 4: Získání pojmenované služby na více počítačích
Tento příklad získá službu WinRM na počítačích určených hodnotou parametru ComputerName.
Get-WmiObject -Query "select * from win32_service where name='WinRM'" -ComputerName Server01, Server02 |
Format-List -Property PSComputerName, Name, ExitCode, Name, ProcessID, StartMode, State, Status
PSComputerName : SERVER01
Name : WinRM
ExitCode : 0
Name : WinRM
ProcessID : 844
StartMode : Auto
State : Running
Status : OK
PSComputerName : SERVER02
Name : WinRM
ExitCode : 0
Name : WinRM
ProcessID : 932
StartMode : Auto
State : Running
Status : OK
Operátor kanálu (|) odešle výstup do rutiny Format-List
, která přidá vlastnost PSComputerName do výchozího výstupu.
PSComputerName je alias vlastnosti __Server objektů, které Get-WmiObject
vrací. Tento alias byl představen v PowerShellu 3.0.
Příklad 5: Zastavení služby na vzdáleném počítači
Tento příklad zastaví službu WinRM na vzdáleném počítači.
Get-WmiObject
získá instanci objektu služby WinRM na Serveru01. Potom vyvolá metodu StopService třídy Win32_Service rozhraní WMI na daném objektu.
(Get-WmiObject -Class Win32_Service -Filter "name='WinRM'" -ComputerName Server01).StopService()
To je ekvivalentem použití rutiny Stop-Service
.
Příklad 6: Získání systému BIOS na místním počítači
Tento příklad získá informace o systému BIOS z místního počítače. Parametr Property rutiny Format-List
slouží k zobrazení všech vlastností vráceného objektu v seznamu. Ve výchozím nastavení se zobrazí pouze podmnožina vlastností definovaných v konfiguračním souboru Types.ps1xml
.
Get-WmiObject -Class Win32_Bios | Format-List -Property *
Status : OK
Name : Phoenix ROM BIOS PLUS Version 1.10 A05
Caption : Phoenix ROM BIOS PLUS Version 1.10 A05
SMBIOSPresent : True
__GENUS : 2
__CLASS : Win32_BIOS
__SUPERCLASS : CIM_BIOSElement
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_BIOS.Name="Phoenix ROM BIOS PLUS Version 1.10
__PROPERTY_COUNT : 27
__DERIVATION : {CIM_BIOSElement, CIM_SoftwareElement, CIM_LogicalElement,
__SERVER : Server01
__NAMESPACE : root\cimv2
__PATH : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
BiosCharacteristics : {7, 9, 10, 11...}
BIOSVersion : {DELL - 15, Phoenix ROM BIOS PLUS Version 1.10 A05}
BuildNumber :
CodeSet :
CurrentLanguage : en|US|iso8859-1
Description : Phoenix ROM BIOS PLUS Version 1.10 A05
IdentificationCode :
InstallableLanguages : 1
InstallDate :
LanguageEdition :
ListOfLanguages : {en|US|iso8859-1}
Manufacturer : Dell Inc.
OtherTargetOS :
PrimaryBIOS : True
ReleaseDate : 20101103000000.000000+000
SerialNumber : 8VDM9P1
SMBIOSBIOSVersion : A05
SMBIOSMajorVersion : 2
SMBIOSMinorVersion : 6
SoftwareElementID : Phoenix ROM BIOS PLUS Version 1.10 A05
SoftwareElementState : 3
TargetOperatingSystem : 0
Version : DELL - 15
Scope : System.Management.ManagementScope
Path : \\SERVER01\root\cimv2:Win32_BIOS.Name="Phoenix ROM BIOS
Options : System.Management.ObjectGetOptions
ClassPath : \\JUNE-PC\root\cimv2:Win32_BIOS
Properties : {BiosCharacteristics, BIOSVersion, BuildNumber, Caption...}
SystemProperties : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY...}
Qualifiers : {dynamic, Locale, provider, UUID}
Site :
Container :
Příklad 7: Získání služeb ve vzdáleném počítači
Tento příklad používá parametr credential rutiny Get-WmiObject
k získání služeb na vzdáleném počítači. Hodnota parametru Credential je uživatelské jméno účtu. Uživateli se zobrazí výzva k zadání hesla.
Get-WmiObject Win32_Service -Credential FABRIKAM\administrator -ComputerName Fabrikam
Poznámka
Přihlašovací údaje nelze použít při cílení na místní počítač.
Parametry
-Amended
Získá nebo nastaví hodnotu, která určuje, zda objekty, které jsou vráceny z rozhraní WMI by měly obsahovat změněné informace. Změněné informace jsou obvykle lokalizovatelné informace, jako jsou popisy objektů a vlastností, které jsou připojeny k objektu WMI.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-AsJob
Spustí příkaz jako úlohu na pozadí. Pomocí tohoto parametru můžete spouštět příkazy, které potrvá dlouhou dobu.
Pokud použijete parametr AsJob, vrátí příkaz objekt, který představuje úlohu na pozadí, a pak zobrazí příkazový řádek. Během dokončení úlohy můžete pokračovat v práci v relaci. Pokud Get-WmiObject
použijete na vzdáleném počítači, úloha se vytvoří v místním počítači a výsledky ze vzdálených počítačů se automaticky vrátí do místního počítače. Ke správě úlohy použijte rutiny, které obsahují rutiny Úlohy. K získání výsledků úlohy použijte rutinu Receive-Job
.
Poznámka
Chcete-li tento parametr použít se vzdálenými počítači, musí být místní a vzdálené počítače nakonfigurovány pro vzdálenou komunikace. Kromě toho musíte spustit Windows PowerShell pomocí možnosti Spustit jako správce ve Windows Vista a novějších verzích Windows. Další informace naleznete v tématu about_Remote_Requirements.
Další informace o úlohách prostředí Windows PowerShell na pozadí najdete v tématu about_Jobs a about_Remote_Jobs.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Authentication
Určuje úroveň ověřování, která se má použít s připojením rozhraní WMI. Platné hodnoty jsou:
- -1: Beze změny
- 0: Výchozí
- 1: Žádné (neprovádí se žádné ověřování.)
- 2: Připojení (Ověřování se provádí pouze v případech, kdy klient vytvoří relaci s aplikací.)
- 3: Volání (Ověřování se provádí pouze na začátku každého volání, když aplikace obdrží požadavek.)
- 4: Paket (Ověřování se provádí u všech dat přijatých z klienta.)
- 5: PacketIntegrity (Všechna data přenášená mezi klientem a aplikací se ověřují a ověřují.)
- 6: PacketPrivacy (Vlastnosti ostatních úrovní ověřování se používají a všechna data jsou šifrovaná.)
Typ: | AuthenticationLevel |
Přípustné hodnoty: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Authority
Určuje autoritu, která se má použít k ověření připojení rozhraní WMI. Můžete zadat standardní ověřování NTLM nebo Kerberos. Chcete-li použít NTLM, nastavte nastavení autority na ntlmdomain:<DomainName>
, kde <DomainName>
identifikuje platný název domény NTLM. Chcete-li použít protokol Kerberos, zadejte kerberos:<DomainName>\<ServerName>
. Nastavení autority nelze zahrnout při připojení k místnímu počítači.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Class
Určuje název třídy WMI. Při použití tohoto parametru rutina načte instance třídy WMI.
Typ: | String |
Aliasy: | ClassName |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ComputerName
Určuje cílový počítač pro operaci správy. Zadejte plně kvalifikovaný název domény (FQDN), název NetBIOS nebo IP adresu. Pokud je vzdálený počítač v jiné doméně než místní počítač, vyžaduje se plně kvalifikovaný název domény.
Výchozí hodnota je místní počítač. Chcete-li zadat místní počítač, například v seznamu názvů počítačů, použijte "localhost", název místního počítače nebo tečku (.).
Tento parametr nespoléhá na vzdálené komunikace Prostředí Windows PowerShell, která používá službu WS-Management. Parametr ComputerName
Typ: | String[] |
Aliasy: | Cn |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Credential
Určuje uživatelský účet, který má oprávnění k provedení této akce. Výchozí hodnota je aktuální uživatel. Zadejte uživatelské jméno, například User01, Domain01\User01 nebo User@Contoso.com. Nebo zadejte objekt PSCredential, například objekt vrácený rutinou Get-Credential
. Když zadáte uživatelské jméno, zobrazí se výzva k zadání hesla. Přihlašovací údaje nelze použít při cílení na místní počítač.
Typ: | PSCredential |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-DirectRead
Určuje, zda je pro zadanou třídu požadován přímý přístup k zprostředkovateli rozhraní WMI bez ohledu na její základní třídu nebo na odvozené třídy.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-EnableAllPrivileges
Povolí všechna oprávnění aktuálního uživatele před provedením příkazu volání rozhraní WMI.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Filter
Určuje Klauzule Where, která se má použít jako filtr. Používá syntaxi dotazovacího jazyka WMI (WQL).
Důležitý
Nezahrnujte do hodnoty parametru klíčové slovo Where. Následující příkazy například vrátí pouze logické disky, které mají Id zařízení "c:" a služby, které mají název WinRM bez použití klíčového slova Where.
Get-WmiObject Win32_LogicalDisk -filter "DeviceID = 'c:' "
Get-WmiObject win32_service -filter "name='WinRM'"
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Impersonation
Určuje úroveň zosobnění, která se má použít.
Přijatelné hodnoty pro tento parametr jsou:
- 0: Výchozí. Přečte místní registr pro výchozí úroveň zosobnění. Výchozí hodnota je obvykle nastavená na zosobnění.
- 1: Anonymní. Skryje přihlašovací údaje volajícího.
- 2: Identifikace. Umožňuje objektům dotazovat přihlašovací údaje volajícího.
- 3: Zosobnění. Umožňuje objektům používat přihlašovací údaje volajícího.
- 4: Delegát. Umožňuje objektům povolit, aby jiné objekty používaly přihlašovací údaje volajícího.
Typ: | ImpersonationLevel |
Přípustné hodnoty: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-List
Získá názvy tříd WMI v oboru názvů úložiště WMI, který je určen Obor názvů parametr.
Pokud zadáte parametr seznam HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting
k určení výchozího oboru názvů.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Locale
Určuje upřednostňované národní prostředí pro objekty WMI. Zadejte hodnotu ve formátu MS_<LCID>.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Namespace
Při použití s parametrem třídy
Typ: | String |
Aliasy: | NS |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Property
Určuje vlastnosti třídy služby WMI, ze které tato rutina získává informace. Zadejte názvy vlastností.
Typ: | String[] |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Query
Spustí zadaný příkaz WMI Query Language (WQL). Tento parametr nepodporuje dotazy na události.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Recurse
Vyhledá aktuální obor názvů a všechny ostatní obory názvů název třídy, který je určen parametrem Class.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ThrottleLimit
Určuje maximální počet operací rozhraní WMI, které lze spustit současně. Tento parametr je platný pouze v případě, že se v příkazu použije parametr AsJob.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
None
Vstup do Get-WmiObject
nelze převést .
Výstupy
PSObject or System.Management.Automation.RemotingJob
Pokud použijete parametr AsJob, rutina vrátí objekt úlohy. V opačném případě objekt, který Get-WmiObject
vrací, závisí na hodnotě parametru Class.
Poznámky
Pokud chcete získat přístup k informacím rozhraní WMI na vzdáleném počítači, musí rutina běžet pod účtem, který je členem místní skupiny Administrators na vzdáleném počítači. Nebo můžete změnit výchozí řízení přístupu v oboru názvů služby WMI vzdáleného úložiště, aby bylo možné udělit přístupová práva jiným účtům.
Ve výchozím nastavení se zobrazují pouze některé vlastnosti každé třídy služby WMI. Sada vlastností, které se zobrazí pro každou třídu služby WMI, je zadána v konfiguračním souboru Types.ps1xml. Pokud chcete získat všechny vlastnosti objektu WMI, použijte rutiny Get-Member
nebo Format-List
.