Aliasabout__Provider

提供程序名称

Alias

驱动器

Alias:

功能

ShouldProcess

简短说明

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

详细说明

PowerShell 提供程序允许在 PowerShell Alias 中获取、添加、更改、清除和删除别名。

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

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

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

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

此提供程序公开的类型

每个别名都是 System.Management.Automation 的一个实例。Alias信息 类。

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

Set-Location Alias:

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

Set-Location C:

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

注意

PowerShell 使用别名使你能够熟悉地使用提供程序路径。 命令(如 dirls )现在是 Windows dir 和 Linux 和 macOS 上的别名,用于 Get-ChildItemcdSet-Location 的别名。 和 pwdGet-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 的所有别名

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

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

创建别名

从 Alias驱动器Create别名

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

此命令还使用 -Options 动态参数在别名上设置 AllScope 选项。 -Options仅当位于驱动器中时, New-Item 参数才在 cmdlet 中Alias:可用。 点 (.) 指示当前目录,即别名驱动器。

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

使用绝对路径Create别名

你可以为可调用命令的任意项创建别名。 此命令创建 npNotepad.exe别名。

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

Create新函数的别名

你可以为任意函数创建别名。 可使用此功能创建一个包括 cmdlet 及其参数的别名。

第一个命令创建 CD32 函数,该函数将当前目录更改为 目录 System32 。 第二个 go 命令创建函数的 CD32 别名。

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

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

更改别名

更改别名的选项

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

此命令设置别名的 AllScopedirReadOnly 选项。 命令使用 -Options cmdlet 的 Set-Item 动态参数。 将 -Options 参数与 或 函数提供程序一起使用时,Alias在 中Set-Item可用。

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

更改引用的别名命令

此命令使用 Set-Item cmdlet 更改 gp 别名,以便它表示 Get-Process cmdlet 而不是 Get-ItemProperty cmdlet。 -Force参数是必需的,因为别名的 Options 属性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

复制别名

此命令复制别名 pushdpush 以便为 Push-Location cmdlet 创建新的别名。

创建新别名时,其 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*

删除只读别名

此命令从当前会话中删除所有别名,其 属性的 值为 ConstantOption 的别名除外。 参数-Force允许命令删除其Option 属性值为 的ReadOnly别名。

Remove-Item Alias:* -Force

动态参数

动态参数是由 PowerShell 提供程序添加的 cmdlet 参数,仅在启用提供程序的驱动器中使用 cmdlet 时才可用。

Options [System.Management.Automation.ScopedItemOptions]

确定别名的Option s 属性的值。

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

支持的 Cmdlet

使用管道

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

获取帮助

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

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

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

另请参阅