针对宿主机A有多人进行远程连接,导致主机A的自动化代码无法正常执行下去,可以使用Python清理远程连接A的设备
import subprocess
import re
def check_remote_sessions():
command = ['query', 'session']
result = subprocess.run(command, capture_output=True, text=True)
sessions = result.stdout.splitlines()
remote_sessions = []
for session in sessions:
if re.search(r'\s*rdp-tcp', session):
remote_sessions.append(session)
return remote_sessions
def close_remote_session(session_id):
command = ['logoff', session_id]
subprocess.run(command)
def main():
remote_sessions = check_remote_sessions()
if remote_sessions:
print("找到远程桌面会话:")
for session in remote_sessions:
print(session)
session_info = session.split()
session_id = session_info[0]
print(f"正在关闭会话 ID: {session_id}")
close_remote_session(session_id)
else:
print("没有远程桌面会话在运行。")
if __name__ == "__main__":
main()