Поделиться через


класс Win32_Environment

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

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

и

\ 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 имеет следующие типы членов:

Элемент Property

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

Caption

Тип данных: string

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

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

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

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

Описание

Тип данных: string

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

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

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

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

InstallDate

Тип данных: datetime

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

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

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

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

имя;

Тип данных: string

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

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

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

Пример: "Путь"

Состояние

Тип данных: string

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

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

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

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

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

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

ОК ("ОК")

Ошибка ("Ошибка")

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

Unknown ("Unknown")

Pred Fail ("Pred Fail")

Запуск ("Начало")

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

Служба ("Служба")

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

NonRecover ("NonRecover")

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

Lost Comm ("Lost Comm")

SystemVariable

Тип данных: boolean

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

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

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

UserName

Тип данных: string

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

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

Имя владельца параметра среды. Для параметра задано значение <SYSTEM> для параметров, относящихся к системе Windows (в отличие от конкретного пользователя), и <default> для параметров пользователя по умолчанию.

Пример: "JSmith"

VariableValue

Тип данных: string

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

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

Переменная-заполнитель переменной среды на основе Windows. Такие сведения, как каталог файловой системы, могут изменяться с компьютера на компьютер. Операционная система заменяет заполнители для них.

Пример: "%SystemRoot%"

Комментарии

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

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

и

\ 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 уже существует. Если он не существует, скрипт завершается. Проверяется входное значение: оно должно быть либо "Сборка1", "Сборка2" или "Сборка3", и другое значение не принимается. Функция 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

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