windows注册表是由键 和 值组成,如下图
左侧栏的都是"键",右侧栏的都是"值"
一个键,可以包含多个值,一个值又由:名称、类型、数据三部分组成;
我么要修改默认的3389端口,其实修改的是"tcp"和“RDP-Tcp”这两个键,对应的值名称为“PortNumber”的数据
脚本:
#coding:utf-8
import win32api, win32con
#变量设置
reg_root = win32con.HKEY_LOCAL_MACHINE
tcp_path = r"SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\Wds\\rdpwd\\Tds\\tcp"
rdp_tcp_path = r"SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp"
reg_flags = win32con.WRITE_OWNER|win32con.KEY_WOW64_64KEY|win32con.KEY_ALL_ACCESS
#设置键tcp的值名字为PortNumber的数据
tcp_key = win32api.RegOpenKeyEx(reg_root, tcp_path, 0, reg_flags)
win32api.RegSetValueEx(tcp_key,'PortNumber',0,win32con.REG_DWORD,3344)
#设置键RDP-Tcp的值名字为PortNumber 的数据
rdp_tcp_key = win32api.RegOpenKeyEx(reg_root, rdp_tcp_path, 0, reg_flags)
win32api.RegSetValueEx(rdp_tcp_keykey,'PortNumber',0,win32con.REG_DWORD,3344)
#关闭键
win32api.RegCloseKey(tcp_key)
win32api.RegCloseKey(rdp_tcp_key)