Get-Alias

获取当前会话的别名。

语法

Get-Alias
   [[-Name] <String[]>]
   [-Exclude <String[]>]
   [-Scope <String>]
   [<CommonParameters>]
Get-Alias
   [-Exclude <String[]>]
   [-Scope <String>]
   [-Definition <String[]>]
   [<CommonParameters>]

说明

Get-Alias cmdlet 会获取当前会话中的别名。 其中包括内置别名、已设置或导入的别名,以及已添加到 PowerShell 配置文件中的别名。

默认情况下,Get-Alias 接收别名并返回命令名称。 当使用 Definition 参数时,Get-Alias 接收命令名称并返回其别名。

从 Windows PowerShell 3.0 开始,Get-Alias 将以 <alias> -> <definition> 格式显示没有连字符的别名名称,以便可以更轻松地找到所需的信息。

示例

示例 1:获取当前会话中的所有别名

Get-Alias

CommandType     Name
-----------     ----
Alias           % -> ForEach-Object
Alias           ? -> Where-Object
Alias           ac -> Add-Content
Alias           asnp -> Add-PSSnapin
Alias           cat -> Get-Content
Alias           cd -> Set-Location
Alias           chdir -> Set-Location
Alias           clc -> Clear-Content
Alias           clear -> Clear-Host
Alias           clhy -> Clear-History
...

此命令获取当前会话中的所有别名。

该输出显示了在 Windows PowerShell 3.0 中引入的 <alias> -> <definition> 格式。 此格式仅适用于不含有连字符的别名,因为带有连字符的别名通常为 cmdlet 和函数(而不是昵称)的首选名称。

示例 2:按名称获取别名

Get-Alias -Name gp*, sp* -Exclude *ps

此命令获取了以 gp 或 sp 开头的所有别名,但以 ps 结尾的别名除外。

示例 3:获取 cmdlet 的别名

Get-Alias -Definition Get-ChildItem

此命令获取了 Get-ChildItem cmdlet 的别名。

默认情况下,Get-Alias cmdlet 可在你知道别名的情况下获取项名称。 Definition 参数可在你知道项名称的情况下获取别名。

示例 4:按属性获取别名

Get-Alias | Where-Object {$_.Options -Match "ReadOnly"}

此命令获取了所有 Options 属性值为 ReadOnly 的别名。 此命令提供了一种快速方法来查找内置于 PowerShell 中的别名,因为它们具有 ReadOnly 选项。

Options 只是 Get-Alias 所获取的 AliasInfo 对象的属性之一。 要查找 AliasInfo 对象的所有属性和方法,请键入 Get-Alias | get-member

示例 5:按名称获取别名,并按首字母进行筛选

Get-Alias -Definition "*-PSSession" -Exclude e* -Scope Global

此示例获取所有以“-PSSession”结尾的命令别名,但以“e”开头的别名除外。

该命令使用 Scope 参数将命令应用到全局范围。 当你想要获取会话中的别名时,这对脚本比较有用。

参数

-Definition

获取指定项的别名。 输入 cmdlet、函数、脚本、文件或可执行文件的名称。

此参数名为 Definition,因为它会在别名对象的 Definition 属性中搜索项名称。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

忽略指定项。 此参数的值对 NameDefinition 参数进行限定。 输入名称、定义或模式,例如“s*”。 允许使用通配符。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Name

指定此 cmdlet 获取的别名。 允许使用通配符。 默认情况下,Get-Alias 会检索为当前会话所定义的所有别名。 参数名 (Name) 为可选项。 还可以通过管道将别名名称传递给 Get-Alias

Type:String[]
Position:0
Default value:All aliases
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Scope

指定此 cmdlet 获取别名的范围。 此参数的可接受值为:

  • Global
  • Local
  • Script
  • 一个相对于当前作用域的数字(0 到作用域数,其中 0 是指当前作用域,1 是指其父作用域)

Local 是默认值。 有关详细信息,请参阅 about_Scopes

Type:String
Position:Named
Default value:Local
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

String

可以通过管道将包含某个别名的字符串传递给此 cmdlet。

输出

AliasInfo

此 cmdlet 返回一个表示每个别名的对象。 它会为每个别名返回同一类型的对象,而 PowerShell 使用基于箭头的格式来显示没有连字符的别名名称。

备注

PowerShell 包含 Get-Alias 的以下别名:

  • 所有平台:

    • gal
  • 要创建新的别名,请使用 Set-AliasNew-Alias。 要删除别名,请使用 Remove-Item

  • 基于箭头的别名名称格式不适用于含有连字符的别名。 这些很可能是 cmdlet 和函数(而不是典型的缩写或昵称)的首选替代名。