Set-Alias
現在の Windows PowerShell セッションでコマンドレットまたはその他のコマンド要素のエイリアス (別名) を作成または変更します。
構文
Set-Alias [-Name] <string> [-Value] <string> [-Description <string>] [-Force] [-Option {<None> | <ReadOnly> | <Constant> | <Private> | <AllScope>}] [-PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>]
説明
Set-Alias コマンドレットは、コマンドレットやコマンドの要素 (関数、スクリプト、ファイル、実行可能ファイルなど) のエイリアス (別名) を作成または変更します。また、Set-Alias を使用すると、現在のエイリアスの新しいコマンドへの再割り当てや、説明などのようなエイリアスのプロパティの変更を行うことができます。エイリアスを Windows PowerShell プロファイルに追加しない限り、エイリアスに加えられた変更は、セッションまたは Windows PowerShell の終了時に失われてしまいます。
パラメーター
-Description <string>
エイリアスについての説明を指定します。任意の文字列が入力可能です。説明にスペースが含まれる場合は、スペースを二重引用符で囲みます。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Force
このコマンドレットが読み取り専用エイリアスを設定するのを許可します。読み取り専用エイリアスを作成するには、Option パラメーターを使用します。Force パラメーターを使用して定数のエイリアスを設定することはできません。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Name <string>
新しいエイリアスを指定します。エイリアス名には任意の英数字を使用できますが、数字で始めることはできません。
必須 |
true |
位置 |
1 |
既定値 |
|
パイプライン入力を許可する |
true (ByPropertyName) |
ワイルドカード文字を許可する |
false |
-Option <ScopedItemOptions>
エイリアスの Options プロパティの値を設定します。
有効な値は次のとおりです。
-- None: オプションを設定しません (既定値)。
-- ReadOnly: Force パラメーターを使用しない限り、エイリアスのプロパティは変更できません。Remove-Item を使用すると、エイリアスを削除できます。
-- Constant: エイリアスは削除できず、プロパティは変更できません。Constant を指定できるのは、エイリアスを作成するときのみです。既存のエイリアスのオプションを Constant に変更することはできません。
-- Private: Scope パラメーターで指定されたスコープ内でのみ、エイリアスを使用できます。それ以外のスコープでは表示されません。
-- AllScope: エイリアスは、新たに作成されるすべてのスコープにコピーされます。
エイリアスの Options プロパティを確認するには、「get-alias | Format-Table -property Name, Definition, Options -autosize」と入力します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-PassThru
エイリアスを表すオブジェクトを返します。既定では、このコマンドレットによる出力はありません。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Scope <string>
このエイリアスが有効なスコープを指定します。指定可能な値は、Global、Local、Script、または現在のスコープの相対的な数値 (0 ~スコープの数。ここで 0 は現在のスコープを表し、1 はその親を表す) です。既定値は Local です。詳細については、「about_Scopes」を参照してください。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Value <string>
エイリアスの作成対象とするコマンドレットまたはコマンド要素の名前を指定します。
必須 |
true |
位置 |
2 |
既定値 |
|
パイプライン入力を許可する |
true (ByPropertyName) |
ワイルドカード文字を許可する |
false |
-Confirm
コマンドを実行する前に確認メッセージを表示します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-WhatIf
実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
なし パイプを使用してこのコマンドレットに入力を渡すことはできません。 |
出力 |
なし、または System.Management.Automation.AliasInfo PassThru パラメーターを使用すると、Set-Alias はエイリアスを表す System.Management.Automation.AliasInfo オブジェクトを生成します。それ以外の場合、このコマンドレットによる出力はありません。 |
注
エイリアスは、コマンドレットまたはコマンド要素の別名またはニックネームです。コマンドレットを実行するには、コマンドレットの完全な名前または有効なエイリアスを使用します。詳細については、「about_Aliases」を参照してください。
新しいエイリアスを作成するには、Set-Alias または New-Alias を使用します。エイリアスを削除するには、Remove-Item を使用します。
コマンドレットには複数のエイリアスを設定できますが、エイリアスは一度に 1 つのコマンドレットとのみ関連付けることができます。set-alias を使用してエイリアスを別のコマンドレットと関連付けると、元のコマンドレットとの関連付けは解除されます。
コマンドレットのエイリアスを作成することは可能ですが、パラメーターおよび値を持つコマンドのエイリアスは作成できません。たとえば、Set-Location のエイリアスは作成できますが、"Set-Location C:\Windows\System32" のエイリアスは作成できません。コマンドのエイリアスを作成するには、コマンドを含む関数を作成し、その関数のエイリアスを作成します。
あるセッションのエイリアスを保存し、別のセッションで使用するには、Windows PowerShell プロファイルに set-alias コマンドを追加します。既定では、プロファイルはありません。$profile 変数に保存されているパスにプロファイルを作成するには、「new-item -type file -force $profile」と入力します。$profile 変数の値を確認するには、「$profile」と入力します。
また、Export-Alias を使用してセッションのエイリアスをファイルにコピーし、Import-Alias を使用して新しいセッション用のエイリアス一覧に追加するという方法でエイリアスを保存することもできます。
Set-Alias は、その組み込みエイリアスである "sal" で参照することもできます。詳細については、「about_Aliases」を参照してください。
例 1
C:\PS>set-alias -name list -value get-childitem
説明
-----------
このコマンドは、Get-ChildItem コマンドレットのエイリアス "list" を作成します。エイリアスを作成した後は、コマンドラインおよびスクリプトで "Get-ChildItem" の代わりに "list" を使用できます。
例 2
C:\PS>set-alias list get-location
説明
-----------
このコマンドは、"list" エイリアスを Get-Location コマンドレットと関連付けます。"list" が Get-Location 以外のコマンドレットのエイリアスである場合、このコマンドはその関連付けを変更し、Get-Location のみのエイリアスになるようにします。
このコマンドは前の例のコマンドと同じ形式を使用していますが、オプション パラメーターである -Name と -Value が省略されています。パラメーター名を省略する場合、そのパラメーターの値はコマンドで指定されている順序に合わせる必要があります。この場合、-Name の値 ("list") は最初のパラメーター、-Value の値 ("get-location") は 2 番目のパラメーターにする必要があります。
例 3
C:\PS>set-alias scrub remove-item -option readonly -passthru | format-list
説明
-----------
このコマンドは、"scrub" エイリアスを Remove-Item コマンドレットと関連付けます。エイリアスが削除されたり、別のコマンドレットに割り当てられたりしないようにするため、"ReadOnly" オプションを指定しています。
PassThru パラメーターを使用することによって、パイプラインを介して新しいエイリアスを表すオブジェクトを Format-List コマンドレットに渡すよう Windows PowerShell に指示しています。PassThru パラメーターが省略された場合、このコマンドレットの出力は (一覧形式でもその他の形式でも) 表示されません。
例 4
C:\PS>Set-Alias np c:\windows\notepad.exe
説明
-----------
このコマンドは、"np" エイリアスをメモ帳の実行可能ファイルと関連付けます。このコマンドの完了後、「np」と入力するだけで WindowsPowerShell コマンド ラインからメモ帳を起動できます。
この例は、コマンドレット以外でも実行可能なファイルおよび要素のエイリアスが作成できることを示しています。
このコマンドをさらに汎用的にするには、C\Windows ディレクトリを表す "Windir" 環境変数 (${env:windir}) を使用します。この汎用バージョンは、"set-alias np ${env:windir}\notepad.exe" となります。
例 5
C:\PS>function CD32 {set-location c:\windows\system32}
C:\PS>set-alias go cd32
説明
-----------
これらのコマンドは、パラメーターを持つコマンド、さらには多数のコマンドで構成されたパイプラインにエイリアスを割り当てる方法を示しています。
コマンドレットのエイリアスを作成することは可能ですが、コマンドレットとそのパラメーターで構成されるコマンドのエイリアスは作成できません。ただし、そのコマンドを関数またはスクリプト内に配置すると、便利な関数またはスクリプト名を作成し、その関数またはスクリプトに 1 つまたは複数のエイリアスを作成することができます。
この例では、"set-location c:\windows\system32" のエイリアスを作成します。ここで、"set-location" はコマンドレット、"C:\Windows\System32" は Path パラメーターの値です。
これを行うため、最初のコマンドは Set-Location コマンドを含む "CD32" という名前の関数を作成します。
2 番目のコマンドは、CD32 関数のエイリアス "go" を作成します。これで、Set-Location コマンドを実行するには「CD32」または「go」のいずれかを入力するだけで済みます。