Python实现自动生成远程桌面RDP登录文件,可在到其他电脑上运行(免输密码)

2023-05-16

Python实现自动生成远程桌面RDP登录文件(免输密码,实时算出密钥,解决了密钥只能在本机使用、在其他机使用时还是需要输入密码的问题),并自动登录,执行命令(启动时运行程序)。

import win32crypt
import binascii
import os

def Rdp(passwd, rdpFileName):     #定义RDP文件中数据内容
    pwdHash = win32crypt.CryptProtectData(passwd, u'psw', None, None, None, 0) #算出密码Hash值
    pwdHash_ok = binascii.hexlify(pwdHash)
    str1 = str(pwdHash_ok).split("'")[1] #转换为字符串并使用切割法去掉内容前面的'b',保留数据本体内容
    rdpFileStr = u'''screen mode id:i:1(显示方式,1代表窗口显示,2代表全屏显示)
desktopwidth:i:1440(远程桌面的实际宽度)
desktopheight:i:900(远程桌面的实际高度)
session bpp:i:24
winposstr:s:1,1,800,200,1000,400(远程桌面的显示位置(后4个参数):水平方向从位置800到1000,垂直方向从200到400)
full address:s:10.8.6.194:3389
compression:i:1
keyboardhook:i:2
audiomode:i:0
redirectdrives:i:0
redirectprinters:i:0
redirectcomports:i:0
redirectsmartcards:i:1
displayconnectionbar:i:0
autoreconnection enabled:i:1
username:s:Administrator #用户名
domain:s:MyDomain   #域名
alternate shell:s:{route} #初始化启动程序
shell working directory:s:
password 51:b:{pwdHash_ok} #密钥
disable wallpaper:i:1
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
    '''.format(route=route,pwdHash_ok=str1)
    with open(rdpFileName, 'w',encoding='utf-8') as f:
        f.write(rdpFileStr)

passwd = '12345678'.encode('utf-16-le')
route ='C:\Documents and Settings\Administrator\桌面\Rentor\批处理.bat'  #设置初始化启动程序
rdpFileName = '111.rdp' # 设置生成的RDP文件名
Rdp(passwd, rdpFileName)  
os.system("mstsc ./111.rdp /console /v: 10.8.6.194:3389")  #调用CMD命令运行远程桌面程序
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python实现自动生成远程桌面RDP登录文件,可在到其他电脑上运行(免输密码) 的相关文章

随机推荐