Classe Win32_Environment

La classe WMI Win32_Environmentrappresenta un ambiente o un ambiente di sistema in un sistema computer Windows. L'esecuzione di query su questa classe restituisce le variabili di ambiente trovate in:

\HKEY_LOCAL_MACHINE System\CurrentControlSet\Control\Sessionmanager Environment\

e

ambiente utente\>HKEY_Uedizione Standard RS\<

La sintassi seguente è semplificata dal codice MOF (Managed Object Format) e include tutte le proprietà ereditate. Le proprietà sono elencate in ordine alfabetico, non in ordine MOF.

Sintassi

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

Membri

La classe Win32_Environment include questi tipi di membri:

Proprietà

La classe Win32_Environment ha queste proprietà.

Caption

Tipo di dati: string

Tipo di accesso: sola lettura

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

Breve descrizione testuale dell'oggetto.

Questa proprietà viene ereditata da CIM_ManagedSystemElement.

Descrizione

Tipo di dati: string

Tipo di accesso: sola lettura

Qualificatori: DisplayName ("Description")

Descrizione testuale dell'oggetto.

Questa proprietà viene ereditata da CIM_ManagedSystemElement.

InstallDate

Tipo di dati: datetime

Tipo di accesso: sola lettura

Qualificatori: MappingStrings ("MIF. DMTF |ComponentID|001.5"), DisplayName ("Data di installazione")

Indica quando l'oggetto è stato installato. La mancanza di un valore non indica che l'oggetto non è installato.

Questa proprietà viene ereditata da CIM_ManagedSystemElement.

Nome

Tipo di dati: string

Tipo di accesso: lettura/scrittura

Qualificatori: Override ("Name"), key, MappingStrings ("Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Stringa di caratteri che specifica il nome di una variabile di ambiente basata su Windows. Specificando il nome di una variabile che non esiste ancora, un'applicazione crea una nuova variabile di ambiente.

Esempio: "Path"

Stato

Tipo di dati: string

Tipo di accesso: sola lettura

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

Stringa che indica lo stato corrente dell'oggetto. È possibile definire lo stato operativo e non operativo. Lo stato operativo può includere "OK", "Danneggiato" e "Pred Fail". "Pred Fail" indica che un elemento funziona correttamente, ma prevede un errore (ad esempio, un'unità disco rigido abilitata per SMART).

Lo stato non operativo può includere "Error", "Starting", "Stopping" e "Service". Il "servizio" può essere applicato durante il ridimensionamento del mirroring del disco, il ricaricamento di un elenco di autorizzazioni utente o altre operazioni amministrative. Non tutte queste operazioni sono online, ma l'elemento gestito non è né "OK" né in uno degli altri stati.

Questa proprietà viene ereditata da CIM_ManagedSystemElement.

Sono inclusi i valori seguenti:

OK ("OK ")

Errore ("Errore ")

Degradato ("degradato")

Sconosciuto ("Sconosciuto")

Pred Fail ("Pred Fail ")

Avvio ("Starting ")

Arresto ("arresto ")

Servizio ("Servizio")

Sottolineato ("sottolineato ")

NonRecover ("NonRecover ")

Nessun contatto ("Nessun contatto ")

Lost Comm ("Lost Comm ")

SystemVariable

Tipo di dati: booleano

Tipo di accesso: sola lettura

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

Indica se la variabile è una variabile di sistema. Una variabile di sistema viene impostata dal sistema operativo ed è indipendente dalle impostazioni dell'ambiente utente.

UserName

Tipo di dati: string

Tipo di accesso: sola lettura

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

Nome del proprietario dell'impostazione dell'ambiente. È impostato su <SYSTEM> per le impostazioni specifiche del sistema basato su Windows (anziché per un utente specifico) e <DEFAULT> per le impostazioni utente predefinite.

Esempio: "JSmith"

Variablevalue

Tipo di dati: string

Tipo di accesso: lettura/scrittura

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

Variabile segnaposto di una variabile di ambiente basata su Windows. Le informazioni come la directory del file system possono passare dal computer al computer. Il sistema operativo sostituisce i segnaposto per questi.

Esempio: "%SystemRoot%"

Osservazioni:

La classe Win32_Environment è derivata da CIM_SystemResource. È possibile usare questa classe per trovare i percorsi di cartelle speciali, ad esempio la cartella system o i file di programma in un computer remoto. Alcuni esempi sono: windir, systemroot, programmi e userprofile. Win32_Environment fondamentalmente restituisce ciò che è possibile trovare in:

\HKEY_LOCAL_MACHINE System\CurrentControlSet\Control\Sessionmanager Environment\

e

ambiente utente\>HKEY_Uedizione Standard RS\<

Il processo chiamante che utilizza questa classe deve avere il privilegio edizione Standard_RESTORE_NAME nel computer in cui risiede il Registro di sistema. Ad esempio, se si enumera questa classe nel computer locale, l'account con cui viene eseguita l'applicazione deve avere questo privilegio. Per altre informazioni, vedere Esecuzione di operazioni con privilegi.

Esempi

Nell'esempio di codice VBScript seguente vengono enumerate le variabili di ambiente nel computer locale.

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

Nell'esempio di codice VBScript seguente viene modificata una variabile di ambiente denominata BUILD_TYPE in un input di valore da parte dell'utente. Lo script presuppone che la variabile BUILD_TYPE esista già. Se non esiste, lo script termina. Il valore di input è selezionato: deve essere "Build1", "Build2" o "Build3" e non viene accettato alcun altro valore. La funzione UCase vbScript rende senza distinzione tra maiuscole e minuscole l'input. Se l'oggetto digitato in non è uno dei tre valori accettabili, lo script termina.

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

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista
Server minimo supportato
Windows Server 2008
Spazio dei nomi
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Vedi anche

CIM_SystemResource

Classi del sistema operativo