In benutzerdefiniertem C # -PowerShell-Cmdlet Identifizieren, wenn -Verbose angegeben wurde

9

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

    
John Chapman 01.10.2012, 16:56
quelle

3 Antworten

8

Überprüfen Sie die gebundenen Parameter des Cmdlets wie folgt:

%Vor%     
Keith Hill 01.10.2012, 18:01
quelle
0

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%     
Bruce Gavin 11.11.2014 21:12
quelle
0

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.

    
hsimah 31.07.2017 04:46
quelle

Tags und Links