класс Win32_Environment

Класс Win32_EnvironmentWMI представляет параметр среды или системной среды в Windows компьютерной системе. Запрос этого класса возвращает переменные среды, найденные в:

HKEY_LOCAL_MACHINE\Системы\CurrentControlSet\Управления\Sessionmanager\Среды

и

\ HKEY_USERS < userEnvironment>\

Следующий пример синтаксиса — упрощенный 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 имеет следующие типы элементов:

Элемент Property

Класс Win32_Environment имеет эти свойства.

Caption

Тип данных: строка

Тип доступа: только для чтения

Квалификаторы: MaxLen (64), DisplayName ("Caption")

Краткое текстовое описание объекта.

Это свойство наследуется от CIM_ManagedSystemElement.

Описание

Тип данных: строка

Тип доступа: только для чтения

Квалификаторы: DisplayName ("Описание")

Текстовое описание объекта.

Это свойство наследуется от CIM_ManagedSystemElement.

InstallDate

Тип данных: datetime

Тип доступа: только для чтения

Квалификаторы: MappingStrings (MIF. DMTF| ComponentID|001.5"), DisplayName ("Дата установки")

Указывает, когда был установлен объект. Отсутствие значения не указывает, что объект не установлен.

Это свойство наследуется от CIM_ManagedSystemElement.

Имя

Тип данных: строка

Тип доступа: чтение и запись

Квалификаторы: переопределение ("Имя"), ключ, MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Символьная строка, указывающая имя переменной среды на основе Windows. Указав имя переменной, которая еще не существует, приложение создает новую переменную среды.

Пример: Path

Состояние

Тип данных: строка

Тип доступа: только для чтения

Квалификаторы: MaxLen (10), DisplayName ("Status")

Строка, указывающая текущее состояние объекта. Можно определить рабочее и нерабоспособное состояние. Состояние работы может включать "ОК", "Понижено" и "Пред сбой". "Pred Fail" указывает, что элемент работает правильно, но прогнозирует сбой (например, жесткий диск с поддержкой SMART).

Нерабоспособное состояние может включать "Ошибка", "Запуск", "Остановка" и "Служба". "Служба" может применяться во время повторного изменения размера зеркального отображения диска, перезагрузки списка разрешений пользователя или другой административной работы. Не все такие действия работают в сети, но управляемый элемент не является "ОК" или в одном из других состояний.

Это свойство наследуется от CIM_ManagedSystemElement.

В эти значения входят:

ОК ("ОК")

Error ("Error")

Пониженный ( "Пониженный")

Unknown ("Unknown")

Pred Fail ("Pred Fail")

Запуск ("Запуск")

Остановка ("Остановка")

Service ("Service")

Подчеркнул ("подчеркнул")

NonRecover ("NonRecover")

Нет контакта ("Нет контакта")

Lost Comm ("Lost Comm")

SystemVariable

Тип данных: логическое значение

Тип доступа: только для чтения

Квалификаторы: MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Указывает, является ли переменная системной. Системная переменная задается операционной системой и не зависит от параметров пользовательской среды.

UserName

Тип данных: строка

Тип доступа: только для чтения

Квалификаторы: ключ, 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%"

Remarks

Класс Win32_Environment является производным от CIM_SystemResource. Этот класс можно использовать для поиска путей к специальным папкам, таким как системная папка или файлы программы на удаленном компьютере. Ниже приведены примеры: windir, systemroot, programfiles и userprofile. Win32_Environment в основном возвращает то, что можно найти в:

HKEY_LOCAL_MACHINE\Системы\CurrentControlSet\Управления\Sessionmanager\Среды

и

\ HKEY_USERS < userEnvironment>\

Вызывающий процесс, использующий этот класс, должен иметь права SE_RESTORE_NAME на компьютере, на котором находится реестр. Например, если вы перечисляете этот класс на локальном компьютере, учетная запись, под которой выполняется приложение, должна иметь эту привилегию. Дополнительные сведения см. в разделе "Выполнение привилегированных операций".

Примеры

В примере perl list Environment Variables on a Computer 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", а другое значение не принимается. Функция UCase VBScript делает входной регистр не учитывается. Если типизированного значения не является одним из трех допустимых значений, скрипт завершается.

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

Классы операционной системы