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 つのパラメーターを追加して変更されます。 Description は、エイリアスの目的を説明するテキストを追加します。 エイリアスが読み取り専用であるためloc
、Force パラメーターが必要です。 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
関数が作成されます。 この関数は、Path パラメーターと共にSet-Location
コマンドレットを使用してディレクトリ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
コマンドレットの実行前に確認を求めるメッセージが表示されます。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
エイリアスの説明を指定します。 任意の文字列を入力できます。 説明にスペースが含まれている場合は、単一引用符で囲みます。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Option パラメーターが ReadOnly に設定されているエイリアスを変更または削除するには、Force パラメーターを使用します。
Force パラメーターは、Option パラメーターを Constant に設定してエイリアスを変更または削除することはできません。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
新しいエイリアスの名前を指定します。 エイリアス名には、英数字とハイフンを含めることができます。 エイリアス名を数値にすることはできません (123 など)。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Option
エイリアスの Option プロパティ値を設定します。 意図しない変更からエイリアスを保護するなどのReadOnly
Constant
値。 セッション内のすべてのエイリアスの Option プロパティを表示するには、「.」と入力しますGet-Alias | Format-Table -Property Name, Options -Autosize
。
このパラメーターに使用できる値は次のとおりです。
AllScope
- エイリアスは、作成された新しいスコープにコピーされます。Constant
- 変更または削除できません。None
- オプションを設定せず、既定値です。Private
- エイリアスは、現在のスコープでのみ使用できます。ReadOnly
- Force パラメーターを使用しない限り、変更または削除できません。Unspecified
これらの値は、フラグ ベースの列挙体として定義されます。 このパラメーターを使用して、複数の値を組み合わせて複数のフラグを設定できます。 値は、値の 配列として、またはそれらの値のコンマ区切り文字列として Option パラメーターに渡すことができます。 このコマンドレットは、バイナリ OR 操作を使用して値を結合します。 配列として値を渡すことは最も簡単なオプションであり、値にタブ補完を使用することもできます。
Type: | ScopedItemOptions |
Accepted values: | AllScope, Constant, None, Private, ReadOnly, Unspecified |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
エイリアスを表すオブジェクトを返します。 オブジェクトを表示するなどの Format-List
形式コマンドレットを使用します。 既定では、 Set-Alias
出力は生成されません。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
このエイリアスが有効なスコープを指定します。 既定値は Local です。 詳細については、「about_Scopes」を参照してください。
許容される値は次のとおりです。
Global
Local
Private
Numbered scopes
Script
Type: | String |
Accepted values: | Global, Local, Private, Numbered scopes, Script |
Position: | Named |
Default value: | Local |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
エイリアスを実行するコマンドレットまたはコマンドの名前を指定します。 Value パラメーターは、エイリアスの Definition プロパティです。
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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