Windows Server 2012에서 Powershell 스크립트 파일을 예약된 작업으로 실행하려고 합니다. 스크립트는 xml 필터를 사용하여 이벤트 뷰어에서 이벤트를 선택하고 이를 텍스트 파일에 저장합니다. 스크립트 파일 이름은 Sugar2SvcNowLog.ps1이며 다음 텍스트를 포함합니다.
Get-WinEvent -FilterXml ([xml] (Get-Content "Desktop\Sugar2SvcNow.xml")) | format-table ProviderName, TimeCreated, Id, LevelDisplayName, message -wrap -autosize | Out-File -FilePath "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog $(get-date -f yyyy-MM-dd_HHmmss).txt"
이 스크립트는 다음과 같이 Windows 명령 프롬프트에서 실행할 때 의도한 대로 정확하게 텍스트 파일을 생성합니다.
powershell -file "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog.ps1"
"powershell"
그런 다음 실행할 프로그램이 다음과 같이 설정되고 인수가 다음과 같은 작업 스케줄러 작업을 설정했습니다.
-file "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog.ps1"
작업이 실행되면 상태가 "작업이 성공적으로 완료되었습니다"로 표시됩니다. 단, 텍스트 파일은 생성되지 않습니다. 파일이 생성되지 않은 경우 어떻게 작업을 성공적으로 완료할 수 있습니까? 무엇을 다르게 해야 합니까?
답변1
귀하의 스크립트는 Desktop
.
그러나 작업 스케줄러에서 실행하면 사용자 로그인도 없고 데스크탑도 없습니다.
Sugar2SvcNow.xml
파일을 폴더에 넣고 스크립트에 전체 경로를 제공하는 것이 좋습니다 .