Sdílet prostřednictvím


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 __Server objektu, který 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 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 můžete použít i v případě, že počítač není nakonfigurovaný tak, aby spouštět WS-Management vzdálených příkazů.

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 , ale ne parametr obor názvů , ve výchozím nastavení použije obor názvů Root\Cimv2 obor názvů. Tato rutina nepoužívá položku registru Výchozí obor názvů v klíči registru 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 určuje parametr Obor názvů obor názvů rozhraní WMI, ve kterém je umístěna zadaná třída služby 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.

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-WmiObjectnelze 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.