Alias プロバイダー
適用対象: Windows PowerShell 4.0, Windows PowerShell 5.0
プロバイダー名
エイリアス
ドライブ
エイリアス:
概要
Windows PowerShell エイリアスとそれが表す値へのアクセスを提供します。
詳細説明
Windows PowerShell Alias プロバイダーでは、Windows PowerShell のエイリアスを取得、追加、変更、消去、削除できます。
エイリアスはコマンドレット、関数、実行可能ファイルの別名です。Windows PowerShell には一連のエイリアスが備わっています。また、独自のエイリアスを現在のセッションと Windows PowerShell プロファイルに追加できます。
Alias プロバイダーはエイリアス オブジェクトのみが含まれるフラットな名前空間です。エイリアスに子項目はありません。
各エイリアスは System.Management.Automation.AliasInfo クラスのインスタンスです。
Alias プロバイダーは Alias: ドライブでそのデータ ストアを公開します。エイリアスを使用するには、次のコマンドを利用し、場所を Alias: ドライブに変更します。
set-location alias:
あるいは、他の Windows PowerShell ドライブから使用できます。別の場所からエイリアスを参照するには、パスに Alias: ドライブ名を使用します。
Windows PowerShell には、エイリアスを表示したり、変更したりするための一連のコマンドレットがあります。
Export-Alias
Get-Alias
Import-Alias
New-Alias
Set-Alias
これらのコマンドレットを使用するとき、名前に Alias: ドライブを指定する必要はありません。
Alias プロバイダーは、Invoke-Item コマンドレットを除き、名詞「Item」を含むすべてのコマンドレットをサポートします。また、Get-Content コマンドレットと Set-Content コマンドレットをサポートします。Alias プロバイダーは名詞「ItemProperty」を含むコマンドレットをサポートしません。また、Alias プロバイダーはあらゆるコマンドレットで Filter パラメーターをサポートしません。
エイリアスを変更した場合、現在のセッションのみが影響を受けます。変更を保存するには、それを Windows PowerShell プロファイルに追加します。あるいは、Export-Alias コマンドレットと Import-Alias コマンドレットを使用します。
機能
ShouldProcess
例
Alias:ドライブに移動する
-------------------------- 例 1 --------------------------
このコマンドは現在の場所を Alias: ドライブに変更します。このコマンドは Windows PowerShell のあらゆるドライブから実行できます。ファイル システム ドライブに戻るには、ドライブ名を入力します。たとえば、「set-location c:」と入力します。
set-location alias:
エイリアスの取得
-------------------------- 例 1 --------------------------
このコマンドは現在のセッションのすべてのエイリアスの一覧を取得します。このコマンドはすべての Windows PowerShell ドライブで使用できます。
get-item -path alias:
-------------------------- 例 2 --------------------------
このコマンドはエイリアス「ls」を取得します。パスが含まれているため、すべての Windows PowerShell ドライブで使用できます。
get-item -path alias:ls
Alias: ドライブにいる場合、パスからドライブ名を省略できます。
-------------------------- 例 3 --------------------------
このコマンドは Get-ChildItem コマンドレットに関連付けられているエイリアスの一覧を取得します。コマンドレット名を格納する Definition プロパティを使用します。
get-item -path alias:* | where-object {$_.Definition -eq "Get-Childitem"}
エイリアス項目が実行可能ファイルのとき、Definition にはファイルの完全修飾パスが含まれます。
-------------------------- 例 4 --------------------------
このコマンドは現在の場所が Alias: ドライブであるすべてのエイリアスの一覧を取得します。ワイルドカード文字 (*) を使用し、現在の場所のすべてのコンテンツを指示します。
get-item -path *
Alias: ドライブでは、現在の場所を表すドット (.) と現在の場所の全項目を表すワイルドカード文字 (*) は同じように機能します。たとえば、「get-item -path .」と「get-item *」では同じ結果になります。
新しいエイリアスの作成
-------------------------- 例 1 --------------------------
このコマンドは Get-Service コマンドレットにエイリアス「serv」を作成します。現在の場所は Alias: ドライブにあるため、Path パラメーターの値はドット (.) です。ドットは現在の場所を表します。
このコマンドはまた、Options 動的パラメーターを使用し、エイリアスに AllScope オプションと Constant オプションを設定します。Options パラメーターは Alias: ドライブにいるときにのみ New-Item コマンドレットで利用できます。
new-item -path . -name serv -value Get-Service -Options "AllScope,Constant"
Alias: ドライブにいる場合、パスからドライブ名を省略できます。
-------------------------- 例 2 --------------------------
コマンドを呼び出す項目にエイリアスを作成できます。このコマンドは Notepad.exe にエイリアス「np」を作成します。
new-item -path alias:np -value c:\windows\notepad.exe
-------------------------- 例 3 --------------------------
あらゆる関数にエイリアスを作成できます。この機能を利用し、コマンドレットとそのパラメーターの両方を含むエイリアスを作成できます。
最初のコマンドは CD32 関数を作成します。この関数は現在のディレクトリを System32 ディレクトリに変更します。2 番目のコマンドは CD32 関数にエイリアス「go」を作成します。セミコロン (;) はコマンドの区切り記号です。
コマンドが完了すると、「CD32」と「go」のいずれかを使用してこの関数を呼び出すことができます。
function CD32 {set-location -path c:\windows\system32} set-item -path alias:go -value CD32
エイリアスのプロパティとメソッドの表示
-------------------------- 例 1 --------------------------
このコマンドは Get-Item コマンドレットを使用し、すべてのエイリアスを取得します。パイプライン演算子 (|) は結果を Get-Member コマンドレットに送信します。このコマンドレットがオブジェクトのメソッドとプロパティを表示します。
get-item -path alias:* | get-member
Alias: ドライブの一連のエイリアスなど、Get-Member に一連のオブジェクトをパイプで送ると、Get-Member はその中の各オブジェクトを個別に評価します。その後、Get-Member は見つかった各オブジェクト タイプの情報を返します。すべてのオブジェクトが同じ種類の場合、その 1 つのオブジェクト タイプに関する情報が返されます。この場合、すべてのエイリアスが AliasInfo オブジェクトです。一連の AliasInfo オブジェクトに関する情報を得るには、Get-Member の InputObject パラメーターを使用します。たとえば、次のコマンドレットを使用します。Get-Member -InputObject (Get-Item alias:*)InputObject を使用すると、Get-Member はコレクションのオブジェクトではなく、コレクションを評価します。
-------------------------- 例 2 --------------------------
このコマンドはエイリアス「dir」のプロパティの値を一覧表示します。このコマンドは Get-Item コマンドレットを使用し、エイリアス「dir」のプロパティを取得します。パイプライン演算子 (|) は結果を Format-List コマンドに送ります。Format-List コマンドは Property パラメーターとワイルドカード文字 (*) を使用し、すべての「dir」エイリアス プロパティの値を書式設定し、表示します。
get-item alias:dir | format-list -property *
エイリアスのプロパティの変更
-------------------------- 例 1 --------------------------
Set-Item コマンドレットと Options 動的パラメーターを使用し、エイリアスの Options プロパティの値を変更できます。
このコマンドはエイリアス「dir」の AllScope オプションと ReadOnly オプションを設定します。このコマンドは Set-Item コマンドレットの Options 動的パラメーターを使用します。Options パラメーターを Set-Item で使用できるのは、Alias プロバイダーまたは Function プロバイダーと共に使用した場合のみです。
set-item -path alias:dir -options "AllScope,ReadOnly"
-------------------------- 例 2 --------------------------
このコマンドは Set-Item コマンドレットを使用してエイリアス「gp」を変更します。その結果、Get-ItemProperty コマンドレットではなく、Get-Process コマンドレットを表します。「gp」エイリアスの Options プロパティの値が ReadOnly に設定されているため、Force パラメーターが必要になります。コマンドは Alias: ドライブ内から実行されるため、ドライブはパスに指定されません。
set-item -path gp -value get-process -force
この変更は、エイリアスとコマンドの関係を定義する 4 つのプロパティに影響を与えます。変更の結果を表示するには、次のコマンドを入力します。 get-item -path gp | format-list -property *
-------------------------- 例 3 --------------------------
このコマンドは Rename-Item コマンドレットを使用し、エイリアス「popd」を「pop」に変更します。
rename-item -path alias:popd -newname pop
エイリアスのコピー
-------------------------- 例 1 --------------------------
このコマンドは新しい push エイリアスが Push-Location コマンドレットに作成されるように pushd エイリアスをコピーします。
copy-item -path alias:pushd -destination alias:push
新しいエイリアスが作成されると、Description プロパティに null 値が与えられます。また、その Option プロパティの値が None になります。コマンドを Alias: ドライブ内から実行する場合、Path パラメーターの値からドライブ名を省略できます。
エイリアスの削除
-------------------------- 例 1 --------------------------
このコマンドは現在のセッションから serv エイリアスを削除します。このコマンドはすべての Windows PowerShell ドライブで使用できます。
remove-item -path alias:serv
Alias: ドライブにいる場合、パスからドライブ名を省略できます。
-------------------------- 例 2 --------------------------
このコマンドは「s」で始まるエイリアスを削除します。読み取り専用のエイリアスは削除されません。
clear-item -path alias:s*
-------------------------- 例 3 --------------------------
このコマンドは現在のセッションからすべてのエイリアスを削除します。Options プロパティの値が Constant になっているものは除きます。Force パラメーターがない場合、このコマンドでは Options プロパティの値が ReadOnly のエイリアスは削除されません。
remove-item alias:* -force
動的パラメーター
動的パラメーターとは、Windows PowerShell プロバイダーによって追加されるコマンドレット パラメーターであり、プロバイダーに対応したドライブでコマンドレットが使用されている場合のみ利用できます。
Options <System.Management.Automation.ScopedItemOptions>
エイリアスの Options プロパティの値を決定します。
値 | 説明 |
---|---|
None |
オプションはありません。この値は既定値です。 |
Constant |
エイリアスは削除できず、そのプロパティは変更できません。Constant はエイリアスを作成したときにのみ利用できます。既存エイリアスのオプションを Constant に変更することはできません。 |
Kirkland |
エイリアスは現在の範囲でのみ表示されます。子の範囲では表示されません。 |
ReadOnly |
Force パラメーターの使用時を除き、エイリアスのパラメーターは変更できません。Remove-Item を使用し、エイリアスを削除できます。 |
AllScope |
エイリアスは、新たに作成されるすべてのスコープにコピーされます。 |