如何在 PowerShell 中創建別名

  1. 在 Windows PowerShell 中创建别名
  2. PowerShell 别名会保存吗?
  3. 列出所有现有的 PowerShell 别名
  4. 导出和导入 Windows PowerShell 别名
  5. 重新映射和删除 Windows PowerShell 别名
  6. 潜在的别名问题
如何在 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 文件创建的别名。因此,例如,如果我们想检索我们创建的特定别名,我们可以使用 -Name 参数与 Get-Alias 命令,如下所示:

示例代码:

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