我们正在使用以下软件:
当我在PowerShell中的远程计算机上运行以下所有工作正常:
(显示来自共享文件夹的文件)
Get-ChildItem "\\<NAME OF COMPUTER WHICH HOSTS THE NETWORK SHARE>\ourNetworkShare"
但是当我从本地计算机运行以下内容时:
Invoke-Command -ComputerName <REMOTE COMPUTERNAME> -ScriptBlock { Get-ChildItem '\\<NAME OF COMPUTER WHICH HOSTS THE NETWORK SHARE>\ourNetworkShare' } -credential $myCredential
我得到以下错误:
Cannot find path '\\<NAME OF COMPUTER WHICH HOSTS THE NETWORK SHARE>\ourNetworkShare' because it does not exist. + CategoryInfo: ObjectNotFound: (\\<NAME OF COMPUTER WHICH HOSTS THE NETWORK SHARE>....ourNetworkShare:String) [Get-ChildItem], ItemNotFound Exception + FullyQualifiedErrorId : PathNotFound, Microsoft.PowerShell.Commands.GetChildItemCommand
我该如何解决这个问题?
这听起来非常像一个经典的Kerberos委托/双跳问题 。 它不能枚举path,因为它不能委托你的凭证,所以这就是我首先要检查的。 尝试使用相同的方法连接到计算机的根目录 – 我希望你得到一个证书错误,但我不记得Powershell v1和双跃点证书授权的确切怪癖。
如果您能够通过为第二跳启用CredSSP来解决此问题,则可以考虑为此创build一个GPO,并且可以在此处find有关如何执行此操作的说明 。
在一个相关的说明,PowerShell 1是古老的,不应再使用。 下载一个更新的WMF,并开始使用更新的版本的PowerShell。