共用方式為


Win32_Environment 類別

Win32_Environment WMI 類別 代表 Windows 電腦系統上的環境或系統內容設定。 查詢此類別會傳回下列專案中找到的環境變數:

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Sessionmanager 環境 \

<\ HKEY_USERS使用者環境 >\

下列語法已經過受管理物件格式 (MOF) 程式碼簡化,並包含所有已繼承的屬性。 屬性會依字母順序列出,而非 MOF 順序。

語法

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

成員

Win32_Environment 類別具有下列類型的成員:

屬性

Win32_Environment 類別具有這些屬性。

標題

資料類型: 字串

存取類型:唯讀

限定詞: MaxLen (64), DisplayName (「Caption」)

物件的簡短文字描述。

此屬性繼承自 CIM_ManagedSystemElement

說明

資料類型: 字串

存取類型:唯讀

限定詞: DisplayName (「Description」)

物件的文字描述。

此屬性繼承自 CIM_ManagedSystemElement

InstallDate

資料類型: datetime

存取類型:唯讀

限定詞: MappingStrings (「MIF.DMTF|ComponentID|001.5「), DisplayName (」安裝日期「)

指出物件安裝的時間。 缺少值並不表示未安裝物件。

此屬性繼承自 CIM_ManagedSystemElement

名稱

資料類型: 字串

存取類型:讀取/寫入

限定詞: 覆寫 (「Name」), 索引鍵 MappingStrings (「Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment「)

指定 Windows 型環境變數名稱的字元字串。 藉由指定還不存在的變數名稱,應用程式會建立新的環境變數。

範例:「Path」

狀態

資料類型: 字串

存取類型:唯讀

限定詞: MaxLen (10), DisplayName (「Status」)

表示物件目前狀態的字串。 您可以定義操作和非操作狀態。 作業狀態可以包含 「確定」、「已降級」和「預先失敗」。 「預先失敗」表示元素正常運作,但正在預測失敗(例如,已啟用 SMART 的硬碟磁碟機)。

非作業狀態可能包括「錯誤」、「啟動」、「停止」和「服務」。 「服務」可以在磁片鏡像重新Silvering、重載使用者權限清單或其他系統管理工作期間套用。 並非所有這類工作都在線上,但 Managed 元素既不是「確定」,也不是在其他其中一個狀態中。

此屬性繼承自 CIM_ManagedSystemElement

包括下列值:

確定 (「OK」)

錯誤 (「錯誤」)

已降級 (「已降級」)

未知 (「未知」)

Pred Fail (「Pred Fail」)

啟動 (「開始」)

停止 (「停止」)

服務 (「Service」)

壓力(「壓力」)

NonRecover (「NonRecover」)

無連絡人 (「無連絡人」)

Lost Comm (「Lost Comm」)

SystemVariable

資料類型: 布林值

存取類型:唯讀

限定詞: MappingStrings (「Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment「)

指出變數是否為系統變數。 系統變數是由作業系統所設定,且與使用者環境設定無關。

UserName

資料類型: 字串

存取類型:唯讀

限定詞: key MaxLen (260)、 MappingStrings (「Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment「)

環境設定的擁有者名稱。 它設定為 < SYSTEM > ,用於 Windows 型系統專屬的設定(相對於特定使用者)和 < 預設使用者設定的 DEFAULT > 。

範例:「JSmith」

VariableValue

資料類型: 字串

存取類型:讀取/寫入

限定詞: MappingStrings (「Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment「)

Windows 型環境變數的預留位置變數。 檔案系統目錄等資訊可以從電腦變更為電腦。 作業系統會取代這些預留位置。

範例:「%SystemRoot%」

備註

Win32_Environment 類別衍生自 CIM_SystemResource 。 您可以使用這個類別來尋找特殊資料夾的路徑,例如遠端電腦上的 System 資料夾或 Program 檔案。 一些範例包括:windir、systemroot、programfiles 和 userprofile。 Win32_Environment 基本上會傳回可在下列專案中找到的內容:

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Sessionmanager 環境 \

<\ HKEY_USERS使用者環境 >\

使用這個類別的呼叫進程必須具有 登錄所在電腦上的SE_RESTORE_NAME 許可權。 例如,如果您在本機電腦上列舉此類別,則應用程式執行所在的帳戶必須具有此許可權。 如需詳細資訊,請參閱 執行特殊許可權作業

範例

下列 VBScript 程式碼範例會列舉本機電腦上的環境變數。

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

下列 VBScript 程式碼範例會將名為 BUILD_TYPE 的環境變數變更為使用者輸入的值。 腳本假設BUILD_TYPE變數已經存在。 如果不存在,腳本就會結束。 已檢查輸入值:它必須是 「Build1」、「Build2」 或 「Build3」,且不接受任何其他值。 VBScript UCase 函式會使輸入不區分大小寫。 如果中輸入的內容不是三個可接受的值之一,腳本就會結束。

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

需求

需求
最低支援的用戶端
Windows Vista
最低支援的伺服器
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另請參閱

CIM_SystemResource

作業系統類別