класс 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 |
|
DLL |
|