共用方式為


about_Alias_Provider

提供者名稱

Alias

Drives

Alias:

能力

ShouldProcess

詳細說明

PowerShell Alias 提供者可讓您在 PowerShell 中取得、新增、變更、清除和刪除別名。

別名是命令、函式、可執行檔以及腳本等的替代名稱。 PowerShell 包含一組內建別名。 您可以將自己的別名新增至目前的工作階段和 PowerShell 配置檔。

Alias 磁碟驅動器是只包含別名物件的扁平命名空間。 別名沒有子專案。

提供者 Alias 支援本文所涵蓋的下列 Cmdlet。

PowerShell 包含一組 Cmdlet,其設計目的是要檢視和變更別名。 當您使用 Alias Cmdlet 時,不需要在名稱中指定 Alias: 磁碟驅動器。 本文未涵蓋使用 Alias Cmdlet。

此提供者公開的類型

每個別名都是 System.Management.Automation.AliasInfo 類別的實例。

提供者 Alias 會在磁碟驅動器中 Alias: 公開其數據存放區。 若要使用別名,您可以使用下列命令,將位置變更為 Alias: 磁碟驅動器:

Set-Location Alias:

若要返回檔案系統磁碟驅動器,請輸入磁碟驅動器名稱。 例如,鍵入:

Set-Location C:

您也可以從任何其他 PowerShell 磁碟驅動器使用 Alias 提供者。 若要從其他位置參考別名,請使用路徑中的 Alias: 磁碟驅動器名稱。

注意

PowerShell 會使用別名,讓您熟悉使用提供者路徑的方式。 dirls 等命令現在是 Windows 上的別名,在 Linux 和 macOS 上是 dir 的別名,用於 Get-ChildItemcdSet-Location 的別名,pwdGet-Location的別名。

顯示 : 磁碟驅動器的內容Alias

當目前位置是 Alias: 磁碟驅動器時,此命令會取得所有別名的清單。 它會使用通配符 * 來指出目前位置的所有內容。

PS Alias:\> Get-Item -Path *

在磁碟驅動器中 Alias: ,代表目前位置的點 .,以及代表目前位置中所有專案的通配符 *,具有相同的效果。 例如, Get-Item -Path .Get-Item \* 產生相同的結果。

提供者 Alias 沒有容器,因此上述命令與 搭配 Get-ChildItem使用時具有相同的效果。

Get-ChildItem -Path Alias:

取得選定的別名

此命令會取得 ls 別名。 因為它包含路徑,所以您可以在任何 PowerShell 磁碟驅動器中使用它。

Get-Item -Path Alias:ls

如果您位於磁碟驅動器中 Alias: ,您可以從路徑省略磁碟驅動器名稱。

您也可以在提供者路徑前面加上貨幣符號 ($), 來擷取別名的定義。

$Alias:ls

取得特定 Cmdlet 的所有別名

此命令會取得與 Get-ChildItem Cmdlet 相關聯的別名清單。 它會使用 Definition 屬性來儲存 Cmdlet 名稱。

Get-Item -Path Alias:* | Where-Object {$_.Definition -eq "Get-ChildItem"}

建立別名

從 Alias磁碟機建立別名

此命令會建立 serv Cmdlet 的 Get-Service 別名。 由於目前的位置位於磁碟驅動器中 Alias:-Path 因此不需要 參數。

此命令也會使用 -Options 動態參數,在別名上設定 AllScope 選項。 -Options只有在您在New-Item磁碟驅動器中Alias:時,Cmdlet 才能使用 參數。 點 (.) 表示目前目錄,也就是 Alias: 磁碟驅動器。

PS Alias:\> New-Item -Path . -Name serv -Value Get-Service -Options "AllScope"

建立具有絕對路徑的別名

您可以為叫用命令的任何專案建立別名。 此命令會為 np建立 Notepad.exe 別名。

New-Item -Path Alias:np -Value C:\windows\notepad.exe

為新函式創建別名

您可以建立任何函式的別名。 您可以使用此功能來建立包含 Cmdlet 及其參數的別名。

第一個命令會建立 函 CD32 式,將目前目錄變更為 System32 目錄。 第二個命令會建立 go 函式的 CD32 別名。

當命令完成時,您可以使用 或 CD32 來叫用 go 函式。

function CD32 {Set-Location -Path C:\windows\system32}
Set-Item -Path Alias:go -Value CD32

變更別名

變更別名的選項

您可以使用 Set-Item Cmdlet 搭配 -Options 動態參數來變更別名的 -Options 屬性值。

此命令會為 AllScope 別名設定 dir 選項。 此命令會使用 -Options Cmdlet 的 Set-Item 動態參數。 -Options當您將 參數與 或Set-Item提供者搭配Alias使用時,可在 中使用

Set-Item -Path Alias:dir -Options "AllScope, ReadOnly"

變更參考的別名命令

此命令會使用 Set-Item Cmdlet 來變更 gp 別名,使其代表 Get-Process Cmdlet,而不是 Get-ItemProperty Cmdlet。 需要 -Force 參數,因為 別名的 gp Options 屬性的值會設定為 ReadOnly。 因為命令是從磁碟驅動器內 Alias: 送出,因此不會在路徑中指定磁碟驅動器。

Set-Item -Path gp -Value Get-Process -Force

變更會影響定義別名與命令之間關聯之四個屬性。 若要檢視變更的效果,請輸入下列命令:

Get-Item -Path gp | Format-List -Property *

重新命名別名

這個指令會使用 Rename-Item Cmdlet,將 popd 別名變更為 pop

Rename-Item -Path Alias:popd -NewName pop

複製別名

此命令會複製 pushd 別名,以便為 push Cmdlet 建立新的 Push-Location 別名。

建立新的別名時,其 Description 屬性具有 null 值。 而且,其 Option 屬性的 值為 None。 如果命令是從磁碟驅動器內 Alias: 發出,您可以從 參數的值 -Path 省略磁碟驅動器名稱。

Copy-Item -Path Alias:pushd -Destination Alias:push

刪除別名

此命令將會從目前的工作階段中刪除 serv 別名。 您可以在任何 PowerShell 磁碟驅動器中使用此命令。

Remove-Item -Path Alias:serv

此命令會刪除開頭為 「s」 的別名。 它不會刪除唯讀別名。

Clear-Item -Path Alias:s*

刪除唯讀別名

此命令會從目前的會話中刪除所有別名,但其 Constant 屬性的值除外。 參數-Force可讓 命令刪除 Options 屬性值為 的ReadOnly別名。

Remove-Item Alias:* -Force

動態參數

動態參數是PowerShell提供者所新增的 Cmdlet 參數,只有在啟用提供者的磁碟驅動器中使用 Cmdlet 時才能使用。

選項 [System.Management.Automation.ScopedItemOptions]

決定別名 Options 屬性的值。

  • None:沒有選項。 這是預設值。
  • Constant:無法刪除別名,也無法變更其屬性。 建立別名時,Constant才可使用。 您無法將現有別名的選項變更為 Constant
  • Private:別名只能在目前範圍中顯示,而不是在子範圍中。
  • ReadOnly:除了使用 -Force 參數之外,無法變更別名的屬性。 您可以使用 Remove-Item 來移除別名。
  • AllScope:別名會複製到任何已建立的新範圍。

支援的 Cmdlet

使用管線

提供者 Cmdlet 接受管線輸入。 您可以使用管線來簡化工作,方法是將提供者數據從某個 Cmdlet 傳送至另一個提供者 Cmdlet。 若要深入瞭解如何搭配提供者 Cmdlet 使用管線,請參閱本文中提供的 Cmdlet 參考。

尋求幫助

從 Windows PowerShell 3.0 開始,您可以取得提供者 Cmdlet 的自定義說明主題,說明這些 Cmdlet 在文件系統磁碟驅動器中的運作方式。

若要取得針對文件系統磁碟驅動器自定義的說明主題,請在檔案系統磁碟驅動器中執行 -Path來指定檔案系統磁碟驅動器。

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path Alias:

另請參閱