Dies ist eine gebrandmarkte Version meines eigentlichen Codes - ich habe ihn so klein wie möglich gemacht, damit Sie das Problem, das ich deutlich habe, sehen können:
%Vor%Hier ist der Quellcode basierend auf der Antwort unten.
Einige Dinge sind mir immer noch nicht klar: * Wie man das Cmdlet "Get-Colors" aufruft (idealerweise ohne es als String an das ps objet übergeben zu müssen) * So erhalten Sie die ausführliche Ausgabe , wie sie generiert wird , anstatt am Ende eine Sammlung von ihnen zu erhalten.
%Vor%Der obige Code generiert diese Ausgabe:
%Vor%Verwenden Sie die Powershell-Klasse (in System.Management.Automation, aber nur in der Version der Assembly, die mit dem Powershell 2.0 SDK geliefert wird, nicht unter Windows 7). Ich kann programmgesteuert aufrufen das Cmdlet und die ausführliche Ausgabe abrufen. Der verbleibende Teil besteht darin, der Powershell-Instanz tatsächlich ein benutzerdefiniertes Cmdlet hinzuzufügen - weil das mein ursprüngliches Ziel war -, meine Cmdlets nicht mit denen zu testen, die mit Powershell ausgeliefert werden.
%Vor%$VerbosePreference
mindestens auf "Continue" gesetzt ist. cmdlet
auszuführen, und lesen Sie VerboseRecord
instances aus Streams.Verbose
propery Beispiel im Powershell-Skript:
%Vor%Dies sollte leicht in C # zu übersetzen sein.
Tags und Links c# powershell powershell-v2.0 cmdlet