Tareas de WMI: Registro
Las tareas de WMI para el registro crean y modifican las claves y valores del registro. Para obtener otros ejemplos, vea TechNet ScriptCenter en https://www.microsoft.com/technet.
Los ejemplos de script que se muestran en este tema obtienen datos solo del equipo local. Para más información sobre cómo usar el script para obtener datos de equipos remotos, consulte Conexión a WMI en un equipo remoto.
En el procedimiento siguiente se describe cómo ejecutar un script.
Para ejecutar un script
- Copie el código y guárdelo en un archivo con una extensión.vbs, como filename.vbs. Asegúrese de que el editor de texto no agregue una extensión.txt al archivo.
- Abra un símbolo del sistema y navegue hasta el directorio donde haya almacenado el archivo.
- Escriba cscript filename.vbs en el símbolo del sistema.
- Si no puede acceder a un registro de eventos, compruebe si se ejecuta desde un símbolo del sistema con privilegios elevados. Algunos registros de eventos, como el registro de eventos de seguridad, pueden estar protegidos mediante controles de acceso de usuario (UAC).
Nota
De forma predeterminada, cscript muestra la salida de un script en la ventana del símbolo del sistema. Dado que los scripts de WMI pueden generar un número elevado de salidas, es posible que le interese redirigir la salida a un archivo. Escriba cscript filename.vbs > outfile.txt en el símbolo del sistema para redirigir la salida del script filename.vbs a outfile.txt.
La tabla siguiente contiene ejemplos de script que se pueden usar para obtener varios tipos de datos del equipo local.
Cómo... | Clases o métodos WMI | ||||||||
---|---|---|---|---|---|---|---|---|---|
Leer los valores de clave del registro mediante WMI | Use la clase StdRegProv, ubicada en el espacio de nombres root\default. No se pueden obtener instancias de esta clase porque el proveedor del registro del sistema es solo un proveedor de métodos y eventos. Aun así, puede obtener datos del registro mediante métodos como EnumKey o EnumValue.
Win32_Registry, ubicado en el espacio de nombres root\cimv2, obtiene datos sobre el registro en su conjunto (por ejemplo, el tamaño que tiene).
|
||||||||
Crear una clave del registro | Use la clase StdRegProv, ubicada en el espacio de nombres root\default, y el método CreateKey.
|
||||||||
Crear un valor del registro bajo una clave | Use la clase StdRegProv, ubicada en el espacio de nombres root\default, y el método CreateKey. A continuación, use uno de los métodos Set, en función del tipo de datos del registro que tenga el valor, como SetDWORDValue. Los métodos Set crean un valor si aún no existe. Para obtener más información, vea Asignación de un tipo de datos del registro a un tipo de datos WMI.
|
||||||||
Evitar obtener un error de clase no válida al intentar escribir un script para leer el registro | Use el espacio de nombres root\default al acceder a la clase StdRegProv. StdRegProv no forma parte del espacio de nombres cimv2, por lo que se genera un error de "Clase no válida" si intenta conectarse a "root\cimv2:StdRegProv".
|
||||||||
Comprobar la seguridad en una clave del registro específica | Use la clase StdRegProv, ubicada en el espacio de nombres root\default, y el método CheckAccess. Solo puede comprobar los derechos de acceso del usuario actual que ejecuta el script o aplicación. No puede comprobar los derechos de acceso de otro usuario especificado. |
||||||||
Leer y escribir valores binarios del registro | Use la clase StdRegProv, ubicada en el espacio de nombres "Root\Default", y los métodos GetBinaryValue y SetBinaryValue. Los valores del registro que aparecen en la utilidad RegEdt32 como una serie de valores hexadecimales de bytes están en el formato de datos REG_BINARY. Para obtener más información, vea Asignación de un tipo de datos del registro a un tipo de datos WMI. En el siguiente ejemplo de código de VBScript se crea una clave con un valor binario. El valor binario se proporciona en la matriz de bytes iValues especificada en hexadecimal.
El siguiente script lee el valor binario.
|
||||||||
Leer y escribir valores del registro que contienen varias cadenas | Use la clase StdRegProv, ubicada en el espacio de nombres root\default, y los métodos GetMultiStringValue y SetMultiStringValue. Las claves del registro que aparecen en la utilidad RegEdt32 como una serie de cadenas separadas por espacios están en el formato de datos REG_MULTI_SZ. Para obtener más información, vea Asignación de un tipo de datos del registro a un tipo de datos WMI. En el siguiente ejemplo de código de VBScript se crean una clave y un valor de cadena múltiple.
El siguiente script lee el valor de cadena múltiple.
|
||||||||
Eliminar una clave de Registro | Use la clase StdRegProv, ubicada en el espacio de nombres root\default, y los métodos DeleteKey.
|