使用WinRM或psexec的其他替代方法启用RDP

我正在编写一个程序,其中包含服务器列表并启用/禁用RDP。 目前我正在使用psexec,直到今天上午,一切正常。 我没有改变代码/用户名/密码,今天我从psexec得到以下错误:

c:\Temp>PsExec.exe \\KEN-SQL-001 -u administrator -p password cmd PsExec v2.11 - Execute processes remotely Copyright (C) 2001-2014 Mark Russinovich Sysinternals - www.sysinternals.com Could not start PSEXESVC service on KEN-SQL-001: Access is denied. 

我之前用winrm做过很多事情,但是在最困难的时候find涉及RDP的信息。 是否可以使用WinRM启用/禁用RDP?

这是一个registry设置。 我个人认为GPO是设置这种行为的最佳方式,但是如果您想从命令行手动执行此操作,请使用以下命令:

 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f 

您可以通过GPO的RDP:Windows组件/远程桌面服务/远程桌面会话主机/连接
允许用户使用远程桌面服务远程连接=启用

如果你仍然喜欢WinRM,下面是一个通过WinRM启用RDP的Posh脚本 。

至于PSExec错误,尝试运行其他东西(甚至'notepad.exe'),看看你是否得到相同的错误。
如果你这样做,这将build议你有权限问题或通信错误(也许$pipe理员共享不存在或类似的东西)。