Share via


Invoke-WmiMethod

WMI-metódusokat hív meg.

Syntax

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

A Invoke-WmiMethod parancsmag meghívja a Windows Management Instrumentation (WMI) objektumok metódusait.

A Windows PowerShell 3.0-ban bevezetett új Common Information Model (CIM) parancsmagok ugyanazokat a feladatokat hajtják végre, mint a WMI-parancsmagok. A CIM-parancsmagok megfelelnek a WS-Management (WSMan) szabványnak és a CIM szabványnak, amely lehetővé teszi, hogy a parancsmagok ugyanazokat a technikákat használják a Windows rendszerű számítógépek és más operációs rendszereket futtató számítógépek kezelésére. A használat Invoke-WmiMethodhelyett fontolja meg az Invoke-CimMethod használatát.

Példák

1. példa: A WMI-metódus paramétereinek kötelező sorrendje

Ez a parancs felsorolja az objektumok szükséges sorrendjét.

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)

A WMI Meghívása a PowerShell 3.0-ban eltér a másodlagos módszerektől, és megköveteli, hogy az objektumértékek megadott sorrendben legyenek megadva.

2. példa: Alkalmazáspéldány indítása

([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   :

Ez a parancs elindítja a Jegyzettömb egy példányát a CreateWin32_Process osztály metódusának meghívásával.

A ReturnValue tulajdonság 0egy, a ProcessId tulajdonság pedig egész számmal (a következő folyamatazonosító számmal) van feltöltve, ha a parancs befejeződött.

3. példa: Fájl átnevezése

$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

Ez a parancs átnevez egy fájlt. A Path paraméter használatával hivatkozik a CIM_DataFile osztály egy példányára. Ezután alkalmazza az Átnevezés metódust az adott példányra.

A ReturnValue tulajdonság ki van töltve a 0 parancs befejeződése esetén.

4. példa: Értéktömb átadása "-ArgumentList" használatával

Példa egy objektumtömbre $binSD , majd egy értékre $null .

$acl = Get-Acl test.txt
$binSD = $acl.GetSecurityDescriptorBinaryForm()
$invokeWmiMethodSplat = @{
    Class = 'Win32_SecurityDescriptorHelper'
    Name = 'BinarySDToSDDL'
    ArgumentList = $binSD, $null
}
Invoke-WmiMethod @invokeWmiMethodSplat

Paraméterek

-ArgumentList

Megadja azokat a paramétereket, amelyeket át kell adni a hívott metódusnak. A paraméter értékének objektumtömbnek kell lennie, és azoknak az úgynevezett metódus által megkövetelt sorrendben kell megjelenniük. A Invoke-CimCommand parancsmag nem rendelkezik ezekkel a korlátozásokkal.

Az objektumok listázási sorrendjének meghatározásához futtassa a metódust a GetMethodParameters() WMI-osztályban, ahogyan az az 1. példában látható, a témakör végén.

Fontos

Ha az első érték egynél több elemet tartalmazó tömb, akkor a második értékre $null van szükség. Ellenkező esetben a parancs hibát okoz, például Unable to cast object of type 'System.Byte' to type 'System.Array'.. Lásd a fenti 4. példát.

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

-AsJob

Azt jelzi, hogy ez a parancsmag háttérfeladatként futtatja a parancsot. Ezzel a paraméterrel olyan parancsokat futtathat, amelyek végrehajtása hosszú időt vesz igénybe.

Az AsJob paraméter használatakor a parancs egy olyan objektumot ad vissza, amely a háttérfeladatot jelöli, majd megjeleníti a parancssort. Folytathatja a munkát a munkamenetben, amíg a feladat befejeződik. Ha Invoke-WmiMethod távoli számítógépen használják, a feladat a helyi számítógépen jön létre, és a távoli számítógépek eredményei automatikusan visszakerülnek a helyi számítógépre. A feladat kezeléséhez használja a főnevet (a Feladat parancsmagokat) tartalmazó Job parancsmagokat. A feladat eredményeinek lekéréséhez használja a Receive-Job parancsmagot.

Ha ezt a paramétert távoli számítógépekkel szeretné használni, a helyi és a távoli számítógépeket újra kell konfigurálni az újraegyezéshez. Emellett a Windows Vista és a Windows újabb verzióiban a Futtatás rendszergazdaként lehetőséggel kell elindítania a Windows PowerShellt. További információ: about_Remote_Requirements.

További információ a Windows PowerShell háttérfeladatairól: about_Jobs és about_Remote_Jobs.

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

-Authentication

Megadja a WMI-kapcsolathoz használandó hitelesítési szintet. A paraméter elfogadható értékei a következők:

  • -1: Változatlan
  • 0: Alapértelmezett
  • 1: Nincs (Nincs hitelesítés végrehajtva.)
  • 2: Csatlakozás (A hitelesítés csak akkor történik, ha az ügyfél kapcsolatot létesít az alkalmazással.)
  • 3: Hívás (A hitelesítés csak az egyes hívások elején történik, amikor az alkalmazás megkapja a kérést.)
  • 4: Csomag (A hitelesítés az ügyféltől kapott összes adaton történik.)
  • 5: PacketIntegrity (Az ügyfél és az alkalmazás között továbbított összes adat hitelesítése és ellenőrzése.)
  • 6: PacketPrivacy (A rendszer a többi hitelesítési szint tulajdonságait használja, és az összes adat titkosítva van.)
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

Megadja a WMI-kapcsolat hitelesítéséhez használni kívánt szolgáltatót. Megadhat standard Windows NT LAN Manager (NTLM) vagy Kerberos-hitelesítést. Az NTLM használatához állítsa be a szolgáltatói beállítást ntlmdomain:<DomainName>, ahol <DomainName> érvényes NTLM-tartománynevet azonosít. A Kerberos használatához adja meg a .kerberos:<DomainName>\<ServerName> A helyi számítógéphez való csatlakozáskor nem vehet fel szolgáltatói beállítást.

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

-Class

Megadja a meghívandó statikus metódust tartalmazó WMI-osztályt.

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

-ComputerName

Sztringtömbként megadja, hogy a parancsmag mely számítógépeken futtatja a parancsot. Alapértelmezés szerint a helyi számítógép.

Írja be egy vagy több számítógép NetBIOS-nevét, IP-címét vagy teljes tartománynevét. A helyi számítógép megadásához írja be a számítógép nevét, egy pont (.) vagy localhost.

Ez a paraméter nem támaszkodik a Windows PowerShell-újraegyezésre. Akkor is használhatja a ComputerName paramétert, ha a számítógép nincs távoli parancsok futtatására konfigurálva.

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

-Confirm

Jóváhagyást kér a parancsmag futtatása előtt.

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

-Credential

A művelet végrehajtásához engedéllyel rendelkező felhasználói fiókot ad meg. Alapértelmezés szerint az aktuális felhasználó. Írjon be egy felhasználónevet, például User01: , Domain01\User01vagy User@Contoso.com. Vagy írjon be egy PSCredential objektumot, például egy olyan objektumot, amelyet a Get-Credential parancsmag ad vissza. Amikor beír egy felhasználónevet, a rendszer kérni fogja a jelszót.

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

-EnableAllPrivileges

Azt jelzi, hogy ez a parancsmag engedélyezi az aktuális felhasználó összes jogosultságát, mielőtt a parancs meghívja a WMI-hívást.

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

-Impersonation

Megadja a használni kívánt megszemélyesítési szintet. A paraméter elfogadható értékei a következők:

  • 0: Alapértelmezett (Beolvassa a helyi beállításjegyzéket az alapértelmezett megszemélyesítési szinthez, amely általában a következőre 3van állítva: Megszemélyesítés.)
  • 1: Névtelen (Elrejti a hívó hitelesítő adatait.)
  • 2: Azonosítás (Lehetővé teszi az objektumok számára a hívó hitelesítő adatainak lekérdezését.)
  • 3: Megszemélyesítés (Lehetővé teszi, hogy az objektumok a hívó hitelesítő adatait használják.)
  • 4: Delegálás (Lehetővé teszi, hogy az objektumok más objektumok számára is lehetővé tegyék a hívó hitelesítő adatainak használatát.)
Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

A bemenetként használni kívánt ManagementObject objektumot adja meg. Ha ezt a paramétert használja, a Jelölő és az Argumentum paraméter kivételével az összes többi paraméter figyelmen kívül lesz hagyva.

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

-Locale

A WMI-objektumok előnyben részesített területi beállítását adja meg. Adja meg a Területi beállítás paraméter értékét tömbként az MS_<LCID> előnyben részesített sorrendben megadott formátumban.

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

-Name

A meghívandó metódus nevét adja meg. Ez a paraméter kötelező, és nem lehet null értékű vagy üres.

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

-Namespace

Az Osztály paraméter használatakor ez a paraméter azt a WMI-adattár névterét adja meg, ahol a hivatkozott WMI-osztály vagy objektum található.

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

-Path

Egy WMI-osztály WMI-objektumútvonalát adja meg, vagy egy WMI-osztály egy példányának WMI-objektumútvonalát adja meg. A megadott osztálynak vagy példánynak tartalmaznia kell a Név paraméterben megadott metódust.

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

-ThrottleLimit

Megadja az egyidejűleg végrehajtható WMI-műveletek számának szabályozási értékét. Ezt a paramétert az AsJob paraméterrel együtt használja a rendszer. A szabályozás korlátja csak az aktuális parancsra vonatkozik, a munkamenetre és a számítógépre nem.

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

-WhatIf

Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.

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

Bevitelek

None

Ez a parancsmag semmilyen bemenetet nem fogad el.

Kimenetek

None

Ez a parancsmag nem hoz létre kimenetet.

Jegyzetek

A Windows PowerShell a következő aliasokat Invoke-WmiMethodtartalmazza:

  • iwmi