【发布时间】:2016-12-07 04:09:57
【问题描述】:
我正在尝试从我的域中的计算机下载注册表配置单元,并且我首先在本地测试一些命令。我有两台机器 (VM) 不在同一个域中:SRV2K12 和 US-TEST。我可以在两台机器上成功运行reg.exe save HKLM\SYSTEM \\SRV2K12\Hives\<hostname>(手动输入的本地主机名在哪里)。但是,我最终需要远程运行命令,所以我使用 Invoke-Command。在我的 Win 2012 服务器上,我可以使用 Invoke-Command -computername SRV2K12 -ScriptBlock {reg.exe save HKLM\SYSTEM \\SRV2K12\Hives\<hostname> 并且它按预期工作。在我的 Windows 7 和 Windows 10 机器上,它不起作用。我收到此错误:
ERROR: Access is denied.
+ CategoryInfo : NotSpecified: (ERROR: Access id denied.: String) []. RemoteException
+ FullyQualifiedErrorId : NativeCommandError
+ PSComputerName : <hostname>
NotSpecified: (:) [], RemoteException
我可以在 US-TEST Windows 7 机器上运行 Invoke-Command -ScriptBlock {reg.exe save HKLM\SYSTEM \\SRV2K12\Hives\US-TEST} 就好了,它将配置单元保存到远程计算机。但是当我添加 -computername US-TEST 属性(在 Win 7 或 10 机器上)时,它告诉我访问被拒绝。
有什么想法可以让它发挥作用吗?我已经在这些机器上运行了enabled-psremoting -force,它成功完成了。我还在两台机器上运行了Set-item wsman:localhost\client\trustedhosts -value *。没有变化。
【问题讨论】:
-
听起来像是两跳问题。如果你真的需要它,简单但不安全的答案是使用 CredSSP。
标签: windows powershell invoke-command