簡短描述
介紹如何在PowerShell中對 cmdlet 和命令使用備用名稱。
完整描述
別名是 Cmdlet 或命令元素的替代名稱或暱稱,例如函式、腳本、檔案或可執行檔。 您可以在任何 PowerShell 命令中使用別名,而不是命令名稱。
若要建立別名,請使用 New-Alias Cmdlet。 例如,下列命令會為 gas Cmdlet 建立 Get-AuthenticodeSignature 別名:
New-Alias -Name gas -Value Get-AuthenticodeSignature
建立 cmdlet 名稱的別名之後,您可以使用該別名來替代 cmdlet 名稱。 例如,要取得 Authenticode 檔案的簽名 SqlScript.ps1 ,請鍵入:
Get-AuthenticodeSignature SqlScript.ps1
或者,鍵入:
gas SqlScript.ps1
如果您將 word 建立為 Microsoft Office Word 的別名,您可以輸入「word」而不是輸入以下文字串:
"C:\Program Files\Microsoft Office\Office11\Winword.exe"
內置別名
PowerShell 包括一組內置別名,包括 cmdlet lsdir 的 Set-Location 和 ,以及 cd Windows 以及 dir cmdlet 的 Linux chdir 和 macOS Get-ChildItem 的別名。
要獲取電腦上的所有別名(包括內置別名),請鍵入:
Get-Alias
Alias Cmdlet
PowerShell 包括以下 cmdlet,這些 cmdlet 專為使用別名而設計:
-
Get-Alias- 獲取當前工作階段中的所有別名。 -
New-Alias- 建立新的別名。 -
Set-Alias- 建立或變更別名。 -
Export-Alias- 將一個或多個別名匯出到檔。 -
Import-Alias- 將別名檔案匯入 PowerShell。
有關 cmdlet 的詳細資訊,請鍵入:
Get-Help <cmdlet-Name> -Detailed
例如,輸入:
Get-Help Export-Alias -Detailed
建立別名
若要建立新的別名,請使用 New-Alias Cmdlet。 例如,若要為 gh建立 Get-Help 別名,請輸入:
New-Alias -Name gh -Value Get-Help
您可以使用命令中的別名,就像使用完整的 Cmdlet 名稱一樣,而且您可以使用別名搭配參數。
例如,若要獲取 cmdlet 的詳細 Get-CimInstance 説明,請鍵入:
Get-Help Get-CimInstance -Detailed
或者,鍵入:
gh Get-CimInstance -Detailed
保存別名
您建立的別名僅儲存在目前的工作階段中。 若要在不同的會話中使用別名,請將別名新增至您的PowerShell配置檔。 或者,使用 Export-Alias cmdlet 將別名保存到檔中。
有關更多資訊,請鍵入:
Get-Help about_Profiles
獲取別名
要獲取當前會話中的所有別名,包括內置別名、PowerShell 配置檔中的別名以及您在當前會話中創建的別名,請鍵入:
Get-Alias
若要獲取特定別名,請使用 cmdlet 的 Get-Alias Name 參數。 例如,要獲取以 「p」 開頭的別名,請鍵入:
Get-Alias -Name p*
要獲取特定項目的別名,請使用Definition參數。 例如,要獲取 cmdlet 類型的別名 Get-ChildItem ,請執行以下作:
Get-Alias -Definition Get-ChildItem
Get-Alias 輸出
Get-Alias 僅返回一種類型的物件,即 AliasInfo 物件 (System.Management.Automation.AliasInfo)。 不包含連字元的別名的名稱,例如 cd 以下列格式顯示:
Get-Alias ac
CommandType Name Version Source
----------- ---- ------- ------
Alias ac -> Add-Content
這使得獲取所需資訊變得非常快速和容易。
箭頭型別名名稱格式不適用於包含連字元的別名。 這些可能是 cmdlet 和函數的首選替代名稱,而不是典型的縮寫或暱稱,作者可能不希望它們如此明顯。
帶參數的命令的備用名稱
您可以將別名指派給 Cmdlet、腳稿、函式或可執行檔。 您無法將別名指派給命令及其參數。 例如,您可以將別名指派給 Get-Eventlog Cmdlet,但無法將別名指派給 Get-Eventlog -LogName System 命令。
您可以建立包含該命令的函數。 要創建函數,請鍵入單詞 「function」 ,後跟函數的名稱。 鍵入命令,並將其括在大括弧 (){} 中。
例如,以下命令創建 syslog 函數。 此函數表示命令 Get-Eventlog -LogName System :
function Get-SystemEventlog {Get-Eventlog -LogName System}
Set-Alias -Name syslog -Value Get-SystemEventlog
您現在可以鍵入 「syslog」 而不是命令。 此外,您可以為新函數創建別名。
有關函數的更多資訊,請鍵入:
Get-Help about_Functions
Alias 物件
PowerShell 別名由作為 System.Management.Automation.AliasInfo 類實例的物件表示。 有關此類物件的更多資訊,請參閱 PowerShell SDK 中的 AliasInfo 類 。
若要檢視別名對象的屬性和方法,請取得別名。
然後,通過管道將它們傳遞給 Get-Member cmdlet。 例如:
Get-Alias | Get-Member
若要檢視特定別名的屬性值,例如 dir 別名,請取得別名。 然後,通過管道將其傳輸到 Format-List cmdlet。 例如,下列命令會取得 dir 別名。 接下來,命令會將別名透過管道輸送至 Format-List cmdlet。 然後,命令會使用 Format-List 的 Property 參數和通配符(*)來顯示 dir 別名的所有屬性。 以下命令執行以下工作:
Get-Alias -Name dir | Format-List -Property *
PowerShell Alias 提供程式
PowerShell 包括 Alias 提供程式。 提供程式 Alias 允許您在PowerShell中查看別名,就像它們在文件系統驅動器上一樣。
Alias提供程式公開 Alias: 驅動器。 要進入 Alias: 驅動器, 請鍵入:
Set-Location Alias:
要檢視驅動器的內容,請鍵入:
Get-ChildItem
若要查看來自另一個 PowerShell 驅動器的驅動器的內容,請在路徑中以驅動器名稱開頭。 包括冒號 (:)。 例如:
Get-ChildItem -Path Alias:
若要取得特定別名的相關信息,請輸入磁碟驅動器名稱和別名名稱。 或者,鍵入名稱模式。 例如,要獲取所有以 「p」 開頭的別名,請鍵入:
Get-ChildItem -Path Alias:p*
有關 PowerShell Alias 提供程式的更多資訊,請鍵入:
Get-Help Alias