Я пробовал использовать другие вопросы / ответы, такие как Сценарий Windows Server 2008 R2 PowerShell запускается вручную, но не по расписанию но безрезультатно.
В основном у меня есть скрипт PoSh (видимо, это популярное сокращение для него в настоящее время), который копирует множество больших файлов, один за раз, с одного сервера (UNC-путь) на локальный диск. Он делает это в цикле и использует Передача BITS. Примерно:
Start-BitsTransfer
источник / назначение / асинхронный / с низким приоритетомwhile
состояние этого задания Bits все еще "подключается" или "передается", Sleep
2 секунды (т. Е. Дождаться завершения)Complete-BitsTransfer
Write-Host
сообщение "завершенный файл X"Get-ChildItem
)Сценарий работает при запуске из PoSh ISE и обычной консоли PoSh.
Я пробовал использовать Sleep
, Start-Sleep
, и даже [Threading.Thread]::Sleep
, думая, что это была проблема. Затем я завернул .ps1
в .bat
и при запуске из CMD это тоже работает. Но во всех случаях задача расписания, независимо от того, вызывает ли .ps1
напрямую или обертка .bat
, не удается.
Это говорит это успешно, но что действительно происходит, так это то, что запускаются все задания передачи, они переходят в состояние «Приостановлено» (показано Get-BitsTransfer
в окне PoSh), и задача считает, что все в порядке, и завершается, оставляя эти осиротевшие задания BITS, которые я даже не могу Complete-BitsTransfer
на b / c они тоже выдают ошибку.
Другое поведение:
Выдираю здесь волосы ... Помогите!
Согласно MS, запланированная задача должна запускаться при интерактивном входе в систему.
https://msdn.microsoft.com/en-us/library/windows/desktop/ee663885(v=vs.85).aspx