使用Python断开远程连接主机的设备

针对宿主机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:
        # 匹配远程桌面会话(通常会显示为rdp-tcp或类似标识)
        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 ID
            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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值