Ich habe ein benutzerdefiniertes C# PowerShell-Cmdlet (erbt von der Cmdlet-Basisklasse) und möchte feststellen, ob der Parameter "-Verbose" beim Ausführen des Cmdlet angegeben wurde . Ich stelle fest, dass WriteVerbose ausgeben wird, wenn der Parameter -Verbose angegeben wird, aber ich möchte tatsächlich anderen Code ausführen, wenn -Verbose angegeben ist (d. H. Die Console.Write-Werte nicht ausgegeben, wenn -Verbose angegeben ist).In benutzerdefiniertem C# -PowerShell-Cmdlet Identifizieren, wenn -Verbose angegeben wurde
Danke,
John
MyInvocation ist kein Mitglied des Objekts "this" (Cmdlet). Die Klasse erbt von System.Management.Automation.Cmdlet. –
Gibt es einen Grund, nicht von PSCmdlet zu erben? –
Sie müssen ziemlich viel von PSCmdlet erben, um die gebundenen Parameter zu erhalten. Beachten Sie außerdem, dass Verbose in den gebundenen Parametern enthalten ist, auch wenn es als -Verbose: false angegeben wurde. Daher müssen Sie den Wert des Parameters im Idealfall auch überprüfen. – StephenD