欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 Windows 系统中,可以通过以下几种方法检查远程桌面服务是否被禁用:
pythonimport winreg def is_rdp_enabled(): try: key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Control\Terminal Server") value, _ = winreg.QueryValueEx(key, "fDenyTSConnections") return value == 0 except WindowsError: return False if is_rdp_enabled(): print("远程桌面服务(RDP)已启用") else: print("远程桌面服务(RDP)已禁用")
pythonimport wmi def check_rdp_service(): c = wmi.WMI() services = c.Win32_Service(Name="TermService") if services: service = services[0] print(f"服务状态: {service.State}") print(f"启动模式: {service.StartMode}") return service.State == "Running" and service.StartMode.lower() == "auto" return False if check_rdp_service(): print("远程桌面服务正在运行且设置为自动启动") else: print("远程桌面服务未运行或未设置为自动启动")
pythonimport subprocess def check_rdp_via_powershell(): cmd = "powershell Get-ItemProperty -Path 'HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server' -Name 'fDenyTSConnections'" result = subprocess.run(cmd, shell=True, capture_output=True, text=True) return "fDenyTSConnections : 0" in result.stdout if check_rdp_via_powershell(): print("远程桌面服务已启用") else: print("远程桌面服务已禁用")
这些脚本需要管理员权限才能运行
方法1和方法3检查的是是否允许远程连接,而方法2检查的是TermService服务是否运行
在某些情况下,即使服务运行,防火墙设置也可能阻止RDP连接
您可以根据需要选择其中一种方法来检查远程桌面服务的状态。