Set-Alias
現在の PowerShell セッションでコマンドレットまたはその他のコマンドのエイリアスを作成または変更します。
構文
Set-Alias
[-Name] <string>
[-Value] <string>
[-Description <string>]
[-Option <ScopedItemOptions>]
[-PassThru]
[-Scope <string>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Set-Alias
コマンドレットは、関数、スクリプト、ファイル、その他の実行可能ファイルなどのコマンドレットまたはコマンドのエイリアスを作成または変更します。 エイリアスは、コマンドレットまたはコマンドを参照する代替名です。 たとえば、 sal
は、 Set-Alias
コマンドレットのエイリアスです。 詳細については、「about_Aliases」を参照してください。
コマンドレットは複数のエイリアスを持つことができますが、エイリアスは 1 つのコマンドレットにのみ関連付けることができます。
Set-Alias
を使用して、既存のエイリアスを別のコマンドレットに再割り当てしたり、エイリアスのプロパティ (説明など) を変更したりできます。
Set-Alias
によって作成または変更されたエイリアスは永続的ではなく、現在の PowerShell セッション中にのみ使用できます。 PowerShell セッションが閉じられると、エイリアスが削除されます。
例
例 1: コマンドレットのエイリアスを作成する
このコマンドは、現在の PowerShell セッションでコマンドレットのエイリアスを作成します。
PS> Set-Alias -Name list -Value Get-ChildItem
PS> Get-Alias -Name list
CommandType Name
----------- ----
Alias list -> Get-ChildItem
Set-Alias
コマンドレットは、現在の PowerShell セッションにエイリアスを作成します。
Name パラメーターは、エイリアスの名前 (list
) を指定します。
Value パラメーターは、エイリアスを実行するコマンドレットを指定します。
エイリアスを実行するには、PowerShell コマンド ラインで「 list
」と入力します。
例 2: 既存のエイリアスを別のコマンドレットに再割り当てする
このコマンドは、別のコマンドレットを実行するために既存のエイリアスを再割り当てします。
PS> Get-Alias -Name list
CommandType Name
----------- ----
Alias list -> Get-ChildItem
PS> Set-Alias -Name list -Value Get-Location
PS> Get-Alias -Name list
CommandType Name
----------- ----
Alias list -> Get-Location
Get-Alias
コマンドレットは、Name パラメーターを使用して、list
エイリアスを表示します。
list
エイリアスは、Get-ChildItem
コマンドレットに関連付けられています。
list
エイリアスを実行すると、現在のディレクトリ内の項目が表示されます。
Set-Alias
コマンドレットは、Name パラメーターを使用して、list
エイリアスを指定します。
Value パラメーターは、エイリアスを Get-Location
コマンドレットに関連付けます。
Get-Alias
コマンドレットは、Name パラメーターを使用して、list
エイリアスを表示します。
list
エイリアスは、Get-Location
コマンドレットに関連付けられています。
list
エイリアスを実行すると、現在のディレクトリの場所が表示されます。
例 3: 読み取り専用エイリアスを作成および変更する
このコマンドは、読み取り専用のエイリアスを作成します。 読み取り専用オプションは、エイリアスに対する意図しない変更を防ぎます。 読み取り専用エイリアスを変更または削除するには、 Force パラメーターを使用します。
Set-Alias -Name loc -Value Get-Location -Option ReadOnly -PassThru |
Format-List -Property *
DisplayName : loc -> Get-Location
Definition : Get-Location
Options : ReadOnly
Description :
Name : loc
CommandType : Alias
$Parameters = @{
Name = 'loc'
Value = (Get-Location)
Option = 'ReadOnly'
Description = 'Displays the current directory'
Force = $true
PassThru = $true
}
Set-Alias @Parameters | Format-List -Property *
DisplayName : loc -> Get-Location
Definition : Get-Location
Options : ReadOnly
Description : Displays the current directory
Name : loc
CommandType : Alias
Set-Alias
コマンドレットは、現在の PowerShell セッションにエイリアスを作成します。
Name パラメーターは、エイリアスの名前 (loc
) を指定します。
Value パラメーターは、エイリアスを実行するGet-Location
コマンドレットを指定します。
Option パラメーターは、ReadOnly 値を指定します。
PassThru パラメーターはエイリアス オブジェクトを表し、パイプラインの下にあるオブジェクトを Format-List
コマンドレットに送信します。
Format-List
では、 Property パラメーターとアスタリスク (*
) を使用して、すべてのプロパティが表示されます。 出力例は、これらのプロパティの一部の一覧を示しています。
loc
エイリアスは、2 つのパラメーターを追加して変更されます。
説明 エイリアスの目的を説明するテキストを追加します。
エイリアスは読み取り専用であるため、loc
パラメーターが必要です。
Force パラメーターを使用しない場合、変更は失敗します。
例 4: 実行可能ファイルのエイリアスを作成する
次の使用例は、ローカル コンピューター上の実行可能ファイルのエイリアスを作成します。
PS> Set-Alias -Name np -Value C:\Windows\notepad.exe
PS> Get-Alias -Name np
CommandType Name
----------- ----
Alias np -> notepad.exe
Set-Alias
コマンドレットは、現在の PowerShell セッションにエイリアスを作成します。
Name パラメーターは、エイリアスの名前 (np
) を指定します。
Value パラメーターは、パスとアプリケーション名のC:\Windows\notepad.exe
を指定します。
Get-Alias
コマンドレットは、Name パラメーターを使用して、np
エイリアスがnotepad.exe
に関連付けられていることを示します。
エイリアスを実行するには、PowerShell コマンド ラインに「 np
」と入力して、 notepad.exe
を開きます。
例 5: パラメーターを使用してコマンドの別名を作成する
この例では、パラメーターを使用してコマンドにエイリアスを割り当てる方法を示します。
Set-Location
などのコマンドレットのエイリアスを作成できます。
Set-Location -Path C:\Windows\System32
などのパラメーターと値を持つコマンドのエイリアスを作成することはできません。 コマンドのエイリアスを作成するには、コマンドを含む関数を作成し、その関数のエイリアスを作成します。 詳細については、 about_Functionsを参照してください。
Function CD32 {Set-Location -Path C:\Windows\System32}
Set-Alias -Name Go -Value CD32
CD32
という名前の関数が作成されます。 この関数では、 Set-Location
コマンドレットと Path パラメーターを使用して、ディレクトリ C:\Windows\System32
を指定します。
Set-Alias
コマンドレットは、現在の PowerShell セッションで関数のエイリアスを作成します。
Name パラメーターは、エイリアスの名前 (Go
) を指定します。
Value パラメーターは、関数の名前 (CD32
) を指定します。
エイリアスを実行するには、PowerShell コマンド ラインで「 Go
」と入力します。
CD32
関数が実行され、ディレクトリ C:\Windows\System32
に変更されます。
例 6: 既存のエイリアスのオプションを更新する
この例では、 Option パラメーターを使用して複数のオプションを割り当てる方法を示します。
前の例から続けて、エイリアス Go
を ReadOnly
および Private
として設定します。
Set-Alias -Name Go -Option ReadOnly, Private
エイリアス Go
は既に存在している必要があります。 コマンドを実行した後は、 Force パラメーターを使用しないとエイリアスを変更できません。現在のスコープでのみ使用できます。
パラメーター
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Description
エイリアスの説明を指定します。 任意の文字列を入力できます。 説明にスペースが含まれている場合は、単一引用符で囲みます。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Force
Force パラメーターを使用して、Option パラメーターが ReadOnly に設定されているエイリアスを変更または削除します。
Force パラメーターは、Option パラメーターを Constant に設定してエイリアスを変更または削除することはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Name
新しいエイリアスの名前を指定します。 エイリアス名には、英数字とハイフンを含めることができます。 エイリアス名を数値にすることはできません (123 など)。
型: | String |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Option
エイリアスの Option プロパティ値を設定します。
ReadOnly
やConstant
などの値は、意図しない変更からエイリアスを保護します。 セッション内のすべてのエイリアスの Option プロパティを表示するには、「 Get-Alias | Format-Table -Property Name, Options -AutoSize
」と入力します。
このパラメーターに使用できる値は次のとおりです。
-
AllScope
- エイリアスは、作成された新しいスコープにコピーされます。 -
Constant
- 変更または削除できません。 -
None
- オプションを設定せず、既定値です。 -
Private
- エイリアスは、現在のスコープでのみ使用できます。 -
ReadOnly
- Force パラメーターを使用しない限り、変更または削除できません。 Unspecified
これらの値は、フラグ ベースの列挙体として定義されます。 このパラメーターを使用して、複数の値を組み合わせて複数のフラグを設定できます。 値は、 Option パラメーターに値の配列として、またはそれらの値のコンマ区切り文字列として渡すことができます。 このコマンドレットは、バイナリ OR 操作を使用して値を結合します。 配列として値を渡すことは最も簡単なオプションであり、値にタブ補完を使用することもできます。
型: | ScopedItemOptions |
指定可能な値: | AllScope, Constant, None, Private, ReadOnly, Unspecified |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PassThru
エイリアスを表すオブジェクトを返します。 オブジェクトを表示するには、 Format-List
などのフォーマット コマンドレットを使用します。 既定では、 Set-Alias
は出力を生成しません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Scope
このエイリアスが有効なスコープを指定します。 既定値は Local です。 詳細については、「 about_Scopes」を参照してください。
許容される値は次のとおりです。
Global
Local
Private
Numbered scopes
Script
型: | String |
指定可能な値: | Global, Local, Private, Numbered scopes, Script |
配置: | Named |
規定値: | Local |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Value
エイリアスを実行するコマンドレットまたはコマンドの名前を指定します。 Value パラメーターは、エイリアスの Definition プロパティです。
型: | String |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
None
既定では、このコマンドレットは出力を返しません。
PassThru パラメーターを使用すると、このコマンドレットはエイリアスを表す AliasInfo オブジェクトを返します。
メモ
PowerShell には、 Set-Alias
の次のエイリアスが含まれています。
- すべてのプラットフォーム:
sal
PowerShell には、各 PowerShell セッションで使用できる組み込みのエイリアスが含まれています。
Get-Alias
コマンドレットは、PowerShell セッションで使用可能なエイリアスを表示します。
エイリアスを作成するには、コマンドレット Set-Alias
または New-Alias
を使用します。 PowerShell 6 でエイリアスを削除するには、 Remove-Alias
コマンドレットを使用します。
Remove-Item
は、以前のバージョンの PowerShell で作成されたスクリプトなど、下位互換性のために受け入れられます。
Remove-Item -Path Alias:AliasName
などのコマンドを使用します。
各 PowerShell セッションで使用できるエイリアスを作成するには、それを PowerShell プロファイルに追加します。 詳細については、「about_Profiles」を参照してください。
エイリアスは、エクスポートとインポートを行うことで、別の PowerShell セッションで保存および再利用できます。 エイリアスをファイルに保存するには、 Export-Alias
を使用します。 保存したエイリアスを新しい PowerShell セッションに追加するには、 Import-Alias
を使用します。
関連リンク
PowerShell