【发布时间】:2018-11-03 19:14:58
【问题描述】:
我有数百个计划任务。我正在寻找一种方法来获取在任务调度程序执行脚本时调用 powershell 脚本的任务的名称。因此,例如,我可以在发送的警报中包含该名称,这样我们不仅知道哪个服务器,而且知道哪个特定任务
【问题讨论】:
标签: windows powershell scheduled-tasks
我有数百个计划任务。我正在寻找一种方法来获取在任务调度程序执行脚本时调用 powershell 脚本的任务的名称。因此,例如,我可以在发送的警报中包含该名称,这样我们不仅知道哪个服务器,而且知道哪个特定任务
【问题讨论】:
标签: windows powershell scheduled-tasks
您可以使用get-scheduledtask cmdlet。您可以在 ScheduledTasks 模块中找到此 cmdlet。
每个返回的任务都有一个 Actions 属性。
例如
(Get-ScheduledTask)[0].Actions
【讨论】:
为 Peter Schneider 添加有用的答案,该答案将为您提供列表中第一个任务的详细信息。所以,更具体地说,要获得所有这些,试试这个......
(((Get-ScheduledTask).Actions) | Select-Object *) -match 'powershell' | Select-Object -Property Id,Execute,Arguments | Format-Table -Wrap
Id Execute Arguments
-- ------- ---------
StartPowerShellJob powershell.exe -NoLogo -NonInteractive -WindowStyle Hidden -Command "Import-Module PSScheduledJob; …
注意,'*' 包含所有属性,您可能不想这样做,因此,只需明确选择您想要的那些
(((Get-ScheduledTask).Actions) | Select-Object -Property Id,Execute,Arguments) -match 'powershell' | Format-Table -Wrap
【讨论】: