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 プロパティ値を設定します。 意図しない変更からエイリアスを保護するなどのReadOnlyConstant値。 セッション内のすべてのエイリアスの 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

既定では、このコマンドレットは出力を返しません。

AliasInfo

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します。