classe Win32_Environment

A classe Win32_EnvironmentWMI 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\< userEnvironment>\

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 na 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 esses 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 ("Install Date")

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: Substituição ("Nome"), chave, MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Cadeia de caracteres que especifica o nome de uma variável de ambiente baseada em 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. O status operacional e não operacional pode ser definido. O status operacional pode incluir "OK", "Degradado" e "Falha de Pred". "Falha de Pred" indica que um elemento está funcionando corretamente, mas está prevendo uma falha (por exemplo, uma unidade de disco rígido habilitada para SMART).

O status não operacional pode incluir "Erro", "Iniciando", "Parando" e "Serviço". O "Serviço" pode ser aplicado durante a recuperação de espelho de disco, o recarregamento de uma lista de permissões do 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 ("Mensagens Perdidas")

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: chave, 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 vez de 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 em Windows. Informações como o diretório do sistema de arquivos podem ser alteradas de computador para computador. O sistema operacional substitui 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\< userEnvironment>\

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

Exemplos

As Variáveis de Ambiente de Lista em um exemplo de Perl de Computador usam o 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 será encerrado. 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 não for um dos três valores aceitáveis, o script será encerrado.

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