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 vyhovují standardům WS-Management (WSMan) a standardu CIM, což umožňuje rutinám 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-WmiMethod
zvažte použití Invoke-CimMethod.
Příklady
Příklad 1: Výpis požadovaného pořadí parametrů metody rozhraní WMI
Tento příkaz vypíše požadované pořadí objektů.
Get-WmiObject Win32_Volume |
Get-Member -MemberType Method -Name Format |
Select-Object -ExpandProperty Definition
System.Management.ManagementBaseObject Format(System.String FileSystem, System.Boolean QuickFormat,
System.UInt32 ClusterSize, System.String Label, System.Boolean EnableCompression,
System.UInt32 Version)
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
([Wmiclass]'Win32_Process').Create.OverloadDefinitions
System.Management.ManagementBaseObject Create(System.String CommandLine, System.String CurrentDirectory,
System.Management.ManagementObject#Win32_ProcessStartup ProcessStartupInformation)
Invoke-WmiMethod -Path Win32_Process -Name Create -ArgumentList C:\Windows\system32\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 voláním Create
metody 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
$invokeWmiMethodSplat = @{
Path = "CIM_DataFile.Name='C:\scripts\test.txt'"
Name = 'Rename'
ArgumentList = 'C:\scripts\test_bu.txt'
}
Invoke-WmiMethod @invokeWmiMethodSplat
__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 naplněna 0
, pokud je příkaz dokončen.
Příklad 4: Předání pole hodnot pomocí -ArgumentList
Příklad použití pole objektů $binSD
následovaných $null
hodnotou.
$acl = Get-Acl test.txt
$binSD = $acl.GetSecurityDescriptorBinaryForm()
$invokeWmiMethodSplat = @{
Class = 'Win32_SecurityDescriptorHelper'
Name = 'BinarySDToSDDL'
ArgumentList = $binSD, $null
}
Invoke-WmiMethod @invokeWmiMethodSplat
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í.
Pokud chcete určit pořadí, ve kterém se mají tyto objekty vypsat, spusťte GetMethodParameters()
metodu ve třídě 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 požadována druhá hodnota $null
. Jinak příkaz vygeneruje chybu, například Unable to cast object of type 'System.Byte' to type 'System.Array'.
. Viz příklad 4 výše.
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 , 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 Invoke-WmiMethod
se používá proti vzdálenému 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í Job
podstatné jméno (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 na pozadí prostředí Windows PowerShell 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. Tento parametr přijímá tyto hodnoty:
-1
: Beze změny0
: 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í systém 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:<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 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. Ve výchozím nastavení je to 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ý tak, aby spouštět vzdálené příkazy.
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 zobrazí výzvu 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. Ve výchozím nastavení je to 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. Tento parametr přijímá tyto hodnoty:
0
: Výchozí (přečte místní registr pro výchozí úroveň zosobnění, která je obvykle nastavená na3
: 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 použití přihlašovacích údajů volajícího jiným objektům.)
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 se ignorují všechny ostatní parametry s výjimkou parametrů Příznak a Argument .
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 MS_<LCID>
formátu 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 Class tento parametr určuje obor názvů úložiště WMI, kde se nachází odkazovaná třída nebo objekt rozhraní 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
Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.
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.
Poznámky
Windows PowerShell obsahuje následující aliasy pro Invoke-WmiMethod
:
iwmi