如下说明是翻译PowerShell中: help Get-Alias 产生的帮助信息.
译者: Edengundam(马涛)
Get-Alias
大纲
取得当前会话的别名.
语法
Get-Alias [[-name] <string[]>] [-scope <string>] [-exclude <string[]>] [<CommonParameters>]
详细描述
Get-Alias cmdlet取得当前会话中为cmdlet, 函数和可执行文件创建的可选别名. 此集合包括了内建别名, 你所设置或导入的别名, 你添加到Windows PowerShell配置文件(profile)的别名. 如果你指定了一个或多个别名, Get-Alias取得别名对象, 并显示它的属性, 显示的属性包括: 别名表示的对象(例如cmdlet的全名). Windows PowerShell别名提供程序提供此功能.
参数
-name <string[]>
指定要检索的别名. 默认情况下, Get-Alias检索当前会话中定义的全部别名定义. 参数名称("-Name")为可选项.
强制参数?
|
false
|
参数位置?
|
1
|
默认值
|
*
|
允许从管道绑定输入?
|
true (根据值, 根据属性名)
|
允许通配符扩展?
|
true
|
-scope <string>
指定了别名的有效作用域. 有效值包括: "global", "local"或"script", 也可以是一个相对当前作用于的值(此值范围是从0到当前活动的作用域数量. 0代表当前作用域, 1代表父作用域). "Local"为默认值, 更多信息, 键入"get-help about_scope".
强制参数?
|
false
|
参数位置?
|
named
|
默认值
|
All locally visible aliases
|
允许从管道绑定输入?
|
false
|
允许通配符扩展?
|
false
|
-exclude <string[]>
忽略指定的项. 此参数的值用于限定参数Name. 输入一个路径元素或者模式, 例如: "s*". 允许使用通配符.
强制参数?
|
false
|
参数位置?
|
named
|
默认值
|
|
允许从管道绑定输入?
|
false
|
允许通配符扩展?
|
true
|
<公共参数>
此命令支持公共参数: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息, 输入, "get-help about_commonparameters".
输入类型
None
返回类型
aliasInfoObject
注意
更多信息, 输入"Get-Help Get-Alias -detailed". 需要技术信息, 输入"Get-Help Get-Alias -full".
别名就是cmdlet或命令的别名, 昵称. 要运行cmdlet,你可以使用它的全名或任意合法的别名. 更多信息, 输入"get-help about_alias".
如果需要为该命令提供多个参数, 请使用逗号进行分隔. 例如, "<parameter-name> <value1>, <value2>".
你还可以使用Get-Alias的内建别名"gal"来引用Get-Alias.
要创建新的别名, 使用Set-Alias或New-Alias. 删除一个别名, 使用Remove-Item.
例1
C:/PS>get-alias
此命令检索当前会话中的所有别名. 默认显示包括: 命令类型(这里总显示"Alias", 别名), 别名的名称(Name列)和别名指向的cmdlet ("Definition"列).
例2
C:/PS>get-alias -name g*, s*
此命令取得所有以"g"或"s"开头的别名.
例3
C:/PS>get-alias | where-object {$_.Definition -match "Get-Childitem"}
最简单的情况下, Get-Alias cmdlet取得那些你清楚的别名对应的cmdlet名称. 然而, 你还可以使用此命令根据你知道的cmdlet名称查找别名.
别名对象的Definition属性中存储了别名对应的cmdlet名称. 所以, 对于给定的cmdlet查找对应的别名, 你只需要检索别名的Definition属性是否匹配指定cmdlet名称.
首先, 命令取得所有的别名("get-alias"), 接下来将它通过管道将结果发送给Where-Object cmdlet. 元素"{$_.definition -match "get-childitem"}"告诉Where-Object只取得属性Definition的值是"Get-Childitem"的别名.
结果是包含所有Get-ChildItem cmdlet对应的别名列表.
Definition只是Get-Alias取得的AliasInfo对象的一个属性. 要查看AliasInfo对象的所有属性和方法, 键入: "get-alias | get-member".
例4
C:/PS>get-alias | where-object {$_.Options -match "ReadOnly"}
此命令检索所有属性Options的值为ReadOnly的别名. 此命令提供了一个便捷的方法找到Windows PowerShell的内建别名, 这是因为内建别名具有ReadOnly的选项.
首先, 命令取得所有的别名("get-alias"), 接下来它将结果通过管道发送给Where-Object cmdlet. 元素"{$_.Options -match "ReadOnly"}"告诉Where-Object只取得Options属性值是"ReadOnly"的别名.
Options只是只是Get-Alias取得的AliasInfo对象的一个属性. 要查看AliasInfo对象的所有属性和方法, 键入: "get-alias | get-member".
例5
C:/PS>(get-alias | where-object {$_.Options -match "ReadOnly"}).count
此命令显示具有ReadOnly选项的别名数量. 它将你从单调乏味的计数中解脱出来, 使你能够比较不同属性集合中的对象.
此命令除了将前一个例子中的命令封装到括号中, 并追加了".count"属性外, 与前一个例子完全一致.
Windows PowerShell首先执行括号中的命令. 接下来, 并没有直接的显示结果, 而是对结果进行计数, 并将显示计数结果.
要对命令产生的对象进行计数, 直接将命令放入括号中, 追加".count."即可.
例6
C:/PS>get-alias | out-string -stream | select-string "Get-Command"
此命令显示包含短语"Get-Command"的别名. 与之前的命令不同的是此命令在别名中的所有属性中查找此短语. 它也揭示了操作对象和操作字符串之间的区别.
此命令使用Get-Alias cmdlet取得AliasInfo对象; shell中每个别名对应一个对象.
管道运算符(|)将输出发送给Out-String, 后者将每个对象转换为一系列字符串. 此命令使用参数Stream来使得每个对象单独发送一个字符串, 而不是将所有对象转换为一个字符串. 另一个管道运算符将字符串发送给Select-String, 后者将把包含"Get-Command"的字符串选出来.
如果你忽略参数Stream, 此命令将会显示所有的别名, 这是因为Select-String将会在Out-String返回的唯一字符串中查找"Get-Command", 格式器将把整个字符串当作表来显示.
更多关于Out-String的信息, 键入"Get-Help Out-String -detailed".
相关链接
Set-Alias
New-Alias
Export-Alias
Import-Alias