Может ли запланированное задание Windows обновить само себя и как мне это сделать? Я использую Windows Server 2008. Я видел несколько скриптов Powershell, которые создают задачи из xml; это будет правильный подход?
2 ответа
Вы пытаетесь изменить само задание, например, изменить триггер? Если это так, взгляните на
SCHTASKS /CHANGE /?
Если ваша задача выполняет какой-то сценарий, вы можете включить в нее вызов этой команды. Однако для этого необходимо, чтобы пароль рабочей учетной записи (/RP) предоставлялся в интерактивном режиме, если вы не используете учетную запись системной, локальной или сетевой службы. Опасная техника, которую вы можете использовать, - это вызывать и перенаправлять ввод в файл, хранящий пароль, например:
SCHTASKS /CHANGE /TN YOR_TASK_NAME /RU RUN_USER < FILE_WITH_CLEARTEXT_PASSWORD
Итак, если ваша задача может нормально работать с сетевой службой или учетной записью локальной службы, используйте их. Некоторые люди могут опасаться использовать учетную запись SYSTEM, но опять же, сохранение пароля в открытом текстовом файле кажется худшим вариантом.
Ты имеешь ввиду обновить команду, которую она запускает? Я так полагаю. Подвести итоги:
Вы планируете сценарий (мне нравится powershell), который делает то, что вам действительно нужно, но также проверяет наличие новых версий в каком-то центральном месте, и, если он новее, он копирует его туда, где запланированная задача выглядит для запуска сценария. ИЛИ он может повторно импортировать запланированную задачу xml из другого места, в любом случае, если вы захотите написать ее.