Как запланировать сценарий powershell для автоматизации процесса wack через планировщик Windows?

Я могу выполнить приведенную ниже команду из подсказки PowerShell и командной строки, но я не могу запланировать ее с помощью планировщика Windows.

код скрипта powershell:

appcert.exe test -apptype metrostyle -packagefullname abc_somename -reportoutputpath C:\result.xml

appcert.exe — это исполняемый файл, предоставленный Microsoft для выполнения сертификационного теста в моем приложении Windows 8. Я сделал следующее:

  1. Я делаю файл ABC.ps1 с кодом:

    appcert.exe test -apptype metrostyle -packagefullname abc_somename -reportoutputpath C:\result.xml
    
  2. Я создаю пакетный файл PQR.bat с этим кодом:

    powershell -command "& 'PathOfABC\ABC.ps1' "
    
  3. Я планирую это через планировщик Windows.

При создании задачи на вкладке действий я выбираю следующие детали:

  • Действие: Запустить программу

  • Программа/скрипт: Путь к пакетному файлу

  • Начало: Путь к папке, содержащей командный файл.

И я планирую запускать его каждые 15 минут. Задача выполнена, но я не вижу result.xml на диске C. Можете ли вы указать мне, как я могу запланировать выполнение этого пакетного файла каждые 15 минут?


person Pras    schedule 22.04.2013    source источник


Ответы (1)


Используйте powershell -File "C:\path\to\ABC.ps1" для запуска скриптов powershell. Или поместите команду appcert.exe непосредственно в пакетный скрипт. Запуск пакетного сценария для запуска сценария PowerShell для запуска исполняемого файла бессмысленен.

Предположим, что appcert.exe создает C:\result.xml при запуске скрипта вручную:

  • Вы установили политику выполнения как минимум RemoteSigned?
  • Имеет ли пользователь, выполняющий задачу, привилегию Log on as batch job?
  • Настроено ли запланированное задание для запуска с наивысшими привилегиями (при условии, что контроль учетных записей включен)?

Вы пытались добавить в скрипт какой-нибудь отладочный код, например.

appcert.exe test ... >"%USERPROFILE%\appcert.log" 2>&1
exit /b %errorlevel%

Создается ли appcert.log при попытке запустить задачу? Что это говорит?

person Ansgar Wiechers    schedule 22.04.2013