Update-Help
下載並安裝最新的說明檔案到你的電腦上。
語法
Path (預設值)
Update-Help
[[-Module] <String[]>]
[[-SourcePath] <String[]>]
[[-UICulture] <CultureInfo[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-Recurse]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
LiteralPath
Update-Help
[[-Module] <String[]>]
[[-UICulture] <CultureInfo[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-LiteralPath <String[]>]
[-Recurse]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
指令 Update-Help 檔會下載最新的 PowerShell 模組說明檔,並安裝到你的電腦上。 你不需要重啟 PowerShell 才能讓變更有效。 你可以使用 Get-Help 這個 cmdlet 立即查看新的說明檔案。
Update-Help 檢查你電腦上說明檔的版本。 如果你沒有某模組的說明檔,或說明檔已經過時,請 Update-Help 下載最新的說明檔。 說明檔案可以從網路或檔案分享平台下載並安裝。
沒有參數時, Update-Help 會更新支援可更新說明且已載入於會話中或安裝於 $Env:PSModulePath. 如需詳細資訊,請參閱 about_Updatable_Help。
Update-Help 檢查安裝的說明版本。 如果 Update-Help 找不到模組更新的說明檔,它會靜默繼續,不會顯示錯誤訊息。 用 力度 參數跳過版本檢查。 使用 Verbose 參數查看狀態和進度細節。 使用 Module 參數來更新特定模組的說明檔。
你也可以在沒有連網的電腦上使用 Update-Help 。 首先,使用 Save-Help指令長從網路下載說明檔,並儲存在系統無法存取的共用資料夾中。 接著使用 SourcePathUpdate-Help 參數從共享資料夾下載更新的說明檔並安裝到電腦上。
Update-Help 指令檔於 PowerShell 3.0 Windows 中引入。
這很重要
Update-Help 需要在 PowerShell 6.0 及以下版本中擁有管理員權限。 PowerShell 6.1 及以上版本將預設 範圍 設為 CurrentUser。 在 PowerShell 6.1 之前, Scope 參數尚未可用。
您必須是電腦管理員群組的成員,才能更新核心 PowerShell 模組的說明檔案。
若要下載或更新 PowerShell 安裝目錄中模組的說明檔($PSHOME\Modules包括 PowerShell Core 模組),請使用以 管理員身份執行 選項啟動 PowerShell。 例如: Start-Process pwsh.exe -Verb RunAs 。
範例
範例 1:更新所有模組的說明檔
Update-Help指令長更新說明檔是支援可更新說明的已安裝模組。 使用者介面(UI)文化語言是在作業系統中設定的。
Update-Help
範例 2:更新指定模組的說明檔案
Update-Help cmdlet 更新僅幫助模組名稱以 Microsoft 開頭的檔案。PowerShell.
Update-Help -Module Microsoft.PowerShell*
範例 3:更新未設定為 en-US 地點的系統說明
這個 Update-Help 指令長程式設計用來下載多種語言的幫助資料。 然而,當系統所用語言無法提供協助時,會顯示模組及使用者介面文化的錯誤訊息。
在這個例子中, Update-Help 正在設定為 en-GB 該地點的系統上執行。
Update-Help Microsoft.PowerShell.Utility -Force
Update-Help: Failed to update Help for the module(s) 'Microsoft.PowerShell.Utility' with
UI culture(s) {en-GB} : The specified culture is not supported: en-GB. Specify a culture
from the following list: {en-US}..
English-US help content is available and can be installed using: Update-Help -UICulture en-US.
說明檔案總是針對當地 en-US 發布。 要下載英文說明,請使用 Update-HelpUICulture 參數並指定 en-US 地點。
範例 4:從檔案分享更新多台電腦的說明檔案
在此範例中,更新的說明檔案是從網路下載並儲存在檔案分享中。 需要具備存取檔案分享及安裝更新權限的使用者憑證。 當使用檔案分享時,可以更新那些被防火牆保護或未連接網路的電腦。
Save-Help -DestinationPath \\Server01\Share\PSHelp -Credential Domain01\Admin01
Invoke-Command -ComputerName (Get-Content Servers.txt) -ScriptBlock {
Update-Help -SourcePath \\Server01\Share\PSHelp -Credential Domain01\Admin01
}
這個 Save-Help 指令會下載所有支援可更新說明模組的最新說明檔。
DestinationPath 參數會將檔案儲存在檔案共享中\\Server01\Share\PSHelp。
憑證參數指定有權限存取檔案分享的使用者。
指令 Invoke-Command 檔可在多台電腦上執行遠端 Update-Help 指令。
ComputerName 參數會從 Servers.txt 檔案取得遠端電腦的清單。
ScriptBlock 參數執行該Update-Help指令,並使用 SourcePath 參數指定包含更新說明檔案的檔案共享。
憑證參數指定一個使用者,該使用者可以存取檔案分享並執行遠端Update-Help指令。
範例 5:取得更新的說明檔案清單
指令長更新有助於 Update-Help 特定模組。 該 cmdlet 使用 Verbose common 參數來顯示已更新的說明檔案清單。 你可以使用 Verbose 查看所有說明檔案的輸出,或是特定模組的說明檔案。
沒有 Verbose 參數, Update-Help 則不會顯示指令的結果。
Verbose 參數輸出有助於驗證說明檔案是否已更新,或是否安裝了最新版本。
Update-Help -Module Microsoft.PowerShell.Utility -Verbose
範例 6:尋找支援可更新說明的模組
此範例列出支援可更新說明的模組。 此指令利用模組的 HelpInfoUri 屬性來識別支援可更新說明的模組。
HelpInfoUri 屬性包含一個 URL,執行 cmdlet 時Update-Help會被重新導向。
Get-Module -ListAvailable | Where-Object -Property HelpInfoUri
Directory: C:\Program Files\PowerShell\6\Modules
ModuleType Version Name PSEdition ExportedCommands
---------- ------- ---- --------- ----------------
Manifest 6.1.0.0 CimCmdlets Core {Get-CimAssociatedInstance... }
Manifest 1.2.2.0 Microsoft.PowerShell.Archive Desk {Compress-Archive... }
Manifest 6.1.0.0 Microsoft.PowerShell.Diagnostics Core {Get-WinEvent, New-WinEvent}
Directory: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
ModuleType Version Name PSEdition ExportedCommands
---------- ------- ---- --------- ----------------
Manifest 2.0.1.0 Appx Core,Desk {Add-AppxPackage, ... }
Script 1.0.0.0 AssignedAccess Core,Desk {Clear-AssignedAccess, ... }
Manifest 1.0.0.0 BitLocker Core,Desk {Unlock-BitLocker, ... }
範例 7:更新的庫存說明檔案
在此範例中,腳本 Get-UpdateHelpVersion.ps1 會建立一個可更新說明檔案的清單,並列出每個模組的版本號。
腳本利用模組的 HelpInfoUri 屬性來識別支援可更新說明的模組。 對於支援可更新說明的模組,腳本會搜尋並解析說明資訊檔(*helpinfo.xml)以找出最新的版本號。
該腳本使用 PSCustomObject 類別與雜湊表來建立自訂輸出物件。
# Get-UpdateHelpVersion.ps1
param (
[Parameter(Mandatory=$false)]
[string[]]
$Module
)
$HelpInfoNamespace = @{helpInfo='http://schemas.microsoft.com/powershell/help/2010/05'}
if ($Module) { $Modules = Get-Module $Module -ListAvailable | where {$_.HelpInfoUri} }
else { $Modules = Get-Module -ListAvailable | where {$_.HelpInfoUri} }
foreach ($mModule in $Modules)
{
$mDir = $mModule.ModuleBase
if (Test-Path $mDir\*helpinfo.xml)
{
$mName=$mModule.Name
$mNodes = dir $mDir\*helpinfo.xml -ErrorAction SilentlyContinue |
Select-Xml -Namespace $HelpInfoNamespace -XPath "//helpInfo:UICulture"
foreach ($mNode in $mNodes)
{
$mCulture=$mNode.Node.UICultureName
$mVer=$mNode.Node.UICultureVersion
[pscustomobject]@{"ModuleName"=$mName; "Culture"=$mCulture; "Version"=$mVer}
}
}
}
ModuleName Culture Version
---------- ------- -------
ActiveDirectory en-US 3.0.0.0
ADCSAdministration en-US 3.0.0.0
ADCSDeployment en-US 3.0.0.0
ADDSDeployment en-US 3.0.0.0
ADFS en-US 3.0.0.0
參數
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 參見 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Credential
指定有權存取 SourcePath 指定檔案系統位置的使用者憑證。 此參數僅在指令中使用 SourcePath 或 LiteralPath 參數時有效。
憑證參數允許你在遠端電腦上執行Update-Help帶有 SourcePath 參數的指令。 透過提供明確的憑證,你可以在遠端電腦執行指令,並在第三台電腦上存取檔案分享,而不會遇到拒絕存取錯誤,也不會使用 CredSSP 認證來委派憑證。
輸入使用者名稱,例如 User01 或 Domain01\User01,或輸入 Cmdlet 所產生的 Get-Credential 物件。 如果您輸入使用者名稱,系統會提示您輸入密碼。
認證會儲存在 PSCredential 物件中,密碼會儲存為 secureString 。
Note
如需 SecureString 數據保護的詳細資訊,請參閱 SecureString 有多安全?。
參數屬性
| 類型: | PSCredential |
| 預設值: | Current user |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Force
表示此指令檔未遵守每日一次的限制,跳過版本檢查,且下載檔案超過1 GB限制。
若無此參數,則 Update-Help 每 24 小時僅運行一次。 每個模組的下載限制為 1 GB 的未壓縮內容,且說明檔案只會在比電腦現有檔案更新時安裝。
每天一次的限制保護了存放說明檔案的伺服器,讓你在不必重複連線或下載時,直接在 PowerShell 設定檔中新增 Update-Help 指令。
若要在多個 UI 文化中更新模組的說明,且沒有 Force 參數,請在同一指令中包含所有 UI 文化,例如:
Update-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-FullyQualifiedModule
此值可以是模組名稱、完整模組規格或模組檔案的路徑。
當值為路徑時,路徑可以是完整或相對路徑。 相對於包含 using 語句的腳本,會解析相對路徑。
當值是名稱或模組規格時,PowerShell 會 搜尋 PSModulePath 中的指定模組。
模組規格是具有下列索引鍵的哈希表。
-
ModuleName- 必要 指定模組名稱。 -
GUID- 可選 指定模組的 GUID。 - 同時 必要 至少指定下列三個鍵中的一個。
-
ModuleVersion- 指定模組的最低可接受的版本。 -
MaximumVersion- 指定模組的最大可接受的版本。 -
RequiredVersion- 指定模組的確切必要版本。 這無法與其他版本金鑰搭配使用。
-
您無法在與 Module 參數相同的命令中指定 FullyQualifiedModule 參數。
參數屬性
| 類型: | |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-LiteralPath
指定更新說明檔案的資料夾,而不是從網路下載。 如果你用 cmdlet 下載說明檔到目錄,請使用這個參數或 Save-Help。
你可以將目錄物件(例如從 Get-Item or Get-ChildItem cmdlets)管線化到 Update-Help。
與 SourcePath 的值不同, LiteralPath 的值是完全按照其型別使用。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住它。 單引號會告知PowerShell不要將任何字元解譯為逸出序列。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | PSPath, LP |
參數集
LiteralPath
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Module
更新有助於指定模組。 在逗號分隔的列表中輸入一個或多個模組名稱或名稱模式,或指定一個每行列出一個模組名稱的檔案。 允許使用通配符字元。 你可以從 cmdlet 的模組進行管線Get-Module處理。Update-Help
你指定的模組必須安裝在電腦上,但不一定要匯入到目前的 session 裡。 你可以指定會話中的任何模組,或是安裝在環境變數中 $Env:PSModulePath 指定位置的任何模組。
(all) 的值 * 嘗試更新電腦上所有已安裝模組的說明。
包含不支援可更新說明的模組。 當指令遇到不支援 Updatable Help 的模組時,這個值可能會產生錯誤。 相反地,不要用參數來運行 Update-Help 。
指令長的 Module 參數 Update-Help 不接受模組檔案或模組清單檔案的完整路徑。 若要更新不在某 $Env:PSModulePath 個位置的模組說明,請先將模組匯入當前工作階段,再執行 Update-Help 指令。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
| 別名: | Name |
參數集
(All)
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Recurse
在指定目錄中對說明檔案進行遞迴搜尋。 此參數僅在指令使用 SourcePath 參數時有效。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Scope
指定系統範圍,說明協助資訊的更新範圍。
AllUsers範圍的更新需要在Windows系統上取得管理員權限。 此 -Scope 參數於 PowerShell Core 6.1 版本中引入。
CurrentUser 是 PowerShell 6.1 及以上版本中說明檔案的預設範圍。
AllUsers 可指定安裝或更新所有使用者的說明。 在 Unix 系統 sudo 上,所有使用者更新說明時都必須具備權限。 例如: sudo pwsh -c Update-Help
可接受的數值如下:
- 目前使用者
- AllUsers
參數屬性
| 類型: | UpdateHelpScope |
| 預設值: | CurrentUser |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-SourcePath
指定一個檔案系統資料夾,讓 Update-Help 使用者能取得更新的說明檔案,而不是從網路下載。 進入資料夾的路徑。 不要指定檔案名稱或副檔名。 你可以將資料夾(例如從 or cmdlets 的Get-Item資料夾)管線化到 Get-ChildItem。Update-Help
預設情況下, Update-Help 會從網路下載更新的說明檔。 當你用 cmdlet 下載更新的說明檔到目錄時,請使用 Save-Help。
要指定 SourcePath 的預設值,請到 群組原則、 電腦設定,並 設定 Update-Help 的預設來源路徑。 此群組原則設定會防止使用者從 Update-Help 網路下載說明檔案。
如需詳細資訊,請參閱 about_Group_Policy_Settings。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 路徑 |
參數集
Path
| Position: | 1 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-UICulture
指定 UI 文化值,該 cmdlet 會因此更新說明檔。 輸入一個或多個語言代碼,例如 es-ES,一個包含文化物件的變數,或一個取得文化物件的指令,例如 a Get-Culture 或 Get-UICulture 指令。 不允許使用萬用字元。
預設情況下,會 Update-Help 獲得作業系統或其備用文化設定的說明檔案。 如果你指定 了 UICulture 參數,只會 Update-Help 尋找指定語言的幫助。
從 PowerShell 7.4 開始,你可以使用部分語言代碼,例如 en 下載任何地區的英文說明。
Note
Ubuntu 18.04 將預設的區域設定改成 C.UTF.8,這並不是一個被認可的 UI 文化。
Update-Help 除非你用這個參數搭配支援的 locale,否則 en-US它會悄悄無法下載幫助。 這種情況可能發生在任何使用非支援值的平台上。
參數屬性
| 類型: | |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 2 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-UseDefaultCredentials
表示該 Update-Help 指令執行指令,包括網路下載,使用目前使用者的憑證。 預設情況下,指令執行時不會有明確的憑證。
此參數僅在網頁下載使用 NT LAN 管理器(NTLM)、協商或基於 Kerberos 的認證時有效。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 該 Cmdlet 未被執行。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 威斯康辛 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
DirectoryInfo
你可以把目錄路徑物件管道連接到這個 cmdlet。
PSModuleInfo
您可以使用管線將模組物件傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
要更新核心 PowerShell 模組的說明,這些模組包含以 PowerShell 或目錄中 $PSHOME\Modules 任何模組安裝的指令,啟動 PowerShell 時選擇 以管理員身份執行。
只有電腦管理員群組的成員能更新核心 PowerShell 模組的說明、與 PowerShell 一起安裝的指令,以及資料夾中 $PSHOME\Modules 模組的說明。 如果你沒有權限更新說明檔案,也可以在線上閱讀說明檔案。 例如: Get-Help Update-Help -Online 。
模組是最小的可更新幫助單位。 你無法更新特定 cmdlet 的說明。 要找到包含特定 cmdlet 的模組,請使用該 cmdlet 的 Get-Command 屬性,例如 (Get-Command Update-Help).ModuleName。
由於說明檔案安裝在模組目錄中,指令 Update-Help 長程式只能安裝更新後的說明檔,針對已安裝在電腦上的模組。 不過, Save-Help 指令小程式可以為未安裝在電腦上的模組保留協助。
Update-Help 指令檔於 PowerShell 3.0 Windows 中引入。 它在早期版本的 PowerShell 中無法運作。 在同時Windows PowerShell 2.0 和 Windows PowerShell 3.0 的電腦上,請在 Windows PowerShell 3.0 工作階段中使用 Update-Help cmdlet 來下載和更新說明檔。 說明檔同時適用於 Windows PowerShell 2.0 和 Windows PowerShell 3.0。
Update-Help和 Save-Help cmdlets 使用以下埠碼來下載說明檔:埠 80 用於 HTTP,埠 443 用於 HTTPS。
Update-Help 支援所有模組及核心的 PowerShell snap-in。它不支援其他卡扣式。
要更新環境變數中未列出 $Env:PSModulePath 的模組說明,將模組匯入目前的工作階段,然後執行 Update-Help 指令。 可不設參數執行 Update-Help ,或使用 Module 參數來指定模組名稱。 和 cmdlets 的 Update-HelpSave-Help 參數不接受模組檔案或模組清單檔案的完整路徑。
任何模組都可以支援可更新的幫助。 關於你所撰寫模組中支援可更新幫助的說明,請參見 支援可更新的輔助。
Windows 預安裝環境 (Windows PE) 不支援 Update-Help 和 Save-Help Cmdlet。