2010-03-04 5 views
3

PowerShell v1.0을 사용하고 있습니다 (2.0을 사용할 수없는 경우) 경고 스트림에 프로그래밍 방식으로 cmdlet 출력을 캡처하는 데 문제가 있습니다.v1.0에서 프로그래밍 방식으로 PowerShell cmdlet의 경고 출력을 얻으려면 어떻게해야합니까?

는 파워 쉘 2.0은 쉽게 :

var powerShell = PowerShell.Create(); 
powerShell.AddCommand(someCommand); 
powerShell.Invoke(); 

foreach (var warning in powerShell.Streams.Warning) { ... } 

을하지만, System.Management.Automation.PowerShell 클래스는 PowerShell을 버전 1에 존재하지 않고, 존재하지 클래스는 액세스 권한을 부여하지 않는 것 경고 스트림. 또한 경고 스트림 정보는 cmdlet의 표준 출력에 저장되지 않습니다.

감사합니다. Sam

답변

4

항상 호스트 인터페이스 (custom host)를 구현할 수 있으며 경고 메시지가 직접 사용자에게 전송됩니다. 그것은 칩 샷이 아니지만 V1.0에서 생각할 수있는 유일한 것입니다.

+0

감사합니다. 좋은 해결책입니다. 사용자 지정 호스트와 사용자 인터페이스를 사용하여 PSHostUserInterface에서 WriteWarningLine (메시지)이 호출 될 때 경고를 기록 할 수 있습니다. – Sam

관련 문제