Invoke-WSManAction

Ruft eine Aktion für das Objekt auf, das durch den Ressourcen-URI und die Selektoren angegeben ist.

Syntax

Invoke-WSManAction
      [-Action] <String>
      [-ConnectionURI <Uri>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]
Invoke-WSManAction
      [-Action] <String>
      [-ApplicationName <String>]
      [-ComputerName <String>]
      [-FilePath <String>]
      [-OptionSet <Hashtable>]
      [-Port <Int32>]
      [[-SelectorSet] <Hashtable>]
      [-SessionOption <SessionOption>]
      [-UseSSL]
      [-ValueSet <Hashtable>]
      [-ResourceURI] <Uri>
      [-Credential <PSCredential>]
      [-Authentication <AuthenticationMechanism>]
      [-CertificateThumbprint <String>]
      [<CommonParameters>]

Beschreibung

Dieses Cmdlet ist nur auf der Windows-Plattform verfügbar.

Die Invoke-WSManAction Ausführung einer Aktion für das Objekt, das von RESOURCE_URI angegeben wird, wobei Parameter durch Schlüsselwertpaare angegeben werden.

Das Cmdlet verwendet die Verbindungs-/Transportschicht von WSMan zum Ausführen der Aktion.

Beispiele

Beispiel 1: Aufrufen einer Methode

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Dieser Befehl ruft die StartService-Methode der WMI-Klasseninstanz Win32_Service auf, die dem Spoolerdienst entspricht.

Der Rückgabewert gibt an, ob die Aktion erfolgreich war. In diesem Fall deutet der Rückgabewert 0 auf eine erfolgreiche Aktion hin. Der Rückgabewert 5 gibt an, dass der Dienst bereits gestartet wurde.

Beispiel 2: Aufrufen einer Methode

Invoke-WSManAction -Action stopservice -ResourceURI wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:input.xml -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Dieser Befehl ruft die StopService-Methode auf dem Spooler-Dienst mithilfe von Eingaben aus einer Datei auf. Die Datei, enthält Input.xmlden folgenden Inhalt:

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

Beispiel 3: Aufrufen einer Methode mit angegebenen Parameterwerten

Invoke-WSManAction -Action create -ResourceURI wmicimv2/win32_process -ValueSet @{commandline="notepad.exe";currentdirectory="C:\"}

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Process
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ProcessId   : 6356
ReturnValue : 0

Dieser Befehl ruft die Create-Methode der Win32_Process Klasse auf. Es übergibt die Methode zwei Parameterwerte und Notepad.exeC:\. Daher wird ein neuer Prozess zum Ausführen von Notepad erstellt, und das aktuelle Verzeichnis des neuen Prozesses wird auf C:\festgelegt.

Beispiel 4: Aufrufen einer Methode auf einem Remotecomputer

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -ComputerName server01 -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim         : http://schemas.dmtf.org/wbem/wscim/1/common
lang        : en-US
ReturnValue : 0

Dieser Befehl ruft die StartService-Methode der WMI-Klasseninstanz Win32_Service auf, die dem Spoolerdienst entspricht. Da der ComputerName-Parameter angegeben ist, wird der Befehl für den Remotecomputer server01 ausgeführt.

Der Rückgabewert gibt an, ob die Aktion erfolgreich war. In diesem Fall deutet der Rückgabewert 0 auf eine erfolgreiche Aktion hin. Der Rückgabewert 5 gibt an, dass der Dienst bereits gestartet wurde.

Parameter

-Action

Gibt die Methode an, die auf dem verwaltungsobjekt ausgeführt werden soll, das vom ResourceURI und Selectors angegeben wird.

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

-ApplicationName

Gibt den Anwendungsnamen in der Verbindung an. Der Standardwert des ApplicationName-Parameters lautet WSMAN. Der vollständige Bezeichner für den Remoteendpunkt hat das folgende Format:

<Transport>://<Server>:<Port>/<ApplicationName>

Beispiel:

http://server01:8080/WSMAN

Die Sitzung wird von IIS (Internetinformationsdienste) gehostet. IIS leitet Anforderungen mit diesem Endpunkt an die angegebene Anwendung weiter. Die Standardeinstellung „WSMAN“ eignet sich für die meisten Verwendungszwecke. Dieser Parameter soll verwendet werden, wenn mehrere Computer Remoteverbindungen mit einem Computer herstellen, auf dem Windows PowerShell ausgeführt wird. In diesem Fall hostet IIS Web Services for Management (WS-Management) für Effizienz.

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

-Authentication

Gibt den Authentifizierungsmechanismus an, der auf dem Server verwendet werden soll. Mögliche Werte:

  • Basic - Basic ist ein Schema, in dem der Benutzername und das Kennwort in klarem Text an den Server oder Proxy gesendet werden.
  • Default - Verwenden Sie die von dem WS-Management Protokoll implementierte Authentifizierungsmethode. Dies ist die Standardeinstellung.
  • Digest - Digest ist ein Herausforderungsantwortschema, das eine serverspezifische Datenzeichenfolge für die Herausforderung verwendet.
  • Kerberos - Der Clientcomputer und der Server authentifizieren sich gegenseitig mithilfe von Kerberos-Zertifikaten.
  • Negotiate - Negotiate ist ein Herausforderungsantwortschema, das mit dem Server oder Proxy verhandelt, um das schema zu bestimmen, das für die Authentifizierung verwendet werden soll. Dieser Parameterwert ermöglicht es z. B., die Verwendung des Kerberos-Protokolls oder von NTLM auszuhandeln.
  • CredSSP - Verwenden Sie die Credential Security Support Provider (CredSSP)-Authentifizierung, mit der der Benutzer Anmeldeinformationen delegieren kann. Diese Option ist für Befehle vorgesehen, die auf einem Remotecomputer ausgeführt werden, jedoch Daten von anderen Remotecomputern sammeln oder zusätzliche Befehle auf anderen Remotecomputern ausführen.

Achtung

Bei „CredSSP“ werden die Anmeldeinformationen des Benutzers vom lokalen Computer an einen Remotecomputer delegiert. Dieser Vorgang erhöht das Sicherheitsrisiko des Remotevorgangs. Wenn die Sicherheit des Remotecomputers gefährdet ist, während Anmeldeinformationen an ihn übergeben werden, können die Anmeldeinformationen zum Steuern der Netzwerksitzung verwendet werden.

Type:AuthenticationMechanism
Aliases:auth, am
Accepted values:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

Gibt das digitale Zertifikat für öffentliche Schlüssel (X509) eines Benutzerkontos an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Geben Sie den Zertifikatfingerabdruck des Zertifikats ein.

Zertifikate werden bei der clientzertifikatbasierten Authentifizierung verwendet. Sie können nur lokalen Benutzerkonten zugeordnet werden und funktionieren nicht mit Domänenkonten.

Um einen Zertifikat-Fingerabdruck abzurufen, verwenden Sie den Get-ItemGet-ChildItem Befehl im Windows PowerShell Cert: Laufwerk.

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

-ComputerName

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. Verwenden Sie den lokalen Computernamen, verwenden Sie localhost oder verwenden Sie einen Punkt (.), um den lokalen Computer anzugeben. Der lokale Computer ist die Standardeinstellung. Wenn sich der Remotecomputer in einer anderen Domäne als der Benutzer befindet, müssen Sie einen vollqualifizierten Domänennamen verwenden. Sie können einen Wert für diesen Parameter an das Cmdlet weiterreichen.

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

-ConnectionURI

Gibt den Verbindungsendpunkt an. Das Format dieser Zeichenfolge lautet:

<Transport>://<Server>:<Port>/<ApplicationName>

Die folgende Zeichenfolge ist ein ordnungsgemäß formatierter Wert für diesen Parameter:

http://Server01:8080/WSMAN

Der URI muss vollqualifiziert sein.

Type:Uri
Aliases:CURI, CU
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

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@Domain.com. Geben Sie ein PSCredential-Objekt ein, z. B. ein vom Cmdlet zurückgegebenes Get-Credential Objekt. Wenn Sie einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.

Type:PSCredential
Aliases:cred, c
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-FilePath

Gibt den Pfad einer Datei an, die zum Aktualisieren einer Verwaltungsressource verwendet wird. Sie geben die Verwaltungsressource mithilfe des ResourceURI-Parameters und des SelectorSet-Parameters an. Der folgende Befehl verwendet z. B. den FilePath-Parameter:

Invoke-WSManAction -Action stopservice -ResourceUri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath c:\input.xml -Authentication default

Dieser Befehl ruft die StopService-Methode auf dem Spooler-Dienst mithilfe von Eingaben aus einer Datei auf. Die Datei, enthält Input.xmlden folgenden Inhalt:

<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

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

-OptionSet

Übergibt eine Reihe von Schaltern an einen Dienst, um die Art der Anforderung zu ändern oder zu verfeinern. Diese sind mit Schaltern in Befehlszeilenshells vergleichbar, da sie dienstspezifisch sind. Jede Anzahl von Optionen kann angegeben werden.

Das folgende Beispiel veranschaulicht die Syntax, durch die die Werte 1, 2 und 3 für die Parameter „a“, „b“ und „c“ übergeben werden:

-OptionSet @{a=1;b=2;c=3}

Type:Hashtable
Aliases:os
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Port

Gibt den Port an, der verwendet wird, wenn der Client eine Verbindung mit dem WinRM-Dienst herstellt. Wenn der Transport auf HTTP festgelegt ist, lautet der Standardport 80. Wenn der Transport auf HTTPS festgelegt ist, lautet der Standardport 443. Wenn Sie HTTPS als Transport verwenden, muss der Wert des ComputerName-Parameters mit dem allgemeinen Namen des Serverzertifikats übereinstimmen. Wenn der SkipCNCheck-Parameter jedoch als Teil des SessionOption-Parameters angegeben wird, muss der allgemeine Servername im Zertifikat nicht mit dem Hostnamen des Servers übereinstimmen. Der SkipCNCheck-Parameter darf nur für vertrauenswürdige Computer verwendet werden.

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

-ResourceURI

Enthält den URI (Uniform Resource Identifier) der Ressourcenklasse oder -instanz. Der URI wird verwendet, um einen bestimmten Ressourcentyp auf einem Computer zu identifizieren, z. B. Datenträger oder Prozesse.

Ein URI besteht aus einem Präfix und einem Pfad zu einer Ressource. Beispiel:

http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor

Type:Uri
Aliases:ruri
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-SelectorSet

Gibt eine Reihe von Wertpaaren an, mit denen bestimmte Instanzen von Verwaltungsressourcen ausgewählt werden. SelectorSet wird verwendet, wenn mehrere Instanzen der Ressource vorhanden sind. Der Wert von SelectorSet muss eine Hashtabelle sein.

Das folgende Beispiel zeigt, wie Sie einen Wert für diesen Parameter eingeben:

-SelectorSet @{Name="WinRM";ID="yyy"}

Type:Hashtable
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SessionOption

Definiert eine Reihe von erweiterten Optionen für die WS-Management-Sitzung. Geben Sie ein SessionOption-Objekt ein, das Sie mithilfe des New-WSManSessionOption Cmdlets erstellen. Weitere Informationen zu den verfügbaren Optionen finden Sie unter New-WSManSessionOption.

Type:SessionOption
Aliases:so
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

Gibt an, dass das Secure Sockets Layer (SSL)-Protokoll verwendet wird, um eine Verbindung mit dem Remotecomputer herzustellen. Standardmäßig wird SSL nicht verwendet.

WS-Management verschlüsselt alle PowerShell-Inhalte, die über das Netzwerk übertragen werden. Mit dem UseSSL-Parameter können Sie anstelle von HTTP das sicherere HTTPS angeben. Wenn SSL an dem für die Verbindung verwendeten Port nicht verfügbar ist und Sie diesen Parameter angeben, verursacht der Befehl einen Fehler.

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

-ValueSet

Gibt eine Hashtabelle an, mit deren Hilfe eine Verwaltungsressource geändert werden kann. Sie geben die Verwaltungsressource mithilfe der Parameter "ResourceURI " und "SelectorSet " an. Der Wert des ValueSet-Parameters muss eine Hashtabelle sein.

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

Eingaben

None

Dieses Cmdlet nimmt keine Eingabe an.

Ausgaben

None

Dieses Cmdlet generiert keine Ausgabe.