classe Win32_Environment

A classe WMIWin32_Environment representa uma configuração de ambiente ou ambiente do sistema em um sistema de computador Windows. Consultar essa classe retorna variáveis de ambiente encontradas em:

HKEY_LOCAL_MACHINE\Sistema\Currentcontrolset\Controle\Sessionmanager\Ambiente

e

HKEY_USERS\< Ambiente do usuário>\

A sintaxe a seguir é simplificada do código MOF (Managed Object Format) e inclui todas as propriedades herdadas. As propriedades são listadas em ordem alfabética, não em ordem MOF.

Sintaxe

[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;
};

Membros

A classe Win32_Environment tem estes tipos de membros:

Propriedades

A classe Win32_Environment tem essas propriedades.

Legenda

Tipo de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

Qualificadores: MaxLen (64), DisplayName ("Caption")

Uma breve descrição textual do objeto .

Essa propriedade é herdada de CIM_ManagedSystemElement.

Descrição

Tipo de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

Qualificadores: DisplayName ("Description")

Uma descrição textual do objeto .

Essa propriedade é herdada de CIM_ManagedSystemElement.

InstallDate

Tipo de dados: datetime

Tipo de acesso: Somente leitura

Qualificadores: MappingStrings ("MIF. DMTF| ComponentID|001.5"), DisplayName ("Data de Instalação")

Indica quando o objeto foi instalado. A falta de um valor não indica que o objeto não está instalado.

Essa propriedade é herdada de CIM_ManagedSystemElement.

Nome

Tipo de dados: cadeia de caracteres

Tipo de acesso: leitura/gravação

Qualificadores: Substituir ("Nome"), chave, MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Cadeia de caracteres que especifica o nome de uma variável de ambiente baseada no Windows. Ao especificar o nome de uma variável que ainda não existe, um aplicativo cria uma nova variável de ambiente.

Exemplo: "Caminho"

Status

Tipo de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

Qualificadores: MaxLen (10), DisplayName ("Status")

Cadeia de caracteres que indica o status atual do objeto. As status operacionais e não operacionais podem ser definidas. Os status operacionais podem incluir "OK", "Degradado" e "Falha de Pred". "Pred Fail" indica que um elemento está funcionando corretamente, mas está prevendo uma falha (por exemplo, uma unidade de disco rígido habilitada para SMART).

As status não operacionais podem incluir "Erro", "Iniciando", "Parando" e "Serviço". O "Serviço" pode ser aplicado durante o disco espelho-resilvering, recarregando uma lista de permissões de usuário ou outro trabalho administrativo. Nem todo esse trabalho está online, mas o elemento gerenciado não é "OK" nem em um dos outros estados.

Essa propriedade é herdada de CIM_ManagedSystemElement.

Os valores incluem o seguinte:

OK ("OK")

Erro ("Erro")

Degradado ("Degradado")

Desconhecido ("Desconhecido")

Falha de pred ("Falha de pred")

Iniciando ("Iniciando")

Parando ("Parando")

Serviço ("Serviço")

Estressado ("Estressado")

NonRecover ("NonRecover")

Sem contato ("Sem contato")

Comm Perdido ("Comm Perdido")

SystemVariable

Tipo de dados: booliano

Tipo de acesso: Somente leitura

Qualificadores: MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Indica se a variável é uma variável do sistema. Uma variável do sistema é definida pelo sistema operacional e é independente das configurações de ambiente do usuário.

UserName

Tipo de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

Qualificadores: key, MaxLen (260), MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Nome do proprietário da configuração de ambiente. Ele é definido <como SYSTEM> para configurações específicas do sistema baseado em Windows (em oposição a um usuário específico) e <DEFAULT> para configurações de usuário padrão.

Exemplo: "JSmith"

Variablevalue

Tipo de dados: cadeia de caracteres

Tipo de acesso: leitura/gravação

Qualificadores: MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Variável de espaço reservado de uma variável de ambiente baseada no Windows. Informações como o diretório do sistema de arquivos podem ser alteradas de computador para computador. O sistema operacional substitui os espaços reservados para eles.

Exemplo: "%SystemRoot%"

Comentários

A classe Win32_Environment é derivada de CIM_SystemResource. Você pode usar essa classe para encontrar os caminhos de pastas especiais, como a pasta Sistema ou Arquivos de programa em um computador remoto. Alguns exemplos são: windir, systemroot, programfiles e userprofile. Win32_Environment basicamente retorna o que pode ser encontrado em:

HKEY_LOCAL_MACHINE\Sistema\Currentcontrolset\Controle\Sessionmanager\Ambiente

e

HKEY_USERS\< Ambiente do usuário>\

O processo de chamada que usa essa classe deve ter o privilégio SE_RESTORE_NAME no computador no qual o registro reside. Por exemplo, se você enumerar essa classe no computador local, a conta sob a qual o aplicativo é executado deverá ter esse privilégio. Para obter mais informações, consulte Executando operações privilegiadas.

Exemplos

O exemplo Listar Variáveis de Ambiente em um Computador Perl usa wmi para retornar informações sobre todas as variáveis de ambiente em um computador.

O exemplo de código VBScript a seguir enumera as variáveis de ambiente no computador 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

O exemplo de código VBScript a seguir altera uma variável de ambiente chamada BUILD_TYPE para uma entrada de valor pelo usuário. O script pressupõe que a variável BUILD_TYPE já existe. Se ele não existir, o script terminará. O valor de entrada é verificado: ele deve ser "Build1", "Build2" ou "Build3" e nenhum outro valor é aceito. A função UCase do VBScript torna a entrada que não diferencia maiúsculas de minúsculas. Se o que é digitado em não for um dos três valores aceitáveis, o script terminará.

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 Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Confira também

CIM_SystemResource

Classes do sistema operacional