繁体   English   中英

Powershell - 手动触发计划作业

[英]Powershell - Manually trigger a scheduled job

我创建了一个 powershell 作业,当我使用以下命令时可以看到它:

PS C:\WINDOWS\system32> Get-ScheduledJob -Name KillTicker | Get-JobTrigger

Id         Frequency       Time                   DaysOfWeek              Enabled
--         ---------       ----                   ----------              -------
1          AtStartup                                                      True

由于这是一项启动工作,我真的不喜欢重新启动来测试它 -我该如何手动启动这项工作?

如果您运行Get-ScheduledJob -id 1 | Get-Member Get-ScheduledJob -id 1 | Get-Member检索Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition所有成员,您将看到该对象公开了一个名为StartJob的方法:

(Get-ScheduledJob -id 1).StartJob()

要检索结果,请使用Receive-Job cmdlet:

Receive-Job -id 1

您可以使用Start-Job cmdlet 并提供计划作业的名称作为-DefinitionName参数。

Start-Job -DefinitionName *MyJobName*

我认为值得一提的是 Start-Job 或 StartJob() 都从当前安全上下文运行定义的作业。 如果作业以不同的用户身份运行或访问网络资源,您可能会得到意想不到的结果。

要获得相同的行为,请使用(Get-ScheduledJob -Name xxx).RunAsTask()Start-ScheduledTask -TaskName xxx -TaskPath xxx 后者提供了-CimSession选项,可能更适合远程操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM