Win32_Environment 类

Win32_EnvironmentWMI 类表示 Windows 计算机系统上的环境或系统环境设置。 查询此类将返回以下项中找到的环境变量:

\ HKEY_LOCAL_MACHINE系统\CurrentControlSet\控制\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 类具有以下属性。

Caption

数据类型: 字符串

访问类型:只读

限定符: 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 的环境变量的名称的字符串。 通过指定尚不存在的变量的名称,应用程序将创建新的环境变量。

示例:“路径”

Status

数据类型: 字符串

访问类型:只读

限定符: MaxLen (10) 、 DisplayName (“Status”)

指示对象的当前状态的字符串。 可以定义操作状态和非操作状态。 操作状态可能包括“正常”、“降级”和“预失败”。 “Pred Fail”表示某个元素正常运行,但预测故障 (例如启用 SMART 的硬盘驱动器) 。

非操作状态可能包括“错误”、“正在启动”、“正在停止”和“服务”。 “服务”可以在磁盘镜像重新同步、重新加载用户权限列表或其他管理工作期间应用。 并非所有此类工作都联机,但托管元素既不是“正常”,也不是处于其他状态之一。

此属性继承自 CIM_ManagedSystemElement

包括以下值:

OK (“OK”)

错误 (“错误”)

降级 (“已降级”)

未知 (“未知”)

Pred Fail (“Pred Fail”)

starting (“Starting”)

停止 (“停止”)

服务 (“服务”)

压力 (“有压力”)

NonRecover (“NonRecover”)

无联系人 (“无联系人”)

Lost Comm (“Lost Comm”)

SystemVariable

数据类型: 布尔值

访问类型:只读

限定符: MappingStrings (“Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment“)

指示变量是否为系统变量。 系统变量由操作系统设置,独立于用户环境设置。

UserName

数据类型: 字符串

访问类型:只读

限定符: keyMaxLen (260) 、 MappingStrings (“Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment“)

环境设置的所有者的名称。 <对于特定于基于 Windows 的系统 (的设置,它设置为 SYSTEM>,而不是针对默认用户设置的特定用户) 和 <DEFAULT>。

示例:“JSmith”

VariableValue

数据类型: 字符串

访问类型:读/写

限定符: MappingStrings (“Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment“)

基于 Windows 的环境变量的占位符变量。 文件系统目录等信息可以因计算机而更改。 操作系统将占位符替换为这些占位符。

示例:“%SystemRoot%”

备注

Win32_Environment 类派生自 CIM_SystemResource。 可以使用此类查找远程计算机上的系统文件夹或 Program 文件等特殊文件夹的路径。 一些示例包括:windir、systemroot、programfiles 和 userprofile。 Win32_Environment 基本上返回可在中找到的内容:

\ HKEY_LOCAL_MACHINE系统\CurrentControlSet\控制\Sessionmanager\环境

\ HKEY_USERS<用户>\环境

使用此类的调用进程必须在注册表所在的计算机上具有 SE_RESTORE_NAME 特权。 例如,如果在本地计算机上枚举此类,则运行应用程序的帐户必须具有此特权。 有关详细信息,请参阅 执行特权操作

示例

列出计算机 Perl 上的环境变量 示例使用 WMI 返回有关计算机上所有环境变量的信息。

以下 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
命名空间
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另请参阅

CIM_SystemResource

操作系统类