У меня есть веб-приложение, которое работает на Windows Server 2008 R2, в котором есть большое количество запланированных задач, которые позаботятся обо всех вещах бэкэнда. Когда я делаю развертывание программного обеспечения, которое касается базы данных, мне нужно отключить все запланированные задачи. В настоящее время у меня есть длинный контрольный список, который мне нужно пройти вручную, отключая каждую запланированную задачу по ходу дела - это, безусловно, работа для автоматизации с Powershell.
К сожалению, документация Powershell, кажется, довольно нелицеприятна о том, как отключить существующее запланированное задание (и, конечно же, повторно включить его после успешного завершения выпуска). Я могу получить список готовых, запущенных или отключенных задач, но что дальше?
источник
at.exe
. (Пример:)AT 09:00 /every:SUNDAY shutdown.exe /r /f /d p:4:1 /c "Reboot via SchTask (AT Job)"
. Вы получите ошибку 0x80041327; Задача имеет свойства, которые не совместимы с предыдущими версиями WindowsЕсли вы просто пытаетесь остановить ВСЕ задачи, может быть проще просто остановить службу планировщика задач. Модуль ScheduledTasks недоступен до Windows Server 2012, поэтому управление задачами не так просто, как остановка и запуск службы:
Если это не сработает, вы можете использовать schtasks.exe из PowerShell для управления отдельными задачами:
источник
Это то, что вы ищете (Disable-ScheduledTask) ?
источник
Еще лучший способ, когда вам не нужно указывать имена задач:
источник
Это потрясающе! Он работает лучше, чем Get-ScheduledTask, так как я нахожусь в смешанной среде 2008/2012. Я добавил несколько строк для запроса AD и вызова этой команды для группы компьютеров. Моей целью было отключить задачу «Диспетчер серверов» при каждом входе пользователя в систему. Presto! все ушли!
источник
Посмотрите на эту функцию
Например, вы можете отключить все задачи в папке "\ mysql", вызвав
Control-Tasks -FolderPath "\mysql" -Disable -Recursive
Фрагменты этого кода приведены в разделе Как отключить / включить запланированное задание в пакетном режиме с помощью PowerShell , вы можете загрузить полный образец архива там.
источник
это сработало для меня
источник