提供者名稱
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 會使用別名,讓您熟悉使用提供者路徑的方式。
dir 和 ls 等命令現在是 Windows 上的別名,在 Linux 和 macOS 上是 dir 的別名,用於 Get-ChildItem;cd 是 Set-Location 的別名,pwd 是 Get-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: