- PowerShell 提供程序和 PowerShell 驅動器
- PowerShell 提供程序
- 查看提供程序的幫助文件
- 使用PowerShell 驅動器
-
- 處理 PowerShell 驅動器位置
- 管理文件系統
- 管理註冊表
- 獲取註冊表項
- 獲取註冊表值
- 創建或修改註冊表值
- 刪除註冊表項和值
- 使用事務管理註冊表
- 實際案例
- 使用證書
- 查看證書
- 創建證書
- 導入和導出證書
- 刪除證書
- 使用 Invoke-Item 打開 MMC
- 常見操作場景
- 其他驅動器
- Alias 驅動器
- Env 驅動器
- 實際案例
- Function 驅動器
- Variable 驅動器
- WSMan 驅動器
- 額外驅動器(來自模塊/角色)
- 動態參數
-
- PowerShell 提供程序
PowerShell 提供程序和 PowerShell 驅動器
PowerShell 提供程序
提供程序 = 把不同的數據存儲抽象成“虛擬驅動器”來統一管理。
提供程序是一種“適配器”,它把不同的數據存儲(文件系統、註冊表、證書存儲等)映射成類似文件系統的導航結構,讓你可以用 cd、dir、ls、Get-ChildItem 等命令像操作文件夾一樣去操作。
查看當前系統的提供程序
Get-PSProvider
輸出如下:(不一定是下面這些,有的機器都有變化)
| Name | Capabilities | Drives |
|---|---|---|
| FileSystem | Filter, ShouldProcess, Credentials | C, D, .... |
| Registry | ShouldProcess, Transactions, ExpandWildcards | HKLM, HKCU |
| Certificate | Filter, ShouldProcess, Include, Exclude | Cert |
| Alias | ShouldProcess | Alias |
| Function | ShouldProcess | Function |
| Variable | ShouldProcess | Variable |
| Environment | ShouldProcess | Env |
先看最直觀的效果:
| 提供程序 | 路徑前綴 | 用途 |
|---|---|---|
| FileSystem | C:\, D:\ |
磁盤目錄文件管理 |
| Registry | HKLM:\, HKCU:\ |
操作註冊表 |
| Certificate | Cert:\ |
管理證書 |
| Alias | Alias:\ |
查看和修改命令別名 |
| Function | Function:\ |
查看函數 |
| Variable | Variable:\ |
管理變量 |
| Environment | Env:\ |
管理環境變量 |
它統一了操作方式,下面這個才是我們需要記住的,就是Get-ChildItem去查看很多不同的類型
無論是文件、註冊表、證書還是變量,你都可以用類似的命令操作:
# 查看文件夾
Get-ChildItem C:\Windows
# 查看註冊表鍵
Get-ChildItem HKLM:\Software
# 查看證書
Get-ChildItem Cert:\LocalMachine\My
# 查看變量
Get-ChildItem Variable:
表中有Capabilities列的,意思是:
- ShouldProcess → 允許
-WhatIf和-Confirm,用於預覽和確認更改。 - Filter → 支持快速篩選,而不是在本地循環。
- Include/Exclude → 支持用通配符來包含或排除對象。
- ExpandWildcards → 可以在路徑裏使用
*、?等通配符。 - Credentials → 支持使用
-Credential來指定不同用户身份訪問。 - Transactions → 支持事務操作(例如註冊表操作可以回滾)。
例子:
# Registry 提供程序支持 -UseTransaction
Start-Transaction
New-Item -Path "HKCU:\Software\TestKey" -UseTransaction
Complete-Transaction
如果換成 FileSystem 提供程序(比如 New-Item C:\TestFile.txt -UseTransaction),就會報錯,因為 文件系統不支持事務/回滾。
查看提供程序的幫助文件
幫助文件使用 about_ProviderName_Provider 命名格式
例如,FileSystem 提供程序的幫助文件為 about_FileSystem_Provider
可通過運行以下命令來查看此幫助文件的內容:
Get-Help about_FileSystem_Provider
再者:獲取註冊表提供程序的幫助信息
Get-Help about_Registry_Provider
以此類推,把中間的改成你要獲取的 "提供程序" 名字即可
Get-Help about_YourName_Provider
使用PowerShell 驅動器
查看 PowerShell 驅動器
Get-PSDrive
| Name | Provider | Root | CurrentLocation |
|---|---|---|---|
| C | FileSystem | C:|Users\Admin | |
| HKCU | Registry | HKEY_CURRENT_USER | |
| HKLM | Registry | HKEY_LOCAL_MACHINE | |
| Env | Environment | ||
| Cert | Certificate | ||
| Alias | Alias | ||
| Variable | Variable |
下表介紹了與常用 PSDrive 關聯的謂詞:
| 動詞 | 描述 |
|---|---|
| New | 創建新的項或項屬性。 |
| Set | 設置項或項屬性的值。 |
| Get | 顯示項或子項的屬性,或項屬性的值。 |
| Clear | 清除項或項屬性的值。 |
| Copy | 將項或項屬性從一個位置複製到另一個位置。 |
| Move | 將項或項屬性從一個位置移動到另一個位置。 |
| Remove | 刪除項或項屬性。 |
| Rename | 重命名項或項屬性。 |
| Invoke | 執行與項關聯的默認操作。 |
驅動器的特點
- 名稱唯一
- 可以是一個字母(如
C),也可以是多個字符(如HKCU、Env)。 - 用於路徑時要加冒號,比如
C:、HKCU:、Env:。
- 可以是一個字母(如
- 依賴提供程序
- 驅動器繼承其底層提供程序的所有功能(篩選、事務、憑據等)。
- 默認驅動器(新會話必有):
- FileSystem 驅動器:如
C: - 註冊表驅動器:
HKLM:、HKCU: - 特殊存儲驅動器:
Variable:、Function:、Alias: - 環境變量驅動器:
Env: - 證書驅動器:
Cert: - WSMan 驅動器:
WSMan:(管理遠程連接配置)
- FileSystem 驅動器:如
處理 PowerShell 驅動器位置
驅動器位置的命令
| 命令 | 描述 |
|---|---|
| Get-Location | 顯示當前工作位置。 |
| Set-Location | 設置當前工作位置。 |
| Push-Location | 將位置添加到位置堆棧的頂部。 |
| Pop-Location | 將當前位置更改為位置堆棧頂部的位置。 |
管理文件系統
PowerShell 提供了 文件系統驅動器(PSDrive)和 文件系統提供程序(FileSystem Provider),可以用 cmdlet 來管理文件和文件夾,同時也保留了命令提示符的別名,讓 cmd.exe 用户可以快速上手。
別名與 cmdlet 對應關係
| cmd.exe 命令 | PowerShell 別名 | 對應 cmdlet | 説明 |
|---|---|---|---|
| Dir | Dir | Get-ChildItem | 列出目錄和文件 |
| Cd | Cd | Set-Location | 切換目錄 |
| Md / MkDir | Md | New-Item | 創建新文件夾 |
| Rd / RmDir | Rd | Remove-Item | 刪除文件夾 |
| Del | Del | Remove-Item | 刪除文件 |
| Copy | Copy | Copy-Item | 複製文件/文件夾 |
| Move | Move | Move-Item | 移動文件/文件夾 |
| Ren | Ren | Rename-Item | 重命名文件/文件夾 |
注意:
- PowerShell 不使用
/s、/q等 cmd.exe 參數。 - 通配符和參數需要使用
-Recurse、-Force、-Filter等 PowerShell 風格。
移動目錄
# 使用絕對路徑
Set-Location C:\Users
# 使用相對路徑
Set-Location Temp
# 查看當前路徑
Get-Location
Set-Location是 PowerShell 的核心命令,用於切換當前工作目錄。- 別名
cd和chdir都可以替代它。
創建文件和文件夾
# 創建文件夾
New-Item -Path "C:\TestFolder" -ItemType Directory
# 創建文件
New-Item -Path "C:\TestFolder\example.txt" -ItemType File
# 使用別名
md C:\TestFolder2
-ItemType可以是File或Directory。- 如果路徑中包含不存在的父目錄,需要先創建父目錄,或者使用
-Force。
刪除文件和文件夾
# 刪除文件
Remove-Item -Path "C:\TestFolder\example.txt"
# 刪除文件夾及其子文件
Remove-Item -Path "C:\TestFolder" -Recurse
# 強制刪除(跳過確認)
Remove-Item -Path "C:\TestFolder" -Recurse -Force
-Recurse刪除文件夾下所有內容。-Force可以刪除隱藏文件、只讀文件或跳過確認。
查找和枚舉文件/文件夾
# 獲取單個文件或文件夾
Get-Item C:\TestFolder\example.txt
# 獲取當前目錄所有文件和文件夾
Get-ChildItem
# 獲取當前目錄及子目錄所有文件
Get-ChildItem -Recurse
# 使用通配符查找特定類型文件
Get-ChildItem *.txt
# 排除某些文件
Get-ChildItem -Exclude *.log
# 只包含某些文件
Get-ChildItem -Include *.txt, *.docx
Get-Item:獲取單個項目對象。Get-ChildItem:獲取目錄中的所有項目對象(類似dir)。- 支持
-Recurse、-Filter、-Include、-Exclude對文件過濾和目錄遍歷。
小技巧與實際應用
1.組合管道操作
# 獲取所有 txt 文件並按大小排序
Get-ChildItem -Recurse -Filter *.txt | Sort-Object Length
2.查找並刪除過期文件
# 刪除 30 天前的日誌文件
Get-ChildItem "C:\Logs" -Filter *.log -Recurse |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
Remove-Item -Force
3.批量重命名
# 將所有 txt 文件改為小寫
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name.ToLower() }
管理註冊表
PowerShell 提供了 註冊表提供程序(Registry Provider),可以把註冊表視為類似文件系統的結構進行操作。每個註冊表鍵(Key)就像一個文件夾,每個註冊表值(Value)就像文件夾裏的文件屬性。
| 驅動器 | 註冊表分支 | 説明 |
|---|---|---|
| HKLM | HKEY_LOCAL_MACHINE | 系統範圍的配置,影響所有用户 |
| HKCU | HKEY_CURRENT_USER | 當前用户的配置,隻影響登錄用户 |
New-PSDrive 為其他註冊表分支創建自定義驅動器
# 創建自定義註冊表驅動器
New-PSDrive -Name TestHKU -PSProvider Registry -Root HKEY_USERS
-Name:驅動器名稱-PSProvider:指定提供程序為 Registry-Root:註冊表路徑
創建後就可以像訪問文件夾一樣訪問註冊表了,例如TestHKU:\。
獲取註冊表項
註冊表項類似文件系統中的文件夾,用 Get-Item 或 Get-ChildItem 訪問:
# 獲取某個路徑下的所有子項
Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion
返回的是註冊表項對象(KeyInfo),可以進一步操作或管道傳遞。
獲取註冊表值
註冊表值類似文件夾裏的屬性,用 Get-ItemProperty 或 Get-ItemPropertyValue 訪問:
# 獲取指定註冊表項下所有值
Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
# 獲取特定值的內容
Get-ItemPropertyValue HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run -Name WindowsDefender
-Name指定具體值名- 返回值數據(ValueData)而不是對象
創建或修改註冊表值
使用 New-ItemProperty 或 Set-ItemProperty:
# 創建新的註冊表值
New-ItemProperty -Path HKCU:\Software\TestApp -Name "Setting1" -Value "Enabled" -PropertyType String
# 修改已有註冊表值
Set-ItemProperty -Path HKCU:\Software\TestApp -Name "Setting1" -Value "Disabled"
-PropertyType 對應註冊表數據類型:
| PowerShell 類型 | 註冊表類型 |
|---|---|
| String | REG_SZ |
| ExpandString | REG_EXPAND_SZ |
| Binary | REG_BINARY |
| DWord | REG_DWORD |
| MultiString | REG_MULTI_SZ |
| QWord | REG_QWORD |
刪除註冊表項和值
# 刪除註冊表值
Remove-ItemProperty -Path HKCU:\Software\TestApp -Name "Setting1"
# 刪除註冊表項及其子項
Remove-Item -Path HKCU:\Software\TestApp -Recurse
-Recurse刪除所有子鍵和值- 操作註冊表之前建議備份,以防誤刪
# 備份註冊表某路徑
reg export HKCU\Software\TestApp C:\Backup\TestApp.reg
使用事務管理註冊表
註冊表提供程序支持事務,可以一次執行多個操作,要麼全部成功,要麼全部回滾,避免半成品狀態:
# 開啓事務
Start-Transaction
# 執行註冊表操作
New-ItemProperty -Path HKCU:\Software\TestApp -Name "SettingA" -Value "1" -PropertyType DWord -UseTransaction
Set-ItemProperty -Path HKCU:\Software\TestApp -Name "SettingB" -Value "2" -UseTransaction
# 提交事務
Complete-Transaction
# 若出錯,可回滾
Undo-Transaction
-UseTransaction參數表示該操作在事務中執行- 有助於批量修改註冊表而不產生部分更新
實際案例
批量修改軟件設置
$apps = "App1","App2"
foreach ($app in $apps) {
Set-ItemProperty HKCU:\Software\$app -Name "AutoStart" -Value 1
}
檢測並刪除啓動項
$runKeys = Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
foreach ($key in $runKeys) {
if ($key.PSChildName -eq "UnwantedApp") {
Remove-ItemProperty -Path $key.PSPath -Name "UnwantedApp"
}
}
創建事務批量修改註冊表值
Start-Transaction
Set-ItemProperty -Path HKCU:\Software\TestApp -Name "SettingA" -Value 10 -UseTransaction
Set-ItemProperty -Path HKCU:\Software\TestApp -Name "SettingB" -Value 20 -UseTransaction
Complete-Transaction
使用證書
PowerShell 通過 證書提供程序(Certificate Provider)將證書存儲映射成類似文件系統的結構,你可以像管理文件夾和文件一樣操作證書。
- 驅動器名稱:
Cert: - 常見存儲位置:↓↓
| 路徑 | 説明 |
|---|---|
Cert:\CurrentUser\My |
當前用户的個人證書存儲 |
Cert:\LocalMachine\My |
本地計算機的個人證書存儲 |
也可以訪問其他標準存儲:
Root:受信任根證書CA:受信任的證書頒發機構TrustedPeople:受信任的人
查看證書
# 查看當前用户個人證書
Get-ChildItem Cert:\CurrentUser\My
# 查看本地計算機個人證書
Get-ChildItem Cert:\LocalMachine\My
使用證書提供程序的專用動態參數進行篩選:
| 參數 | 説明 |
|---|---|
-CodeSigningCert |
獲取可用於代碼簽名的證書 |
-DocumentEncryptionCert |
獲取用於文檔加密的證書 |
-DnsName |
獲取 DNSNameList 包含指定域名的證書(支持通配符) |
-EKU |
獲取具有指定增強密鑰用法 (EKU) 的證書 |
-ExpiringInDays |
獲取將在指定天數內過期的證書 |
-SSLServerAuthentication |
獲取 SSL 服務器證書 |
示例:
# 獲取將在 30 天內過期的證書
Get-ChildItem Cert:\LocalMachine\My -ExpiringInDays 30
# 獲取 SSL 服務器證書
Get-ChildItem Cert:\LocalMachine\My -SSLServerAuthentication
# 獲取 DNS 名稱包含 contoso.com 的證書
Get-ChildItem Cert:\LocalMachine\My -DnsName "*.contoso.com"
創建證書
PowerShell 的 pki 模塊提供 cmdlet,可以直接創建自簽名證書,無需 MMC:
# 創建自簽名證書,存儲到本地計算機個人證書存儲
New-SelfSignedCertificate -DnsName "webapp.contoso.com" -CertStoreLocation "Cert:\LocalMachine\My"
-DnsName:證書對應的域名-CertStoreLocation:證書存儲位置- 還可以添加參數設置證書有效期、密鑰長度、密鑰用法等:
New-SelfSignedCertificate `
-DnsName "api.contoso.com" `
-CertStoreLocation "Cert:\LocalMachine\My" `
-KeyLength 2048 `
-KeyExportPolicy Exportable `
-NotAfter (Get-Date).AddYears(2) `
-FriendlyName "API Server Cert"
導入和導出證書
導入證書
# 將 PFX 文件導入證書存儲
Import-PfxCertificate -FilePath "C:\certs\mycert.pfx" -CertStoreLocation "Cert:\LocalMachine\My" -Password (ConvertTo-SecureString -String "P@ssw0rd" -AsPlainText -Force)
-FilePath:證書文件路徑(PFX 格式)-CertStoreLocation:導入到的存儲-Password:證書密碼
導出證書
# 導出證書到 PFX 文件
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -like "*webapp.contoso.com*"}
Export-PfxCertificate -Cert $cert -FilePath "C:\certs\webapp.pfx" -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force)
刪除證書
# 刪除指定證書
Remove-Item -Path Cert:\LocalMachine\My\<Thumbprint>
可以用證書的 Thumbprint 來精確定位
使用 Invoke-Item 打開 MMC
# 打開 MMC 管理證書
Invoke-Item Cert:\LocalMachine\My
自動加載“證書”管理單元,便於圖形化查看
常見操作場景
- 查找快過期的 SSL 證書
Get-ChildItem Cert:\LocalMachine\My -SSLServerAuthentication -ExpiringInDays 60 - 導入新 Web 服務器證書
Import-PfxCertificate -FilePath "C:\certs\newweb.pfx" -CertStoreLocation Cert:\LocalMachine\My -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force) - 批量查找代碼簽名證書
Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Format-Table Subject, Thumbprint, NotAfter - 創建自簽名開發證書
New-SelfSignedCertificate -DnsName "dev.local" -CertStoreLocation "Cert:\CurrentUser\My"
其他驅動器
除了 FileSystem、Registry 和 Cert 驅動器外,PowerShell 還自帶了一些用於管理會話和環境的特殊驅動器。它們本質上是由 提供程序 (Provider) 創建的虛擬驅動器,可以像文件夾一樣瀏覽和操作。
Alias 驅動器
- 作用:查看和管理當前 PowerShell 會話中的 別名
- 路徑:
Alias: - 示例:
# 列出所有別名
Get-ChildItem Alias:
# 查看 Dir 實際對應的 cmdlet
Get-Item Alias:Dir
# 創建別名
Set-Alias -Name ll Get-ChildItem
# 或者等效方式(直接在 Alias 驅動器下)
New-Item -Path Alias:ll -Value Get-ChildItem
# 刪除別名
Remove-Item Alias:ll
注意:沒有 Remove-Alias cmdlet,必須用 Remove-Item 或 Clear-Item。
Env 驅動器
- 作用:查看和管理 Windows 環境變量
- 路徑:
Env: - 示例:
# 查看所有環境變量
Get-ChildItem Env:
# 獲取 PATH 環境變量
Get-Item Env:Path
# 設置新的環境變量(僅對當前會話有效)
Set-Item Env:TestVar "HelloWorld"
# 永久設置環境變量(需使用 .NET 或 [System.Environment])
[System.Environment]::SetEnvironmentVariable("JAVA_HOME","C:\Java\jdk17","User")
實際應用:自動化腳本里修改 PATH、JAVA_HOME 等。
- 話級修改:只在當前 PowerShell 窗口有效。
- 永久修改:需要調用 .NET 或註冊表(寫入
HKCU:\Environment或HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment)。
實際案例
設置臨時環境變量(只在當前會話)
用途:測試、腳本運行時參數,不污染全局
# 設置臨時變量
$env:APP_ENV = "Dev"
# 使用變量
Write-Output "Running in $env:APP_ENV mode"
# 刪除臨時變量
Remove-Item Env:APP_ENV
永久設置環境變量
用途:配置開發環境(Java、Python、Go、Node.js 等)
# 為當前用户設置 JAVA_HOME
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Java\jdk17", "User")
# 為所有用户設置
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Java\jdk17", "Machine")
需要重新啓動會話才能生效。
臨時修改 PATH
用途:讓腳本使用特定工具,不污染全局 PATH
# 臨時在 PATH 前加工具路徑
$env:Path = "C:\Tools\bin;$env:Path"
# 確認工具生效
where.exe mytool.exe
跨進程傳遞參數
用途:CI/CD、子進程調用腳本時傳參
# 設置環境變量
$env:MY_TOKEN = "123456"
# 子進程繼承環境變量
Start-Process powershell -ArgumentList "-Command echo `$env:MY_TOKEN"
使用環境變量存放敏感信息
用途:避免硬編碼密碼/API Key
# 設置臨時 API Key
$env:API_KEY = "my-secret-token"
# 使用 API Key 調用接口
Invoke-RestMethod "https://api.example.com/data" -Headers @{ Authorization = "Bearer $env:API_KEY" }
環境配置腳本
用途:一鍵配置開發環境,便於遷移
# setup-env.ps1
$env:JAVA_HOME = "C:\Java\jdk17"
$env:Path = "$env:JAVA_HOME\bin;$env:Path"
Write-Output "Environment configured. JAVA_HOME=$env:JAVA_HOME"
用户執行:
.\setup-env.ps1
清理變量
用途:避免污染環境,防止腳本間衝突
if (Test-Path Env:MY_TEMP_VAR) {
Remove-Item Env:MY_TEMP_VAR
}
CI/CD 管道常見用法
# 在 CI 流水線裏設置構建版本號
$env:BUILD_VERSION = "1.0.$(Get-Date -Format yyyyMMddHHmm)"
# 打包時引用
dotnet build /p:Version=$env:BUILD_VERSION
Function 驅動器
- 作用:查看和管理當前 PowerShell 會話中的 函數
- 路徑:
Function: - 示例:
# 列出所有函數
Get-ChildItem Function:
# 查看某個函數的定義
Get-Item Function:Get-Process | Format-List Definition
# 定義新函數(兩種方式)
Function Say-Hello { "Hello PowerShell" }
# 或者
New-Item Function:Say-Hello -Value { "Hello PowerShell" }
# 刪除函數
Remove-Item Function:Say-Hello
Variable 驅動器
- 作用:查看和管理當前會話中的 變量
- 路徑:
Variable: - 示例:
# 查看所有變量
Get-ChildItem Variable:
# 查看特定變量
Get-Item Variable:PSVersionTable
# 新建變量
New-Item Variable:MyVar -Value "PowerShell Rocks"
# 刪除變量
Remove-Item Variable:MyVar
WSMan 驅動器
- 作用:管理 WS-Management 配置(WinRM 設置)
- 路徑:
WSMan: - 示例:
# 查看本地計算機 WSMan 配置
Get-ChildItem WSMan:\localhost
# 查看監聽器
Get-ChildItem WSMan:\localhost\Listener
# 創建新的 WSMan 監聽器
New-Item -Path WSMan:\localhost\Listener -Address * -Transport HTTP
額外驅動器(來自模塊/角色)
Active Directory (AD)
- 路徑:
AD:(需要安裝 RSAT 工具和 ActiveDirectory 模塊) - 管理對象:用户、組、計算機、OU 等
- 示例:
# 查看 AD 根目錄
Get-ChildItem AD:
# 查看所有 OU
Get-ChildItem AD:\contoso.com\OU=Users
IIS
- 路徑:
IIS:(需要安裝 IIS 和 WebAdministration 模塊) - 管理對象:站點、應用程序池、虛擬目錄
- 示例:
# 查看 IIS 配置
Get-ChildItem IIS:\Sites
# 新建站點
New-Item IIS:\Sites\MySite -bindings @{protocol="http";bindingInformation="*:8080:"} -physicalPath "C:\inetpub\mysite"
動態參數
像文件系統那樣,這些驅動器也可能有 動態參數(只在特定 Provider 下生效)。
例如:
- Alias 提供程序:支持
-Options參數,可以設置別名屬性(是否可覆蓋、是否只讀等) - Registry 提供程序:支持
-Type參數(REG_SZ, REG_DWORD 等) - Cert 提供程序:支持
-ExpiringInDays,-DnsName等
可以通過以下命令確認驅動器背後的提供程序:
Get-PSDrive
查看提供程序幫助:
Get-Help about_Alias_Provider