Modificar registro

24/08/2007 - 09:38 por ZIDAC | Informe spam
Hola, tengo en mi empresa clientes XPpro a los que debo hacer cambios en el
registro (en HKLM). Estos cambios son independientes y exclusivos para cada
equipo, es decir, tengo que incluir dos claves que se llaman NumeroDeSerie y
Modelo y son únicas para cada PC. Estas claves serán luego leida por un
software.

Mi idea es hacer un script que al ejcutarlo me pida los datos de esas
claves: número de serie y modelo, los introduzcos y automáticamente se
incluyen en la ruta del registro que he definido (HKLM).

¿Quizás exista algún software para esto?
¿Alguien puede ayudarme?

GRACIAS,
ZIDAC
 

Leer las respuestas

#1 José Antonio Quílez [MS MVP]
24/08/2007 - 21:14 | Informe spam
Crea primero un archivo "DatosEquipo.vbs" con el siguiente código:
_________________________________________________________________________________
On Error Resume Next
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
strSerie = InputBox _
("Número de serie:","Número de Serie","")
strModelo = InputBox _
("Modelo:","Modelo del Equipo", "")
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "oot\default:StdRegProv")
strKeyPath = "SOFTWARE\Mi Empresa"
oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath
strValueName = "Numero de Serie"
oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strSerie
strValueName = "Modelo"
oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strModelo
_________________________________________________________________________________

A continuación crea un archivo "Lanzador.bat" con el siguiente código:
_________________________________________________________________________________
copy /Y \\SERVIDOR\NETLOGON\psexec.exe %SystemRoot%
copy /Y \\SERVIDOR\NETLOGON\DatosEquipo.vbs %SystemRoot%
psexec -i -s wscript.exe %SystemRoot%\DatosEquipo.vbs
_________________________________________________________________________________

Ahora pones ambos archivos en un recurso compartido en red, preferiblemente
el NETLOGON de un DC si tienes la red muy repartida (así se replican los
archivos junto con el sysvol y no tienes que referenciar a un servidor que
puede estar remoto para algunos clientes, simplemente cambiando la palabra
\\SERVIDOR por la variable %LOGONSERVER%).
Ahora, mediante GPO, asignas el "Lanzador.bat" como script de inicio de
sesión para los usuarios y se les ejecutará al iniciar sesión, preguntando
por el número de serie y modelo del Equipo, y guardándolas en una clave bajo
HKEY_LOCAL_MACHINE en el registro.
La razón de hacerlo con este .bat en lugar de ejecutar directamente el .vbs
es que si los usuarios no son administradores locales de sus máquinas, que
será lo normal, no tienen permisos de escritura sobre HKEY_LOCAL_MACHINE.
Por eso les copio primero el archivo psexec.exe de la Microsoft SysInternals
Suite, que con esos parámetros se ejecuta con la cuenta de sistema local.
Quizá te interese en el .bat borrar ese archivo (del %SystemRoot%\psexec.exe
/Q) tras la última linea, pues se pueden hacer maravillas con él ejecutando
programas como un administrador.
Este programa, y la suite completa de utilidades, la puedes descargar de la
siguiente página:
http://www.microsoft.com/technet/sy...suite.mspx

Lo he probado y funciona correctamente. Por supuesto que puedes hacerlo más
elegante, añadiendo alguna linea para que detecte si ya se ha ejecutado en
un equipo y no volver a pedir los datos ni copiar de nuevo los archivos,
pero eso te lo dejo como deberes para casa, que es muy sencillo.

Un saludo
José Antonio Quílez [MS MVP]

"ZIDAC" escribió en el mensaje de
noticias:
Hola, tengo en mi empresa clientes XPpro a los que debo hacer cambios en
el
registro (en HKLM). Estos cambios son independientes y exclusivos para
cada
equipo, es decir, tengo que incluir dos claves que se llaman NumeroDeSerie
y
Modelo y son únicas para cada PC. Estas claves serán luego leida por un
software.

Mi idea es hacer un script que al ejcutarlo me pida los datos de esas
claves: número de serie y modelo, los introduzcos y automáticamente se
incluyen en la ruta del registro que he definido (HKLM).

¿Quizás exista algún software para esto?
¿Alguien puede ayudarme?

GRACIAS,
ZIDAC

Preguntas similares