如何在 PowerShell 中创建别名
- 在 Windows PowerShell 中创建别名
- PowerShell 别名是否被保存?
- 列出所有现有的 PowerShell 别名
- 导出和导入 Windows PowerShell 别名
- 重新映射和删除 Windows PowerShell 别名
- 潜在的别名问题

Windows PowerShell 别名是 cmdlet 或命令元素的另一个名称。如果我们忘记 PowerShell cmdlet 的名称,Windows PowerShell 可以为其创建别名。Windows PowerShell 别名让我们使用比整个命令更简单、更短的字符字符串来查找 cmdlet。本文将讨论如何在我们的环境中正确创建和设置别名。
在 Windows PowerShell 中创建别名
要在 Windows PowerShell 中创建别名,我们将使用 New-Alias
cmdlet。New-Alias
cmdlet 在当前会话中创建一个新的别名。
New-Alias Goto Set-Location
当我们在 PowerShell 窗口中输入别名或在脚本中使用别名时,Windows PowerShell 将知道执行与该别名映射的 cmdlet。
PowerShell 别名是否被保存?
如果我们关闭一个 Windows PowerShell 窗口会话,使用 New-Alias
cmdlet 创建的别名不会被保存。因此,如果我们的脚本中设置了别名,我们将需要重新创建相同的 Windows PowerShell 别名。
当我们运行脚本,并且引擎无法将别名与任何 cmdlet 进行映射时,它将抛出错误。因此,我们必须使用 Set-Alias
而不是 New-Alias
PowerShell cmdlet 以防止这些错误发生。然后,按照以下步骤确保别名在我们打开新的 Windows PowerShell 窗口时或运行使用别名的 PowerShell 脚本时保持活动状态。
- 在我们的 Windows PowerShell 配置文件中创建一个 PSConfiguration 文件夹。我们可以通过运行
Get-Variable Profile
PowerShell cmdlet 找到我们的 Windows PowerShell 配置文件。 - 在 PSConfiguration 文件夹内,创建一个名为
Microsoft.PowerShell_Profile.PS1
的文件。该文件将包含创建别名的 Windows PowerShell cmdlet。 - 接下来,在文件中添加创建别名的 PowerShell 命令。
Set-Alias Goto Set-Location
列出所有现有的 PowerShell 别名
如果我们忘记了已保存别名的名称,可以使用 Get-Alias
PowerShell 命令获取所有现有 Windows PowerShell 别名的列表。当我们执行 Get-Alias
cmdlet 时,它会检索所有创建的别名,包括从 Microsoft.PowerShell_Profile.PS1
文件创建的别名。因此,比如说,如果我们希望检索我们创建的特定别名,可以使用 Get-Alias
命令的 -Name
参数,如下所示:
示例代码:
Get-Alias -Name GoTo
导出和导入 Windows PowerShell 别名
使用上述方法将确保 Windows PowerShell 别名在系统上保持活动状态,但我们也可能需要导出和导入 PowerShell 别名。当重新安装 Windows 操作系统或遇到 PowerShell 引擎问题时,此方法是适当的。执行以下 PowerShell 命令以导出 Windows PowerShell 配置文件中的所有 PowerShell 别名。
示例代码:
Export-Alias C:\temp\PSAliases.txt
上述命令将所有 Windows PowerShell 别名以逗号分隔值列表导出到 PSAliases.txt
文件。如果我们希望将所有别名导出为 PowerShell 脚本,可以使用命令中的 -As Script
开关参数,如下面的示例所示:
示例代码:
Export-Alias C:\temp\PSAliases.txt -As script
从文件导入 Windows PowerShell 别名很简单。只需执行 PowerShell 命令以开始别名导入过程:
示例代码:
Import-Alias C:\temp\PSAliases.txt
提示:当创建的脚本从文件导入别名时,脚本不会覆盖以前创建的别名。
重新映射和删除 Windows PowerShell 别名
可以使用 Set-Alias
cmdlet 重新映射现有别名到不同的 Windows PowerShell cmdlet,如下例所示:
Set-Alias Goto Set-Location