次の方法で共有


about_Environment_Provider

プロバイダー名

環境

ドライブ

Env:

機能

ShouldProcess

簡単な説明

Windows 環境変数へのアクセスを提供します。

詳しい説明

PowerShell 環境 プロバイダーを使用すると、PowerShell で環境変数と値を取得、追加、変更、クリア、削除できます。

環境変数 は、プログラムが実行される環境を記述する動的な名前付き変数です。 Windows と PowerShell では、環境変数を使用して、システムとプロセスの実行に影響を与える永続的な情報を格納します。 PowerShell 変数とは異なり、環境変数はスコープ制約の対象になりません。

環境ドライブは、現在のユーザーのセッションに固有の環境変数を含むフラット名前空間です。 環境変数には子項目がありません。

環境プロバイダーでは、この記事で説明する次のコマンドレットがサポートされています。

このプロバイダーによって公開される型

各環境変数は、 System.Collections.DictionaryEntry クラスのインスタンスです。 変数の名前はディクショナリ キーです。 環境変数の値はディクショナリ値です。

環境プロバイダーは、ドライブ内のデータ ストアを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 ではエイリアスを使用して、プロバイダー パスを使い慣れた方法で操作できます。 や などのdirlsコマンドは Get-ChildItemcd のエイリアスになりました。これは Set-Location のエイリアスです。 と pwdGet-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

パイプラインの使用

プロバイダー コマンドレットは、パイプライン入力を受け入れます。 パイプラインを使用すると、あるコマンドレットから別のプロバイダー コマンドレットにプロバイダー データを送信することで、タスクを簡略化できます。 プロバイダー コマンドレットでパイプラインを使用する方法の詳細については、この記事全体で提供されているコマンドレットリファレンスを参照してください。

ヘルプの表示

Windows PowerShell 3.0 より、プロバイダー コマンドレットのためにカスタマイズされたヘルプ トピックを取得できます。これはファイル システム ドライブでのプロバイダー コマンドレットの動作を説明します。

ファイル システム ドライブ用にカスタマイズされたヘルプ トピックを取得するには、ファイル システム ドライブで Get-Help コマンドを実行するか、Get-Help の パラメーターを使用-Pathしてファイル システム ドライブを指定します。

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path env:

こちらもご覧ください

about_Providers