Я пытаюсь запустить файл сценария Powershell как запланированную задачу в Windows Server 2012. Скрипт выбирает события в Event Viewer с помощью 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
в какую-нибудь папку и указать полный путь к нему в скрипте.