PowerShell访问被拒绝。 PSRemotingTransportException + FullyQualifiedErrorId:PSSessionStateBroken

时间:2017-06-16 04:55:24

标签: powershell remote-desktop access-denied powershell-remoting

我试图与另一个系统建立远程连接并执行一些基本命令。

以下是我所做的步骤:

  • 配置远程计算机以接受Shell命令 - 启用-PSRemoting -  力
  • 在远程计算机上测试配置 - Test-WsMan COMPUTERNAME。
  • 在主机上执行以下命令:

1。Invoke-Command -ComputerName COMPUTERNAME -ScriptBlock { Get-ChildItem C:\ } -credential USERNAME

2。Invoke-Command -ComputerName COMPUTERNAME -ScriptBlock { Get-ChildItem C:\ } -credential $Credentials

3。Invoke-Command -ComputerName COMPUTERNAME -ScriptBlock { Get-ChildItem C:\ }

在所有情况下,我们都获得了拒绝访问错误:

Access is denied. For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo   : OpenError: (:) [], PSRemotingTransportException 
+ FullyQualifiedErrorId : PSSessionStateBroken

1 个答案:

答案 0 :(得分:3)

来自MSDN

  
      
  1. 右键单击Windows PowerShell快捷方式并选择“以管理员身份运行”,以管理员身份启动Windows PowerShell。

  2.   
  3. 默认情况下,WinRM服务配置为手动启动。您必须将启动类型更改为“自动”,并在要使用的每台计算机上启动该服务。在PowerShell提示符下,您可以使用以下命令验证WinRM服务是否正在运行:   get-service winrm   输出中Status属性的值应为“Running”。

  4.   
  5. 要配置Windows PowerShell以进行远程处理,请键入以下命令:   启用-PSRemoting -force

  6.         

    在许多情况下,您将能够使用其他域中的远程计算机。但是,如果远程计算机不在受信任的域中,则远程计算机可能无法验证您的凭据。要启用身份验证,您需要将远程计算机添加到WinRM中本地计算机的可信主机列表中。为此,请键入:   winrm s winrm / config / client'@ {TrustedHosts =“RemoteComputer”}'   这里,RemoteComputer应该是远程计算机的名称,例如:   winrm s winrm / config / client'@ {TrustedHosts =“CorpServer56”}'

您应该检查winrm是否正在运行。还要将远程主机添加到可信主机列表(或本地计算机)。

希望有所帮助。