Ich habe ein benutzerdefiniertes C # PowerShell-Cmdlet (erbt von der Cmdlet-Basisklasse) und möchte feststellen können, 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).
Danke,
John
Überprüfen Sie die gebundenen Parameter des Cmdlets wie folgt:
%Vor%Nach vielem Graben funktioniert das für mich. Visual Studio 2013, Powershell 3.0 C # -Cmdlet mit dem PsCmdlet-Namespace. import-module.mytest.dll, dann mytest-verbose
%Vor% Wenn Sie die Referenzgruppe Microsoft.PowerShell.5.ReferenceAssemblies
verwenden, wird der Parameter Verbose
in die Basisklasse Cmdlet
eingeschlossen. Sie können WriteVerbose()
verwenden, um zu schreiben, wenn der Switch enthalten ist. Es gibt keine Notwendigkeit, es selbst länger zu handhaben.
Tags und Links c# powershell cmdlet