在 Windows 注册表中:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\
Run Code Online (Sandbox Code Playgroud)
我们可以看到一个带有网络名称的网络 ID 列表,通常是单词 Network 加上一个数字,例如Network 1有线网络。
当Windows第一次检测到新的网络你会得到一个弹出询问你,如果这一个Work,Home或Public位置。你做出的选择改变Category,并Category type在该网络ID上述注册表项。
我想检索Category和Category type当前连接的网络配置文件。基本上是告诉我我现在连接的网络是Work,Home还是Public。
我已经知道如何使用 a 来执行此操作,reg query但我不知道如何在不查看所有网络配置文件并将网络名称与当前网络匹配的情况下找出上述注册表路径中的许多网络配置文件中的哪个是活动配置文件。
我研究了使用wmic path Win32_NetworkAdapter,我想我找到了方法,请看这里:
for /f "tokens=*" %%f in ('wmic /node:MYPC path WIN32_NetworkAdapter where "GUID is not null" get GUID /value ^| find "="') do set "%%f"
reg query "\\MYPC\HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\%GUID%" /v Category
Run Code Online (Sandbox Code Playgroud)
我虽然通过使用找到了当前活动网络的 ID,但wmic …