Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
KURZE BESCHREIBUNG
In diesem Thema werden die Parameter beschrieben, die für alle Windows PowerShell-Workflowbefehle gültig sind. Da das Windows PowerShell-Modul sie Workflows hinzufügt, können Sie diese Parameter für jeden Workflow verwenden und automatisch für die workflows aktiviert werden, die Sie erstellen.
LANGE BESCHREIBUNG
Allgemeine Windows PowerShell-Workflowparameter sind eine Reihe von Cmdlet-Parametern, die Sie mit allen Windows PowerShell-Workflows und -Aktivitäten verwenden können. Sie werden vom Windows PowerShell-Workflowmodul hinzugefügt, nicht vom Workflowautor, und sie sind automatisch für Workflows und Aktivitäten verfügbar. Workflows, die in drei Ebenen geschachtelt sind, unterstützen jedoch keine allgemeinen Parameter, einschließlich allgemeiner Workflowparameter.
Alle Workflowparameter sind optional und benannt (nicht positional). Sie übernehmen keine Eingaben aus der Pipeline.
Die meisten allgemeinen Parameter des Workflows verfügen über ein PS-Präfix, z. B PSComputerName . und PSCredential. Die PS-Präfixparameter konfigurieren die Verbindung und die Ausführungsumgebung für die Zielcomputer, auch als "Remoteknoten" bezeichnet.
Viele der allgemeinen Workflowparameter, z. B PSAllowRedirection . und AsJob, haben Namen, die den Parametern ähneln, die in Windows PowerShell-Remoting- und Hintergrundaufträgen verwendet werden. Diese Parameter funktionieren auf die gleiche Weise wie die ähnlich benannten Remoting- und Auftragsparameter, sodass Sie das Wissen verwenden können, das Sie in Remoting und Aufträgen entwickelt haben, um Workflows zu verwalten.
Workflows werden in Windows PowerShell 3.0 eingeführt.
PARAMETERBESCHREIBUNGEN
In diesem Abschnitt werden die allgemeinen Workflowparameter beschrieben.
-AsJob <SwitchParameter>
Führt den Workflow als Workflowauftrag aus. Der Workflowbefehl gibt sofort ein Objekt zurück, das einen übergeordneten Auftrag darstellt. Der übergeordnete Auftrag enthält die untergeordneten Aufträge, die auf jedem der Zielcomputer ausgeführt werden. Verwenden Sie zum Verwalten des Auftrags die Cmdlets "Auftrag". Verwenden Sie "Receive-Job", um die Auftragsergebnisse zu erhalten.
-JobName-Zeichenfolge <>
Gibt einen Anzeigenamen für den Workflowauftrag an. Standardmäßig werden Aufträge mit "Job<n>" bezeichnet, wobei <n> eine Ordnungszahl ist.
Wenn Sie den JobName-Parameter in einem Workflowbefehl verwenden, wird der Workflow als Auftrag ausgeführt, und der Workflowbefehl gibt ein Auftragsobjekt zurück, auch wenn Sie den AsJob Parameter nicht in den Befehl aufnehmen.
Weitere Informationen zu Windows PowerShell-Hintergrundaufträgen finden Sie unter about_Jobs.
-PSAllowRedirection <SwitchParameter>
Ermöglicht die Umleitung der Verbindung zu den Zielcomputern.
Wenn Sie den PSConnectionURI Parameter verwenden, kann das entfernte Ziel eine Anweisung zurückgeben, um zu einem anderen URI umzuleiten. Standardmäßig werden Verbindungen von Windows PowerShell nicht umgeleitet, aber Sie können den PSAllowRedirection Parameter verwenden, um die Umleitung der Verbindung an den Zielcomputer zuzulassen.
Sie können auch die Anzahl der Umleitungen der Verbindung begrenzen, indem Sie die MaximumConnectionRedirectionCount Eigenschaft der $PSSessionOption Einstellungsvariablen oder die MaximumConnectionRedirectionCount Eigenschaft des Werts von PSSessionOption parameterfestlegen. Der Standardwert ist 5. Weitere Informationen finden Sie in der Beschreibung des Parameters und von PSSessionOptionNew-PSSessionOption.
-PSApplicationName-Zeichenfolge <>
Gibt das Anwendungsnamensegment des Verbindungs-URI an, der zum Herstellen einer Verbindung mit den Zielcomputern verwendet wird. Verwenden Sie diesen Parameter, um den Anwendungsnamen anzugeben, wenn Sie den ConnectionURI Parameter nicht im Befehl verwenden.
Der Standardwert ist der Wert der $PSSessionApplicationName Einstellungsvariable auf dem lokalen Computer. Wenn diese Einstellungsvariable nicht definiert ist, ist der Standardwert „WSMan“. Dieser Wert ist für die meisten Verwendungen geeignet. Weitere Informationen finden Sie unter about_Preference_Variables.
Der WinRM-Dienst verwendet den Anwendungsnamen, um einen Listener zum Dienst der Verbindungsanforderung auszuwählen. Der Wert dieses Parameters sollte mit dem Wert der URLPrefix Eigenschaft eines Listeners auf dem Remotecomputer übereinstimmen.
-PSAuthentication <Authentifizierungsmechanismus>
Gibt den Mechanismus an, der zum Authentifizieren der Anmeldeinformationen des Benutzers beim Herstellen einer Verbindung mit den Zielcomputern verwendet wird.
Gültige Werte sind:
- Vorgabe
- Grundlegend
- Credssp
- Verdauen
- Kerberos
- verhandeln
- NegotiateWithImplicitCredential
Der Standardwert ist Default.
Informationen zu den Werten dieses Parameters finden Sie in der Beschreibung der System.Management.Automation.Runspaces.AuthenticationMechanism Enumeration in MSDN.
Warnung
Die Authentifizierung des Credential Security Service Provider (CredSSP), bei der die Anmeldeinformationen des Benutzers an einen Remotecomputer übergeben werden, der authentifiziert werden soll, wurde für Befehle entwickelt, die eine Authentifizierung für mehrere Ressourcen erfordern, z. B. den Zugriff auf eine Remotenetzwerkfreigabe. Dieser Mechanismus erhöht das Sicherheitsrisiko des Remotevorgangs. Wenn der Remotecomputer kompromittiert ist, können die an ihn übergebenen Anmeldeinformationen zum Steuern der Netzwerksitzung verwendet werden.
-PSAuthenticationLevel AuthenticationLevel <>
Gibt die Authentifizierungsebene für die Verbindungen mit den Zielcomputern an. Der Standardwert ist Default.
Gültige Werte sind:
| Name | BESCHREIBUNG |
|---|---|
| Unverändert | Die Authentifizierungsebene ist identisch mit dem vorherigen Befehl. |
| Vorgabe | Windows-Authentifizierung. |
| Nichts | Keine COM-Authentifizierung. |
| Herstellen einer Verbindung | COM-Authentifizierung auf Verbindungsebene. |
| Anruf | COM-Authentifizierung auf Anrufebene. |
| Paket | COM-Authentifizierung auf Paketebene. |
| Paket-Integrität | COM-Authentifizierung auf Paketintegritätsebene. |
| PaketDatenschutz | COM-Authentifizierung auf Paketebene auf Datenschutzebene. |
-PSCertificateThumbprint-Zeichenfolge <>
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 und funktionieren nicht mit Domänenkonten.
Verwenden Sie zum Abrufen eines Zertifikats die Cmdlets Get-Item oder [Get-ChildItem] (xref:Microsoft.PowerShell.Management.Get-Childitem) auf dem Windows PowerShell-Laufwerk Zertifikat:.
-PSComputerName <Zeichenfolge[]>
Gibt die Liste der Computer an, die die Zielknoten des Workflows sind. Befehle oder Aktivitäten in einem Workflow werden auf den Computern ausgeführt, die mithilfe dieses Parameters angegeben werden. Der Standardwert ist der lokale Computer.
Geben Sie den NetBIOS-Namen, die IP-Adresse oder den vollqualifizierten Domänennamen von mindestens einem Computer in eine durch Kommas getrennte Liste ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen "localhost" oder einen Punkt (.) ein.
Um den lokalen Computer in den Wert des PSComputerName Parameters einzuschließen, öffnen Sie Windows PowerShell mit der Option "Als Administrator ausführen".
Wenn dieser Parameter aus dem Befehl nicht angegeben wird oder es sich um eine leere Zeichenfolge handelt $null , ist das Workflowziel der lokale Computer, und Windows PowerShell-Remoting wird nicht zum Ausführen des Befehls verwendet.
Um eine IP-Adresse im Wert des ComputerName Parameters zu verwenden, muss der Befehl den PSCredential Parameter enthalten. Außerdem muss der Computer für den HTTPS-Transport oder die IP-Adresse des Remotecomputers in der WinRM TrustedHosts-Liste auf dem lokalen Computer enthalten sein. Anweisungen zum Hinzufügen eines Computernamens zur Liste "TrustedHosts" finden Sie unter "Hinzufügen eines Computers zur Liste der vertrauenswürdigen Hosts" in about_Remote_Troubleshooting.
-PSConfigurationName-Zeichenfolge <>
Gibt die Sitzungskonfigurationen an, die zum Konfigurieren von Sitzungen auf den Zielcomputern verwendet werden. Geben Sie eine Sitzungskonfiguration auf den Zielcomputern ein (nicht auf dem Workflowservercomputer). Der Standardwert lautet Microsoft.PowerShell.Workflow.
-PSConnectionRetryCount <UInt>
Gibt die maximale Anzahl von Versuchen an, eine Verbindung mit jedem Zielcomputer herzustellen, wenn der erste Verbindungsversuch fehlschlägt. Geben Sie eine Zahl zwischen 1 und 4.294.967.295 ein (UInt.MaxValue). Der Standardwert Null (0) steht für keine Wiederholungsversuche.
-PSConnectionRetryIntervalSec <UInt>
Gibt die Verzögerung zwischen Verbindungsversuchen in Sekunden an. Der Standardwert ist Null (0). Dieser Parameter ist nur gültig, wenn der Wert von PSConnectionRetryCount mindestens 1 ist.
-PSConnectionURI <System.Uri>
Gibt einen URI (Uniform Resource Identifier) an, der den Verbindungsendpunkt für den Workflow auf dem Zielcomputer definiert. Der URI muss vollständig qualifiziert sein.
Das Format dieser Zeichenfolge lautet wie folgt:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
Der Standardwert ist https://localhost:5985/WSMAN.
Wenn Sie keinen angebenPSConnectionURI, können Sie die PSUseSSLParameter , , PSComputerNameund PSPort verwenden, PSApplicationNameum die PSConnectionURI Werte anzugeben.
Gültige Werte für das Transportsegment des URI sind HTTP und HTTPS. Wenn Sie einen Verbindungs-URI mit einem Transportsegment angeben, aber keinen Port angeben, wird die Sitzung mit Standardsports erstellt: 80 für HTTP und 443 für HTTPS. Um die Standardports für Windows PowerShell-Remoting zu verwenden, geben Sie Port 5985 für HTTP oder 5986 für HTTPS an.
-PSCredential PSCredential <>
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen eines Workflows auf dem Zielcomputer verfügt. Die Standardeinstellung ist der aktuelle Benutzer. Dieser Parameter ist nur gültig, wenn der Parameter PSComputerName im Befehl enthalten ist.
Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01", oder geben Sie eine Variable ein, die ein PSCredential Objekt enthält, z. B. eines, das das Get-Credential Cmdlet zurückgibt. Wenn Sie nur einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.
-PSElapsedTimeoutSec <UInt32>
Bestimmt, wie lange der Workflow und alle zugehörigen Ressourcen im System verwaltet werden. Wenn das Timeout abläuft, wird der Workflow gelöscht, auch wenn er noch verarbeitet wird. Geben Sie einen Wert zwischen 10 und 4.294.967.295 ein. Der Standardwert 0 (Null) bedeutet, dass keine Zeitüberschreitung abgelaufen ist.
-PSParameterCollection <Hashtabelle[]>
Gibt unterschiedliche allgemeine Workflowparameterwerte für verschiedene Zielcomputer an.
Geben Sie eine durch Trennzeichen getrennte Liste von Hashtabellen mit einer Hashtabelle für jeden Zielcomputer ein. In jeder Hashtabelle ist PSComputerName der erste Schlüssel und sein Wert der Name des Zielcomputers. Wildcardzeichen sind im Computernamen zulässig. Für die verbleibenden Schlüssel in der Hashtabelle ist der Schlüssel der Parametername, und der Wert ist der Parameterwert.
Beispiel:
-PSParameterCollection @{PSComputerName="*"; PSElapsedTimeoutSec=20},
@{PSComputerName="Server02"},
@{PSComputerName="Server03"},
@{PSComputerName="Server01"; PSElapsedTimeoutSec=10}
Im obigen Beispiel weisen alle Verbindungen einen PSElapsedTimeoutSec-Standardwert von 20 Sekunden auf, mit Ausnahme von Server01, der den Standardwert überschreibt, indem er ein eigenes Timeout von 10 Sekunden angibt.
-PSPersist <Boolean>
Fügt dem Workflow zusätzlich zu allen Prüfpunkten, die im Workflow angegeben sind, Prüfpunkte hinzu.
Dieser Parameter kann die Prüfpunkte in einem Workflow nicht unterdrücken, z. B. diejenigen, die mit dem allgemeinen Parameter der PSPersist Aktivität, der Checkpoint-Workflow Aktivität oder der $PSPersistPreference Variablen angegeben werden.
Ein "Prüfpunkt" oder "Persistenzpunkt" ist eine Momentaufnahme des Workflowzustands und der Daten, die erfasst werden, während der Workflow ausgeführt wird und in einem Persistenzspeicher auf dem Datenträger oder in einer SQL-Datenbank gespeichert wird. Windows PowerShell-Workflow verwendet die gespeicherten Daten, um einen angehaltenen oder unterbrochenen Workflow vom letzten Persistenzpunkt fortzusetzen, anstatt den Workflow neu zu starten.
Gültige Werte:
(Standard) Wenn Sie diesen Parameter weglassen, wird am Anfang und Ende des Workflows zusätzlich zu allen Prüfpunkten, die im Workflow angegeben sind, ein Prüfpunkt hinzugefügt.
$True. Fügt einen Prüfpunkt am Anfang und Ende des Workflows und einen Prüfpunkt nach jeder Aktivität hinzu, zusätzlich zu allen Prüfpunkten, die im Workflow angegeben sind.$False. Es werden keine Prüfpunkte hinzugefügt. Prüfpunkte werden nur ausgeführt, wenn sie im Workflow angegeben sind.
-PSPort <int32>
Gibt den Netzwerkport auf den Zielcomputern an. Die Standardports sind 5985 (der WinRM-Port für HTTP) und 5986 (der WinRM-Port für HTTPS).
Verwenden Sie den PSPort-Parameter nur, wenn Sie müssen. Der im Befehl festgelegte Port gilt für alle Computer oder Sitzungen, auf denen der Befehl ausgeführt wird. Eine alternative Porteinstellung kann verhindern, dass der Befehl auf allen Computern ausgeführt wird. Bevor Sie einen alternativen Port verwenden, müssen Sie den WinRM-Listener auf dem Remotecomputer so konfigurieren, dass er an diesem Port lauscht.
-PSPrivateMetadata <Hashtabelle>
Stellt benutzerdefinierte Informationen für Workflowaufträge bereit. Geben Sie eine Hashtabelle ein. Die Schlüssel und Werte werden für jeden Workflow angepasst. Informationen zu den privaten Metadaten eines Workflows finden Sie im Hilfethema für den Workflow.
Dieser Parameter wird nicht vom Windows PowerShell-Workflowmodul verarbeitet. Stattdessen übergibt das Modul die Hashtabelle direkt an den Workflow.
-PSRunningTimeoutSec <UInt32>
Gibt die Laufzeit des Workflows in Sekunden an, ohne dass der Workflow angehalten wird. Wenn die Workflowausführung nach Ablauf der Zeit nicht abgeschlossen ist, beendet das Windows PowerShell-Workflowmodul die Ausführung des Workflows forcibly.
-PSSessionOption <PSSessionOption>
Legt erweiterte Optionen für die Sitzungen auf die Zielcomputer fest. Geben Sie ein PSSessionOption Objekt ein, z. B. ein Objekt, das Sie mit dem New-PSSessionOption Cmdlet erstellen.
Die Standardwerte für die Sitzungsoptionen werden durch den Wert der $PSSessionOption Einstellungsvariablen bestimmt, wenn sie festgelegt ist. Andernfalls verwendet die Sitzung die in der Sitzungskonfiguration angegebenen Werte.
Eine Beschreibung der Sitzungsoptionen, einschließlich der Standardwerte, finden Sie im Hilfethema für das New-PSSessionOption Cmdlet (xref:Microsoft.PowerShell.Core.New-PSSessionOption). Informationen zur $PSSessionOption Einstellungsvariablen finden Sie unter about_Preference_Variables.
-PSUseSSL <SwitchParameter>
Verwendet das SSL-Protokoll (Secure Sockets Layer), um eine Verbindung mit dem Zielcomputer herzustellen. Standardmäßig wird SSL nicht verwendet.
WS-Management verschlüsselt alle Windows PowerShell-Inhalte, die über das Netzwerk übertragen werden. UseSSL ist ein zusätzlicher Schutz, der die Daten über HTTPS statt über HTTP sendet. Wenn Sie diesen Parameter verwenden, ABER SSL für den für den Befehl verwendeten Port nicht verfügbar ist, schlägt der Befehl fehl.