次の方法で共有


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 パラメーターを使用して複数のオプションを割り当てる方法を示します。

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

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

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