запуск скрипта в планировщике заданий

Используем Powershell для работы с планировщиком заданий для создания и изменения задач

запуск скрипта в планировщике заданий. PowerShell2 dNgUPel. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-PowerShell2 dNgUPel. картинка запуск скрипта в планировщике заданий. картинка PowerShell2 dNgUPel. Навигация по посту

Навигация по посту

Работа планировщика в Powershell

Отличительной чертой работы Powershell является то, что мы должны создать каждый из объектов (результат команд) планировщика отдельно, а затем объединить их с помощью 1 команды. Сами объекты делятся на следующие:

запуск скрипта в планировщике заданий. 1. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-1. картинка запуск скрипта в планировщике заданий. картинка 1. Навигация по посту

3 и 4 пункт не является обязательными при создании задачи т.к. уже имеет настройки по умолчанию.

За создание задач в планировщике отвечает модуль ScheduledTasks, который имеет следующие команды:

запуск скрипта в планировщике заданий. 22. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-22. картинка запуск скрипта в планировщике заданий. картинка 22. Навигация по посту

Создание скрипта для тестирования

Что бы продемонстрировать работу планировщика я создам скрипт, который будет сохранять логи с журнала Windows в папку ‘logs’. Ниже находится сам скрипт:

запуск скрипта в планировщике заданий. 2 3wpf6TV. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-2 3wpf6TV. картинка запуск скрипта в планировщике заданий. картинка 2 3wpf6TV. Навигация по посту

Команды выше не должны выдавать каких либо ошибок. Ошибка может быть, например, с несуществующей папкой ‘logs’. Сам скрипт я сохранил по пути ‘C:\scheduler_task.ps1’. Его запуск не выдает каких-то ошибок:

запуск скрипта в планировщике заданий. 3. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-3. картинка запуск скрипта в планировщике заданий. картинка 3. Навигация по посту

У вас так же будет создан файл в папке ‘logs’.

Создание выполняемого действия для планировщика

Для создания ‘action’ мы должны указать программу и аргументы. В качестве программы будет сам интерпретатор ‘powershell.exe’, а аргументом будет путь до скрипта. Как говорилось раньше у нас будет несколько объектов (результат команд) и все их нужно будет объединить. Что бы это было возможным мы должны поместить результаты работы в переменные:

запуск скрипта в планировщике заданий. 4. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-4. картинка запуск скрипта в планировщике заданий. картинка 4. Навигация по посту

Мы так же можем указать параметр ‘WorkingDirectory’, который определяет откуда и будет запущена программа. Учитывая, что ‘powershell.exe’ виден через системные переменные использовать параметр ‘WorkingDirectory’ нам не требуется.

Действия выше аналогичны следующим настройкам в интерфейсе (т.е. так мы обычно добавляем скрипт Powershell в планировщик):

запуск скрипта в планировщике заданий. 28. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-28. картинка запуск скрипта в планировщике заданий. картинка 28. Навигация по посту

Следующим мы определим, когда мы будем запускать задачу. Это делается с помощью команды ‘New-ScheduledTaskTrigger’. Эта команда имеет множество параметров, которые делятся на системные события и временные.

Системные события, которые мы можем использовать, следующие:

Аргументы связанные со временем:

Большую часть команд, связанных со временем, мы можем сочетать вместе. Так, например, мы создадим триггер выполнится однажды в 13:00:

запуск скрипта в планировщике заданий. 5. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-5. картинка запуск скрипта в планировщике заданий. картинка 5. Навигация по посту

Еще несколько примеров:

Меня интересует ежедневный запуск задачи с периодичностью в 5 минут. Для ‘RepetitionInterval’, который устанавливает такие интервалы, нужно использовать дополнительную команду ‘New-TimeSpan’. В этой команде определим сам интервал:

запуск скрипта в планировщике заданий. 6. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-6. картинка запуск скрипта в планировщике заданий. картинка 6. Навигация по посту

Регистрация задачи в планировщике

Теперь, после выполнения минимальных требований в виде ‘action’ и ‘trigger’, мы должны объединить эти объекты. Это делается с помощью команды ‘Register-ScheduledTask’. Дополнительно мы можем определить название и описание создаваемого объекта:

запуск скрипта в планировщике заданий. 7. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-7. картинка запуск скрипта в планировщике заданий. картинка 7. Навигация по посту

Учитывайте, что вы можете использовать несколько триггеров и действий. Для этого вы должны перечислить их через запятую.

TaskPath указывает где была создана задача. В примере выше это произошло в корне планировщика:

запуск скрипта в планировщике заданий. 8. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-8. картинка запуск скрипта в планировщике заданий. картинка 8. Навигация по посту

Вы можете использовать аналогичный параметр для регистрации задачи в другой директории:

запуск скрипта в планировщике заданий. 9. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-9. картинка запуск скрипта в планировщике заданий. картинка 9. Навигация по посту

Способа узнать путь два:

В powershell есть еще одна команда, которая может участвовать в создании задач «New-ScheduledTask». Основное отличие такой команды в том, она не регистрирует (добавляет) задачу в сервис планировщика. Если бы мы использовали обе команды это бы выглядело так:

Запуск и получение дополнительной информации

Для запуска задачи, не зависимо от триггеров, используется команда ‘Start-ScheduledTask’:

запуск скрипта в планировщике заданий. 11. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-11. картинка запуск скрипта в планировщике заданий. картинка 11. Навигация по посту

У нас так же есть 2 команды, которые возвращают информацию о задачах.

Первая команда просто возвращает список задач, которые есть в каталогах планировщика их статус и путь:

запуск скрипта в планировщике заданий. 12. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-12. картинка запуск скрипта в планировщике заданий. картинка 12. Навигация по постуУ команды запуска и получения задач из планировщика можно использовать параметры:

Более полезная команда следующая, так как вернет немного больше информации:

запуск скрипта в планировщике заданий. 13. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-13. картинка запуск скрипта в планировщике заданий. картинка 13. Навигация по посту

Само собой все эти команды можно использовать в конвейере:

Фильтрация через Where-Object в Powershell с примерами

Изменение пользователя, параметров безопасности и уровня запуска

Создавая задачи в планировщике мы имеем блок ‘Security Options’, который чаще используется с настройками по умолчанию. В этом блоке определяются следующие параметры:

В графическом интерфейсе эти параметры настраиваются в следующем блоке:

запуск скрипта в планировщике заданий. 14. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-14. картинка запуск скрипта в планировщике заданий. картинка 14. Навигация по посту

Так же как и в случае с созданием задачи, в случае ее изменения мы создаем разные объекты (результаты команд), которые затем привязываем через команду ‘Set-SchedukedTask’.

С помощью следующих команд мы изменим пользователя, повысим права и изменим совместимость:

запуск скрипта в планировщике заданий. 15. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-15. картинка запуск скрипта в планировщике заданий. картинка 15. Навигация по посту

Если у вас будет следующая ошибка, то скорее всего она связана с неверным пользователем:

Само собой эти же объекты можно использовать при создании (регистрации) задачи в планировщике:

Учитывайте, что у New-ScheduledTaskSettingsSet около 30 возможных параметров (работа при отключенной батареи, максимальное количество перезапусков и т.д.). В примере выше рассмотрено лишь несколько.

Изменение триггеров и действий

С помощью Set-ScheduledTask так же добавляются и изменяются триггеры и действия. Изменение будут заключаться в полной замене существующих триггеров и действий у задач. Вам просто нужно создать объект по аналогии с тем, как это делалось в предыдущих разделах:

запуск скрипта в планировщике заданий. 16. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-16. картинка запуск скрипта в планировщике заданий. картинка 16. Навигация по посту

Бэкап, удаление и восстановление задач планировщика с Powershell

Удобной возможностью использования Powershell является импорт и экспорт задач планировщика. По сути вы можете создать шаблон, который можно использовать на разных компьютерах без особой работы с кодом. По умолчанию, сам Powershell, не предоставляет прямой возможности бэкапа и восстановления, но это можно сделать через другие команды.

Резервное копирование

Для бэкапа мы можем использовать команду Export-CliXml. Для этого нам нужно будет получить задачу и использовать конвейер:

запуск скрипта в планировщике заданий. 17. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-17. картинка запуск скрипта в планировщике заданий. картинка 17. Навигация по посту

Для экспорта в Powershell так же есть ‘Export-ScheduledTask’, но нет аналогичной команды импорта. Что бы импортировать такие файлы-задачи мы можем использовать только GUI. Из-за этого она не приведена в примере выше.

Удаление, отключение и включение

При удалении задачи, по умолчанию, запрашивается подтверждение. Что бы этого не было добавляется ключ ‘Confirm’:

запуск скрипта в планировщике заданий. 18. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-18. картинка запуск скрипта в планировщике заданий. картинка 18. Навигация по посту

Если требуется только отключить задачу используйте Disable:

Восстановление

На одном из сайтов я прочитал, что следующий параметр нужно изменять на «Interactive», так как без него не будет работать задача, но у меня этот параметр не изменялся при экспорте:

запуск скрипта в планировщике заданий. 20. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-20. картинка запуск скрипта в планировщике заданий. картинка 20. Навигация по посту

Далее нам нужно зарегистрировать эту задачу определяя каждый из параметров отдельно:

запуск скрипта в планировщике заданий. 21. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-21. картинка запуск скрипта в планировщике заданий. картинка 21. Навигация по посту

Как создавать команды и функции в Powershell вызывать их и передавать параметры

Анализ выполнения и завершения, а так же сравнение

Используя предыдущие команды мы можем выполнить некоторую автоматизацию. Например так мы можем увидеть результат выполненных задач:

запуск скрипта в планировщике заданий. 23. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-23. картинка запуск скрипта в планировщике заданий. картинка 23. Навигация по посту

Часть этих кодов имеет следующую расшифровку (был использован автоматический переводчик):

запуск скрипта в планировщике заданий. 24. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-24. картинка запуск скрипта в планировщике заданий. картинка 24. Навигация по посту

Далее вы можете создать скрипт для поиска сбойных задач. Например меня интересует только задачи со сбоями, а не успешно работающие. Так как я не знаю всех кодов, мне нужно будет исключить только коды успешного выполнения:

запуск скрипта в планировщике заданий. 25. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-25. картинка запуск скрипта в планировщике заданий. картинка 25. Навигация по посту

Такой же подход можно использовать при поиске странных сервисов-программ. Например у нас есть эталонный компьютер/сервер и на нем созданы все нужные задачи. Всех их мы помещаем в один объект, а затем сравниваем с другими экземплярами:

запуск скрипта в планировщике заданий. 26. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-26. картинка запуск скрипта в планировщике заданий. картинка 26. Навигация по посту

Далее, через разные средства, мы можем сравнить этот список на других компьютерах:

Источник

Запуск PowerShell скрипта в Планировщике заданий

запуск скрипта в планировщике заданий. me2. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-me2. картинка запуск скрипта в планировщике заданий. картинка me2. Навигация по посту

запуск скрипта в планировщике заданий. code. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-code. картинка запуск скрипта в планировщике заданий. картинка code. Навигация по посту

Системному администратору часто приходится писать разные скрипты и настраивать их запуск по расписанию в Планировщике заданий (Task Scheduler). Простой пример ниже.

Написал небольшой скрипт и сохранил по адресу:

Я хочу, чтобы этот скрипт запускался каждые 10 минут. Время работы скрипта — не более 60 секунд.

Открываю Планировщик заданий. Создаю попку, в которой будет находиться расписание, называю её IIS.

запуск скрипта в планировщике заданий. powershell scheduler 1. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 1. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 1. Навигация по посту

Нажимаю Create Task.

запуск скрипта в планировщике заданий. powershell scheduler 2. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 2. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 2. Навигация по посту

В первой вкладке General указываю:

запуск скрипта в планировщике заданий. powershell scheduler 3. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 3. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 3. Навигация по посту

Перехож на вкладку Triggers. Здесь нужно создать триггер для расписания. New.

запуск скрипта в планировщике заданий. powershell scheduler 4. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 4. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 4. Навигация по посту

В настройках триггера:

запуск скрипта в планировщике заданий. powershell scheduler 5. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 5. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 5. Навигация по посту

запуск скрипта в планировщике заданий. powershell scheduler 6. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 6. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 6. Навигация по посту

Перехожу на вкладку Actions. Здесь нужно указать скрипт для выполнения. New.

запуск скрипта в планировщике заданий. powershell scheduler 7. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 7. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 7. Навигация по посту

запуск скрипта в планировщике заданий. powershell scheduler 8. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 8. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 8. Навигация по посту

Путь к выполняемому скрипту указан.

запуск скрипта в планировщике заданий. powershell scheduler 9. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 9. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 9. Навигация по посту

Перехожу на вкладку Conditions. Здесь определяются условия для запуска. Устанавливаю одну галку, просто на всякий случай:

запуск скрипта в планировщике заданий. powershell scheduler 10. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 10. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 10. Навигация по посту

Перехожу на вкладку Settings. Здесь есть ряд полезных настроек. Ставлю галки:

запуск скрипта в планировщике заданий. powershell scheduler 11. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 11. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 11. Навигация по посту

Указываю пароль локального администратора. OK.

запуск скрипта в планировщике заданий. powershell scheduler 12. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell scheduler 12. картинка запуск скрипта в планировщике заданий. картинка powershell scheduler 12. Навигация по посту

Теперь скрипт будет запускаться по расписанию. В разделе History можно отслеживать результат выполнения.

Источник

Запуск PowerShell скриптов по расписанию

В задачи практически любого системного администратора входит написание различных скриптов и их запуск. Запланировать запуск скрипта по расписанию с помощью Task Sheduler — задача несложная, но при использовании PowerShell есть некоторые нюансы, о которых я расскажу в этой статье.

Итак, предположим, у меня есть скрипт start.ps1, который мне необходимо запускать ежедневно в течении 10 дней. Есть два способа решить эту задачу.

Способ 1

Для запуска скрипта воспользуемся оснасткой Task Scheduler, он же планировщик заданий. Найти его можно в разделе Administrative Tools, либо нажав Win+R и введя команду taskschd.msc. Открываем планировщик и в разделе Actions выбираем пункт Create Task.

запуск скрипта в планировщике заданий. pschedul1. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-pschedul1. картинка запуск скрипта в планировщике заданий. картинка pschedul1. Навигация по посту

На вкладке General указываем имя и описание задания, а также (по необходимости) пользователя, от имени которого задание будет запускаться. Для того, чтобы задание выполнялось вне зависимости от того, залогинен ли пользователь в системе, выбираем опцию «Run whether user is logged on or not». Если для выполнения задания требуется повышение привилегий, то отмечаем опцию «Run with highest privileges».

запуск скрипта в планировщике заданий. pschedul2. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-pschedul2. картинка запуск скрипта в планировщике заданий. картинка pschedul2. Навигация по посту

Далее идем на вкладку Triggers и создаем новый триггер, в котором будет храниться расписание запуска нашего задания. В поле Start указываем дату и время запуска, а в поле Expire — дату и время завершения задания. Указываем выполнять задание ежедневно (Daily) и задаем период повтора (Recur every) 1 день.

Примечание. Если вы хотите запускать задание чаще, чем раз в день, то надо выбрать одноразовое выполнение (One time), а в разделе Advanced settings отметить пункт Repeat task every и указать время повторения, минимум 5 минут, максимум 1 час. Если этого недостаточно, то дополнительно в поле Delay task for up to можно указать временную задержку.

запуск скрипта в планировщике заданий. pschedul3. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-pschedul3. картинка запуск скрипта в планировщике заданий. картинка pschedul3. Навигация по посту

Также в поле аргументы можно указать:

запуск скрипта в планировщике заданий. pschedul4. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-pschedul4. картинка запуск скрипта в планировщике заданий. картинка pschedul4. Навигация по посту

Заполнив необходимые поля жмем ОК и сохраняем задание. Теперь скрипт будет запускаться по расписанию ежедневно в заданное время в течении 10 дней.

Способ 2

В PowerShell 3.0 появился новый функционал Sheduled Job, дающий возможность создавать запланированные задания прямо из консоли, не пользуясь оснасткой планировщика. Воспользуемся им для планового запуска нашего скрипта.

Сначала создаем расписание запуска (ежедневно в полпятого вечера, в течении 10 дней):

Затем сохраняем в переменной учетные данные:

$cred = Get-Credential contoso\administrator

В качестве опции указываем запуск задания с повышенными привилегиями:

И регистрируем задание с именем Start:

запуск скрипта в планировщике заданий. pschedul5. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-pschedul5. картинка запуск скрипта в планировщике заданий. картинка pschedul5. Навигация по посту

Чтобы убедится в том, что задание создано, можно открыть планировщик и найти наше задание в разделе Microsoft\Windows\PowerShell\SheduledJobs.

запуск скрипта в планировщике заданий. pschedul6. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-pschedul6. картинка запуск скрипта в планировщике заданий. картинка pschedul6. Навигация по посту

Примечание. Для каждого запланированного задания PowerShell в директории %systemdrive%\Users\%username%\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs создается одноименная папка. В этой папке находится само задание в XML-файле и папка Output, в которой, в подпапках по времени выполнения, хранится история выполнения задания — результат выполнения (файлs Result.xml) и статус задания (Status.xml). Эти файлы могут пригодиться для отладки и диагностики в том случае, если задание не отрабатывает должным образом.

Execution Policy

• Restricted — блокируется выполнение любых скриптов. Значение по умолчанию;
• AllSigned — разрешено выполнение скриптов, имеющих цифровую подпись;
• RemoteSigned — скрипты, подготовленные на локальном компьютере, можно запускать без ограничений, скрипты, загруженные из Интернета — только при наличии цифровой подписи;
• Unrestricted — разрешено выполнение любых скриптов. При запуске неподписанного скрипта, который был загружен из Интернета, программа может потребовать подтверждение;
• Bypass — ничего не блокируется, никакие предупреждения и запросы не появляются.

Примечание. Если указанная в команде политика выполнения противоречит групповой политике, то параметр запишется в реестр, но действовать не будет.

Источник

Создание и управление заданиями планировщика из PowerShell

Большинство пользователей и администраторов привыкли использовать графический интерфейс консоли Taskschd.msc для создания заданий планировщика Windows (Task Scheduler), запускаемых по расписанию. Однако в различных скриптах и автоматизируемых задачах для создания заданий планировщика гораздо удобнее использовать возможности PowerShell. В этой статье мы покажем, как создавать и управлять заданиями планировщика Windows из PowerShell.

Управление заданиями Task Scheduler с помощью PowerShell

В Windows 10/Windows Server 2016 для управления задачами в планировщике используется PowerShell модуль ScheduledTasks. Список командлетов в модуле можно вывести так:

запуск скрипта в планировщике заданий. powershell komandlety iz modulya scheduledtasks. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-powershell komandlety iz modulya scheduledtasks. картинка запуск скрипта в планировщике заданий. картинка powershell komandlety iz modulya scheduledtasks. Навигация по посту

Как создать задание планировщика с помощью PowerShell?

В современных версиях PowerShell (начиная с PowerShell 3.0 в Windows Server 2012/Windows 8) для создания заданию планировщика нужно использовать командлеты New-ScheduledTaskTrigger и Register-ScheduledTask.

Предположим, наша задача создать задание планировщика, которое должно запускаться при загрузке компьютера (или в определенное время) и выполнять какой-то PowerShell скрипт. Создадим задание планировщика с именем StartupScript_PS. Данное задание должно каждый день в 10:00 запускать PowerShell скрипт, хранящийся в файле C:\PS\StartupScript.ps1 из-под учетной записи системы (SYSTEM). Задание будет выполняться с повышенными привилегиями (галка “Run with highest privileges”).

Если задание успешно создано, появится надпись Ready.

запуск скрипта в планировщике заданий. sozdat zadanie planirovshika s pomoshyu register sc. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-sozdat zadanie planirovshika s pomoshyu register sc. картинка запуск скрипта в планировщике заданий. картинка sozdat zadanie planirovshika s pomoshyu register sc. Навигация по посту

Теперь ваш PowerShell скрипт будет запускаться по указанному расписанию. Если на вашем компьютере настроена PowerShell Execution Policy, блокирующая запуск скриптов PS1, вы можете запустить скрипт их планировщика с параметром –Bypass.

Используйте такую строку при создании нового задания:

Откройте консоль Taskschd.msc и проверьте, что проверьте, что в Task Scheduler Library появилось новое задание планировщика.

запуск скрипта в планировщике заданий. konsol task scheduler s novym zadaniem planirovshi. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-konsol task scheduler s novym zadaniem planirovshi. картинка запуск скрипта в планировщике заданий. картинка konsol task scheduler s novym zadaniem planirovshi. Навигация по посту

Получение информации и запуск заданий планировщика из PowerShell

Вы можете вывести список всех активных заданий планировщика в Windows с помощью команды:

Чтобы получить информацию о конкретном задании:

Get-ScheduledTask CheckServiceState_PS| Get-ScheduledTaskInfo

запуск скрипта в планировщике заданий. informaciya o zapuske zadaniya get scheduledtaskinfo. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-informaciya o zapuske zadaniya get scheduledtaskinfo. картинка запуск скрипта в планировщике заданий. картинка informaciya o zapuske zadaniya get scheduledtaskinfo. Навигация по посту

Вы можете отключить это задание:

Get-ScheduledTask CheckServiceState_PS | Disable-ScheduledTask

Чтобы включить задание:

Get-ScheduledTask CheckServiceState_PS | Enable-ScheduledTask

Чтобы запустить задание немедленно (не дожидаясь расписания), выполните:

запуск скрипта в планировщике заданий. otklyuchit vklyuchit zapustit zadanie planirovshika. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-otklyuchit vklyuchit zapustit zadanie planirovshika. картинка запуск скрипта в планировщике заданий. картинка otklyuchit vklyuchit zapustit zadanie planirovshika. Навигация по посту

Чтобы полностью удалить задание из Task Scheduler:

Если нужно изменить имя пользователя, из-под которого запускается задание и, например, режим совместимости, используйте командлет Set-ScheduledTask:

запуск скрипта в планировщике заданий. set scheduledtask no mapping between account nam. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-set scheduledtask no mapping between account nam. картинка запуск скрипта в планировщике заданий. картинка set scheduledtask no mapping between account nam. Навигация по посту

Экспорт и импорт заданий планировщика в XML файл

С помощью PowerShell можно экспортировать любое задания планировщика в текстовый XML файл для распространения на другие компьютеры. Вы можете экспортировать задание из графического интерфейса Task Scheduler или из консоли PowerShell.

Следующая команда экспортирует задание StartupScript_PS в файл StartupScript_PS.xml:

Export-ScheduledTask «StartupScript_PS» | out-file c:\temp\StartupScript_PS.xml

запуск скрипта в планировщике заданий. export scheduledtask import zadaniya planirovshika. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-export scheduledtask import zadaniya planirovshika. картинка запуск скрипта в планировщике заданий. картинка export scheduledtask import zadaniya planirovshika. Навигация по посту

schtasks /query /tn «NewPsTask» /xml >> «c:\ps\NewPsTask.xml»

После того, как настройки задания планировщика экспортированы в XML файл, его можно импортировать на любой другой компьютер с помощи графической консоли, SchTasks.exe или PowerShell.

Воспользуйте командлетом PowerShell Register-ScheduledTask чтобы параметры задания из файла и зарегистрировать его:

schtasks /create /tn «NewPsTask» /xml «\\Server1\public\NewPsTask.xml » /ru corp\aaivanov /rp Pa$$w0rd
schtasks /Run /TN «NewPsTask»

Обратите внимание, что в этом примере указаны данные учетной записи, из-под которой будет запускаться задание. Если имя и пароль учетной записи не указаны, то т.к. они не хранятся в задании, они будут запрошены при импорте.

Источник

Вадим Стеркин

запуск скрипта в планировщике заданий. run as system01. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-run as system01. картинка запуск скрипта в планировщике заданий. картинка run as system01. Навигация по посту

Очевидно, в его организации с проблемой сталкиваются регулярно, а для анализа приходится выключать ОС 😉

Сегодня я покажу способ, позволяющий решать такие задачи, не прекращая работу Windows. В качестве примера я решу проблему читателя двумя способами — с помощью diskusage и PowerShell. Причем подход вполне актуален для diskusage, поскольку утилита на данный момент не видит содержимое папок, на которые у администратора нет прав.

Вы можете применять этот способ для любых задач! Объем файлов в папке — просто пример.

И да, все составляющие сегодняшнего рассказа – это компиляция ранее опубликованных в блоге решений.

[+] Сегодня в программе

Сторонние средства: psexec

запуск скрипта в планировщике заданий. run as system02. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-run as system02. картинка запуск скрипта в планировщике заданий. картинка run as system02. Навигация по посту

Вообще-то, в статье про diskusage я изначально ссылался на способ с psexec, позволяющий интерактивно запускать приложения от имени системы. Другими словами, с помощью утилиты можно было запустить командную строку или PowerShell от имени SYSTEM…

…и узнать, что для доступа в папку нужны права SYSTEM 🙂

запуск скрипта в планировщике заданий. run as system03. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-run as system03. картинка запуск скрипта в планировщике заданий. картинка run as system03. Навигация по посту

Дальше можно просто выполнять необходимые команды.

Системные средства: планировщик заданий

Допустим, что стороннее ПО, даже с подписью Microsoft из набора sysinternals, строго запрещено службой безопасности и/или блокируется политиками. Однако с правами администратора можно создавать и выполнять задания в планировщике для запуска команд и скриптов.

Например, я показывал в блоге автоматическое выполнение задач на восходе и закате солнца. Там ключевую роль играло запланированное задание, которое запускается от имени системы. Здесь тот же подход.

Шаг 1 — Создайте простое задание на разовый запуск программы

В качестве действия укажите:

В нашем примере diskusage запускается с желаемыми ключами командной строки и записывает результат в файл. Пример параметров для планировщика.

За неимением утилиты используем PowerShell — считаем и складываем размер всех файлов во всех папках (конечно, я не рекомендую применять этот подход ко всему диску :).

Шаг 2 — Настройте задание на запуск от имени системы

На вкладке Общие нажмите Изменить и введите SYSTEM или СИСТЕМА в зависимости от локализации.

запуск скрипта в планировщике заданий. run as system04. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-run as system04. картинка запуск скрипта в планировщике заданий. картинка run as system04. Навигация по посту

Автоматизацию создания таких запланированных задач я разбирал с помощью schtasks и PowerShell. Остается запустить задание и открыть созданный файл. Все просто!

В отличие от psexec, из планировщика не работает интерактивный запуск приложений. Например, редактор реестра запустится, но взаимодействовать вы с ним не сможете. Однако выполнение команд и скриптов с правами системы отлично работает.

Заключение

Я всегда ощущаю некоторую неловкость, когда пишу для блога или канала Telegram материал, не содержащий ничего нового [относительно моих предыдущих публикаций]. Но я понимаю, что не все читали старые записи, равно как из поисковиков приходит множество людей по конкретным запросам. Поэтому какая-то польза от этого должна быть.

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

Об авторе

Вас также может заинтересовать:

Я в Telegram

Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.

комментариев 8

Залогинился, чтобы написать, что размер папки CSC надо смотреть через DISM. Пока логинился, вспомнил, что CSC и SXS это всё-таки разные вещи. Но названия так похожи.

Размер sxs я смотрел в предыдущей статье. Я конечно люблю его смотреть, но не настолько :))

Ладно, раз никто больше не комментирует, напишу ещё про драйверы. В той статье комментарии уже закрыты, поэтому напишу тут.

Кто-то там хотел узнать, какой драйвер используется устройствами в настоящий момент. Действительно, Get-PnPDevice этого не показывает, и это выглядит как досадное недоразуменее. Но на самом деле показывает другой коммандлет:

Собственно, если бы я решал такую же задачу, как ты в том посте, то я бы построил логику именно на этой информации. Т.е. получить список всех драйверов в системе (через Get-WindowsDriver), из них отбросить те, которые используются существующими устройствами (через Get-PnpDeviceProperty), а оставшиеся удалить.

Спасибо, не знал. Так, конечно, более конкретная выборка. Но думаю, что предположение «используется драйвер с самой новой датой» тоже ок.

запуск скрипта в планировщике заданий. photo. запуск скрипта в планировщике заданий фото. запуск скрипта в планировщике заданий-photo. картинка запуск скрипта в планировщике заданий. картинка photo. Навигация по постуStanislav Vershinin

Спасибо за статью.
Действительно psexec внесен в черный список, и запуск его не возможен.
Планировщик, затратен по времени приготовления. Но, я нашел программу PowerRun, которая может запускать процессы от имени SYSTEM и даже TrustedInstaller.

запуск, работает идеально.

Stanislav Vershinin: Действительно psexec внесен в черный список
…Но, я нашел программу PowerRun

Которую нормальный отдел ИБ вычислит после первого запуска и внесет в черный список 🙂 Но я добавлю в статью Как получить доступ к разделу реестра и вернуть все на свои места, там коллекция…

Stanislav Vershinin: Планировщик, затратен по времени приготовления

В смысле в GUI? А одна команда в консоли это тоже затратно? Да, ее нет в статье, и PowerShell выглядит сложно, но schtasks никто не отменял и примеры есть в блоге.

Как всегда забыли про олдскульную коммандную строку безо всяких пауэршеллов.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *