我想在服务器上远程安装WSUS更新。我在所有服务器上创建了计划作业,并且我想使用ScheduledJob(而不是ScheduledTasks,因为我想管理Windows Server 2008 R2和ScheduledTasks cmdlet不支持)。因此,我创建了一个计划作业:
$option = New-ScheduledJobOption -RunElevated
Register-ScheduledJob -Name "Installation Updates" -ScheduledJobOption $option -ScriptBlock { #MyScript }
现在,我要运行此计划作业:
Invoke-Command -ComputerName $Server -Credential $Cred -ScriptBlock {
$startJob = (Get-ScheduledJob | ? { $_.Name -like "Installation Updates" }).StartJob()
}
启动了一个作业(我看到的是Get-Job
,并且有txt文件输出),但是由于权限不足,无法安装更新。计划作业的创建和执行是使用Domain Admin帐户完成的。
如果我使用该帐户在服务器上“以管理员身份”启动powershell,并且测试了该命令(提示Invoke-Command
),则该命令有效。
.StartJob()
为什么不能在正常的PowerShell会话中工作?我在计划的作业中具有“ RunElevated”选项。有人有想法吗?我在Windows Server 2008 R2,Windows Server 2012 R2和Windows Server 2016上尝试过相同的问题。
编辑1:我尝试了cmdlet Start-Job
,同样的问题,由于权限不足,无法安装更新:
$startJob = Start-Job -DefinitionName "Installation des Updates"
答案 0 :(得分:0)
通过命令行使用计划任务,然后使用下面的链接:
docs.microsoft.com-windows-schtasks
这使管理员可以修改计划的任务
(或者您也可以将("/RL", "HIGHEST")
用于Run with highest privileges
)
希望这会有所帮助!