Użycie C # do wykonania skryptu PowerShell z argumentami wiersza poleceń przy użyciu metod V2

Piszę aplikację C #, która będzie musiała wykonywać skrypty Powershell z argumentami wiersza poleceń i pobierać dane wyjściowe (inaczej to, co spodziewałbym się zobaczyć w oknie wyjściowym PowerShell ISE - w tym informacje o wyjątkach)

Znalazłem wiele przykładów kodu, jak wykonać to zadanie za pomocą obiektów PowerShell V1. Przykłady te tworzą obszary robocze, potoki itp. (NpWykonaj skrypt PowerShell z C # za pomocą argumentów wiersza poleceń)

Widziałem kilka skąpych odniesień do innego sposobu, aby to zrobić za pomocą PowerShell V2. (najlepsza odpowiedź tutaj:Przechwytywanie wyjścia Powershell w C # po rzutach Pipeline.Invoke) Używanie V2 wydaje siędużo prostsze. Nie błądzisz z obszarami roboczymi, pplinami ani żadnymi innymi. Coś takiego:

PowerShell powerShell = PowerShell.Create();

powerShell.AddScript(script);
var results = powerShell.Invoke();

Czy istnieją dobre przykłady wykorzystania obiektów PowerShell V2 do wykonywania skryptów z poziomu kodu C #? Czy istnieje jakakolwiek znana dobra dokumentacja obiektów PowerShell V2 (lub nawet V3) i najlepszych praktyk dotyczących ich używania? Oficjalne dokumenty Microsoftu, jak powinno być? Dobra książka lub witryna, która rozkłada kawałek System.Management.Automation po kawałku?

questionAnswers(1)

yourAnswerToTheQuestion