Informationen über_WorkflowCommonParameters
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 Workflowparameter weisen ein PS
Präfix auf, 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, weisen Namen auf, die mit Parametern vergleichbar sind, 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. Um den Auftrag zu verwalten, verwenden Sie die Job-Cmdlets. Verwenden Sie "Receive-Job", um die Auftragsergebnisse zu erhalten.
-JobName <String>
Gibt einen Anzeigenamen für den Workflowauftrag an. Standardmäßig werden Aufträge benannt Job<n>
, wobei <n>
es sich um eine Ordnungszahl handelt.
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 zurückgeben, um zu einem anderen URI umzuleiten. Standardmäßig leitet Windows PowerShell keine Verbindungen um, Sie können jedoch den PSAllowRedirection-Parameter verwenden, um die Umleitung der Verbindung mit dem Zielcomputer zuzulassen.
Sie können auch einschränken, wie oft die Verbindung umgeleitet wird, indem Sie die MaximumConnectionRedirectionCount-Eigenschaft der $PSSessionOption
Einstellungsvariable oder die MaximumConnectionRedirectionCount-Eigenschaft des Werts des PSSessionOption-Parameters festlegen. Der Standardwert ist 5
. Weitere Informationen finden Sie in der Beschreibung des PSSessionOption-Parameters und von New-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, lautet WSMAN
der Standardwert . 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 zum Authentifizieren der Anmeldeinformationen des Benutzers beim Herstellen einer Verbindung mit den Zielcomputern verwendet wird.
Gültige Werte sind:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
Der Standardwert ist Default
.
Informationen zu den Werten dieses Parameters finden Sie in der Beschreibung der System.Management.Automation.Runspaces.AuthenticationMechanism-Aufzählung im PowerShell SDK.
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 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 ist Default
.
Gültige Werte sind:
Name | Beschreibung |
---|---|
Unchanged |
Die Authentifizierungsebene ist identisch mit dem vorherigen Befehl. |
Default |
Windows-Authentifizierung. |
None |
Keine COM-Authentifizierung. |
Connect |
COM-Authentifizierung auf Verbindungsebene. |
Call |
COM-Authentifizierung auf Anrufebene. |
Packet |
COM-Authentifizierung auf Paketebene. |
PacketIntegrity |
COM-Authentifizierung auf Paketintegritätsebene. |
PacketPrivacy |
COM-Authentifizierung auf Paketebene auf Datenschutzebene. |
-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 " im Windows PowerShell-Laufwerk 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 mithilfe dieses Parameters 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 oder localhost
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 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 Liste "TrustedHosts" finden Sie unter "Hinzufügen eines Computers zur vertrauenswürdigen Hostliste" 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 ist "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 (UInt.MaxValue) ein. Der Standardwert Null (0
), stellt keine Wiederholungsversuche dar.
-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
gültig 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>
Der Standardwert ist http://localhost:5985/WSMAN
.
Wenn Sie keinen PSConnectionURI angeben, können Sie die Parameter "PSUseSSL", "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 Standardsports erstellt: 80
für HTTP und 443
für HTTPS. Um die Standardports für Windows PowerShell-Remoting zu verwenden, geben Sie den 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. Der Standardwert ist der aktuelle Benutzer. Dieser Parameter ist nur gültig, wenn der PARAMETER "PSComputerName " im Befehl enthalten ist.
Geben Sie einen Benutzernamen ein, z User01
. B. oder Domain01\User01
eine Variable, die ein PSCredential-Objekt enthält, z. B. einen, der vom Get-Credential
Cmdlet zurückgegeben wird. 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 (Null) bedeutet, 0
dass kein verstrichener Timeout vorhanden ist.
-PSParameterCollection <Hashtable[]>
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 der erste Schlüssel PSComputerName , und sein Wert ist 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.
Zum Beispiel:
-PSParameterCollection @{PSComputerName="*"; PSElapsedTimeoutSec=20},
@{PSComputerName="Server02"},
@{PSComputerName="Server03"},
@{PSComputerName="Server01"; PSElapsedTimeoutSec=10}
Im obigen Beispiel verfügen alle Verbindungen über eine standardmäßige PSElapsedTimeoutSec von 20
Sekunden, mit Ausnahme von Server01, die den Standardwert außer Kraft setzt, 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 mithilfe des gemeinsamen PSPersist-Aktivitätsparameters , der Checkpoint-Workflow
Aktivität oder der $PSPersistPreference
Variablen.
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 zusätzlich zu allen Prüfpunkten, die im Workflow angegeben sind, ein Prüfpunkt am Anfang und Ende des Workflows 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 nicht, es sei denn, 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 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 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 mithilfe des New-PSSessionOption
Cmdlets 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 unter 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 ist ein zusätzlicher Schutz, der die Daten über ein HTTPS und nicht über HTTP sendet. Wenn Sie diesen Parameter verwenden, aber SSL auf dem Port für den Befehl nicht verfügbar ist, tritt ein Fehler beim Befehl auf.