In order to be able to accommodate multiple network adapters, many networking settings are located in the registry under
an interface \{GUID\} (Globally Unique IDentifier),
such as:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\Tcpip_\{GUID\} HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PSched\Parameters\Adapters\\{GUID\} HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Adapters\\{GUID\} HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DNSRegisteredAdapters\\{GUID\} HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\\{GUID\}\Parameters\Tcpip.I have scripted InterfaceGUID.bat to retrieve the \{GUID\} based upon a connection name that you specify, such as Local Area Connection.
The syntax for using InterfaceGUID.bat is:
Call InterfaceGUID Name GUID
Where Name is the connection name, and GUID is a call directed environment variable that will contain the \{GUID\}, or none if the connection name cannot be found.
NOTE: InterfaceGUID.bat uses REG.EXE built into Windows XP, Windows Server 2003, and newer, or from the Windows 2000 Support Tools.
InterfaceGUID.bat contains:
@echo off if \{%2\}==\{\} @echo Syntax InterfaceGUID Name GUID&goto :EOF setlocal set name=%1 set GUID=none set key="HKLM\SYSTEM\CurrentControlSet\Control\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318\}" for /f "Tokens=*" %%i in ('reg query %key% /s^|Findstr /I /L /C:"\}\Connection"') do ( call :fndname "%%i" ) endlocal&set %2=%GUID% goto :EOF :fndname set conkey=%1 set conkey=%conkey:HKEY_LOCAL_MACHINE=HKLM% for /f "Tokens=1,2*" %%a in ('reg query %conkey% /v Name^|findstr /I /L /C:%name%') do ( call :setGUID ) goto :EOF :setGUID set GUID=%conkey:"HKLM\SYSTEM\CurrentControlSet\Control\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318\}\=% set GUID=%GUID:\Connection"=%
0 comments
Hide comments