На компьютере с Windows7 я пытаюсь запустить запрос для просмотра всех запланированных задач с помощью schtasks.exe
Это хорошо, но я также хотел бы отфильтровать набор результатов, используя что-то вроде
schtasks /query | where { $_.TaskName -eq "myTask" }
Проблема в том, что я не считаю, что эта функция возвращает правильно отформатированный список для работы функции where.
Я также попробовал:
schtasks /query /FO LIST
schtasks /query | format-list | where ....
те тоже не работают.
Каков был бы лучший способ запросить задачи на локальном компьютере с помощью Win7 и иметь возможность фильтровать их
schtasks
ожидает, а скорее слеш.Ответы:
Вы можете попытаться использовать schtasks, который оставит вам анализ текста. Это почти всегда подвержено ошибкам и определенно сложнее, чем получение выходных данных команды.
В PowerShellPack есть модуль TaskScheduler . После установки пакета PowerShell, чтобы получить все запланированные задачи, используйте:
Поскольку это реальные объекты, чтобы найти задачу с определенным именем, вы можете использовать:
В общем, вы обнаружите, что сообществу PowerShell стало намного сложнее использовать командные строки, такие как schtasks, и превратили их в простые в использовании командлеты, такие как Get-ScheduledTask.
Смотрите также:
Отправка автоматических писем с помощью модуля TaskScheduler
Надеюсь это поможет
источник
если вам не нужно делать это в powershell, то будет работать следующее
счеты / запрос | findstr / i "mytask"
PS Версия
Schtasks / запрос | ? {$ _ -подобная 'mytask'}
источник
Вот сообщение в блоге, которое я написал об этом. По сути, я взял вывод / FO LIST / V, записал его в файл и импортировал обратно как объекты, используя import-csv
источник
schtasks /query /fo csv /v|convertfrom-csv
отлично работаетschtasks /query /fo csv /v /s "myserver" | convertfrom-csv | Select TaskName, "Last Run Time", Author | ? {$_.Author -notmatch "microsoft|N/A|Author"}
предоставит вам все запланированные вами задачи.Вы можете попробовать:
Хитрость заключается в том, чтобы сначала преобразовать вывод в CSV, а затем обратно в объект powershell.
источник
Вы думаете об этом.
Командная строка для того, что вы хотите schtasks / query / s% computername% | FIND / I "% name_of_task%"
пример schtasks / query / s server01 | НАЙТИ / I "расписание"
источник
Лучший вариант от Алекса, потому что вам не нужна библиотека, и вы конвертируете ответы строки из schtasks в объекте Powershell.
источник