about_Environment_Provider
プロバイダー名
環境
ドライブ
Env:
機能
ShouldProcess
簡単な説明
Windows 環境変数へのアクセスを提供します。
詳しい説明
PowerShell 環境 プロバイダーを使用すると、powershell で環境変数と値を取得、追加、変更、消去、削除できます。
環境 変数は、プログラムが実行される環境を記述する変数として動的に名前が付けられます。 Windows と PowerShell では、環境変数を使用して、システムとプロセスの実行に影響を与える永続的な情報を格納します。 PowerShell 変数とは異なり、環境変数はスコープ制約の対象になりません。
環境 ドライブは、現在のユーザーのセッションに固有の環境変数を含むフラットな名前空間です。 環境変数に子項目はありません。
環境 プロバイダーは、この記事で説明されている次のコマンドレットをサポートしています。
このプロバイダーによって公開される型
各環境変数は、system.string エントリ クラスのインスタンスです。 変数の名前はディクショナリ キーです。 環境変数の値はディクショナリ値です。
環境ドライブ内を移動する
環境 プロバイダーは、ドライブ内 Env: のデータストアを公開します。 環境変数を操作するには、場所をドライブ ( Set-Location Env: ) に Env: 変更するか、別の PowerShell ドライブから作業します。 別の場所から環境変数を参照するには、パス内のドライブ名を使用 Env: します。
Set-Location Env:
ファイル システム ドライブに戻るには、ドライブ名を入力します。 たとえば、次のように入力します。
Set-Location C:
他の PowerShell ドライブから 環境 プロバイダーを使用することもできます。 別の場所から環境変数を参照するには、パス内のドライブ名 Env: を使用します。
環境 プロバイダーは、の $env: 変数プレフィックスを使用して環境変数も公開します。 次のコマンドは、 ProgramFiles 環境変数の内容を表示します。 変数プレフィックスは $env: 、任意の PowerShell ドライブから使用できます。
PS C:\> $env:ProgramFiles
C:\Program Files
変数プレフィックスを使用して $env: 環境変数の値を変更することもできます。 変更は、アクティブになっている限り、現在の PowerShell セッションにのみ適用されます。
注意
PowerShell では、エイリアスを使用して、プロバイダーパスを操作するための使い慣れた方法を使用できます。 や ls など dir のコマンドは、 get-childitemのエイリアスです。これは、 cd Set Locationのエイリアスです。 と pwd は、 Get Locationのエイリアスです。
環境変数の取得
このコマンドは、現在のセッションのすべての環境変数を一覧表示します。
Get-Item -Path Env:
このコマンドは、任意の PowerShell ドライブから使用できます。
環境プロバイダーにはコンテナーがないため、上のコマンドはと共 Get-ChildItem に使用した場合と同じ効果があります。
Get-ChildItem -Path Env:
選択した環境変数を取得します
このコマンドは、 WINDIR 環境変数を取得します。
Get-ChildItem -Path Env:windir
また、変数プレフィックス形式も使用できます。
$env:windir
環境変数を作成する
このコマンドは、"非管理者" という値を持つ環境変数を USERMODE 作成します。 -Pathパラメーター値により、ドライブに Env: 新しい項目が作成されます。 新しい環境変数は、アクティブである限り、現在の PowerShell セッションでのみ使用できます。
PS C:\> New-Item -Path Env: -Name USERMODE -Value Non-Admin
環境変数の変更
環境変数の名前を変更する
このコマンドは、 Rename-Item コマンドレットを使用して、作成した環境変数の USERMODE 名前をに USERROLE 変更します。 システムが使用する環境変数の名前は変更しないでください。 これらの変更は現在のセッションにのみ影響を与えますが、システムまたはプログラムの誤作動の原因になりかねません。
Rename-Item -Path Env:USERMODE -NewName USERROLE
環境変数の変更
このコマンドは、 Set-Item コマンドレットを使用して環境変数の USERROLE 値を "Administrator" に変更します。
Set-Item -Path Env:USERROLE -Value Administrator
環境変数をコピーする
このコマンドは、環境変数の USERROLE 値を環境変数に USERROLE2 コピーします。
Copy-Item -Path Env:USERROLE -Destination Env:USERROLE2
環境変数を削除する
このコマンドは、現在のセッションから環境変数を USERROLE2 削除します。
Remove-Item -Path Env:USERROLE2
Clear-Item を使用して環境変数を削除する
このコマンドは、値をクリアして環境変数を USERROLE 削除します。
Clear-Item -Path Env:USERROLE
パイプラインの使用
プロバイダーのコマンドレットは、パイプラインの入力を受け入れます。 パイプラインを使用すると、1つのコマンドレットから別のプロバイダーのコマンドレットにプロバイダーデータを送信することにより、タスクを簡単に行うことができます。 プロバイダーコマンドレットでパイプラインを使用する方法の詳細については、この記事全体で説明されているコマンドレットリファレンスを参照してください。
ヘルプの表示
Windows PowerShell 3.0 より、プロバイダー コマンドレットのためにカスタマイズされたヘルプ トピックを取得できます。これはファイル システム ドライブでのプロバイダー コマンドレットの動作を説明します。
ファイルシステムドライブ用にカスタマイズされたヘルプトピックを取得するには、ファイルシステムドライブでget-helpコマンドを実行するか、 get-helpのパラメーターを使用 -Path してファイルシステムドライブを指定します。
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path env:
関連項目
フィードバック
フィードバックの送信と表示