Назад | Перейти на главную страницу

Ошибки сценария PowerShell в запланированной задаче

Я запускаю два сценария PowerShell как запланированные задачи на нескольких серверах. Один сценарий (№1) перемещает папки из одного приложения в другую папку (корзину), другой сценарий (№2) перезапускает службы.

Сценарий №1 перемещает папки, копируя их в целевой путь, а затем удаляя папку в исходном пути. Сценарий работает при запуске вручную в консоли PowerShell, но когда он запускается как запланированная задача, он не копирует папки в целевой путь, но удаляет папку в исходном пути.

Сценарий № 2 перезапускает MySQL и IIS на двух серверах, но обычно не может перезапустить MSSQL на третьем сервере. Когда я проверяю историю запланированных задач, сценарий запускается в течение 30 минут, прежде чем он будет принудительно остановлен планировщиком. Он перезапускает один экземпляр MSSQL, поэтому это займет не более нескольких минут.

Оба сценария выполняются с наивысшими привилегиями с -ExecutionPolicy Bypass, а для папки Start In задан путь их установки. Я получаю ошибку (2) для операционного кода в истории. Это сообщение о том, что файл не найден. Каждый сценарий использует XML-файл для настроек.

Есть ли у кого-нибудь идеи, что мне может не хватать для запуска сценария без присмотра?

Спасибо.

С какими учетными данными выполняется запланированная задача? Системные и другие локальные учетные записи будут работать только в локальной системе. Если сценарий обращается к другим компьютерам в сети, задача должна выполняться с учетной записью домена, у которой есть достаточные права на другие сетевые ресурсы.

В первой / последней строке каждого скрипта добавьте следующее:

start-transcript c:\temp\something.log
stop-transcript

Таким образом вы сможете узнать, какие ошибки возникли во время выполнения скрипта.

Перед удалением источника проверьте успешность копирования. Если копирование выполняется с помощью cmd, например, copy-item смотреть на $?. Если это EXE как robocopy смотреть на $lastExitCode.