在 PowerShell 中建立別名
- 在 Windows PowerShell 中建立別名
- PowerShell 別名是否已儲存
- 列出所有現有的 PowerShell 別名
- 匯出和匯入 Windows PowerShell 別名
- 重新對映和刪除 Windows 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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn