about_Alias_Provider

提供程序名称

Alias

驱动器

Alias:

功能

ShouldProcess

简短说明

提供对 PowerShell 别名及其所代表的值的访问权限。

详细说明

通过 PowerShell Alias 提供程序,你可以获取、添加、更改、清除和删除 PowerShell 中的别名。

一 alias 个是 cmdlet、函数、可执行文件(包括脚本)的备用名称。 PowerShell 包含一组内置别名。 可以将自己的别名添加到当前会话和 PowerShell 配置文件。

驱动器 Alias 是仅 alias 包含对象的平面命名空间。 这些别名没有子项。

Alias 提供程序支持本文中介绍的以下 cmdlet。

PowerShell 包括一组用于查看并更改别名的 cmdlet。 使用 Alias cmdlet 时,无需在名称中指定 Alias: 驱动器。 本文不介绍如何使用 Alias cmdlet。

此提供程序公开的类型

每个alias实例都是 System.Management.Automation.AliasInfo 类的实例。

Alias 提供程序在 Alias: 驱动器中公开其数据存储。 若要使用别名,可以使用以下命令将位置更改为 Alias: 驱动器:

Set-Location Alias:

若要返回到文件系统驱动器,请键入驱动器名称。 例如,键入:

Set-Location C:

还可以使用来自任何其他 PowerShell 驱动器的 Alias 提供程序。 若要从其他位置引用, alias 请使用 Alias: 路径中的驱动器名称。

注意

PowerShell 使用别名来让你熟悉如何使用提供程序路径。 诸如 dir ls Windows 和 Linux 和 dir macOS for Get-ChildItem alias cd等命令现在都是适用于 Set-Location 的命令。 是 pwd Get-Location 的一个alias。

显示 Alias: 驱动器的内容

此命令获取当前位置为 Alias: 驱动器时所有别名的列表。 它使用通配符 * 指示当前位置的所有内容。

PS Alias:\> Get-Item -Path *

Alias: 驱动器中,点 .(表示当前位置)和通配符 *(表示当前位置中的所有项)具有相同的效果。 例如,Get-Item -Path .Get-Item \* 生成相同的结果。

Alias 提供程序没有容器,因此上述命令在与 Get-ChildItem 一起使用时具有相同的效果。

Get-ChildItem -Path Alias:

获取所选内容 alias

此命令获取 .lsalias 因为它包括了路径,所以可以在任一 PowerShell 驱动器中使用它。

Get-Item -Path Alias:ls

如果你在 Alias: 驱动器中,则可以省略路径中的驱动器名称。

还可以使用美元符号($)为提供程序路径添加前缀来检索definition该alias路径。

$Alias:ls

获取特定 cmdlet 的所有别名

此命令获取与 Get-ChildItem cmdlet 关联的别名的列表。 它使用 Definition 属性,用于存储 cmdlet 名称。

Get-Item -Path Alias:* | Where-Object {$_.Definition -eq "Get-ChildItem"}

创建别名

alias从 Alias: 驱动器创建

此命令创建 servalias Get-Service cmdlet。 由于当前位置位于 Alias: 驱动器中,因此不需要 -Path 参数。

此命令还使用-Options动态参数设置 AllScopeoption on 。alias -Options 参数仅当你在 Alias: 驱动器中时才可用于 New-Item cmdlet。 点 (.) 指示当前目录,即 alias 驱动器。

PS Alias:\> New-Item -Path . -Name serv -Value Get-Service -Options "AllScope"

alias使用绝对路径创建

可以为调用命令的任何项创建一个 alias 。 此命令创建 npalias for Notepad.exe.

New-Item -Path Alias:np -Value c:\windows\notepad.exe

alias创建到新函数

可以为任何函数创建一个 alias 。 可以使用此功能创建一个 alias 包含 cmdlet 及其参数的函数。

第一个命令创建 CD32 函数,以将当前目录更改为 System32 目录。 第二个命令创建 goalias 函数 CD32

命令完成后,可以使用 CD32go 来调用函数。

function CD32 {Set-Location -Path c:\windows\system32}
Set-Item -Path Alias:go -Value CD32

更改别名

更改选项 alias

可以将 Set-Item cmdlet 与动态参数一起使用-Options,以更改属性alias的值-Options

此命令设置 AllScope ..的 ReadOnly 选项diralias。 该命令使用 Set-Item cmdlet 的 -Options 动态参数。 -Options 参数在与 AliasFunction 提供程序配合使用时,才可用于 Set-Item

Set-Item -Path Alias:dir -Options "AllScope,ReadOnly"

更改引用的命令别名

此命令使用 Set-Item cmdlet 更改 gpalias ,以便它表示 Get-Process cmdlet 而不是 Get-ItemProperty cmdlet。 参数-Force是必需的,因为选项属性gpalias的值设置为 ReadOnly。 由于命令是从 Alias: 驱动器内提交的,因此未在路径中指定该驱动器。

Set-Item -Path gp -Value Get-Process -Force

此更改会影响定义与命令之间的 alias 关联的四个属性。 若要查看更改的效果,请键入以下命令:

Get-Item -Path gp | Format-List -Property *

重命名 alias

此命令使用 Rename-Item cmdlet 更改 popdalias 到 pop

Rename-Item -Path Alias:popd -NewName pop

复制 alias

此命令将复制 pushdalias 该命令,以便 pushalias 为 Push-Location cmdlet 创建新项。

alias创建新项时,其 Description 属性具有 null 值。 并且其 Option 属性的值为 None。 如果命令从 Alias: 驱动器内部发出,则可以从 -Path 参数的值中省略驱动器名称。

Copy-Item -Path Alias:pushd -Destination Alias:push

删除 alias

此命令从 servalias 当前会话中删除该命令。 你可以在任何 PowerShell 驱动器中使用此命令。

Remove-Item -Path Alias:serv

此命令删除以“s”开头的别名。 它不会删除只读别名。

Clear-Item -Path Alias:s*

删除只读别名

此命令从当前会话中删除所有别名,但其 Options 属性的值Constant除外。 该-Force参数允许命令删除其 Options 属性具有值的ReadOnly别名

Remove-Item Alias:* -Force

动态参数

动态参数是由 PowerShell 提供程序添加的 cmdlet 参数,且只可用于在启用了提供程序的驱动器中使用 cmdlet 的情况。

Options [System.Management.Automation.ScopedItemOptions]

确定选项alias属性的值。

  • None:无选项。 此值为默认值。
  • Constantalias:无法删除,并且无法更改其属性。 Constant仅在创建 .alias 不能将option现有aliasConstant项更改为 。
  • Private:仅在 alias 当前范围内可见,不在子范围中。
  • ReadOnly:除非使用-Force参数,否则无法更改其属性alias。 可用于Remove-Item删除 .alias
  • AllScope:将 alias 复制到创建的任何新作用域。

支持的 cmdlet

使用管道

提供程序 cmdlet 接受管道输入。 可以使用管道将提供程序数据从一个 cmdlet 发送到另一个提供程序 cmdlet 来简化任务。 若要详细了解如何将管道与提供程序 cmdlet 配合使用,请参阅本文中提供的 cmdlet 参考。

获取帮助

从 Windows PowerShell 3.0 开始,你可以获取有关提供程序 cmdlet 的自定义帮助主题,它们介绍了这些 cmdlet 在文件系统驱动器中的行为方式。

若要获取针对文件系统驱动器进行自定义的帮助主题,请在文件系统驱动器中运行 Get-Help 命令,或使用 Get-Help-Path 参数来指定文件系统驱动器。

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path alias:

另请参阅