在 PowerShell 中创建别名

Marion Paul Kenneth Mendoza 2023年1月30日
  1. 在 Windows PowerShell 中创建别名
  2. PowerShell 别名是否已保存
  3. 列出所有现有的 PowerShell 别名
  4. 导出和导入 Windows PowerShell 别名
  5. 重新映射和删除 Windows PowerShell 别名
  6. 潜在的别名问题
在 PowerShell 中创建别名

Windows PowerShell 别名是 cmdlet 或命令元素的另一个名称。如果我们忘记它们的名称,Windows PowerShell 可以为 PowerShell cmdlet 创建别名。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

Microsoft 尚未开发单独的 cmdlet 来删除 Windows PowerShell 别名。但是,我们可以在多个应用程序中使用 Remove-Item 命令。你需要将 Windows PowerShell 参数设置为 Alias:,如以下命令所示:

Remove-Item Alias:Goto

如果我们希望从 PowerShell 配置文件中删除所有别名,请执行 Remove-Item Alias:* cmdlet。

潜在的别名问题

使用 Windows PowerShell 别名有其好处,但也有一些潜在的别名问题需要注意:

  • 避免在我们的个人资料中添加太多别名以防止混淆。如果我们添加太多别名,我们会遇到与以前相同的问题,即无法记住所有最常用的 cmdlet。
  • 为长的、多个命令字符串起别名将导致命令失败。
  • 仅为单个命令或 cmdlet 保留我们的 PowerShell 别名
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn