这太疯狂了,我从PowerShell开始。当然,我需要远程进行管理员工作。

一个简单的

dir \\server\share\folder

只是拒绝工作,我得到这个错误
Get-ChildItem : Cannot find path '\\server\share\folder' because it does not exist.
    + CategoryInfo          : ObjectNotFound: (\\server\share\folder:String) [Get-ChildItem], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

对我来说,很明显这是一个访问权限问题。而且我们在公司确实有一个域名。我在VNC上使用完全相同的用户帐户登录到服务器,并且可以看到UNC路径。但是每当我尝试通过远程连接从桌面复制文件时。只是行不通!!!

我可以做很多其他事情,因此我很确定自己已经建立了联系。

最佳答案

要使其正常工作,必须同时配置本地计算机和远程计算机。

在远程服务器上,运行以下命令:

 Enable-WSManCredSSP -Role server

如果您运行Get-WSManCredSSP cmdlet并获得以下输出,您将知道事情已正确配置:



在本地计算机上,从管理PowerShell提示符下,您需要允许在PowerShell中进行凭据委派。运行以下命令:
 Enable-WSManCredSSP -Role Client -DelegateComputer <REMOTE_COMPUTER_NAME>

您可以使用*为REMOTE_COMPUTER_NAME启用所有服务器。

当您运行Get-WSManCredSSP并获取以下输出时,您将知道此配置正确:



在本地计算机上,更新组策略以允许将您的凭据委派给远程服务器。
  • 打开gpedit.msc并浏览到“计算机配置”>“管理模板”>“系统”>“凭据委派”。
  • 双击“允许使用仅NTLM的服务器身份验证委派新凭据”。
  • 启用设置并将构建服务器作为WSMAN / BuildServerName添加到服务器列表中。 (您可以通过输入WSMAN / *来启用所有服务器。)

  • 然后,当您需要在远程服务器上运行命令时,您将无法使用任何* -PSSession命令,因为CredSSP无法使用缓存的凭据。您必须使用Invoke-Command启动 session ,并使用CredSSP作为Authentication参数的值,如下所示:
    Invoke-Command -ScriptBlock { # remote commands here } `
                   -ComputerName <REMOTE_COMPUTER_NAME> `
                   -Authentication CredSSP `
                   -Credential <USERNAME>
    

    关于powershell - 哪种安全设置阻止了远程PowerShell 2.0访问UNC路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8362057/

    10-13 07:46
    查看更多