Añadir el ID del registro de la tarjeta de red en una variable

Iniciado por d3xf4ult, 20 Febrero 2013, 11:28 AM

0 Miembros y 1 Visitante están viendo este tema.

d3xf4ult

Hola,

Como podría hacer para que el ID de la tarjeta de red que es un ID unívoco pueda añadirlo como una variable, esto sería un script que marcaría ciertas casillas (checkbox e inputRadio) y quería que me funcionase en más equipo con otros adaptadores de red.

Según pruebas y pruebas he comprobado que solo cambian estas claves del registro de Windows pero que lo único diferente es que cada adaptador tiene su ID único.

Podrí meter entonces este ID en una variable para poder cargar esto?
El ID sería lo que está entre llaves, en este caso: {B4BA7CB9-F3F5-4738-B2AF-B758D365FC74}

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{B4BA7CB9-F3F5-4738-B2AF-B758D365FC74}]
"Domain"="dominio.local"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{B4BA7CB9-F3F5-4738-B2AF-B758D365FC74}]
"Domain"="dominio.local"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\{B4BA7CB9-F3F5-4738-B2AF-B758D365FC74}]
"RegisterAdapterName"="0x00000001"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{B4BA7CB9-F3F5-4738-B2AF-B758D365FC74}]
"RegisterAdapterName"="0x00000001"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\NetBT\Parameters\Interfaces\Tcpip_{B4BA7CB9-F3F5-4738-B2AF-B758D365FC74}]
"NetbiosOptions"="0x00000001"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\Tcpip_{B4BA7CB9-F3F5-4738-B2AF-B758D365FC74}]
"NetbiosOptions"="0x00000001"


Gracias

Eleкtro

Código (dos) [Seleccionar]
FOR /F "Tokens=2 Delims={}" %%@ IN ('Reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces"') DO (echo {%%@})

{846ee342-7039-11de-9d20-806e6f6e6963}
{A60CF61F-B6F9-45C4-8D69-E2257D787252}
Presione una tecla para continuar . . .


Saludos!








d3xf4ult

Cómo podría entonces meter esos resultados en una variable sería para agregar a un .bat.

Quedaría después algo tal que así?:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces\%VARIABLE%]
"Domain"="dominio.local"

Eleкtro

#3
En el código que te dije ya se almacenan en la variable del FOR: "%%@"

Código (dos) [Seleccionar]
@Echo OFF

Set "Clave=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces"
Set "Domain=XXXXXXXX"

(FOR /F "Tokens=2 Delims={}" %%@ IN ('Reg query "%CLAVE%"') DO (
      Echo [%CLAVE%\{%%@}]
      Echo "Domain"="%Domain%"
))>"Archivo.reg"








peluzon

#4
Hola! yo estoy necesitando algo parecido, pero no logro descifrarlo...

ya tengo en un reg la variable de esa misma clave:

HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces

osea, el resultado de lo que compartio elektro h@acker.

Pero al ejecutar el .reg me dice queno es un script de registro. le agregue la cabecera al reg y funciono perfecto. El tema ahora es como hago para poner la cabecera del reg automaticamente...

yo lo que necesito es utilizar el resultado de esa variable en un script para crear/modificar el valor dhcpnameserver, para configurar los DNS.

para agregar los valores y datos, hice esto:

REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\currentControlSet\services\Tcpip\Parameters\Interfaces" /v "DhcpDomain" /t "REG_SZ" /d "aerolineas.com.ar" /f

REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\currentControlSet\services\Tcpip\Parameters\Interfaces" /v "DhcpNameServer" /t "REG_SZ" /d "10.100.4.32 10.100.4.34" /f


obviamente me falta el GUIDKEY seguido de Interfaces.

Agradezco si me pueden dar una mano con esto.

PD: estoy tratando de hacerlo de este modo, porque lo necesito para muchas PCs alrededor del mundo y no todas van a tener el mismo conmbre de conexion (como para hacerlo con NETSH) y no dispongo de una lista con los nombres de las PCs. por eso estoy buscando para que el script haga su trabaja en la PC que se ejecute.

Eleкtro

Cita de: peluzon en 15 Noviembre 2013, 17:25 PMEl tema ahora es como hago para poner la cabecera del reg automaticamente...

Te refieres a hacer esto?:

REM Cabecera
Echo Windows Registry Editor Version 5.00>"Script.reg"

REM Más datos
For ... echo datos>>"Script.reg"


saludos