Aliasabout__Provider
提供程序名称
Alias
驱动器
Alias:
功能
ShouldProcess
简短说明
提供对 PowerShell 别名及其表示值的访问权限。
详细说明
PowerShell Alias 提供程序允许你在 PowerShell 中获取、添加、更改、清除和删除别名。
别名是 cmdlet、函数、可执行文件(包括脚本)的备用名称。 PowerShell 包括一组内置别名。 可以将自己的别名添加到当前会话和 PowerShell 配置文件。
驱动器 Alias 是一个平面命名空间,仅包含别名对象。 这些别名没有子项。
提供程序 Alias 支持本文中介绍的以下 cmdlet。
PowerShell 包括一组用于查看和更改别名的 cmdlet。 使用 Alias cmdlet 时,无需在名称中 Alias:
指定驱动器。 本文不介绍如何使用 Alias cmdlet。
此提供程序公开的类型
每个别名都是 System.Management.Automation 的一个实例。Alias信息 类。
导航 Alias 驱动器
提供程序 Alias 在驱动器中 Alias:
公开其数据存储。 若要使用别名,可以使用以下命令将 Alias:
位置更改为驱动器:
Set-Location Alias:
若要返回到文件系统驱动器,请键入驱动器名称。 例如,键入:
Set-Location C:
还可以使用任何其他 PowerShell 驱动器中的 Alias 提供程序。 若要从其他位置引用别名,请在路径中使用 Alias:
驱动器名称。
注意
PowerShell 使用别名使你能够以熟悉的方式处理提供程序路径。 和 等dir
ls
命令现在是 Windows 上的别名,dir
Linux 和 macOS 上的 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 的所有别名
此命令获取与 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别名
你可以为可调用命令的任意项创建别名。
此命令为 np
创建别名 Notepad.exe
。
New-Item -Path Alias:np -Value c:\windows\notepad.exe
Create新函数的别名
你可以为任意函数创建别名。 可使用此功能创建一个包括 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 和 ReadOnly 选项 dir
。 命令使用 -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
是必需的,因为别名的Option s 属性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
以便为 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*
删除只读别名
此命令从当前会话中删除所有别名,其 s 属性的值Constant
Option为 的别名除外。 参数-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 命令,或使用 -Path
Get-Help 的 参数指定文件系统驱动器。
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path alias: