在 cmd 中,“查询会话”命令正在返回,
Error 5 getting sessionnames
Error [5]:Access is denied
在 Windows 10 远程桌面上 - 管理员用户。
AllowRemoteRPC
我们将的值设置为 1
在此之下HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server
但问题仍然存在。
问题:
- 它实际上起什么作用
AllowRemoteRPC
以及它的价值是如何被使用的。 - 如何使查询会话命令起作用。
答案1
我认为问题出在 UAC 远程限制上。
在目标计算机上执行以下操作:
- 跑步
regedit
导航到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
如果
LocalAccountTokenFilterPolicy
不存在名为注册表项的条目,则将其创建为 DWORD双击
LocalAccountTokenFilterPolicy
并将其值设置为1
。
参考:
答案2
您无需更改注册表值,始终可以使用PSEXEC
命令提示符或 PowerShell 提示符中的 Invoke-Command 在QWINSTA
本地执行。这两种方法都要求您在远程计算机上拥有管理权限(这意味着在其他凭据下打开命令提示符,包括以开关形式出现的凭据,PSEXEC
或者在 PowerShell 的情况下,包括-Credential (Get-Credential)
在命令中)。
命令提示符示例:
PSEXEC \\MYPC cmd /c "qwinsta /server:localhost"
PowerShell 示例:
Invoke-Command -ComputerName MyPC -ScriptBlock { qwinsta /server:localhost }
答案3
对于我来说,错误 5 在正常运行几天后(本地或远程使用 PC)就会出现。
我已经设定好了LocalAccountTokenFilterPolicy=1
,AllowRemoteRPC=1
不需要任何帮助。
重新启动有帮助,但我不想......
解决方案是重新启动终端服务;例如以管理员身份从命令提示符(本地时)
net stop TermService
net start TermService
或者通过services.msc
所谓的“远程桌面服务”,它也应该通过远程桌面工作。