提供者名称
Alias
驱动器
Alias:
Capabilities
ShouldProcess
详细说明
通过 PowerShell Alias 提供程序,你可以获取、添加、更改、清除和删除 PowerShell 中的别名。
别名是 cmdlet、函数、可执行文件(包括脚本)的备用名称。 PowerShell 包含一组内置别名。 可以将自己的别名添加到当前会话和 PowerShell 配置文件。
Alias 驱动器是一个仅包含别名对象的平面命名空间。 这些别名没有子项。
Alias 提供程序支持本文中介绍的以下 cmdlet。
PowerShell 包括一组用于查看并更改别名的 cmdlet。 使用 Alias cmdlet 时,无需在名称中指定 Alias: 驱动器。 本文不介绍如何使用 Alias cmdlet。
此提供程序公开的类型
每个别名都是 System.Management.Automation.AliasInfo 类的实例。
导航别名驱动器
Alias 提供程序在 Alias: 驱动器中公开其数据存储。 若要使用别名,可以使用以下命令将位置更改为 Alias: 驱动器:
Set-Location Alias:
若要返回到文件系统驱动器,请键入驱动器名称。 例如,键入:
Set-Location C:
还可以使用来自任何其他 PowerShell 驱动器的 Alias 提供程序。 若要从其他位置引用别名,请使用路径中的 Alias: 驱动器名称。
注意
PowerShell 使用别名来让你熟悉如何使用提供程序路径。
dir 和 ls 等命令现在是 Get-ChildItem的别名,cd 是 Set-Location的别名,pwd 是 Get-Location的别名。
显示 Alias: 驱动器的内容
此命令获取当前位置为 Alias: 驱动器时所有别名的列表。 它使用通配符 * 指示当前位置的所有内容。
PS Alias:\> Get-Item -Path *
在 Alias: 驱动器中,点 .(表示当前位置)和通配符 *(表示当前位置中的所有项)具有相同的效果。 例如,Get-Item -Path . 或 Get-Item \* 生成相同的结果。
Alias 提供程序没有容器,因此上述命令在与 Get-ChildItem 一起使用时具有相同的效果。
Get-ChildItem -Path Alias:
获取所选别名
此命令获取 ls 别名。
因为它包括了路径,所以可以在任一 PowerShell 驱动器中使用它。
Get-Item -Path Alias:ls
如果你在 Alias: 驱动器中,则可以省略路径中的驱动器名称。
还可以通过使用美元符号 ($) 为提供程序路径添加前缀来检索别名的定义。
$Alias:ls
获取特定 cmdlet 的所有别名
此命令获取与 Get-ChildItem cmdlet 关联的别名的列表。 它使用 Definition 属性,用于存储 cmdlet 名称。
Get-Item -Path Alias:* | Where-Object {$_.Definition -eq "Get-ChildItem"}
创建别名
从 Alias: 驱动器创建别名
此命令为 serv cmdlet 创建 Get-Service 别名。 由于当前位置位于 Alias: 驱动器中,因此不需要 -Path 参数。
此命令还使用 -Options 动态参数在别名上设置 AllScope 选项。
-Options 参数仅当你在 New-Item 驱动器中时才可用于 Alias: cmdlet。 点(.)指示当前目录,即 Alias: 驱动器。
PS Alias:\> New-Item -Path . -Name serv -Value Get-Service -Options "AllScope"
使用绝对路径创建别名
可以为调用命令的任何项创建别名。
此命令为 np创建 Notepad.exe 别名。
New-Item -Path Alias:np -Value C:\windows\notepad.exe
创建新函数的别名
可以为任何函数创建别名。 可以使用此功能创建包含 cmdlet 及其参数的别名。
第一个命令创建 CD32 函数,以将当前目录更改为 System32 目录。 第二个命令为 go 函数创建 CD32 别名。
命令完成后,可以使用 CD32 或 go 来调用函数。
function CD32 {Set-Location -Path C:\windows\system32}
Set-Item -Path Alias:go -Value CD32
更改别名
更改别名的选项
可以将 Set-Item cmdlet 与 -Options 动态参数一起使用,以更改别名 -Options 属性的值。
此命令为 AllScope 别名设置 和 dir 选项。 该命令使用 -Options cmdlet 的 Set-Item 动态参数。
-Options 参数在与 Set-Item 或 Alias 提供程序配合使用时,才可用于 。
Set-Item -Path Alias:dir -Options "AllScope, ReadOnly"
更改引用的命令别名
此命令使用 Set-Item cmdlet 更改 gp 别名,以便它表示 Get-Process cmdlet 而不是 Get-ItemProperty cmdlet。
-Force 参数是必需的,因为 别名的 gp 属性的值设置为 ReadOnly。 由于命令是从 Alias: 驱动器内提交的,因此未在路径中指定该驱动器。
Set-Item -Path gp -Value Get-Process -Force
此更改会影响定义别名与命令之间的关联的四个属性。 若要查看更改的效果,请键入以下命令:
Get-Item -Path gp | Format-List -Property *
重命名别名
此命令使用 Rename-Item cmdlet 将 popd 别名更改为 pop。
Rename-Item -Path Alias:popd -NewName pop
复制别名
此命令复制 pushd 别名,以便为 push cmdlet 创建新的 Push-Location 别名。
创建新别名时,其 Description 属性具有 null 值。
并且其 Option 属性的值为 None。 如果命令从 Alias: 驱动器内部发出,则可以从 -Path 参数的值中省略驱动器名称。
Copy-Item -Path Alias:pushd -Destination Alias:push
删除别名
此命令从当前会话中删除 serv 别名。
你可以在任何 PowerShell 驱动器中使用此命令。
Remove-Item -Path Alias:serv
此命令删除以“s”开头的别名。 它不会删除只读别名。
Clear-Item -Path Alias:s*
删除只读别名
此命令从当前会话中删除所有别名,但其 Options 属性的值Constant除外。 该-Force参数允许命令删除其 Options。
Remove-Item Alias:* -Force
动态参数
动态参数是由 PowerShell 提供程序添加的 cmdlet 参数,且只可用于在启用了提供程序的驱动器中使用 cmdlet 的情况。
选项 [System.Management.Automation.ScopedItemOptions]
确定别名的 Options 属性的值。
- None:无选项。 此值为默认值。
- Constant:无法删除别名,并且无法更改其属性。 仅当创建别名时,Constant 才可用。 不能将现有别名的选项更改为 Constant。
- Private:别名仅在当前作用域中可见,不在子作用域中。
-
ReadOnly:别名的属性不能更改,除非使用
-Force参数。 可以使用Remove-Item删除别名。 - AllScope:别名复制到任何创建的新作用域。
支持的 cmdlet
使用管道
提供程序 cmdlet 接受管道输入。 可以使用管道将提供程序数据从一个 cmdlet 发送到另一个提供程序 cmdlet 来简化任务。 若要详细了解如何将管道与提供程序 cmdlet 配合使用,请参阅本文中提供的 cmdlet 参考。
获取帮助
从 Windows PowerShell 3.0 开始,你可以获取有关提供程序 cmdlet 的自定义帮助主题,它们介绍了这些 cmdlet 在文件系统驱动器中的行为方式。
若要获取针对文件系统驱动器进行自定义的帮助主题,请在文件系统驱动器中运行 Get-Help 命令,或使用 -Path 的 参数来指定文件系统驱动器。
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path Alias: