Ruft Methoden der Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI) auf.

Syntax

Invoke-WmiMethod [-Klasse] <string> [[-ArgumentList] <Object[]>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod -InputObject <ManagementObject> [-ArgumentList <Object[]>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod -Path <string> [-ArgumentList <Object[]>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Bestätigung] [-WhatIf] [<CommonParameters>]

Beschreibung

Das Cmdlet "Invoke-WmiMethod" ruft WMI-Methoden auf.

Parameter

-ArgumentList <Object[]>

Gibt die Parameter an, die an die aufgerufene Methode übergeben werden sollen. Bei dem Wert dieses Parameters muss es sich um ein Array mit Objekten handeln, und diese müssen in der für die aufgerufene Methode erforderlichen Reihenfolge angezeigt werden.

Wichtig: Der zweite $null-Wert ist erforderlich, da der Befehl andernfalls einen Fehler generiert, z. B. "Das Objekt des Typs 'System.Byte' kann nicht in Typ 'System.Array' umgewandelt werden".

Im Folgenden ein Beispiel, in dem ein Objektarray ($binSD) gefolgt von einem NULL-Wert ($null) verwendet wird:

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

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

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

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-AsJob

Führt den Befehl als Hintergrundauftrag aus. Verwenden Sie diesen Parameter, um Befehle auszuführen, deren Ausführung viel Zeit in Anspruch nimmt.

Wenn Sie den AsJob-Parameter verwenden, gibt der Befehl ein Objekt zurück, das den Hintergrundauftrag darstellt, und zeigt dann die Eingabeaufforderung an. Sie können die Sitzung weiterhin verwenden, während der Auftrag abgeschlossen wird. Wenn Invoke-WmiMethod für einen Remotecomputer verwendet wird, wird der Auftrag auf dem lokalen Computer erstellt, und die Ergebnisse von Remotecomputern werden automatisch an den lokalen Computer zurückgegeben. Verwenden Sie zum Verwalten des Auftrags die Cmdlets, die das Substantiv "Job" enthalten (die Job-Cmdlets). Um die Auftragsergebnisse abzurufen, verwenden Sie das Cmdlet "Receive-Job".

Hinweis: Um diesen Parameter für Remotecomputer zu verwenden, müssen lokale Computer und Remotecomputer für Remoting konfiguriert werden. Außerdem müssen Sie Windows PowerShell in Windows Vista und höheren Versionen von Windows mit der Option "Als Administrator ausführen" starten. Weitere Informationen finden Sie unter "about_Remote_Requirements".

Weitere Informationen über Windows PowerShell-Hintergrundaufträge finden Sie unter "about_Jobs" und "about_Remote_Jobs".

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Authentication <AuthenticationLevel>

Gibt die für die WMI-Verbindung zu verwendende Authentifizierungsebene an. Gültige Werte:

-1: Unchanged

0: Default

1: None (Es wird keine Authentifizierung ausgeführt.)

2: Connect (Die Authentifizierung wird nur ausgeführt, wenn der Client eine Beziehung mit der Anwendung herstellt.)

3: Call (Die Authentifizierung wird nur zu Beginn eines Aufrufs ausgeführt, wenn die Anwendung die Anforderung empfängt.)

4: Packet (Die Authentifizierung wird für alle Daten ausgeführt, die vom Client empfangen werden.)

5: PacketIntegrity (Alle Daten, die zwischen dem Client und der Anwendung übertragen werden, werden authentifiziert und überprüft.)

6: PacketPrivacy (Die Eigenschaften der anderen Authentifizierungsebenen werden verwendet, und alle Daten werden verschlüsselt.)

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Authority <string>

Gibt die Autorität an, die zum Authentifizieren der WMI-Verbindung verwendet werden soll. Sie können die Standard-NTLM- oder Kerberos-Authentifizierung angeben. Legen Sie für die Verwendung von NTLM die Authority-Einstellung auf "ntlmdomain:<Domänenname>" fest, wobei <Domänenname> einen gültigen NTLM-Domänennamen darstellt. Geben Sie für die Verwendung von Kerberos "kerberos:<Domänenname\Servername>" an. Sie können die Authority-Einstellung nicht einschließen, wenn Sie eine Verbindung mit dem lokalen Computer herstellen.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Klasse <string>

Gibt die WMI-Klasse an, die eine aufzurufende statische Methode enthält.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-ComputerName <string[]>

Gibt den Computer an, für den der Verwaltungsvorgang ausgeführt werden soll. Bei dem Wert kann es sich um einen vollqualifizierten Domänennamen, einen NetBIOS-Namen oder eine IP-Adresse handeln. Um den Namen des lokalen Computers anzugeben, verwenden Sie den Computernamen, "localhost" oder einen Punkt (.). Der lokale Computer ist der Standardwert. Wenn sich der Remotecomputer in einer anderen Domäne als der Benutzer befindet, ist ein vollqualifizierter Domänenname erforderlich. Sie können den Wert für diesen Parameter auch festlegen, indem Sie den Wert über die Pipeline an den Parameter übergeben.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Credential <PSCredential>

Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer. Geben Sie einen Benutzernamen ein, z. B. "User01", "Domain01\User01" oder "User@Contoso.com". Oder geben Sie ein PSCredential-Objekt ein, z. B. ein Objekt, das vom Cmdlet "Get-Credential" zurückgegeben wird. Wenn Sie einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-EnableAllPrivileges

Aktiviert alle Berechtigungen des aktuellen Benutzers, bevor der Befehl den WMI-Aufruf ausführt.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Impersonation <ImpersonationLevel>

Gibt die zu verwendende Identitätswechselebene an. Gültige Werte:

0: Default (Liest die lokale Registrierung für die Standard-Identitätswechselebene, die normalerweise auf "3: Impersonate" festgelegt ist.)

1: Anonymous (Verbirgt die Anmeldeinformationen des Aufrufers.)

2: Identify (Ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers abzufragen.)

3: Impersonate (Ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers zu verwenden.)

4: Delegate (Ermöglicht es Objekten, anderen Objekten die Verwendung der Anmeldeinformationen des Aufrufers zu gestatten.)

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-InputObject <ManagementObject>

Gibt ein ManagementObject-Objekt an, das als Eingabe verwendet werden soll. Wenn dieser Parameter verwendet wird, werden alle anderen Parameter außer "Flag" und "Argument" ignoriert.

Erforderlich?

true

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

true (ByValue)

Platzhalterzeichen akzeptieren?

false

-Locale <string>

Gibt das bevorzugte Gebietsschema für WMI-Objekte an. Geben Sie den Wert des Locale-Parameters als Array im Format "MS_<LCID>" in der gewünschten Reihenfolge an.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Name <string>

Gibt den Namen der aufzurufenden Methode an. Dieser Parameter ist erforderlich und kann nicht NULL oder leer sein.

Erforderlich?

true

Position?

2

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Namespace <string>

Bei Verwendung mit dem Class-Parameter gibt dieser Parameter den WMI-Repositorynamespace an, in dem sich die WMI-Klasse bzw. das WMI-Objekt befindet, auf die oder das verwiesen wird.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Path <string>

Gibt den WMI-Objektpfad einer WMI-Klasse oder den WMI-Objektpfad einer Instanz einer WMI-Klasse an. Die angegebene Klasse oder Instanz muss die im Name-Parameter angegebene Methode enthalten.

Erforderlich?

true

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-ThrottleLimit <int>

Hiermit kann der Benutzer einen Einschränkungswert für die Anzahl von WMI-Vorgängen angeben, die gleichzeitig ausgeführt werden können. Dieser Parameter wird zusammen mit dem AsJob-Parameter verwendet. Die Drosselungsgrenze gilt nur für den aktuellen Befehl und nicht für die Sitzung oder den Computer.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Bestätigung

Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-WhatIf

Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

None

Dieses Cmdlet nimmt keine Eingabe an.

Ausgaben

None

Dieses Cmdlet generiert keine Ausgabe.

Beispiel 1

C:\PS>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        : 4844
ReturnValue      : 0

Beschreibung
-----------
Mit diesem Befehl wird eine Instanz von Editor gestartet, indem die Create-Methode der Win32_Process-Klasse aufgerufen wird.

Hinweis: Die ReturnValue-Eigenschaft wird mit 0 und die ProcessId-Eigenschaft mit einer ganzen Zahl (der nächsten Prozess-ID-Nummer) aufgefüllt, wenn der Befehl abgeschlossen wird.






Beispiel 2

C:\PS>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

Beschreibung
-----------
Mit diesem Befehl wird eine Datei umbenannt. Er verweist mithilfe des Path-Parameters auf eine Instanz der CIM_DataFile-Klasse. Anschließend wird die Rename-Methode auf die betreffende Instanz angewendet.

Hinweis: Die ReturnValue-Eigenschaft wird mit 0 aufgefüllt, wenn der Befehl abgeschlossen wird.






Siehe auch




Inhaltsverzeichnis