Sdílet prostřednictvím


Invoke-WmiMethod

Volá metody WMI.

Syntaxe

Invoke-WmiMethod
      [-Class] <String>
      [-Name] <String>
      [-ArgumentList <Object[]>]
      [-AsJob]
      [-Impersonation <ImpersonationLevel>]
      [-Authentication <AuthenticationLevel>]
      [-Locale <String>]
      [-EnableAllPrivileges]
      [-Authority <String>]
      [-Credential <PSCredential>]
      [-ThrottleLimit <Int32>]
      [-ComputerName <String[]>]
      [-Namespace <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-WmiMethod
      -InputObject <ManagementObject>
      [-Name] <String>
      [-ArgumentList <Object[]>]
      [-AsJob]
      [-ThrottleLimit <Int32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-WmiMethod
      -Path <String>
      [-Name] <String>
      [-ArgumentList <Object[]>]
      [-AsJob]
      [-Impersonation <ImpersonationLevel>]
      [-Authentication <AuthenticationLevel>]
      [-Locale <String>]
      [-EnableAllPrivileges]
      [-Authority <String>]
      [-Credential <PSCredential>]
      [-ThrottleLimit <Int32>]
      [-ComputerName <String[]>]
      [-Namespace <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-WmiMethod
      [-Name] <String>
      [-AsJob]
      [-Impersonation <ImpersonationLevel>]
      [-Authentication <AuthenticationLevel>]
      [-Locale <String>]
      [-EnableAllPrivileges]
      [-Authority <String>]
      [-Credential <PSCredential>]
      [-ThrottleLimit <Int32>]
      [-ComputerName <String[]>]
      [-Namespace <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-WmiMethod
      [-Name] <String>
      [-AsJob]
      [-Impersonation <ImpersonationLevel>]
      [-Authentication <AuthenticationLevel>]
      [-Locale <String>]
      [-EnableAllPrivileges]
      [-Authority <String>]
      [-Credential <PSCredential>]
      [-ThrottleLimit <Int32>]
      [-ComputerName <String[]>]
      [-Namespace <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-WmiMethod
      [-Name] <String>
      [-AsJob]
      [-Impersonation <ImpersonationLevel>]
      [-Authentication <AuthenticationLevel>]
      [-Locale <String>]
      [-EnableAllPrivileges]
      [-Authority <String>]
      [-Credential <PSCredential>]
      [-ThrottleLimit <Int32>]
      [-ComputerName <String[]>]
      [-Namespace <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Rutina Invoke-WmiMethod volá metody objektů WMI (Windows Management Instrumentation).

Nové rutiny MODELU CIM (Common Information Model) zavedené ve Windows PowerShellu 3.0 provádějí stejné úlohy jako rutiny rozhraní WMI. Rutiny CIM odpovídají standardům WS-Management (WSMan) a standardu CIM, což rutinám umožňuje používat stejné techniky ke správě počítačů s Windows a těch, na kterých běží jiné operační systémy. Místo použití Invoke-WmiMethodzvažte použitíhttps://go.microsoft.com/fwlink/?LinkId=227965. Invoke-CimMethod.

Příklady

Příklad 1: Výpis požadovaného pořadí objektů rozhraní WMI

PS C:\> ([wmiclass]'Win32_Volume').GetMethodParameters('Format')
__GENUS           : 2
__CLASS           : __PARAMETERS
__SUPERCLASS      :
__DYNASTY         : __PARAMETERS
__RELPATH         :
__PROPERTY_COUNT  : 6
__DERIVATION      : {}
__SERVER          :
__NAMESPACE       :
__PATH            :
ClusterSize       : 0
EnableCompression : False
FileSystem        : NTFS
Label             :
QuickFormat       : False
Version           : 0
PSComputerName    :

Tento příkaz vypíše požadované pořadí objektů. Pokud chcete vyvolat rozhraní WMI v PowerShellu 3.0, liší se od alternativních metod a vyžaduje, aby hodnoty objektů byly zadány v určitém pořadí.

Příklad 2: Spuštění instance aplikace

PS C:\> ([Wmiclass]'Win32_Process').GetMethodParameters('Create')
__GENUS                   : 2
__CLASS                   : __PARAMETERS
__SUPERCLASS              :
__DYNASTY                 : __PARAMETERS
__RELPATH                 :
__PROPERTY_COUNT          : 3
__DERIVATION              : {}
__SERVER                  :
__NAMESPACE               :
__PATH                    :
CommandLine               :
CurrentDirectory          :
ProcessStartupInformation :
PSComputerName            : PS C:\> Invoke-WmiMethod -Path win32_process -Name create -ArgumentList notepad.exe
__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 2
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ProcessId        : 11312
ReturnValue      : 0
PSComputerName   :

Tento příkaz spustí instanci Poznámkového bloku zavoláním metody Create Win32_Process třídy.

Vlastnost ReturnValue je naplněna hodnotou 0 a vlastnost ProcessId je vyplněna celé číslo (číslo ID dalšího procesu), pokud je příkaz dokončen.

Příklad 3: Přejmenování souboru

PS C:\> Invoke-WmiMethod -Path "CIM_DataFile.Name='C:\scripts\test.txt'" -Name Rename -ArgumentList "C:\scripts\test_bu.txt"
__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ReturnValue      : 0

Tento příkaz přejmenuje soubor. Pomocí parametru Path odkazuje na instanci třídy CIM_DataFile. Pak použije metodu Rename na danou konkrétní instanci.

Vlastnost ReturnValue je vyplněna hodnotou 0, pokud je příkaz dokončen.

Parametry

-ArgumentList

Určuje parametry, které se mají předat volané metodě. Hodnota tohoto parametru musí být pole objektů a musí se zobrazit v pořadí, v jakém je volána metoda. Rutina Invoke-CimCommand nemá tato omezení.

Chcete-li určit pořadí, ve kterém se mají tyto objekty vypsat, spusťte Metodu GetMethodParameters() třídy WMI, jak je znázorněno v příkladu 1, na konci tohoto tématu.

Důležité: Pokud je první hodnotou matice, která obsahuje více než jeden prvek, je vyžadována druhá hodnota $null. Jinak příkaz vygeneruje chybu, například "Nelze přetypovat objekt typu System.Byte na typ System.Array".

Příklad použití pole objektů ($binSD) následované hodnotou null ($null) následuje:

PS C:\>$acl = get-acl test.txt

PS C:\>$binSD = $acl. GetSecurityDescriptorBinaryForm()

PS C:\>invoke-wmimethod -class Win32_SecurityDescriptorHelper -Name BinarySDToSDDL -argumentlist $binSD, $null

Typ:Object[]
Aliasy:Args
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-AsJob

Označuje, že tato rutina spouští 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 se Invoke-WmiMethod používá pro vzdálený počítač, úloha se vytvoří na 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í podstatné jméno úlohy (rutiny úlohy). K získání výsledků úlohy použijte rutinu Receive-Job.

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 najdete 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. Přijatelné hodnoty pro tento parametr 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í windows NT LAN Manager (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:<Název_domény\Název_serveru>. 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 třídu WMI, která obsahuje statickou metodu volání.

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ComputerName

Určuje jako pole řetězců počítače, na které tato rutina spouští příkaz. Výchozí hodnota je místní počítač.

Zadejte název NetBIOS, IP adresu nebo plně kvalifikovaný název domény jednoho nebo více počítačů. Chcete-li zadat místní počítač, zadejte název počítače, tečku (.) nebo localhost.

Tento parametr nespoléhá na vzdálené komunikace Windows PowerShellu. Parametr ComputerName můžete použít i v případě, že váš počítač není nakonfigurovaný pro spouštění 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

-Confirm

Před spuštěním rutiny vás vyzve k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
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.

Typ:PSCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-EnableAllPrivileges

Označuje, že tato rutina 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

-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í, která je obvykle nastavená na "3: 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 jiným objektům používat 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

-InputObject

Určuje objekt ManagementObject, který se má použít jako vstup. Při použití tohoto parametru jsou ignorovány všechny ostatní parametry s výjimkou parametrů příznaku a argumentu.

Typ:ManagementObject
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Locale

Určuje upřednostňované národní prostředí pro objekty WMI. Zadejte hodnotu parametru Národního prostředí jako pole ve formátu MS_<LCID> v upřednostňovaném pořadí.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Name

Určuje název metody, která se má vyvolat. Tento parametr je povinný a nesmí být null ani prázdný.

Typ:String
Position:1
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Namespace

Při použití s parametrem třídy určuje tento parametr obor názvů úložiště WMI, kde se nachází odkazovaná třída nebo objekt 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

-Path

Určuje cestu objektu WMI třídy WMI nebo určuje cestu objektu WMI instance třídy WMI. Třída nebo zadaná instance musí obsahovat metodu určenou v parametru Name.

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ThrottleLimit

Určuje hodnotu omezení počtu operací rozhraní WMI, které lze spustit současně. Tento parametr se používá společně s parametrem AsJob. Omezení se vztahuje pouze na aktuální příkaz, ne na relaci nebo na počítač.

Typ:Int32
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-WhatIf

Ukazuje, co se stane, když se rutina spustí. Rutina se nespustí.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

None

Tato rutina nepřijímá žádné vstupy.

Výstupy

None

Tato rutina negeneruje žádný výstup.