Ich habe versucht, nach einer Antwort zu suchen, aber ich denke, dass die Wörter PowerShell und Parameter in einer Reihe von Schlüsselwörtern nicht für eine einfache Suche geeignet sind
Meine Frage ist, ich schreibe eine Funktion, und ich habe einen Parameter angegeben, aber der Parameter muss einer aus einer Liste bestimmter Strings sein.
Gibt es eine Möglichkeit, diese Strings innerhalb des Skripts zu liefern, so dass, wenn ich "myfunction -parameter .." eintippe ich die Tab-Vervollständigung für den Parameterwert verwenden kann?
Wenn Sie PowerShell V2 verwenden, können Sie das Attribut [ValidateSet()]
verwenden, z. B.:
Siehe Hilfethema durch Ausführen von:
%Vor% Sie können [ValidateSet()]
verwenden, wie Keith es demonstriert, aber das funktioniert nicht sehr gut mit einer großen Anzahl von möglichen Werten (das Auffüllen der Liste, wenn Sie Tab drücken, wird sehr langsam). Eine weitere Methode zum Abrufen von Tabulatoren ist das Erstellen einer benutzerdefinierten Enumeration:
und übergeben Sie den Parameter als diesen Aufzählungstyp. Dadurch werden dem Zeichensatz, der in Ihren Strings zulässig ist, einige Einschränkungen auferlegt (im Grunde genommen nur Buchstaben und Zahlen), aber die Tabulatorvervollständigungsliste wird viel schneller aufgefüllt, wenn es sich um eine relativ große Liste von Werten handelt.
Tags und Links powershell parameters