我正在尝试通过Invoke-Command远程运行Get-ScheduledTask.
用户是非管理员,但是“远程管理用户”的一部分.
PS-Remoting工作正常.
在本地运行命令工作正常.
但是通过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命令时遇到了类似的问题.
我用于我的问题的过程是:
>打开计算机管理控制台.右键单击WMI Control(在“服务和应用程序”下),然后单击“属性”.
>在新打开的窗口中,单击“安全”选项卡.
>展开根树,然后单击节点CIMV2,并单击按钮安全性
>在新打开的窗口中,单击“高级”按钮.
>在新打开的窗口中,单击权限选项卡下的添加按钮.
>在新打开的窗口中,单击“选择主体”,然后搜索并添加要作为主体访问的帐户或组,然后单击“确定”.
>在apply to中,选择“this namespace and subnamespace”.
>如果是权限,请选中“执行方法”,“启用帐户”和“远程启用”
>在所有打开的对话框上单击“接受”
>重启WMI服务
>再次尝试远程运行命令.它会再次失败,但这次你会看到真正的问题.查看错误“拒绝权限”,然后按照上述步骤操作,并授予对显示路径的访问权限.
希望这可以帮助