0

根据文档, get-scheduledjob 仅返回所有者是当前用户的计划作业。其他计划作业命令行开关(如 set-scheduledjob)也仅适用于所有者为当前用户的计划作业。这使得非所有者无法获取作业状态、修改作业(例如设置其他凭据)等。

在一个适当的 IT 组织中,我要说的是,对于这些工作来说,允许来自不同管理员的管理至关重要。

我是否错过了一些管理、查看结果等的方法(除了直接查看所有者的 appdata 中的 powershell 输出文件)?

澄清一下 - 我正在寻找一种方法来使用 Powershell 创建和管理ScheduledJobs。如果您通过 UI、schtask 或其他计划任务特定工具修改执行计划作业的计划任务,您将得到意想不到的结果。如果您更改所有者/凭据,计划任务将失败。您可以使用 UI/schtasks 来更改计划而不会导致任何问题。除了更改所有者之外,我还想获取 get-job 的结果以监控作业进度。

4

2 回答 2

1

我曾经能够使用 Powershell 让它工作的唯一方法是调用 schtask.exe 实用程序:

注意:“/U”用于本地管理,“/RU”用于远程管理,本地工作也不需要“/S”。

通过导入以前从任务计划程序导出的 XML 来创建

[string]$string = 'schtasks.exe /create /RU yourdomain\username /RP $password /TN Task-Name /XML "D:\Path\To\ExportedXML.xml" /S ServerName'

删除:

[string]$string = 'schtasks.exe /delete /RU yourdomain\username /P $password /TN Task-Name /S ServerName /F'

询问:

[string]$string = 'schtasks.exe /query /RU yourdomain\username /P $password'

本地运行:

Invoke-Expression -Command $string

远程运行:

Invoke-Command -ScriptBlock {$string}
于 2013-03-06T22:10:57.947 回答
0

我编写了一些用于管理计划任务的 PowerShell 脚本(它们使用 TaskService COM 对象):

在 Windows 7、Windows Server 2008 和 Windows Vista 中重命名计划任务

操作方法:使用 PowerShell 报告计划任务

更新计划任务的凭据

账单

于 2013-03-07T00:30:35.370 回答