我们在服务器上运行 3 个计划任务。人力资源部会随机要求我们在计划之外为他们运行其中一项任务。为了让人力资源部人员更轻松、更方便地完成这项工作,我使用 PowerShell 来运行该任务。但这仅在我授予用户服务器上的本地管理员权限时才有效。
我们显然不希望最终用户拥有本地管理员权限。
因此,我已经在 Google 上搜索了一段时间,在各种论坛上找到了一些帖子,其中有一些对某些人有用的想法,但到目前为止,对我的问题没有任何帮助。在测试中,我授予了测试帐户对 Windows\Tasks 文件夹的读/写访问权限,并将其添加到 WinRMRemoteWMIUsers__ 组(必须手动创建)、性能监视器组、高级用户、用户、远程桌面用户和远程管理用户组。
到目前为止什么都没有起作用,它一直因这个错误而失败-
Start-ScheduledTask : The WS-Management service cannot process the request. The WMI service returned an 'access denied' error.
我的脚本 -
$server = "Test_Server"
$task = "Name_of_Task"
Start-ScheduledTask -TaskName $task -CimSession $server
一定是我遗漏了某些简单的东西。
有想法吗?
答案1
乍一看,这可能看起来非常复杂,但 PowerShell 角色功能才是解决之道。借助这项技术,您可以允许特定用户或组连接到自定义 PowerShell 会话,并能够使用一组有限的参数运行一组非常有限的命令。这是 MS Docs 的链接,但如果您需要更多帮助,我可以指导您。