似乎我无法在远程 Powershell 会话中访问网络资源。这是使用 Powershell v2。本地计算机和远程计算机都在同一个域中。
例如,如果我在 MachineA 上,并通过 连接到 MachineB Enter-PSSession MachineB
,然后从那里执行类似 的命令gci \\MachineA\SomeShare
,我会收到错误:“找不到路径‘\\MachineA\SomeShare’,因为它不存在”。如果我直接从 MachineB 执行相同的命令,我会得到我期望的结果。
我尝试将“SomeShare”的“读取”权限直接授予“Everyone”和远程计算机的计算机帐户。但没有任何效果。
我可以进行哪些配置更改以使其正常工作?
答案1
您需要使用“-authentication CredSSP”来进行这样的双跳。
答案2
用于远程命令中的网络访问,例如
Invoke-Command -ComputerName $ComputerName -ScriptBlock {test-path '\\otherPC\share\'} -Credential (Get-Credential (whoami)) -Authentication Credssp
要为 winrm 启用客户端 SSP,请运行以下行:
Enable-WSManCredSSP -Role client -DelegateComputer *
要为 winrm 启用服务器端 SSP:
Enable-WSManCredSSP -Role server