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
CIMWin32.mof
Archivo DLL
CIMWin32.dll

Consulte también

CIM_SystemResource

Clases de sistema operativo