在 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