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