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 |
|
DLL |
|