Enter-PSSession无法远程进入远程桌面

时间:2019-01-08 06:10:32

标签: powershell remote-desktop rdp winrm

我试图使用Powershell的Enter-PSSession远程进入另一个桌面以自动运行脚本,但是,我什至无法连接到远程桌面。

Enter-PSSession -Computername 172.16.164.14 -credential $cred

但是它说访问被拒绝。这是错误消息:

  

Enter-PSSession:连接到远程服务器172.16.164.14失败,并显示以下错误消息:访问被拒绝。有关更多信息,请参见about_Remote_Troubleshooting帮助主题。

我也尝试使用:

Invoke-Command -ComputerName 7450-56Z0BP2 -FilePath -C:\user_automation\automate.vbs -credential $cred

其中7450-56Z0BP2是主机名,但它给我的错误是:

  

[7450-56Z0BP2]连接到远程服务器7450-56Z0BP2失败,并显示以下错误消息:WinRM无法处理该请求。

我不确定导致我无法访问远程计算机的原因是什么。我可以通过RDP访问它,但是无法使用Powershell脚本登录。

2 个答案:

答案 0 :(得分:1)

PowerShell Remoting 不是远程桌面,它们的设置不同,使用不同的组件并且没有真正的共同点。

权限没有链接在两者之间,仅仅是因为您可以将RDP连接到计算机并不意味着您具有PSRemoting权限。

您使用PSRemoting时需要在远程计算机上运行Enable-PSRemoting。这就设置了所有要求:设置,防火墙规则和服务。该命令需要以具有远程计算机管理员权限的用户身份运行。

设置完成后,您将可以使用Enter-PSSession / Invoke-Command

进行连接

您的代码无法远程运行vbscript,因为FilePath参数用于PowerShell脚本。要远程运行vbscript,您需要调用cscript

Invoke-Command -ComputerName '7450-56Z0BP2' -ScriptBlock { cscript.exe "C:\user_automation\automate.vbs" } -Credential $cred

答案 1 :(得分:0)

这是权限问题,而不是Powershell远程处理问题。 您的错误是“访问被拒绝”(您的示例1),而不是“无法连接”。
本质上,与使用psremoting相比,使用远程桌面登录需要不同的权限。 这是您在目标服务器上检查允许哪些安全组成员资格使用psremoting的方法:

PS C:> (Get-PSSessionConfiguration -Name Microsoft.PowerShell).Permission
NT AUTHORITY\INTERACTIVE AccessAllowed, BUILTIN\Administrators AccessAllowed, BUILTIN\Remote Management Users AccessAllo
wed

虽然远程桌面是通过Remote Desktop Users组或本地管理员组的成员来授予的。