关于别名

简短说明

介绍如何在 PowerShell 中使用 cmdlet 和命令的备用名称。

详细说明

别名是 cmdlet 或命令元素(例如函数、脚本、文件或可执行文件)的备用名称或别名。 可以在任何 PowerShell 命令中使用别名,而不是命令名称。

若要创建别名,请使用 New-Alias cmdlet。 例如,以下命令为 Get-AuthenticodeSignature cmdlet 创建“gas”别名:

New-Alias -Name gas -Value Get-AuthenticodeSignature

为 cmdlet 名称创建别名后,可以使用别名而不是 cmdlet 名称。 例如,若要获取SqlScript.ps1文件的 Authenticode 签名,请键入:

Get-AuthenticodeSignature SqlScript.ps1

或者,键入:

gas SqlScript.ps1

如果创建“word”作为 Microsoft Office Word 的别名,可以键入“word”,而不是键入以下内容:

"C:\Program Files\Microsoft Office\Office11\Winword.exe"

内置别名

PowerShell 包括一组内置别名,包括 Set-Location cmdlet 的“cd”和“chdir”,Get-ChildItem cmdlet 的“ls”和“dir”。

若要获取计算机上的所有别名,包括内置别名,请键入:

Get-Alias

别名 CMDLET

PowerShell 包括以下 cmdlet,这些 cmdlet 专为使用别名而设计:

  • Get-Alias - 获取当前会话中的所有别名。
  • New-Alias - 创建新的别名。
  • Set-Alias - 创建或更改别名。
  • Export-Alias - 将一个或多个别名导出到文件。
  • Import-Alias - 将别名文件导入 PowerShell。

有关 cmdlet 的详细信息,请键入:

Get-Help <cmdlet-Name> -Detailed

例如,键入:

Get-Help Export-Alias -Detailed

创建别名

若要创建新的别名,请使用 New-Alias cmdlet。 例如,若要为 Get-Help 创建“gh”别名,请键入:

New-Alias -Name gh -Value Get-Help

可以在命令中使用别名,就像使用完整的 cmdlet 名称一样,还可以将别名与参数一起使用。

例如,若要获取Get-WmiObject cmdlet 的详细帮助,请键入:

Get-Help Get-WmiObject -Detailed

或者,键入:

gh Get-WmiObject -Detailed

保存别名

创建的别名仅保存在当前会话中。 若要在不同的会话中使用别名,请将别名添加到 PowerShell 配置文件。 或者,使用 Export-Alias cmdlet 将别名保存到文件中。

有关详细信息,请键入:

Get-Help about_Profiles

获取别名

若要获取当前会话中的所有别名,包括内置别名、PowerShell 配置文件中的别名以及你在当前会话中创建的别名,请键入:

Get-Alias

若要获取特定别名,请使用 Get-Alias cmdlet 的 Name 参数。 例如,若要获取以“p”开头的别名,请键入:

Get-Alias -Name p*

若要获取特定项的别名,请使用 Definition 参数。 例如,若要获取Get-ChildItem cmdlet 类型的别名:

Get-Alias -Definition Get-ChildItem

GET-ALIAS 输出

Get-Alias仅返回一种类型的对象:AliasInfo 对象 (System.Management.Automation.AliasInfo) 。 不包含连字符的别名的名称,如“cd”以以下格式显示:

Get-Alias ac
CommandType     Name                    Version    Source
-----------     ----                    -------    ------
Alias           ac -> Add-Content

这使你能够快速轻松地获取所需的信息。

基于箭头的别名名称格式不适用于含有连字符的别名。 这些名称可能是 cmdlet 和函数的首选替换名称,而不是典型的缩写或昵称,作者可能不希望它们明显。

具有参数的命令的备用名称

可以将别名分配给 cmdlet、脚本、函数或可执行文件。 不能为命令及其参数分配别名。 例如,可以将别名分配给 Get-Eventlog cmdlet,但不能向 Get-Eventlog -LogName System 命令分配别名。

可以创建包含命令的函数。 若要创建函数,请键入单词“function”,后跟函数的名称。 键入命令,并将其括在大括号 ({}) 中。

例如,以下命令创建 syslog 函数。 此函数表示 Get-Eventlog -LogName System 命令:

function Get-SystemEventlog {Get-Eventlog -LogName System}
Set-Alias -Name syslog -Value Get-SystemEventlog

现在可以键入“syslog”而不是命令。 还可以为新函数创建别名。

有关函数的详细信息,请键入:

Get-Help about_Functions

ALIAS 对象

PowerShell 别名由 System.Management.Automation.AliasInfo 类的实例的对象表示。 有关此类对象的详细信息,请参阅 PowerShell SDK 中的 AliasInfo 类

若要查看别名对象的属性和方法,请获取别名。 然后,通过管道将它们传递给 Get-Member cmdlet。 例如:

Get-Alias | Get-Member

若要查看特定别名(如 dir 别名)的属性的值,请获取别名。 然后,通过管道将它传递给 Format-List cmdlet。 例如,以下命令获取“dir”别名。 接下来,命令通过管道将别名传递给 Format-List cmdlet。 然后,该命令使用带有通配符的 Format-List 属性参数 (*) 显示别名的所有属性 dir 。 以下命令执行以下任务:

Get-Alias -Name dir | Format-List -Property *

PowerShell 别名提供程序

PowerShell 包括别名提供程序。 别名提供程序允许你在 PowerShell 中查看别名,就像它们位于文件系统驱动器上一样。

别名提供程序公开别名:驱动器。 若要进入别名:驱动器,请键入:

Set-Location Alias:

若要查看驱动器的内容,请键入:

Get-ChildItem

若要从另一个 PowerShell 驱动器查看驱动器的内容,请使用驱动器名称开始路径。 包括冒号 (:) 。 例如:

Get-ChildItem -Path Alias:

若要获取有关特定别名的信息,请键入驱动器名称和别名。 或者,键入名称模式。 例如,若要获取以“p”开头的所有别名,请键入:

Get-ChildItem -Path Alias:p*

有关 PowerShell 别名提供程序的详细信息,请键入:

Get-Help Alias

另请参阅