THEMA about_Parameters KURZBESCHREIBUNG Beschreibt, wie in Windows PowerShell mit Cmdlet-Parametern gearbeitet wird. DETAILBESCHREIBUNG Bei den meisten Windows PowerShell-Cmdlets und -Funktionen sind Parameter erforderlich, um Benutzern Eingaben oder die Auswahl von Optionen ermöglichen. Die Parameter folgen dem Cmdlet- oder Funktionsnamen und weisen in der Regel die folgende Form auf: -<Parametername> <Parameterwert> Dem Parameternamen wird ein Bindestrich (-) vorangestellt, mit dem Windows PowerShell mitgeteilt wird, dass es sich bei dem Wort nach dem Bindestrich um einen Parameter und nicht um einen Wert handelt, der an das Cmdlet oder die Funktion übergeben werden soll. Nicht für alle Parameter sind Werte erforderlich, und nicht alle Parameternamen müssen angegeben werden. In einigen Fällen wird der Parametername impliziert und muss nicht explizit im Befehl angegeben werden. Der Parametertyp und die jeweiligen Anforderungen unterscheiden sich je nach Cmdlet bzw. Funktion. Mit dem Cmdlet "Get-Help" rufen Sie Informationen zu den Parametern eines Cmdlet ab. Wenn Sie beispielsweise Informationen zu den Parametern des Cmdlet "Get-ChildItem" suchen, geben Sie Folgendes ein: get-help get-childitem Wenn Sie Informationen zu den Parametern einer Funktion suchen, überprüfen Sie die Parameterdefinitionen. Parameter sind nach dem Funktionsnamen oder im Text der Funktion definiert. Für sie wird das Param- Schlüsselwort verwendet. Weitere Informationen finden Sie unter "about_Functions". Manche Funktionen enthalten auch kommentarbasierte Hilfe zu Parametern. Verwenden Sie für diese Funktionen das Cmdlet "Get-Help". Weitere Informationen hierzu finden Sie im Hilfethema zu "Get-Help" und "about_Comment_Based_Help". Das Cmdlet "Get-Help" gibt verschiedene Details zum Cmdlet oder zur Funktion zurück, u. a. eine Beschreibung des Cmdlets oder der Funktion, die Befehlssyntax, Informationen zu den Parametern sowie Beispiele zur Verwendung des Cmdlet oder der Funktion. Informationen zu einem bestimmten Parameter können Sie auch mit dem Parameter-Parameter des Cmdlet "Get-Help" oder der Funktion suchen. Zudem können Sie im Parameter-Parameter das Platzhalterzeichen (*) verwenden, wenn Sie Informationen zu allen Parametern des Cmdlet oder der Funktion suchen. Mit dem folgenden Befehl beispielsweise werden Informationen zu allen Parametern des Cmdlet "Get-Member" oder der Funktion abgerufen: get-help get-member -parameter * Diese Informationen enthalten die für die Verwendung des Parameters erforderlichen Details. Beispielsweise enthalten die Hilfeinformationen zum Cmdlet "Get-ChildItem" die folgenden Details zum zugehörigen -Path-Parameter: -path <string[]> Gibt einen Pfad zu einem oder mehreren Speicherorten an. Platzhalterzeichen sind zulässig. Der Standardspeicherort ist das aktuelle Verzeichnis (.). Erforderlich? false Position? 1 Standardwert Aktuelles Verzeichnis Pipelineeingaben akzeptieren? true (ByValue, ByPropertyName) Platzhalterzeichen akzeptieren? true Die Parameterinformationen enthalten die Parametersyntax, eine Beschreibung des Parameters und die Parameterattribute. In den folgenden Abschnitten werden die Parameterattribute beschrieben. Parameter - Erforderlich? Diese Einstellung gibt an, ob der Parameter erforderlich ist, d. h., ob alle Befehle, für die dieses Cmdlet verwendet wird, diesen Parameter enthalten müssen. Wenn als Wert "True" festgelegt und der Parameter im Befehl nicht angegeben ist, werden Sie von Windows PowerShell aufgefordert, einen Wert für den Parameter einzugeben. Parameter - Position? Diese Einstellung gibt an, ob Sie den Wert eines Parameters angeben können, ohne diesem den Parameternamen voranzustellen. Bei Festlegung auf "0" oder "named" ist ein Parametername erforderlich. Dieser Parametertyp wird als benannter Parameter bezeichnet. Benannte Parameter können an beliebiger Stelle nach dem Cmdlet-Namen aufgeführt werden. Wenn die Einstellung "Parameter - Position?" auf eine ganze Zahl ungleich 0 festgelegt ist, ist der Parametername nicht erforderlich. Dieser Parametertyp wird als Positionsparameter bezeichnet, und die Zahl gibt die Position an, an der sich der Parameter in Bezug auf andere Positionsparameter befinden muss. Wenn Sie bei Positionsparametern den Parameternamen angeben, kann der Parameter an beliebiger Stelle nach dem Cmdlet-Namen aufgeführt werden. Das Cmdlet "Get-ChildItem" verfügt z. B. über den Path-Parameter und den Exclude-Parameter. Für "Path" ist "Parameter - Position?" auf 1 festgelegt. Dies bedeutet, dass es sich um einen Positionsparameter handelt. Für "Exclude" ist "Parameter - Position?" auf 0 festgelegt. Dies bedeutet, dass es sich um einen benannten Parameter handelt. Daher ist der Parametername für "Path" nicht erforderlich, doch muss sein Parameterwert als erster oder einziger unbenannter Parameterwert im Befehl angegeben sein. Da es sich beim Exclude-Parameter jedoch um einen benannten Parameter handelt, können Sie diesen an beliebiger Position im Befehl einfügen. Aufgrund der Einstellungen für "Parameter - Position?" für diese beiden Parameter können Sie folgende Befehle verwenden: Get-ChildItem -path c:\techdocs -exclude *.ppt Get-ChildItem c:\techdocs -exclude *.ppt Get-ChildItem -exclude *.ppt -path c:\techdocs Get-ChildItem -exclude *.ppt c:\techdocs Wenn Sie einen anderen Positionsparameter ohne Parameternamen angegeben, muss dieser Parameter an der durch die Einstellung "Parameter - Position?" angegebenen Stelle eingefügt werden. Parametertyp Mit dieser Einstellung wird der Microsoft .NET Framework-Typ des Parameterwerts angegeben. Wenn als Typ z. B. Int32 festgelegt ist, muss als Parameterwert eine ganze Zahl verwendet werden. Wenn als Typ string festgelegt ist, muss als Parameterwert eine Zeichenfolge verwendet werden. Wenn die Zeichenfolge Leerzeichen enthält, muss der Wert in Anführungszeichen eingeschlossen oder den Leerzeichen das Escapezeichen (`) vorangestellt werden. Standardwert Gibt den Wert an, den der Parameter annimmt, wenn kein anderer Wert angegeben wurde. Beispielsweise wird der Standardwert des Path-Parameters häufig das aktuelle Verzeichnis verwendet. Für erforderliche Parameter ist niemals ein Standardwert festgelegt. Für viele optionale Parameter ist kein Standardwert festgelegt, da der Parameter keine Auswirkungen besitzt, wenn er nicht verwendet wird. Mehrere Werte akzeptieren? Diese Einstellung gibt an, ob ein Parameter mehrere Parameterwerte akzeptiert. Wenn ein Parameter mehrere Werte akzeptiert, können Sie eine durch Trennzeichen getrennte Liste als Wert des Parameters im Befehl eingeben, oder speichern Sie eine durch Trennzeichen getrennte Liste (ein Array) in einer Variablen, und geben Sie dann die Variable als Parameterwert an. Beispielsweise akzeptiert der ServiceName-Parameter des Cmdlet "Get-Service" mehrere Werte. Die folgenden beiden Befehle sind gültig: get-service -servicename winrm, netlogon $s = "winrm", "netlogon" get-service -servicename $s Pipelineeingaben akzeptieren? Diese Einstellung gibt an, ob Sie mit dem Pipelineoperator (|) einen Wert an den Parameter senden können. Wert Beschreibung ----- ----------- False Gibt an, dass Sie keinen Wert über die Pipeline an den Parameter übergeben können. True (ByValue) Gibt an, dass Sie jeden Wert über die Pipeline an den Parameter übergeben können, sodass mit dem Wert der .NET Framework-Typ des Parameters angegeben wird, oder der Wert kann in den angegebenen .NET Framework-Typ konvertiert werden. Wenn ein Parameter auf "True (ByValue)" festgelegt ist, versucht Windows PowerShell, über die Pipeline übergebene Werte diesem Parameter zuzuordnen, bevor versucht wird, den Befehl mit anderen Methoden zu interpretieren. True (ByPropertyName) Gibt an, dass Sie einen Wert über die Pipeline an den Parameter übergeben können, aber der .NET Framework-Typ des Parameters eine Eigenschaft mit dem gleichen Namen wie der Parameter enthalten muss. Zum Beispiel können Sie nur Werte über die Pipeline an einen Name-Parameter übergeben, wenn diese die Name-Eigenschaft besitzen. Platzhalterzeichen akzeptieren? Gibt an, ob der Wert eines Parameters Platzhalterzeichen enthalten darf, sodass der Parameterwert mehreren vorhandenen Elementen im Zielcontainer entspricht. Allgemeine Parameter Als allgemeine Parameter werden Parameter bezeichnet, die Sie mit jedem Cmdlet verwenden können. Weitere Informationen erhalten Sie, indem Sie Folgendes eingeben: help about_commonparameters SIEHE AUCH about_Command_syntax about_Comment_Based_Help about_Functions_Advanced about_Pipelines about_Wildcards