我正在尝试通过 Invoke-Command 远程运行 Get-ScheduledTask。
该用户是非管理员,但属于“远程管理用户”的一部分。
PS-远程处理工作正常。
在本地运行命令效果很好。
但是通过 Invoke-Command 运行它会出现以下错误:
Cannot connect to CIM server. Access denied
+ CategoryInfo : ResourceUnavailable: (MSFT_ScheduledTask:String) [Get-ScheduledTask], CimJobException
+ FullyQualifiedErrorId : CimJob_BrokenCimSession,Get-ScheduledTask
+ PSComputerName : us-web1
这是代码示例:
注意:这是直接在相关的非管理员用户下运行的。
$servers = "us-web1","us-web2","us-engine1","us-engine2","us-engine3","us-engine4"
foreach ( $server in $servers ) {
Invoke-Command -ComputerName "$server" -ScriptBlock {
get-scheduledtask
}
}
我在尝试在没有管理员凭据的情况下远程使用 get-printer 命令时遇到了非常类似的问题。
我发现真正有帮助的是这个链接:https://social.technet.microsoft.com/Forums/exchange/en-US/b748d1bb-fa97-4c30-a626-145dfbc40873/service-acccount-permission-to-remote-powershell-to-dns-server-on- windows-server-2012?forum=winserverpowershell https://social.technet.microsoft.com/Forums/exchange/en-US/b748d1bb-fa97-4c30-a626-145dfbc40873/service-acccount-permission-to-remote-powershell-to-dns-server-on-windows-server-2012?forum=winserverpowershell
我用于解决我的问题的过程是:
打开计算机管理控制台。右键单击“WMI 控制”(在“服务和应用程序”下),然后单击“属性”。
在新打开的窗口中,单击“安全”选项卡。
展开根树,然后单击节点 CIMV2,然后单击安全按钮
在新打开的窗口中,单击“高级”按钮。
在新打开的窗口中,单击权限选项卡下的添加按钮。
在新打开的窗口中,单击“选择主体”,然后搜索并添加您想要作为主体访问的帐户或组,然后单击“确定”。
在适用于中,选择“此命名空间和子命名空间”。
对于权限,勾选“执行方法”、“启用帐户”和“远程启用”
在所有打开的对话框中单击“接受”
重启WMI服务
再次尝试远程运行您的命令。它会再次失败,但这一次您将看到真正的问题。查看错误中的“权限被拒绝”,然后按照与上述相同的步骤操作并授予对显示路径的访问权限。
希望这可以帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)