Get-WmiObject

Získá instance třídy WMI (Windows Management Instrumentation) nebo informace o dostupných třídách.

Syntax

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. Chcete-li 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 zadán parametr Query, rutina spustí příkaz jazyka WQL (WQL).

Rutina Get-WmiObject nepoužívá vzdálenou vzdálenou správu 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 na vzdálené komunikace prostředí Windows PowerShell nebo není nakonfigurován pro vzdálené komunikace v prostředí Windows PowerShell.

Počínaje Windows PowerShellem 3.0 má __Server vlastnost objektu, který Get-WmiObject vrací alias PSComputerName . To usnadňuje zahrnutí názvu zdrojového počítače do výstupu a sestav.

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 Správa istrators ve 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 Format-List rutiny, která přidá vlastnost PSComputerName do výchozího výstupu. PSComputerName je alias __Server vlastnosti 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. Pak vyvolá StopService metoda Win32_Service WMI třídy 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 Types.ps1xml souboru.

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 název uživatelského úč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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 , příkaz vrátí 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 se použije s parametrem ComputerName , ú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í Job podstatné jméno. K získání výsledků úlohy použijte rutinu Receive-Job .

Další informace o úlohách na pozadí prostředí Windows PowerShell najdete v tématu about_Jobs a about_Remote_Jobs.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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á.)
Type:AuthenticationLevel
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Class

Určuje název třídy WMI. Při použití tohoto parametru rutina načte instance třídy WMI.

Type:String
Aliases:ClassName
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Ve výchozím nastavení je to místní počítač. Chcete-li zadat místní počítač, například v seznamu názvů počítačů, použijte localhostnázev místního počítače nebo tečku (.).

Při zadávání vzdáleného počítače musí mít váš aktuální účet nebo účet, který zadáte pomocí parametru Credential , příslušná oprávnění pro přístup k informacím.

Tento parametr nespoléhá na vzdálené komunikace Prostředí Windows PowerShell, která používá službu WS-Management. Parametr ComputerNameGet-WmiObject můžete použít i v případě, že váš počítač není nakonfigurovaný tak, aby spouštět vzdálené příkazy služby WS-Management.

Type:String[]
Aliases:Cn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Určuje uživatelský účet, který má oprávnění k provedení této akce. Ve výchozím nastavení je to aktuální uživatel. Zadejte uživatelské jméno, například User01, Domain01\User01nebo 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č.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableAllPrivileges

Povolí všechna oprávnění aktuálního uživatele před provedením příkazu volání rozhraní WMI.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Filter

Určuje klauzuli Where , která se má použít jako filtr. Používá syntaxi dotazovacího jazyka WMI (WQL).

Důležité

Nezahrnujte klíčové slovo Where do hodnoty parametru. Následující příkazy například vrátí pouze logické disky, které mají ID c: zařízení a služby s názvem WinRM bez použití klíčového slova Where.

Get-WmiObject Win32_LogicalDisk -filter "DeviceID = 'c:' "

Get-WmiObject win32_service -filter "name='WinRM'"

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Impersonation

Určuje úroveň zosobnění, která se má použít.

Tento parametr přijímá tyto hodnoty:

  • 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: Zosobnit. 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.
Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-List

Získá názvy tříd WMI v oboru názvů úložiště WMI, který je určen parametrem Oboru názvů .

Pokud zadáte parametr List , ale nikoli parametr Obor názvů , Get-WmiObject použije ve výchozím nastavení obor názvů Root\Cimv2 . Tato rutina nepoužívá položku výchozího registru oboru názvů v HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\Scripting klíči registru k určení výchozího oboru názvů.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Locale

Určuje upřednostňované národní prostředí pro objekty WMI. Zadejte hodnotu ve MS_<LCID> formátu.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

Při použití s parametrem Class určuje parametr Oboru názvů obor názvů obor názvů WMI úložiště, kde je umístěna zadaná třída rozhraní WMI. Při použití s parametrem List určuje obor názvů, ze kterého se mají shromažďovat informace o třídě služby WMI.

Type:String
Aliases:NS
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

Určuje vlastnosti třídy služby WMI, ze které tato rutina získává informace. Zadejte názvy vlastností.

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Query

Spustí zadaný příkaz WMI Query Language (WQL). Tento parametr nepodporuje dotazy na události.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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 .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 .

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

None

Vstup do objektu .< a1/> nelze převést na Get-WmiObject.

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 se vrátí, závisí na hodnotě parametru Class .

Poznámky

Windows PowerShell obsahuje následující aliasy pro Get-WmiObject:

  • gwmi

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í zobrazených pro každou třídu služby WMI je určena v konfiguračním Types.ps1xml souboru. Pokud chcete získat všechny vlastnosti objektu WMI, použijte rutinyGet-Member.Format-List