2014-02-12 2 views
1

Control-M에서 Powershell 스크립트를 실행할 때 추적 출력을 캡처하려고 할 때 문제/버그가 발생했습니다.Powershell 추적 및 제어 -M

출력 파일에는 start-trace 및 stop-trace 명령의 머리글과 바닥 글이 표시되지만 캡처하려고하는 다른 내용은 표시되지 않습니다. 특히, 내 스크립트가 어딘가에서 write-host 명령을 실행하면 해당 정보는 출력 (추적) 파일에 캡처되지 않습니다. 제어-M을 통해 스크립트를 실행할 때 다음

start-transcript -path "C:\Powershell\transcript.log" 
write-host "test message" 
#do stuff... 
stop-transcript 

내 전류 출력의 예입니다 : 여기

내 문제 illustraes 슈퍼 간단한 스크립트입니다

********************** 
Windows PowerShell Transcript Start 
Start time: 20140212002005 
Username : mydomain\SYSTEM 
Machine : myserver (Microsoft Windows NT 6.1.7601 Service Pack 1) 
********************** 
********************** 
Windows PowerShell Transcript End 
End time: 20140212002008 
********************** 

주 내 테스트 메시지가 표시되지 않습니다! 이것은 Control-M을 통해 스크립트를 실행할 때만 발생합니다. 스크립트를 수동으로 실행하면 내 "테스트 메시지"가 스크립트 출력에 표시됩니다.

첫 번째 의심은 파일 사용 권한 이었지만 내게 좋았습니다. Control-M 에이전트는 시스템 레벨 액세스를 사용하므로 어쨌든 필요한 모든 권한을 가져야합니다. 파일 사용 권한 문제라면 머리글/바닥 글 메시지를받을 수 있다고 생각하지 않습니다.

나는 PS v2.0을 사용 중입니다. 내 서버가 2008r2를 실행 중입니다.

감사 어떤 생각 ...

+0

[시작 대본 로그 파일에 모든 출력을 캡처하지 ..?]의 중복 가능성 (http://stackoverflow.com/questions/13160759/start-transcript-not-capturing- all-output-to-log-file) – alroc

답변

1

Write-Host는 제어-M에 의해 "감시"하고 있어요되지 않은 어떤 콘솔 창에 기록합니다. 대신 Write-Output을 시도하십시오. Write-Host은 보통 이 아니며 출력을 생성하고자하는 대상이 아닙니다.

http://windowsitpro.com/blog/what-do-not-do-powershell-part-1http://powershell.com/cs/blogs/donjones/archive/2012/04/06/2012-scripting-games-commentary-stop-using-write-host.aspx를 참조

+0

쓰기 출력을 사용하면 동일한 사본 파일에 쓸 수 없습니다. 스크립트의 큰 이점 중 하나는 Control-M 외부에서 스크립트를 실행할 때 알 수 있듯이 모든 출력을 캡처한다는 것입니다. 프로그래밍 가능한 사용 가능한 출력을 작성하기 위해 쓰기 호스트를 사용하지 않습니다. 이것은 스크립트를 모니터해야하는 모든 사람들을위한 정보입니다 (디버깅, 기타). – Allen

+0

[이 대답] (http://stackoverflow.com/a/13160914/1324345) – alroc

+0

감사합니다 alroc ... 위의 링크를 참조하여, 쓰기 - 자세한 기술을 시도했다. 하지만 불행히도 나는 같은 문제가 있습니다. Control-M은 로깅과 추적이 본질적으로 비 기능적이라는 점에서 Powershell에 어떤 영향을주는 것으로 보입니다. – Allen