about_Variable_Provider
プロバイダー名
変数
ドライブ
Variable:
機能
ShouldProcess
簡単な説明
PowerShell 変数とその値へのアクセスを提供します。
詳しい説明
PowerShell 変数プロバイダーを 使用すると、現在のコンソールで PowerShell 変数を取得、追加、変更、クリア、削除できます。
PowerShell 変数プロバイダー は、自動変数、基本設定変数、作成した変数など、PowerShell によって作成される変数をサポートします。
変数 ドライブ は、変数オブジェクトのみを含むフラットな名前空間です。 変数に子項目はありません。
変数 プロバイダー は、この記事で説明する次のコマンドレットをサポートしています。
また、PowerShell には、変数を表示および変更するために特に設計された一連のコマンドレットも含まれています。 Variable コマンドレット を使用 する場合は、名前にドライブを指定 Variable: する必要があります。 この記事では、Variable コマンドレットの使用 については 説明していません。
注意
PowerShell 式パーサーを使用して、コマンドレットを使用せずに変数の値を作成、表示、変更することもできます。 変数を直接操作する場合は、ドル記号 ($) を使用して名前を変数として識別し、代入演算子 (=) を使用してその値を確立して変更します。 たとえば、 は $p = Get-Process 変数を作成 p し、コマンドの結果を格納 Get-Process します。
このプロバイダーによって公開される型
変数は、複数の異なる型の 1 つを指定できます。 ほとんどの変数は、 クラスのインスタンス PSVariable になります。 その他の変数とその型を以下に示します。
- 変数
?は クラスのインスタンスQuestionMarkVariableです。 - 変数
nullは クラスのインスタンスNullVariableです。 - 最大カウント変数は、 クラスのインスタンス
SessionStateCapacityVariableです。 LocalVariableインスタンスには、次のような現在の実行に関する情報が含まれている。MyInvocationPSCommandPathPSScriptRootPSBoundParametersargsinput
変数ドライブの移動
変数 プロバイダー は、ドライブ内のデータ ストアを公開 Variable: します。 変数を使用するには、場所 Variable: をドライブ () に変更するか、Set-Location Variable:他の PowerShell ドライブから作業できます。 別の場所から変数を参照するには、パスでドライブ名 (Variable:) を使用します。
Set-Location Variable:
ファイル システム ドライブに戻るには、ドライブ名を入力します。 たとえば、次のように入力します。
Set-Location C:
他の PowerShell ドライブ から変数 プロバイダーを使用できます。 別の場所から変数を参照するには、パスでドライブ名 Variable: を使用します。
注意
PowerShell ではエイリアスを使用して、プロバイダー パスを使い慣れた方法を使用できます。 や などのコマンドdirはls、Get-ChildItemcd のエイリアスとして、Set-Location のエイリアスになります。 と pwd は Get-Location のエイリアスです。
変数の値の表示
現在のセッション内のすべての変数を取得する
このコマンドは現在のセッションのすべての変数とその値の一覧を取得します。 このコマンドは、任意の PowerShell ドライブから使用できます。
Get-ChildItem -Path Variable:
プロバイダー パスを使用して変数を取得する
このコマンドは、ドル記号 () が付いたプロバイダー パスを使用して変数値を取得します$。 これは、変数名の前にドル記号 () を付け取るのと同じ効果があります$。
$variable:home
ワイルドカードを使用して変数を取得する
このコマンドは「max」で始まる名前を持つ変数を取得します。 このコマンドは、任意の PowerShell ドライブから使用できます。
Get-ChildItem -Path Variable:max*
の値を取得します。 変数
このコマンドは、-LiteralPathGet-ChildItem の パラメーターを使用して、ドライブ?内から変数の値を取得Variable:します。 は ? パス内のワイルドカードですが Get-ChildItem 、 パラメーターの値内のワイルドカードの解決は試み -LiteralPath ではありません。
Get-ChildItem -Literalpath ?
ReadOnly 変数と定数変数を取得する
このコマンドは、Options プロパティの または の値 ReadOnly を持つ Constant 変数 を取得 します。
Get-ChildItem -Path Variable: | Where-Object {
$_.options -Match "Constant" `
-or $_.options -Match "ReadOnly"
} | Format-List -Property name, value, options
変数の作成
新しい変数を作成する
このコマンドは変数を作成 services し、コマンドの結果を格納 Get-Service します。 現在の場所はドライブVariable:``-Path内にあるため、 パラメーターの値はドット (.) で、現在の場所を表します。
コマンドを囲むかっこを Get-Service 使用すると、変数が作成される前にコマンドが実行されます。 括弧がない場合、新しい変数の値は文字列「Get-Service」です。
New-Item -Path . -Name services -Value (Get-Service)
絶対パスを使用して変数を作成する
このコマンドは変数を services 作成し、その中にコマンドの結果 Get-Service を格納します。
New-Item -Path Variable:services -Value Get-Service
値なしで変数を作成するには、代入演算子を省略します。
変数の変更
変数の名前を変更する
このコマンドは、 コマンドレット Rename-Item を使用して変数の名前を に a 変更します processes。
Rename-Item -Path Variable:a -NewName processes
変数の値を変更する
このコマンドでは、 コマンドレット Set-Item を使用して、変数の値を ErrorActionPreference "Stop" に変更します。
Set-Item -Path Variable:ErrorActionPreference -Value Stop
変数をコピーする
このコマンドは、 コマンドレットを Copy-Item 使用して変数を processes にコピーします old_processes。 これにより、 変数と同じ値を old_processes 持つ という名前の新しい変数が作成 processes されます。
Copy-Item -Path Variable:processes -Destination Variable:old_processes
変数の削除
このコマンドは、現在の serv セッションから変数を削除します。 このコマンドは、任意の PowerShell ドライブで使用できます。
Remove-Variable -Path Variable:serv
-Force パラメーターを使用して変数を削除する
このコマンドは、 Options プロパティの値が である変数を除き、現在のセッションからすべての変数を削除します Constant。 パラメーターを-Force指定しない場合、Options プロパティの値が である変数は削除されますReadOnly。
Remove-Item Variable:* -Force
変数の値を NULL に設定する
このコマンドは、 コマンドレット Clear-Item を使用して変数の値を processes NULL に変更します。
Clear-Item -Path Variable:processes
パイプラインの使用
プロバイダー コマンドレットは、パイプライン入力を受け入れる。 パイプラインを使用すると、あるコマンドレットから別のプロバイダー コマンドレットにプロバイダー データを送信することで、タスクを簡略化できます。 プロバイダー コマンドレットでパイプラインを使用する方法の詳細については、この記事全体で提供されるコマンドレットのリファレンスを参照してください。
ヘルプの表示
Windows PowerShell 3.0 より、プロバイダー コマンドレットのためにカスタマイズされたヘルプ トピックを取得できます。これはファイル システム ドライブでのプロバイダー コマンドレットの動作を説明します。
ファイル システム ドライブ用にカスタマイズされたヘルプ トピックを取得するには、ファイル システム ドライブで Get-Help -Path コマンドを実行するか、 Get-Help の パラメーターを使用してファイル システム ドライブを指定します。
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path variable:
関連項目
フィードバック
フィードバックの送信と表示