我们正在使用以下软件:
- PowerShell v1
- Windows 7 专业版
当我在偏僻的计算机中的 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
我该如何解决这个问题?
答案1
这听起来很像经典的 Kerberos 委托/双跳问题。它无法枚举路径,因为它无法委托您的凭据,所以这是我首先要检查的。尝试使用相同的方法连接到计算机的根目录 - 我预计您会收到凭据错误,但我不记得 Powershell v1 和双跳凭据委托的确切怪癖。
如果你能够通过为第二跳启用 CredSSP 来解决这个问题,你可以考虑为此创建一个 GPO,并且您可以在此处找到有关如何操作的说明。
相关提示:PowerShell 1 已经过时了,不应再使用。 下载更新的 WMF并开始使用更现代的 PowerShell 版本。