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

使用 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 做了很多事情,但很难找到涉及 RDP 的信息。是否可以使用 WinRM 启用/禁用 RDP?

答案1

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

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

答案2

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

如果你仍然喜欢 WinRM,这里有一个优雅的脚本通过 WinRM 启用 RDP。

至于 PSExec 错误,请尝试运行其他程序(甚至是“notepad.exe”),看看是否会出现相同的错误。
如果出现,则表明您存在权限问题或某些通信错误(可能是 $admin 共享不存在或类似情况)。

相关内容