Informationen zu WorkflowCommonParameters
KURZE BESCHREIBUNG
In diesem Thema werden die Parameter beschrieben, die für alle Windows PowerShell Workflowbefehle gültig sind. Da die Windows PowerShell-Engine sie Workflows hinzufügt, können Sie diese Parameter für jeden Workflow verwenden, und sie werden automatisch für die workflows aktiviert, die Sie erstellen.
LANGE BESCHREIBUNG
Windows PowerShell Häufig verwendete Workflowparameter sind eine Reihe von Cmdletparametern, die Sie mit allen Windows PowerShell Workflows und Aktivitäten verwenden können. Sie werden von der Windows PowerShell Workflow-Engine hinzugefügt, nicht vom Workflowautor, und sie sind automatisch für Workflows und Aktivitäten verfügbar. Workflows, die drei Ebenen tief geschachtelt sind, unterstützen jedoch keine allgemeinen Parameter, einschließlich allgemeiner Workflowparameter.
Alle Workflowparameter sind optional und benannt (nicht positional). Sie nehmen keine Eingaben aus der Pipeline an.
Die meisten allgemeinen Workflowparameter verfügen über ein PS-Präfix, z PSComputerName
. B. und PSCredential
. Die Parameter mit PS-Präfix konfigurieren die Verbindung und die Ausführungsumgebung für die Zielcomputer, die auch als "Remoteknoten" bezeichnet werden.
Viele der allgemeinen Workflowparameter, zPSAllowRedirection
. B. und AsJob
, weisen Namen auf, die den Parametern ähneln, die in Windows PowerShell Remoting- und Hintergrundaufträgen verwendet werden. Diese Parameter funktionieren auf die gleiche Weise wie die ähnlichen Remoting- und Auftragsparameter, sodass Sie das Wissen, das Sie in Remoting und Aufträgen entwickelt haben, verwenden können, 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. Um den Auftrag zu verwalten, verwenden Sie die Job-Cmdlets. Um die Auftragsergebnisse abzurufen, verwenden Sie Receive-Job.
-JobName <String>
Gibt einen Anzeigenamen für den Workflowauftrag an. Standardmäßig haben Aufträge den Namen "Auftrag<n>", wobei <n> eine Ordnungszahl ist.
Wenn Sie den Parameter JobName 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 einschließen.
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 Remoteziel eine Anweisung zum Umleiten an einen anderen URI zurückgeben. Standardmäßig leitet Windows PowerShell keine Verbindungen um, aber Sie können den PSAllowRedirection
-Parameter verwenden, um die Umleitung der Verbindung zum Zielcomputer zuzulassen.
Sie können auch die Anzahl der Umleitungen der Verbindung einschränken, indem Sie die MaximumConnectionRedirectionCount
-Eigenschaft der $PSSessionOption
Einstellungsvariable oder die MaximumConnectionRedirectionCount
-Eigenschaft des -Werts von PSSessionOption parameter
festlegen. Der Standardwert ist 5. Weitere Informationen finden Sie in der Beschreibung des PSSessionOption
Parameters und new-PSSessionOption.
-PSApplicationName <String>
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
Einstellungsvariablen auf dem lokalen Computer. Wenn diese Einstellungsvariable nicht definiert ist, ist der Standardwert „WSMan“. Dieser Wert ist für die meisten Verwendungsarten geeignet. Weitere Informationen finden Sie unter about_Preference_Variables.
Der WinRM-Dienst wählt mit dem Anwendungsnamen einen Listener für die Verbindungsanforderung aus. Der Wert dieses Parameters sollte mit dem Wert der URLPrefix
Eigenschaft eines Listeners auf dem Remotecomputer übereinstimmen.
-PSAuthentication <AuthenticationMechanism>
Gibt den Mechanismus an, der verwendet wird, um die Anmeldeinformationen des Benutzers beim Herstellen einer Verbindung mit den Zielcomputern zu authentifizieren.
Gültige Werte sind:
- Standard
- Grundlegend
- Credssp
- Digest
- Kerberos
- Aushandeln
- NegotiateWithImplicitCredential
Der Standardwert lautet Default.
Informationen zu den Werten dieses Parameters finden Sie in der Beschreibung der System.Management.Automation.Runspaces.AuthenticationMechanism
Enumeration in MSDN.
Warnung
Die Credential Security Support Provider (CredSSP)-Authentifizierung, in der die Anmeldeinformationen des Benutzers zur Authentifizierung an einen Remotecomputer übergeben werden, ist für Befehle gedacht, die Authentifizierung bei mehr als einer Ressource erfordern, z. B. beim Zugriff auf eine Remote-Netzwerkfreigabe. Dieser Mechanismus erhöht das Sicherheitsrisiko des Remotevorgangs. Wenn die Sicherheit des Remotecomputers gefährdet 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 lautet Default.
Gültige Werte sind:
Name | BESCHREIBUNG |
---|---|
Unverändert | Die Authentifizierungsebene ist identisch mit der des vorherigen Befehls. |
Standard | Windows-Authentifizierung. |
None | Keine COM-Authentifizierung. |
Herstellen einer Verbindung | COM-Authentifizierung auf Verbindungsebene. |
Call | COM-Authentifizierung auf Aufrufebene. |
Paket | COM-Authentifizierung auf Paketebene. |
PacketIntegrity | COM-Authentifizierung auf Paketintegritätsebene. |
PacketPrivacy | COM-Authentifizierung auf Paketdatensicherheitsebene. |
-PSCertificateThumbprint <String>
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.
Verwenden Sie zum Abrufen eines Zertifikats die Cmdlets Get-Item oder [Get-ChildItem] (xref:Microsoft.PowerShell.Management.Get-Childitem) im laufwerk Windows PowerShell Cert: .
-PSComputerName <String[]>
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 mit diesem Parameter angegeben werden. Die Standardeinstellung 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 im Befehl weggelassen wird oder der Wert oder eine leere Zeichenfolge ist$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 konfiguriert sein, oder die IP-Adresse des Remotecomputers muss in der WinRM TrustedHosts-Liste auf dem lokalen Computer enthalten sein. Anweisungen zum Hinzufügen eines Computernamens zur TrustedHosts-Liste finden Sie unter Hinzufügen eines Computers zur Liste der vertrauenswürdigen Hosts in about_Remote_Troubleshooting.
-PSConfigurationName <String>
Gibt die Sitzungskonfigurationen an, die zum Konfigurieren von Sitzungen auf den Zielcomputern verwendet werden. Geben Sie eine Sitzungskonfiguration auf den Zielcomputern (nicht auf dem Workflowservercomputer) ein. Der Standardwert lautet Microsoft.PowerShell.Workflow
.
-PSConnectionRetryCount <UInt>
Gibt die maximale Anzahl von Verbindungsversuchen mit jedem Zielcomputer an, wenn der erste Verbindungsversuch fehlschlägt. Geben Sie eine Zahl zwischen 1 und 4.294.967.295 (UInt.MaxValue) ein. Der Standardwert null (0) stellt keine Wiederholungsversuche dar.
-PSConnectionRetryIntervalSec <UInt>
Gibt die Verzögerung zwischen Verbindungsversuchsversuchen in Sekunden an. Der Standardwert ist 0 (null). 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 vollqualifiziert sein.
Das Format dieser Zeichenfolge lautet wie folgt:
<Transport>://<ComputerName>:<Port>/<ApplicationName>
Standardwert: https://localhost:5985/WSMAN
.
Wenn Sie keinen angeben PSConnectionURI
, können Sie die PSUseSSL
Parameter , PSComputerName
, PSPort
und PSApplicationName
verwenden, um 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 Standardports 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 bzw. 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. Der Standardwert ist der aktuelle Benutzer. Dieser Parameter ist nur gültig, wenn der PSComputerName-Parameter 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 kein Timeout verstrichen ist.
-PSParameterCollection <Hashtable[]>
Gibt verschiedene 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 ist der Name des Zielcomputers. Im Computernamen sind Feldhalterzeichen zulässig. Für die restlichen Schlüssel in der Hashtabelle ist der Schlüssel der Parametername und der Wert der Parameterwert.
Beispiel:
-PSParameterCollection @{PSComputerName="*"; PSElapsedTimeoutSec=20},
@{PSComputerName="Server02"},
@{PSComputerName="Server03"},
@{PSComputerName="Server01"; PSElapsedTimeoutSec=10}
Im obigen Beispiel verfügen alle Verbindungen über einen Standardmäßigen PSElapsedTimeoutSec von 20 Sekunden, mit Ausnahme von Server01, der den Standardwert überschreibt, indem ein eigenes Timeout von 10 Sekunden angegeben wird.
-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. die prüfpunkte, die mithilfe des PSPersist
gemeinsamen Aktivitätsparameters, 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 während der Ausführung des Workflows erfasst 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 ab dem 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 dann 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 dies tun 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 ein alternativer Port verwendet werden kann, müssen Sie den WinRM-Listener auf dem Remotecomputer für das Abhören an diesen Port konfigurieren.
-PSPrivateMetadata <Hashtable>
Stellt angepasste 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 von der Windows PowerShell Workflow-Engine verarbeitet. Stattdessen übergibt das Modul die Hashtabelle direkt an den Workflow.
-PSRunningTimeoutSec <UInt32>
Gibt die Laufzeit des Workflows in Sekunden an, wobei jeder Zeitpunkt, zu dem der Workflow angehalten wird, ausgeschlossen wird. Wenn die Workflowausführung nach Ablauf der Zeit nicht abgeschlossen ist, beendet die Windows PowerShell Workflow-Engine die Ausführung des Workflows gewaltsam.
-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 mithilfe des New-PSSessionOption
Cmdlets erstellen.
Die Standardwerte für die Sitzungsoptionen werden durch den Wert der $PSSessionOption
Einstellungsvariablen bestimmt, sofern 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 Einstellungsvariablen $PSSessionOption
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 bietet zusätzlichen Schutz, indem die Daten über HTTPS, anstelle von HTTP gesendet werden. Wenn Sie diesen Parameter verwenden, aber SSL auf dem Port für den Befehl nicht verfügbar ist, tritt ein Fehler beim Befehl auf.