我试图达到以下目的:我想在不在域中的计算机上运行远程PowerShell脚本。
我已经研究了很多,并build立了所有的权限/防火墙规则等,使我得到以下结果。
当我尝试运行以下内容时:
Invoke-Command -ComputerName thecomputer -ScriptBlock { $Session = New-Object -ComObject Microsoft.Update.Session } -credential regularuser
我得到以下错误:
从IClassFactory创build具有CLSID {4CB43D7F-7EEE-4906-8698-6 0DA1C38F2FE}的COM组件实例失败,原因如下:80070005访问被拒绝。 (从HRESULTexception:0x80070005(E_ACCESSDENIED))。
然而,
当我在远程PC上的pipe理员组中添加普通用户时,它可以正常工作
在普通用户(非pipe理员)本地运行相同的命令工作正常
另外,当我尝试跑步
Invoke-Command – 计算机名称thecomputer -ScriptBlock {Get-ChildItem C:\} -credential正规用户
它完美的作品。
我相信所有的连接设置正确(它作为pipe理员用户,以及具有不同脚本的普通用户)。
这似乎是一个特定的Microsoft.Update.Session COM对象的权利问题。 有没有人有任何想法如何解决这个问题(而不诉诸于pipe理员用户)。
我也尝试禁用防火墙(远射,但读一些其他职位),但结果相同。 远程机器是Windows 10专业。
先谢谢你,
维姆