Win32_Environment クラス
Win32_EnvironmentWMI クラスは、Windows コンピューター システムの環境またはシステムの環境設定を表します。 このクラスのクエリを実行すると、次の環境変数が返されます。
Hkey_local_machine\システム\CurrentControlSet\コントロール\Sessionmanager\環境
および
\ HKEY_USERS<user>\Environment
次の構文はマネージド オブジェクト フォーマット (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
-
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: MaxLen (64)、 DisplayName ("Caption")
オブジェクトの短いテキストの説明。
このプロパティは、 CIM_ManagedSystemElementから継承されます。
-
-
説明
-
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: DisplayName ("Description")
オブジェクトのテキストの説明。
このプロパティは、 CIM_ManagedSystemElementから継承されます。
-
-
InstallDate
-
-
データ型: datetime
-
アクセスの種類: 読み取り専用
-
修飾子: MappingStrings ("MIF.DMTF|ComponentID|001.5"), DisplayName ("インストール日")
オブジェクトがインストールされた日時を示します。 値がない場合、オブジェクトがインストールされていないことを示すわけではありません。
このプロパティは、 CIM_ManagedSystemElementから継承されます。
-
-
名前
-
-
データ型: string
-
アクセスの種類: 読み取り/書き込み
-
修飾子: オーバーライド ("Name")、 key、 MappingStrings ("Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment")
Windows ベースの環境変数の名前を指定する文字列。 まだ存在しない変数の名前を指定すると、アプリケーションによって新しい環境変数が作成されます。
例: "Path"
-
-
状態
-
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: MaxLen (10)、 DisplayName ("Status")
オブジェクトの現在の状態を示す文字列。 運用状態と非運用状態を定義できます。 操作状態には、"OK"、"低下"、"事前失敗" が含まれます。 "Pred Fail" は、要素が正しく機能しているが、エラー (SMART 対応ハード ディスク ドライブなど) を予測していることを示します。
非運用状態には、"エラー"、"開始中"、"停止中"、"サービス" が含まれる場合があります。 "サービス" は、ディスクのミラー、ユーザーのアクセス許可リストの再読み込み、またはその他の管理作業中に適用できます。 このような作業のすべてがオンラインであるわけではありませんが、マネージド要素は "OK" でも、他の状態の 1 つでもありません。
このプロパティは、 CIM_ManagedSystemElementから継承されます。
次の値があります。
-
-
OK ("OK")
-
エラー ("Error")
-
機能低下 ("Degraded")
-
不明 ("不明")
-
Pred Fail ("Pred Fail")
-
開始 ("開始")
-
停止中 ("停止中")
-
サービス ("Service")
-
ストレス ( "ストレス")
-
NonRecover ("NonRecover")
-
連絡先なし ("連絡先なし")
-
Lost Comm ("Lost Comm")
SystemVariable
-
データ型: ブール値
-
アクセスの種類: 読み取り専用
-
修飾子: MappingStrings ("Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment")
変数がシステム変数かどうかを示します。 システム変数はオペレーティング システムによって設定され、ユーザーの環境設定から独立しています。
UserName
-
データ型: string
-
アクセスの種類: 読み取り専用
-
修飾子: key、 MaxLen (260)、 MappingStrings ("Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment")
環境設定の所有者の名前。 (特定のユーザーではなく) <Windows ベースのシステム>に固有の設定の場合は SYSTEM に、既定のユーザー設定では DEFAULT> に設定<されます。
例: "JSmith"
VariableValue
-
データ型: string
-
アクセスの種類: 読み取り/書き込み
-
修飾子: MappingStrings ("Win32Registry|System\\CurrentControlSet\\Control\\Session Manager\\Environment")
Windows ベースの環境変数のプレースホルダー変数。 ファイル システム ディレクトリなどの情報は、コンピューターからコンピューターに変更される可能性があります。 オペレーティング システムは、これらのプレースホルダーを置き換えます。
例: "%SystemRoot%"
注釈
Win32_Environment クラスは、CIM_SystemResourceから派生します。 このクラスを使用すると、リモート コンピューター上の System フォルダーや Program ファイルなどの特殊なフォルダーのパスを検索できます。 たとえば、windir、systemroot、programfile、userprofile などです。 Win32_Environment は、基本的に次に示す内容を返します。
Hkey_local_machine\システム\CurrentControlSet\コントロール\Sessionmanager\環境
および
\ HKEY_USERS<user>\Environment
このクラスを使用する呼び出し元プロセスには、レジストリが存在するコンピューターに対する 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 関数を使用すると、入力では大文字と小文字が区別されません。 入力された内容が 3 つの許容される値の 1 つでない場合、スクリプトは終了します。
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] |
|