Win32_Environment 클래스
Win32_EnvironmentWMI 클래스는 Windows 컴퓨터 시스템의 환경 또는 시스템 환경 설정을 나타냅니다. 이 클래스를 쿼리하면 다음 위치에 있는 환경 변수가 반환됩니다.
\HKEY_LOCAL_MACHINE System\CurrentControlSet\Control\Sessionmanager Environment\
및
\<사용자>\환경 HKEY_USERS
다음 구문은 MOF(Managed Object Format) 코드를 단순화한 것으로 상속된 속성이 모두 포함되어 있습니다. 속성은 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 클래스에는 이러한 속성이 있습니다.
-
캡션
-
-
데이터 형식: string
-
액세스 형식: 읽기 전용
-
한정자: MaxLen(64), DisplayName("Caption")
개체에 대한 간단한 텍스트 설명입니다.
이 속성은 CIM_ManagedSystemElement 상속됩니다.
-
-
설명
-
-
데이터 형식: 문자열
-
액세스 형식: 읽기 전용
-
한정자: DisplayName ("Description")
개체에 대한 텍스트 설명입니다.
이 속성은 CIM_ManagedSystemElement 상속됩니다.
-
-
InstallDate
-
-
데이터 형식: datetime
-
액세스 형식: 읽기 전용
-
한정자: MappingStrings ("MIF. DMTF|ComponentID|001.5"), DisplayName ("설치 날짜")
개체가 설치된 시기를 나타냅니다. 값이 부족해도 개체가 설치되지 않았음을 의미하지는 않습니다.
이 속성은 CIM_ManagedSystemElement 상속됩니다.
-
-
이름
-
-
데이터 형식: string
-
액세스 형식: 읽기/쓰기
-
한정자: 재정 의("이름"), 키, MappingStrings ("Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment")
Windows 기반 환경 변수의 이름을 지정하는 문자열입니다. 아직 존재하지 않는 변수의 이름을 지정하여 애플리케이션은 새 환경 변수를 만듭니다.
예: "Path"
-
-
상태
-
-
데이터 형식: 문자열
-
액세스 형식: 읽기 전용
-
한정자: MaxLen(10), DisplayName("Status")
개체의 현재 상태 나타내는 문자열입니다. 운영 및 비작동 상태 정의할 수 있습니다. 작동 상태 "OK", "Degraded" 및 "Pred Fail"을 포함할 수 있습니다. "Pred Fail"은 요소가 제대로 작동하지만 오류를 예측하고 있음을 나타냅니다(예: SMART 지원 하드 디스크 드라이브).
비작동 상태 "오류", "시작", "중지" 및 "서비스"를 포함할 수 있습니다. "서비스"는 디스크 미러 다시 실행, 사용자 권한 목록 다시 로드 또는 기타 관리 작업 중에 적용할 수 있습니다. 이러한 모든 작업이 온라인 상태인 것은 아니지만 관리되는 요소는 "OK"도 아니고 다른 상태 중 하나도 아닙니다.
이 속성은 CIM_ManagedSystemElement 상속됩니다.
여기에는 다음 값이 포함됩니다.
-
-
확인 ("확인")
-
오류 ("오류")
-
성능이 저하됨 ("Degraded")
-
알 수 없음 ("알 수 없음")
-
사전 실패 ("사전 실패")
-
시작 ("시작")
-
중지 ("중지")
-
서비스 ("서비스")
-
스트레스("스트레스")
-
NonRecover ("NonRecover")
-
연락처 없음("연락처 없음")
-
로스트 커밋 ("로스트 커밋")
SystemVariable
-
데이터 형식: boolean
-
액세스 형식: 읽기 전용
-
한정자: MappingStrings ("Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment")
변수가 시스템 변수인지 여부를 나타냅니다. 시스템 변수는 운영 체제에서 설정되며 사용자 환경 설정과 독립적입니다.
UserName
-
데이터 형식: 문자열
-
액세스 형식: 읽기 전용
-
한정자: key, MaxLen(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 파생됩니다. 이 클래스를 사용하여 원격 컴퓨터의 시스템 폴더 또는 프로그램 파일과 같은 특수 폴더의 경로를 찾을 수 있습니다. 몇 가지 예는 windir, systemroot, programfiles 및 userprofile입니다. Win32_Environment 기본적으로 다음에서 찾을 수 있는 내용을 반환합니다.
\HKEY_LOCAL_MACHINE System\CurrentControlSet\Control\Sessionmanager Environment\
및
\<사용자>\환경 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 |
네임스페이스 |
Root\CIMV2 |
MOF |
|
DLL |
|