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 在知道别名时获取项名称。 当知道项名称时,定义 参数获取别名。

示例 4:按属性获取别名

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

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

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

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

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

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

该命令使用 Scope 参数在全局范围内应用命令。 如果要在会话中获取别名,这在脚本中非常有用。

参数

-Definition

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

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

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Exclude

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

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Name

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

类型:String[]
Position:0
默认值:All aliases
必需:False
接受管道输入:True
接受通配符:True

-Scope

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

  • Global
  • Local
  • Script
  • 相对于当前范围的数字(0 到范围的数目,其中 0 是当前范围,1 是它的父范围)

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

类型:String
Position:Named
默认值:Local
必需:False
接受管道输入:False
接受通配符:False

输入

String

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

输出

AliasInfo

此 cmdlet 返回表示每个别名的对象。 它为每个别名返回相同的对象类型,但 PowerShell 使用基于箭头的格式显示非连字符别名的名称。

备注

PowerShell 包含以下 Get-Alias别名:

  • 所有平台:

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

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