Freigeben über


Invoke-WSManAction

Ruft eine Aktion für das Objekt auf, das vom Ressourcen-URI und von den Selektoren angegeben wird.

Syntax

URI (Standard)

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

ComputerName

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

Beschreibung

Die Invoke-WSManAction führt eine Aktion für das Objekt aus, das durch RESOURCE_URI angegeben wird, wobei Parameter durch Schlüsselwertpaare angegeben werden.

Dieses Cmdlet verwendet die WSMan-Verbindungs-/Transportebene, um die Aktion auszuführen.

Beispiele

Beispiel 1

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -Authentication default
xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://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 Win32_Service WMI-Klasseninstanz auf, die dem Spooler-Dienst entspricht.

Der Rückgabewert gibt an, ob die Aktion erfolgreich war. In diesem Fall gibt ein Rückgabewert von 0 den Erfolg an. Ein Rückgabewert von 5 gibt an, dass der Dienst bereits gestartet wurde.

Beispiel 2

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           : https://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

Mit diesem Befehl wird die StopService-Methode für den Spooler-Dienst mithilfe von Eingaben aus einer Datei aufgerufen. Die Datei, Input.xml, enthält den folgenden Inhalt:

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

Der Rückgabewert gibt an, ob die Aktion erfolgreich war. In diesem Fall gibt ein Rückgabewert von 0 den Erfolg an. Ein Rückgabewert von 5 gibt an, dass der Dienst bereits gestartet wurde.

Beispiel 3

Invoke-WSManAction -Action create -ResourceURI wmicimv2/win32_process -ValueSet @{commandline="notepad.exe";currentdirectory="C:\"}
xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://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. Sie übergibt die beiden Parameterwerte der Methode, Notepad.exe und "C:". Daher wird ein neuer Prozess erstellt, um Editor auszuführen, und das aktuelle Verzeichnis des neuen Prozesses wird auf "C:" festgelegt.

Beispiel 4

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -ComputerName server01 -Authentication default
xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://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 Win32_Service WMI-Klasseninstanz auf, die dem Spooler-Dienst entspricht. Da der Parameter ComputerName angegeben ist, wird der Befehl auf dem Remoteserver01-Computer ausgeführt.

Der Rückgabewert gibt an, ob die Aktion erfolgreich war. In diesem Fall gibt ein Rückgabewert von 0 den Erfolg an. Ein Rückgabewert von 5 gibt an, dass der Dienst bereits gestartet wurde.

Parameter

-Action

Gibt die Methode an, die für das verwaltungsobjekt ausgeführt werden soll, das durch den ResourceURI und selektoren angegeben wird.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:1
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ApplicationName

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

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

Beispiel:

http://server01:8080/WSMAN

Internetinformationsdienste (Internet Information Services, IIS), die die Sitzung hostet, leitet Anforderungen mit diesem Endpunkt an die angegebene Anwendung weiter. Diese Standardeinstellung von "WSMAN" ist für die meisten Verwendungen geeignet. Dieser Parameter ist so konzipiert, dass er verwendet wird, wenn zahlreiche Computer Remoteverbindungen mit einem Computer herstellen, auf dem Windows PowerShell ausgeführt wird. In diesem Fall hosten IIS Webdienste für die Verwaltung (WS-Management) zur Effizienz.

Parametereigenschaften

Typ:String
Standardwert:Wsman
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Authentication

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

  • Einfach: "Einfach" ist ein Schema, in dem der Benutzername und das Kennwort als Klartext an den Server oder Proxy gesendet werden.
  • Standard: Verwenden Sie die vom WS-Management-Protokoll implementierte Authentifizierungsmethode. Dies ist die Standardeinstellung.
  • Digest: Digest ist ein Abfrageantwortschema, das eine serverspezifische Datenzeichenfolge für die Abfrage verwendet.
  • Kerberos: Der Clientcomputer und der Server authentifizieren sich gegenseitig mithilfe von Kerberos-Zertifikaten.
  • Negotiate: Negotiate ist ein Abfrageantwortschema, das mit dem Server oder Proxy aushandelt, um das schema zu bestimmen, das für die Authentifizierung verwendet werden soll. Mit diesem Parameterwert kann beispielsweise ermittelt werden, ob das Kerberos-Protokoll oder NTLM verwendet wird.
  • CredSSP: Verwenden Sie die Authentifizierung des Credential Security Support Provider (CredSSP), mit der der Benutzer Anmeldeinformationen delegieren kann. Diese Option wurde für Befehle entwickelt, die auf einem Remotecomputer ausgeführt werden, aber Daten von anderen Remotecomputern sammeln oder zusätzliche Befehle ausführen.

Achtung: CredSSP delegiert die Anmeldeinformationen des Benutzers vom lokalen Computer an einen Remotecomputer. Diese Vorgehensweise erhöht das Sicherheitsrisiko des Remotevorgangs. Wenn der Remotecomputer kompromittiert wird, können die Anmeldeinformationen verwendet werden, um die Netzwerksitzung zu steuern.

Parametereigenschaften

Typ:AuthenticationMechanism
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Authentifizierung, am

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-CertificateThumbprint

Gibt das Zertifikat für den digitalen öffentlichen 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 in der zertifikatbasierten Clientauthentifizierung verwendet. Sie können nur lokalen Benutzerkonten zugeordnet werden; sie funktionieren nicht mit Domänenkonten.

Verwenden Sie zum Abrufen eines Zertifikatfingerabdrucks den Befehl Get-Item oder Get-ChildItem im Windows PowerShell-Zertifikat: Laufwerk.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ComputerName

Gibt den Computer an, für den Sie den Verwaltungsvorgang ausführen möchten. Der Wert kann ein vollqualifizierter Domänenname, ein NetBIOS-Name oder eine IP-Adresse sein. Verwenden Sie den namen des lokalen Computers, verwenden Sie localhost, oder verwenden Sie einen Punkt (.), um den lokalen Computer anzugeben. Der lokale Computer ist der Standardwert. Wenn sich der Remotecomputer in einer anderen Domäne des Benutzers befindet, müssen Sie einen vollqualifizierten Domänennamen verwenden. Sie können einen Wert für diesen Parameter an das Cmdlet weiterleiten.

Parametereigenschaften

Typ:String
Standardwert:Localhost
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:cn

Parametersätze

ComputerName
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ConnectionURI

Gibt den Verbindungsendpunkt an. Das Format dieser Zeichenfolge lautet:

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

Die folgende Zeichenfolge ist ein richtig formatierter Wert für diesen Parameter:

http://Server01:8080/WSMAN

Der URI muss vollständig qualifiziert sein.

Parametereigenschaften

Typ:Uri
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:CURI, CU

Parametersätze

URI
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Credential

Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Die Standardeinstellung ist der aktuelle Benutzer. Geben Sie einen Benutzernamen ein, z. B. "User01", "Domain01\User01" oder User@Domain.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.

Parametereigenschaften

Typ:PSCredential
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Cred, c

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten: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 beispielsweise den FilePath-Parameter:

invoke-wsmanaction -action stopservice -resourceuri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:c:\input.xml -authentication Standard

Mit diesem Befehl wird die StopService-Methode für den Spooler-Dienst mithilfe von Eingaben aus einer Datei aufgerufen. Die Datei, Input.xml, enthält den folgenden Inhalt:

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

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-OptionSet

Übergibt eine Reihe von Schaltern an einen Dienst, um die Art der Anforderung zu ändern oder zu verfeinern. Dies ist vergleichbar mit Optionen, die in Befehlszeilenshells verwendet werden, da sie dienstspezifisch sind. Es können beliebig viele Optionen angegeben werden.

Im folgenden Beispiel wird die Syntax veranschaulicht, die die Werte 1, 2 und 3 für die Parameter a, b und c übergibt:

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

Parametereigenschaften

Typ:Hashtable
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:os

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Port

Gibt den Port an, der verwendet werden soll, wenn der Client eine Verbindung mit dem WinRM-Dienst herstellt. Wenn der Transport HTTP ist, lautet der Standardport 80. Wenn der Transport HTTPS ist, lautet der Standardport 443. Wenn Sie HTTPS als Transport verwenden, muss der Wert des ComputersName-Parameters mit dem gemeinsamen Zertifikatnamen (CN) des Servers übereinstimmen. Wenn der Parameter SkipCNCheck jedoch als Teil des SessionOption-Parameters angegeben wird, muss der gemeinsame Zertifikatname des Servers nicht mit dem Hostnamen des Servers übereinstimmen. Der Parameter SkipCNCheck sollte nur für vertrauenswürdige Computer verwendet werden.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ResourceURI

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

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

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

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

Parametereigenschaften

Typ:Uri
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:ruri

Parametersätze

(All)
Position:0
Obligatorisch:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-SelectorSet

Gibt eine Gruppe von Wertpaaren an, die zum Auswählen bestimmter Verwaltungsressourceninstanzen verwendet werden. SelectorSet- wird verwendet, wenn mehrere Instanzen der Ressource vorhanden sind. Der Wert SelectorSet- muss eine Hashtabelle sein.

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

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

Parametereigenschaften

Typ:Hashtable
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:2
Obligatorisch:False
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-SessionOption

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

Parametereigenschaften

Typ:SessionOption
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:SO

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-UseSSL

Gibt an, dass das SSL-Protokoll (Secure Sockets Layer) 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 den zusätzlichen Schutz von HTTPS anstelle von HTTP angeben. Wenn SSL für den Für die Verbindung verwendeten Port nicht verfügbar ist und Sie diesen Parameter angeben, schlägt der Befehl fehl.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ValueSet

Gibt eine Hashtabelle an, mit der 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.

Parametereigenschaften

Typ:Hashtable
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

None

Dieses Cmdlet nimmt keine Eingabe an.

Ausgaben

None

Dieses Cmdlet generiert keine Ausgabe.