Set-Alias
在当前 PowerShell 会话中创建或更改 cmdlet 或其他命令的别名。
语法
Default (默认值)
Set-Alias
[-Name] <string>
[-Value] <string>
[-Description <string>]
[-Option <ScopedItemOptions>]
[-PassThru]
[-Scope <string>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
Set-Alias cmdlet 为 cmdlet 或命令(例如函数、脚本、文件或其他可执行文件)创建或更改别名。 别名是引用 cmdlet 或命令的备用名称。
例如,sal 是 Set-Alias cmdlet 的别名。 有关详细信息,请参阅 about_Aliases。
cmdlet 可以有多个别名,但别名只能与一个 cmdlet 相关联。 可以使用 Set-Alias 将现有别名重新分配给另一个 cmdlet,或更改别名的属性,例如说明。
创建 Set-Alias 或更改的别名不是永久性的,仅在当前 PowerShell 会话期间可用。 关闭 PowerShell 会话后,将删除别名。
示例
示例 1:为 cmdlet 创建别名
此命令在当前 PowerShell 会话中创建 cmdlet 的别名。
PS> Set-Alias -Name list -Value Get-ChildItem
PS> Get-Alias -Name list
CommandType Name
----------- ----
Alias list -> Get-ChildItem
Set-Alias cmdlet 在当前 PowerShell 会话中创建别名。
Name 参数指定别名的名称,list。
Value 参数指定别名运行的 cmdlet。
若要运行别名,请在 PowerShell 命令行上键入 list。
示例 2:将现有别名重新分配给其他 cmdlet
此命令重新分配现有别名以运行其他 cmdlet。
PS> Get-Alias -Name list
CommandType Name
----------- ----
Alias list -> Get-ChildItem
PS> Set-Alias -Name list -Value Get-Location
PS> Get-Alias -Name list
CommandType Name
----------- ----
Alias list -> Get-Location
Get-Alias cmdlet 使用 Name 参数显示 list 别名。
list 别名与 Get-ChildItem cmdlet 相关联。 运行 list 别名时,将显示当前目录中的项。
Set-Alias cmdlet 使用 Name 参数来指定 list 别名。
Value 参数将别名关联到 Get-Location cmdlet。
Get-Alias cmdlet 使用 Name 参数显示 list 别名。
list 别名与 Get-Location cmdlet 相关联。 运行 list 别名时,将显示当前目录的位置。
示例 3:创建和更改只读别名
此命令创建只读别名。 只读选项可防止对别名进行意外更改。 若要更改或删除只读别名,请使用 Force 参数。
PS> Set-Alias -Name loc -Value Get-Location -Option ReadOnly -PassThru | Format-List -Property *
DisplayName : loc -> Get-Location
Definition : Get-Location
Options : ReadOnly
Description :
Name : loc
CommandType : Alias
PS> Set-Alias -Name loc -Value Get-Location -Option ReadOnly -Description 'Displays the current directory' -Force -PassThru | Format-List -Property *
DisplayName : loc -> Get-Location
Definition : Get-Location
Options : ReadOnly
Description : Displays the current directory
Name : loc
CommandType : Alias
Set-Alias cmdlet 在当前 PowerShell 会话中创建别名。
Name 参数指定别名的名称,loc。
Value 参数指定别名运行的 Get-Location cmdlet。
Option 参数指定 ReadOnly 值。
PassThru 参数表示别名对象,并将对象向下发送到 Format-List cmdlet。
Format-List使用带星号 () 的 * 参数,以便显示所有属性。 示例输出显示这些属性的部分列表。
loc 别名随添加两个参数而更改。
说明 添加文本来解释别名的目的。
Force 参数是必需的,因为 loc 别名是只读的。 如果未使用 Force 参数,则更改将失败。
示例 4:创建可执行文件的别名
此示例在本地计算机上创建可执行文件的别名。
PS> Set-Alias -Name np -Value C:\Windows\notepad.exe
PS> Get-Alias -Name np
CommandType Name
----------- ----
Alias np -> notepad.exe
Set-Alias cmdlet 在当前 PowerShell 会话中创建别名。
Name 参数指定别名的名称,np。
Value 参数指定路径和应用程序名称 C:\Windows\notepad.exe。 cmdlet Get-Alias 使用 Name 参数来显示 np 别名与 notepad.exe关联。
要运行别名,请在 PowerShell 命令行中键入 np 以打开 notepad.exe。
示例 5:使用参数为命令创建别名
此示例演示如何向具有参数的命令分配别名。
可以为 cmdlet 创建别名,例如 Set-Location。 不能为具有参数和值的命令创建别名,例如 Set-Location -Path C:\Windows\System32. 若要为命令创建别名,请创建包含该命令的函数,然后创建该函数的别名。 有关详细信息,请参阅 about_Functions。
PS> Function CD32 {Set-Location -Path C:\Windows\System32}
PS> Set-Alias -Name Go -Value CD32
将创建一个名为 CD32 的函数。 该函数使用带有 Set-Location 参数的 cmdlet 来指定目录 C:\Windows\System32。
Set-Alias cmdlet 在当前 PowerShell 会话中创建函数的别名。
Name 参数指定别名的名称,Go。
Value 参数指定函数的名称,CD32。
若要运行别名,请在 PowerShell 命令行上键入 Go。 该 CD32 函数运行并更改为目录 C:\Windows\System32。
参数
-Confirm
在运行 cmdlet 之前,提示你进行确认。
参数属性
| 类型: | SwitchParameter |
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | cf |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Description
指定别名的说明。 可以键入任何字符串。 如果描述包含空格,请用单引号括起来。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Force
使用 Force 参数更改或删除 Option 参数设置为 ReadOnly的别名。
Force 参数无法更改或删除 Option 参数设置为 Constant 的别名。
参数属性
| 类型: | SwitchParameter |
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Name
指定新别名的名称。 别名可以包含字母数字字符。 别名不能是数字,例如 123。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-Option
设置别名的 选项 属性值。
ReadOnly 和 Constant 等值可保护别名免受意外更改。 若要查看会话中所有别名的 Option 属性,请键入 Get-Alias | Format-Table -Property Name, Options -Autosize。
此参数的可接受值如下所示:
- 全范围 别名将复制到创建的任何新范围。
- 不断 无法更改或删除。
- 没有 不设置任何选项,并且是默认设置。
- 私人 别名仅在当前范围内可用。
- 只读 除非使用 Force 参数,否则无法更改或删除。
- 未指定
参数属性
| 类型: | ScopedItemOptions |
| 默认值: | None |
| 接受的值: | AllScope, Constant, None, Private, ReadOnly, Unspecified |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-PassThru
返回一个表示别名的对象。 使用格式 cmdlet(如 Format-List)显示对象。 默认情况下,Set-Alias 不会生成任何输出。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Scope
指定此别名有效的范围。 默认值为本地 。 有关详细信息,请参阅 about_Scopes。
可接受的值如下所示:
- 全球
- 本地
- 私人
- 编号范围
- 剧本
参数属性
| 类型: | String |
| 默认值: | Local |
| 接受的值: | Global, Local, Private, Numbered scopes, Script |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Value
指定别名运行的 cmdlet 或命令的名称。 Value 参数是别名的 定义 属性。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | 1 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。
参数属性
| 类型: | SwitchParameter |
| 默认值: | False |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 无线 |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
None
Set-Alias 不接受来自管道的输入。
输出
None or System.Management.Automation.AliasInfo
使用 PassThru 参数时, Set-Alias 会生成一个表示别名的 System.Management.Automation.AliasInfo 对象。 否则, Set-Alias 不会生成任何输出。
备注
PowerShell 包括每个 PowerShell 会话中可用的内置别名。
Get-Alias cmdlet 显示 PowerShell 会话中可用的别名。
若要创建新的别名,请使用 Set-Alias 或 New-Alias。 若要删除别名,请使用 Remove-Item cmdlet。 例如,Remove-Item -Path Alias:aliasname。
要创建每个 PowerShell 会话中可用的别名,请将其添加到您的 PowerShell 配置文件中。 有关详细信息,请参阅 about_Profiles。
可以通过执行导出和导入,在另一个 PowerShell 会话中保存和重复使用别名。 若要将别名保存到文件,请使用 Export-Alias。 若要将保存的别名添加到新的 PowerShell 会话,请使用 Import-Alias。