我有几百个预定任务。我正在寻找一种方法,以在任务调度程序执行脚本后获取调用Powershell脚本的任务名称。例如,我可以在发送的警报中包含该名称,这样我们不仅知道哪个服务器,还知道哪个特定任务
答案 0 :(得分:0)
您可以使用get-scheduledtask
cmdlet。您可以在ScheduledTasks
模块中找到此cmdlet。
每个返回的任务都有一个动作属性。
例如
(Get-ScheduledTask)[0].Actions
答案 1 :(得分:0)
在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