Win32_Environment clase
La clase WMI de Win32_Environment representa un entorno o una configuración del entorno del sistema en un sistema de equipo Windows. La consulta de esta clase devuelve variables de entorno que se encuentran en:
HKEY_LOCAL_MACHINE\Sistema\Currentcontrolset\Control\Sessionmanager\Ambiente
y
HKEY_USERS\<user>\Environment
La siguiente sintaxis se simplifica desde el código de Managed Object Format (MOF) e incluye todas las propiedades heredadas. Las propiedades se enumeran en orden alfabético, no en orden MOF.
Sintaxis
[Dynamic, Provider("CIMWin32"), Privileges("SeRestorePrivilege"), UUID("{8502C4D2-5FBB-11D2-AAC1-006008C78BC7}"), SupportsCreate, CreateBy("PutInstance"), SupportsDelete, DeleteBy("DeleteInstance"), SupportsUpdate, AMENDMENT]
class Win32_Environment : CIM_SystemResource
{
string Caption;
string Description;
datetime InstallDate;
string Status;
string Name;
boolean SystemVariable;
string UserName;
string VariableValue;
};
Miembros
La clase Win32_Environment tiene estos tipos de miembros:
Propiedades
La clase Win32_Environment tiene estas propiedades.
-
Caption
-
-
Tipo de datos: cadena
-
Tipo de acceso: solo lectura
-
Calificadores: MaxLen (64), DisplayName ("Caption")
Descripción textual breve del objeto.
Esta propiedad se hereda de CIM_ManagedSystemElement.
-
-
Descripción
-
-
Tipo de datos: cadena
-
Tipo de acceso: solo lectura
-
Calificadores: DisplayName ("Descripción")
Descripción textual del objeto.
Esta propiedad se hereda de CIM_ManagedSystemElement.
-
-
InstallDate
-
-
Tipo de datos: datetime
-
Tipo de acceso: solo lectura
-
Calificadores: MappingStrings ("MIF. DMTF| ComponentID|001.5"), DisplayName ("Fecha de instalación")
Indica cuándo se instaló el objeto. La falta de un valor no indica que el objeto no está instalado.
Esta propiedad se hereda de CIM_ManagedSystemElement.
-
-
Nombre
-
-
Tipo de datos: cadena
-
Tipo de acceso: lectura/escritura
-
Calificadores: Invalidación ("Nombre"), clave, MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")
Cadena de caracteres que especifica el nombre de una variable de entorno basada en Windows. Al especificar el nombre de una variable que aún no existe, una aplicación crea una nueva variable de entorno.
Ejemplo: "Ruta de acceso"
-
-
Estado
-
-
Tipo de datos: cadena
-
Tipo de acceso: solo lectura
-
Calificadores: MaxLen (10), DisplayName ("Status")
Cadena que indica el estado actual del objeto. Se puede definir el estado operativo y no operativo. El estado operativo puede incluir "Aceptar", "Degradado" y "Error previo". "Error previo" indica que un elemento funciona correctamente, pero predice un error (por ejemplo, una unidad de disco duro habilitada para SMART).
El estado no operativo puede incluir "Error", "Inicio", "Detención" y "Servicio". "Servicio" se puede aplicar durante el resilvering de reflejo del disco, volver a cargar una lista de permisos de usuario u otro trabajo administrativo. No todo este trabajo está en línea, pero el elemento administrado no es "OK" ni en uno de los otros estados.
Esta propiedad se hereda de CIM_ManagedSystemElement.
Los valores son los siguientes:
-
-
Ok ("OK")
-
Error ("Error")
-
Degradado ("Degradado")
-
Desconocido ("Desconocido")
-
Pred Fail ("Pred Fail ")
-
Inicio ("Inicio")
-
Detención ("Detención ")
-
Servicio ("Servicio")
-
Estresado ("Estresado")
-
NonRecover ("NonRecover")
-
Sin contacto ("Sin contacto")
-
Lost Comm ("Lost Comm")
SystemVariable
-
Tipo de datos: booleano
-
Tipo de acceso: solo lectura
-
Calificadores: MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")
Indica si la variable es una variable del sistema. El sistema operativo establece una variable del sistema operativo y es independiente de la configuración del entorno de usuario.
UserName
-
Tipo de datos: cadena
-
Tipo de acceso: solo lectura
-
Calificadores: key, MaxLen (260), MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")
Nombre del propietario de la configuración del entorno. Se establece en <SYSTEM> para la configuración que es específica del sistema basado en Windows (en lugar de un usuario específico) y <DEFAULT> para la configuración de usuario predeterminada.
Ejemplo: "JSmith"
VariableValue
-
Tipo de datos: cadena
-
Tipo de acceso: lectura/escritura
-
Calificadores: MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")
Variable de marcador de posición de una variable de entorno basada en Windows. La información como el directorio del sistema de archivos puede cambiar de equipo a equipo. El sistema operativo sustituye los marcadores de posición de estos.
Ejemplo: "%SystemRoot%"
Comentarios
La clase Win32_Environment se deriva de CIM_SystemResource. Puede usar esta clase para buscar las rutas de acceso de carpetas especiales, como la carpeta Sistema o archivos de programa en un equipo remoto. Algunos ejemplos son: windir, systemroot, programfiles y userprofile. Win32_Environment básicamente devuelve lo que se puede encontrar en:
HKEY_LOCAL_MACHINE\Sistema\Currentcontrolset\Control\Sessionmanager\Ambiente
y
HKEY_USERS\<user>\Environment
El proceso de llamada que usa esta clase debe tener el privilegio SE_RESTORE_NAME en el equipo en el que reside el Registro. Por ejemplo, si enumera esta clase en el equipo local, la cuenta con la que se ejecuta la aplicación debe tener este privilegio. Para más información, vea Ejecución de operaciones con privilegios.
Ejemplos
El ejemplo Enumerar variables de entorno en un equipo perl usa WMI para devolver información sobre todas las variables de entorno de un equipo.
En el ejemplo de código de VBScript siguiente se enumeran las variables de entorno en el equipo local.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colVar = objWMIService.ExecQuery("Select * from Win32_Environment")
For Each objVar in colVar
Wscript.Echo "Description: " & objVar.Description & VBNewLine _
& "Name: " & objVar.Name & VBNewLine _
& "System Variable: " & objVar.SystemVariable & VBNewLine _
& "User Name: " & objVar.UserName & VBNewLine _
& "Variable Value: " & objVar.VariableValue
Next
En el ejemplo de código de VBScript siguiente se cambia una variable de entorno denominada BUILD_TYPE a una entrada de valor por parte del usuario. El script supone que la variable BUILD_TYPE ya existe. Si no existe, el script finaliza. El valor de entrada está activado: debe ser "Build1", "Build2" o "Build3" y no se acepta ningún otro valor. La función UCase de VBScript distingue mayúsculas de minúsculas de entrada. Si lo que se escribe en no es uno de los tres valores aceptables, el script finaliza.
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Environment")
Found = False
For Each objItem in colItems
If objItem.Name = "BUILD_TYPE" Then
Found = True
Change = UCase(InputBox("BUILD_TYPE currently = " & objItem.VariableValue & VBNewLine _
& "Change options are Build1, Build2, Build3 "))
If UCase(Change) = "BUILD1" OR Change = "BUILD2" OR Change = "BUILD3" Then
objItem.VariableValue = Change
objItem.Put_
WScript.Echo "BUILD_TYPE changed to " & objItem.VariableValue
Else
WScript.Echo "No input or unacceptable input." & " No change to BUILD_TYPE"
End If
End If
Next
If Found = False Then
WScript.Echo "User-defined environment variable BUILD_TYPE not found."
End If
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista |
Servidor mínimo compatible |
Windows Server 2008 |
Espacio de nombres |
Root\CIMV2 |
MOF |
|
Archivo DLL |
|