2013-05-06 3 views
0

나는 Exchange받은 편지함에서 모든 메일을 읽고 모든 종류의 출력 (.txt 파일, 폴더 등)을 쓰는 스크립트를 작성했습니다. 내가 powershell ISE에서 실행할 때 모든 것이 잘 작동하고있다. 문제는 내가 박쥐 (powershell.exe C : \ script.ps1)를 만들고 TaskManager에서 배트를 계획 할 때 시작됩니다. 모든 폴더가 생성되고 출력 파일이 만들어 지지만 비어 있습니다. 나는 이런 식으로 뭔가를 (위에서 볼)하고있어Powershell - 작업 관리자 - 권한?

## Global ### 
$body = '' 
$dateReceived = '' 
$attachCont = '' 

Function check() { 
    DoSomething 
    $Global:body = $mail.body.text 
} 

Function Write() { 
    $body >> 'file.txt' 
} 

.. 일반적으로, 글로벌 변수의 내용은 파일로 전환,하지만 지금은 그렇지 않습니다. 'File.txt'는 만들어졌지만 비어 있습니다. 내가 파일을 쓰는 것 위에 'Write-Host $ body'를 할 때 나는 아무 것도 볼 수 없다. 따라서 전역 변수에는 문제가 있습니다 (제 생각에?). 참고 : ISE에서 실행할 때 내용이 쓰여집니다. 작업 관리자에서 작업을 시작할 때 내용이 쓰여지지 않습니다.

권한 문제입니까/아니면 전역 변수 문제입니까?

답변

0

알 수 있습니다. 전역 변수를 먼저 정의하지 않으면 매력처럼 작동합니다.