簡短描述
介紹如何在PowerShell中對 cmdlet 和命令使用備用名稱。
長描述
別名是 Cmdlet 或命令元素的替代名稱或暱稱,例如函式、腳本、檔案或可執行檔。 您可以在任何 PowerShell 命令中使用別名,而不是命令名稱。
若要創建別名,請使用 New-Alias cmdlet。 例如,以下命令為 Get-AuthenticodeSignature cmdlet 創建「gas」別名:
New-Alias -Name gas -Value Get-AuthenticodeSignature
建立 cmdlet 名稱的別名之後,您可以使用該別名來替代 cmdlet 名稱。 例如,要獲取 SqlScript.ps1 檔的 Authenticode 簽名,請鍵入:
Get-AuthenticodeSignature SqlScript.ps1
或者,鍵入:
gas SqlScript.ps1
如果創建「word」作為 Microsoft Office Word 的別名,則可以鍵入「word」而不是以下內容:
"C:\Program Files\Microsoft Office\Office11\Winword.exe"
BUILT-IN 別名
PowerShell 包含一組內置別名,包括 Set-Location cmdlet 的“cd”和“chdir”,以及 Get-ChildItem cmdlet 的“ls”和“dir”。
要獲取電腦上的所有別名(包括內置別名),請鍵入:
Get-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。 例如,若要為 Get-Help 創建「gh」別名,請鍵入:
New-Alias -Name gh -Value Get-Help
您可以使用命令中的別名,就像使用完整的 Cmdlet 名稱一樣,而且您可以使用別名搭配參數。
例如,若要獲取 Get-WmiObject cmdlet 的詳細説明,請鍵入:
Get-Help Get-WmiObject -Detailed
或者,鍵入:
gh Get-WmiObject -Detailed
保存別名
您建立的別名僅儲存在目前的工作階段中。 若要在不同的會話中使用別名,請將別名新增至您的PowerShell配置檔。 或者,使用 Export-Alias cmdlet 將別名保存到檔中。
有關更多資訊,請鍵入:
Get-Help about_Profiles
獲取別名
要獲取當前會話中的所有別名,包括內置別名、PowerShell 配置檔中的別名以及您在當前會話中創建的別名,請鍵入:
Get-Alias
若要獲取特定別名,請使用 Get-Alias cmdlet 的 Name 參數。 例如,要獲取以 「p」 開頭的別名,請鍵入:
Get-Alias -Name p*
要獲取特定項目的別名,請使用Definition參數。 例如,要獲取 Get-ChildItem cmdlet 的別名,請鍵入:
Get-Alias -Definition Get-ChildItem
GET-ALIAS 輸出
Get-Alias 僅返回一種類型的物件,即 AliasInfo 物件 (System.Management.Automation.AliasInfo)。 不包含連字元的別名(如“cd”)將按以下格式顯示:
PS C:\> 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
別名物件
PowerShell 別名由作為 System.Management.Automation.AliasInfo 類實例的物件表示。 有關此類物件的更多資訊,請參見 Microsoft Developer Network (MSDN) 庫中的 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 別名提供程式
PowerShell 包括別名提供程式。 別名提供程式允許您在PowerShell中查看別名,就像它們在檔案系統驅動器上一樣。
別名提供程序公開 Alias: 驅動器。 要進入 Alias: 驅動器,請鍵入:
Set-Location Alias:
要檢視驅動器的內容,請鍵入:
Get-ChildItem
若要查看來自另一個 PowerShell 驅動器的驅動器的內容,請在路徑中以驅動器名稱開頭。 包括冒號 (:)。 例如:
Get-ChildItem -Path Alias:
若要取得特定別名的相關信息,請輸入磁碟驅動器名稱和別名名稱。 或者,鍵入名稱模式。 例如,要獲取所有以 「p」 開頭的別名,請鍵入:
Get-ChildItem -Path Alias:p*
有關 PowerShell 別名提供程式的更多資訊,請鍵入:
Get-Help Alias