【Python】删除USB网络共享在win系统中递增的网络x

【Python】删除USB网络共享在win系统中递增的网络x_第1张图片
删除之后还是挺干净的

软件环境

  • windows
  • python3
  • winreg模块(自带),如果是python2请修改为_winreg

前置知识

所有已保存的网络存储HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles下面,每一项都是一个网络,每个网络有一个

网络的键NameType值为6是USB共享网络产生的,应该删除

代码

  • 需要用管理员权限运行
import winreg

path = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles"

key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, path)

count = winreg.QueryInfoKey(key)[0]

# 获取子网络id
profileNames = [winreg.EnumKey(key, i) for i in range(count)]

for profileName in profileNames:
	# 拼接路径,获取注册键
    keyProfileName = winreg.OpenKey(
        winreg.HKEY_LOCAL_MACHINE, rf"{path}\{profileName}")

	# 获取网络类型
    nameType = winreg.QueryValueEx(keyProfileName, "NameType")[0]

	# 删除网络
    if nameType == 6:
        winreg.DeleteKey(winreg.HKEY_LOCAL_MACHINE, rf"{path}\{profileName}")
        print(rf"Deleted key: HKEY_LOCAL_MACHINE\{path}\{profileName}")

你可能感兴趣的:(Python,microsoft,windows)