Freigeben über


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 WSMANder 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 localhosteinen 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 1gü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\User01eine 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.

Weitere Informationen