Powershell: Definieren des Verbose-Schalters in einer Funktion

9

> Link, ich versuche, in meinem Skript einen ausführlichen Modus einzuführen.

Wenn ich eine Funktion wie diese definiert habe -

%Vor%

Ich bekomme den folgenden Fehler -

  

Get-Help: Ein Parameter mit dem Namen 'Verbose' wurde mehrfach definiert   Zeiten für den Befehl. In Zeile: 12 Zeichen: 9   + Get-Hilfe & lt; & lt; & lt; & lt; TestVerbose       + CategoryInfo: MetadataError: (:) [Get-Help], MetadataException       + FullyQualifiedErrorId: ParameterNameAlreadyExistsForCommand, Microsoft.PowerShell.Commands.GetHelpCommand

ABER, wenn ich die Funktion wie folgt definieren [das obligatorische Attribut des Parameters entfernen], funktioniert es gut

%Vor%

Irgendeine Idee warum solch ein Verhalten? Ich möchte den obligatorischen Schalter beibehalten und möchte, dass der Benutzer meine Funktion so ausführt -

  

TestVerbose-verbose

    
Angshuman Agarwal 10.05.2012, 14:33
quelle

1 Antwort

16

Es scheint, dass Sie PoweShell v2 verwenden, in dem Verbose (zusammen mit debug, whatif usw.) reserviert ist und ihre Funktionen automatisch für Sie bereitgestellt werden. Anstatt Ihren eigenen 'ausführlichen' Erkennungsschalter zu schreiben, ist die Funktionalität bereits vorhanden. Im Fall von Verbose müssen Sie es nicht in der Parameterdeklaration angeben, andere Parameter wie which benötigen spezielle Synatax.

%Vor%     
James Pogran 10.05.2012, 15:05
quelle

Tags und Links