Войти

Показать полную графическую версию : [решено] Запуск уже созданной задачи в планировщике


Anton04
07-11-2023, 11:41
Здравствуйте, коллеги.

Не могу найти аналог команды Start-ScheduledTask (https://learn.microsoft.com/en-us/powershell/module/scheduledtasks/start-scheduledtask?view=windowsserver2019-ps) (для запуска уже созданной задачи из планировщика задач) для PowerShell 5.1 (целевая система Windows 7/2008R2).
Или может есть какое дополнение которое можно доустановить?

P.S. Попытался установить PowerShell Core 7.2.16 LTS, но там тоже нет такой команды.

DJ Mogarych
07-11-2023, 12:19
В PS 5.1 есть команда Start-ScheduledTask, зачем какой-то аналог?

А, может, её нет именно в старых системах?


schtasks /run /?

Anton04
07-11-2023, 13:40
А, может, её нет именно в старых системах? »

Я не вижу модуля ScheduledTasks в Windows 7/2008R2.

Понятно, что я могу попробовать его перенести с более новой ОС, но будет ли он там работать и главное правильно работать не понятно. Или у Вас есть другая информация о работе модуля ScheduledTasks? Поделитесь?

P.S. cmd команда не интересна. Я знаю о её наличии, но использовать не хочу.

YuS_2
07-11-2023, 14:32
Понятно, что я могу попробовать его перенести с более новой ОС, но будет ли он там работать и главное правильно работать не понятно. Или у Вас есть другая информация о работе модуля ScheduledTasks? Поделитесь? »
Можно воспользоваться COM интерфейсом Schedule.Service, но...
"Синтаксис команд довольно сложный, поэтому разработчики добавили в PowerShell Pack (является частью
Windows 7 Resource Kit) отдельный модуль TaskScheduler, который существенно упрощает процесс создания
заданий планировщика из PowerShell 2.0."
Windows 7 - система устаревшая и всегда там чего-то будет "не хватать", возможно, пришло время для обновления? :)

Anton04
07-11-2023, 14:56
Можно воспользоваться COM интерфейсом Schedule.Service, но... »

Не мой вариант.

Windows 7 - система устаревшая и всегда там чего-то будет "не хватать", возможно, пришло время для обновления? »

Вопрос о миграции пока не стоит, по крайней мере в ближайшее время...

YuS_2
07-11-2023, 15:05
Anton04, тогда ищите в надежных источниках это:
Windows 7 Resource Kit »
или ту его часть, которая нужна: PowershellPack
но найти, возможно, будет проблематично...
есть такая ссылка powershellpack.com - но у меня нет никаких данных о надежности источника... так что предупреждаю: перед использованием проверьте 20 раз и желательно в какой-нибудь виртуалке...

Anton04
07-11-2023, 15:20
Windows 7 Resource Kit) »

У меня он вроде есть в загашнике, посмотрю.

Пока скопировал модуль ScheduledTasks в Windows 7/2008R2, посмотрю как он будет работать.

Serguei Kouzmine
07-11-2023, 16:21
знаю о её наличии, но использовать не хочу »
а объясните - почему ?
вроде бы
invoke-expression -command "schtasks.exe /query /tn ""${task_path}\${task_name}"" /FO list"
и т.д. работает

Anton04
07-11-2023, 16:35
а объясните - почему ? »

Хочу использовать чистый powershell, т.к. пропадает зависимость от компонентов OC

DJ Mogarych
07-11-2023, 18:16
cmd команда не интересна »
Никто не мешает её использовать и в PS.
Хочу использовать чистый powershell, т.к. пропадает зависимость от компонентов OC »
Ну да, конечно. Если бы он не зависел от компонентов ОС, наверное, тогда бы и не было разницы между PS 5.1 в Windows 10 и в Windows 7, верно? Однако же, в Windows 7 отсутствует командлет Start-ScheduledTask.
И вообще Powershell - это по большому счёту, удобная надстройка над .NET.

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

P.S. Есть библиотека для .NET древних версий (https://www.codeproject.com/Articles/2407/A-New-Task-Scheduler-Class-Library-for-NET), но это, опять же, неправославно.

Serguei Kouzmine
07-11-2023, 18:40
упомятуный ранее Windows 7 Resource Kit PowerShell Pack TaskScheduler - боратает через ком сервер
{9C86F320-DEE3-4DD1-B972-A303F26B061E}
C:\Windows\system32\TaskSchdPS.dll
так что чистота там относительная

Serguei Kouzmine
07-11-2023, 19:07
. Есть библиотека для .NET древних версий, но это, опять же »
- это вообще интероп вокруг
COM сервер
`148BD527-A2AB-11CE-B11F-00AA00530503`, который вообще вшит в систему как __Task Scheduler Service__ [интервейс]г на (https://github.com/tpn/winsdk-10/blob/master/Include/10.0.16299.0/um/MSTask.idl)

Anton04
07-11-2023, 19:10
Никто не мешает её использовать и в PS. »

Никто и ничто не мешает. Но хочу PS.

Если бы он не зависел от компонентов ОС, наверное, тогда бы и не было разницы между PS 5.1 в Windows 10 и в Windows 7, верно? »

То, что MS прекратило дооснастку PS в Windows 7/2008R2 ни о чем не говорит, в том числе и то что нельзя перенести модули из более новой ОС в предшествующую. Я таким образом перенёс несколько модулей и они работают.

Как я и писал ранее, я рассмотрю все варианты которые коллеги тут упомянули, просто первоначально я подумал, что всё же существует встроенный в ОС модуль который умеет тоже самое (как-то было странно наблюдать такой пробел в модулях когда MS его так активно пиарила во время Windows 7/2008R2 и прочила на замену cmd, просто не ожидал такого).

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

Serguei Kouzmine
07-11-2023, 19:21
я не имеет смысла. »
скорее перешла в область занятной археологии

виндоз планировшик изобретен виндоз 95 а то и раньше




© OSzone.net 2001-2012