Save-Help
下載最新的說明檔並儲存至檔案系統目錄。
Syntax
Save-Help
[-DestinationPath] <String[]>
[[-Module] <PSModuleInfo[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[[-UICulture] <CultureInfo[]>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[<CommonParameters>]
Save-Help
-LiteralPath <String[]>
[[-Module] <PSModuleInfo[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[[-UICulture] <CultureInfo[]>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[<CommonParameters>]
Description
Cmdlet 會 Save-Help
下載 PowerShell 模組的最新說明檔,並將其儲存至您指定的目錄。 此功能可讓您在無法存取網際網路的電腦上更新說明檔案,並輕鬆地在多部電腦上更新說明檔案。
在 Windows PowerShell 3.0 中,Save-Help
僅適用於安裝在本機計算機上的模組。 雖然可以使用 PowerShell 遠端處理從遠端電腦匯入模組,或從遠端電腦取得 PSModuleInfo 物件的參考,但 HelpInfoUri 屬性並未保留,而且 Save-Help
不適用於遠端模組說明。
在 Windows PowerShell 4.0 中,HelpInfoUri 屬性會保留於 PowerShell 遠端處理上,這可讓Save-Help
遠端電腦上安裝的模塊運作。 您也可以在沒有因特網存取權的計算機上執行 Export-Clixml
,將 PSModuleInfo 物件儲存到磁碟或卸載式媒體、在具有因特網存取權的計算機上匯入物件,然後在 PSModuleInfo 物件上執行Save-Help
。 儲存的說明可以使用卸載式儲存媒體,例如 USB 磁碟驅動器,將儲存的說明傳輸至遠端電腦。 執行 即可在遠端電腦上安裝 Update-Help
說明。 此程序可用來在沒有任何存取網路方式的電腦上安裝說明。
若要安裝已儲存的說明檔,請 Update-Help
執行 Cmdlet。 新增 其SourcePath 參數,以指定儲存說明檔的資料夾。
如果沒有參數, Save-Help
命令會針對會話中的所有模組,以及安裝在 PSModulePath 環境變數中位置之電腦上的模組,下載最新的說明。 此動作會略過不支援可更新說明且沒有警告的模組。
Cmdlet 會 Save-Help
檢查目的地資料夾中任何說明檔的版本。 如果有較新的說明檔可用,此 Cmdlet 會從因特網下載最新的說明檔,然後將其儲存在資料夾中。 Cmdlet Save-Help
的運作方式就像 Cmdlet 一樣 Update-Help
,不同之處在於它會儲存下載的封包 (.cab) 檔案,而不是從封包檔案擷取說明檔,並將其安裝在計算機上。
每個模組的已儲存說明都包含說明資訊 (HelpInfo XML) 檔案和包含每個 UI 文化特性說明檔案的封包 (.cab) 檔。 您不需要從封包檔案擷取說明檔。 Cmdlet Update-Help
會擷取說明檔、驗證 XML 的安全性,然後在模組資料夾的語言特定子資料夾中安裝說明檔和說明資訊檔。
若要將模組的說明檔儲存在PowerShell安裝資料夾中 ($pshome\Modules
) ,請使用 [以系統管理員身分執行] 選項啟動 PowerShell。 您必須為電腦上 Administrators 群組的成員才能下載這些模組的說明檔。
此 Cmdlet 是在 Windows PowerShell 3.0 中引進。
範例
範例 1:儲存 DhcpServer 模組的說明
# Option 1: Run Invoke-Command to get the PSModuleInfo object for the remote DHCP Server module,
# save the PSModuleInfo object in the variable $m, and then run Save-Help.
$m = Invoke-Command -ComputerName RemoteServer -ScriptBlock { Get-Module -Name DhcpServer -ListAvailable }
Save-Help -Module $m -DestinationPath "C:\SavedHelp"
# Option 2: Open a PSSession--targeted at the remote computer that is running the DhcpServer
# module--to get the PSModuleInfo object for the remote module, and then run Save-Help.
$s = New-PSSession -ComputerName "RemoteServer"
$m = Get-Module -PSSession $s -Name "DhcpServer" -ListAvailable
Save-Help -Module $m -DestinationPath "C:\SavedHelp"
# Option 3: Open a CIM session--targeted at the remote computer that is running the DhcpServer
# module--to get the PSModuleInfo object for the remote module, and then run Save-Help.
$c = New-CimSession -ComputerName "RemoteServer"
$m = Get-Module -CimSession $c -Name "DhcpServer" -ListAvailable
Save-Help -Module $m -DestinationPath "C:\SavedHelp"
此範例示範三種不同的方式, Save-Help
可用來從連線到因特網的用戶端計算機儲存 DhcpServer 模組的說明,而不需在本機計算機上安裝 DhcpServer 模組或 DHCP 伺服器角色。
範例 2:安裝 DhcpServer 模組的說明
# First, run Export-CliXml to export the PSModuleInfo object to a shared folder or to removable media.
$m = Get-Module -Name "DhcpServer" -ListAvailable
Export-CliXml -Path "E:\UsbFlashDrive\DhcpModule.xml" -InputObject $m
# Next, transport the removable media to a computer that has Internet access, and then import the
# PSModuleInfo object with Import-CliXml. Run Save-Help to save the Help for the imported DhcpServer
# module PSModuleInfo object.
$deserialized_m = Import-CliXml "E:\UsbFlashDrive\DhcpModule.xml"
Save-Help -Module $deserialized_m -DestinationPath "E:\UsbFlashDrive\SavedHelp"
# Finally, transport the removable media back to the computer that does not have network access, and
# then install the help by running Update-Help.
Update-Help -Module DhcpServer -SourcePath "E:\UsbFlashDrive\SavedHelp"
此範例示範如何在沒有因特網存取的計算機上,為 DhcpServer 模組的範例 1 中儲存的說明。
範例 3:儲存所有模組的說明
Save-Help -DestinationPath "\\Server01\FileShare01"
此命令會根據為本機電腦上 Windows 設定的 UI 文化特性下載所有模組的最新說明檔案。 它會將說明檔儲存在 \\Server01\Fileshare01
資料夾中。
範例 4:儲存電腦上的模組說明
Save-Help -Module ServerManager -DestinationPath "\\Server01\FileShare01" -Credential Domain01/Admin01
此命令會下載 ServerManager 模組的最新說明檔,然後將其儲存在 \\Server01\Fileshare01
資料夾中。
當在電腦上安裝某個模組時,即使該模組不會匯入到目前的工作階段中,您也可以輸入模組名稱當做 Module 參數的值。
命令使用 Credential 參數提供具權限在檔案共用進行寫入之使用者的認證。
範例 5:儲存不同電腦上的模組說明
Invoke-Command -ComputerName Server02 {Get-Module -Name CustomSQL -ListAvailable} | Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01
這些命令會下載 CustomSQL 模組的最新說明檔,並將其儲存在 \\Server01\Fileshare01
資料夾中。
因為計算機上未安裝 CustomSQL 模組,所以順序會包含 Invoke-Command
命令,該命令會從 Server02 計算機取得 CustomSQL 模組的模組對象,然後將模組物件管線傳送至 Save-Help
Cmdlet。
當計算機上未安裝模組時, Save-Help
需要模組物件,其中包含最新說明檔位置的相關信息。
範例 6:以多種語言儲存模組的說明
Save-Help -Module Microsoft.PowerShell* -UICulture de-DE, en-US, fr-FR, ja-JP -DestinationPath "D:\Help"
此命令會將PowerShell Core 模組的說明儲存在四個不同的UI文化特性中。 這些地區設定的語言套件不需要安裝在計算機上。
Save-Help
只有在模組擁有者在因特網上提供翻譯的檔案時,才能下載不同UI文化特性中模組的說明檔。
範例 7:每天儲存一次以上的說明
Save-Help -Force -DestinationPath "\\Server3\AdminShare\Help"
此命令會為安裝在電腦上所有的模組儲存說明。 此命令會指定 Force 參數來覆寫規則,以防止 Save-Help
Cmdlet 在每個 24 小時內多次下載說明。
Force 參數也會覆寫 1 GB 的限制,並規避版本檢查。 因此,即使版本不晚於目的地資料夾中的版本,您也可以下載檔。
此命令會 Save-Help
使用 Cmdlet 來下載說明檔,並將其儲存至指定的資料夾。
當您必須每天執行Save-Help
一次以上的命令時,需要 Force 參數。
參數
-Credential
指定用戶認證。 此 Cmdlet 會使用有權存取 DestinationPath 參數所指定文件系統位置之使用者的認證來執行命令。 只有當命令中使用 DestinationPath 或 LiteralPath 參數時,此參數才有效。
此參數可讓您在遠端電腦上執行 Save-Help
使用 DestinationPath 參數的命令。 藉由提供明確的認證,您可以在遠端計算機上執行 命令,並在第三部計算機上存取檔案共用,而不會發生拒絕存取錯誤或使用 CredSSP 驗證來委派認證。
輸入用戶名稱,例如User01或Domain01\User01,或輸入 Cmdlet 所產生的 Get-Credential
PSCredential 物件。 如果您輸入使用者名稱,系統會提示您輸入密碼。
認證會儲存在 PSCredential 物件中,密碼會儲存為 SecureString。
注意
如需 SecureString 數據保護的詳細資訊,請參閱 SecureString 有多安全?。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DestinationPath
指定儲存說明檔的資料夾路徑。 不要指定檔案名稱或副檔名。
Type: | String[] |
Aliases: | Path |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
表示此 Cmdlet 不會遵循每天一次的限制、略過版本檢查,以及下載超過 1 GB 限制的檔案。
如果沒有此參數,每 24 小時期間只允許每個模組的一個 Save-Help
命令、每個模組的下載限製為 1 GB 的未壓縮內容,而且只有在模組比計算機上的檔案還新時,才會安裝模組的說明檔。
每天一次的限制可保護裝載說明檔的伺服器,並讓您能夠將命令新增 Save-Help
至 PowerShell 配置檔。
若要不使用 Force 參數來儲存多重 UI 文化特性中的模組說明,請在同一個命令中包含所有 UI 文化特性,例如:Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FullyQualifiedModule
以 ModuleSpecification 物件的形式指定名稱的模組。 請參閱 ModuleSpecification 建構函式 (哈希表) 的一節。
例如, FullyQualifiedModule 參數接受以下列其中一種格式指定的模組名稱:
@{ModuleName = "modulename"; ModuleVersion = "version_number"}
@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}
ModuleName 和 ModuleVersion 是必要參數,但 Guid 是選擇性參數。 您無法在與 Module 參數相同的命令中指定 FullyQualifiedModule 參數。 這兩個參數互斥。
Type: | ModuleSpecification[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
指定目的地資料夾的路徑。 與 DestinationPath 參數的值不同,LiteralPath 參數的值將完全依照其輸入值來使用。 沒有字元會被視為萬用字元。 如果路徑包含逸出字元,請將它括在單引號中。 單引號會指示PowerShell不要將任何字元解譯為逸出序列。
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Module
指定此 Cmdlet 下載說明的模組。 在逗號分隔清單中輸入一或多個模組名稱或名稱分頁,或在每一行都有一個模組名稱的檔案中輸入一或多個模組名稱。 允許使用萬用字元。 您也可以使用管線將 Get-Module
模組物件從 Cmdlet 傳送至 Save-Help
。
根據預設, Save-Help
會下載支援可更新說明的所有模組說明,並安裝在 PSModulePath 環境變數所列位置的本機計算機上。
若要儲存電腦上未安裝之模組的說明,請在遠端電腦上執行 Get-Module
命令。 然後將產生的模組對象傳送至 Save-Help
Cmdlet,或將模組物件提交為 Module 或 InputObject 參數的值。
如果您指定的模組已安裝在電腦上,您可以輸入模組名稱或模組物件。 如果模組未安裝在計算機上,您必須輸入模組物件,例如 Cmdlet 所傳回的 Get-Module
模組物件。
Cmdlet 的 Save-Help
Module 參數不接受模組檔案或模組指令清單檔的完整路徑。 若要為不在 PSModulePath 位置的模組儲存說明,請在執行 Save-Help
命令之前,先將模組匯入目前的會話。
“*” 的值 (所有) 嘗試更新計算機上安裝之所有模組的說明。 這包括不支援可更新說明的模組。 當命令遇到不支援可更新說明的模組時,此值可能會產生錯誤。
Type: | PSModuleInfo[] |
Aliases: | Name |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Scope
此參數在此 Cmdlet 中不會執行任何動作。
Type: | UpdateHelpScope |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UICulture
指定此 Cmdlet 取得更新說明檔的 UI 文化特性值。 輸入一或多個語言代碼,例如 es-ES
、包含文化特性物件的變數,或取得文化特性物件的命令,例如 Get-Culture
或 Get-UICulture
命令。
不允許使用萬用字元。 請勿指定部分語言代碼,例如 「de」。
根據預設, Save-Help
取得 Windows 或其後援文化特性設定 UI 文化特性中的說明檔。
如果您指定 UICulture 參數, Save-Help
請只尋找指定 UI 文化特性的說明,而不是任何後援文化特性。
Type: | CultureInfo[] |
Position: | 2 |
Default value: | Current UI culture |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseDefaultCredentials
指出此 Cmdlet 會執行命令,包括 Web 下載,以及目前用戶的認證。 根據預設,該命令執行時不會使用明確宣告的認證。
此參數只在網路下載是使用 NTLM、交涉或 Kerberos 驗證時有效。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
您可以使用管線將模組物件從 Get-Module
Cmdlet 傳送至 的 Save-Help
Module 參數。
輸出
None
此 Cmdlet 不會產生任何輸出。
備註
- 若要在 [$pshome\Modules] 資料夾中儲存模組的說明,請使用 [以系統管理員身分執行] 選項啟動 PowerShell。 只有電腦上的 Administrators 群組成員可以下載 $pshome\Modules 資料夾中模組的說明。
- 每個模組的已儲存說明都包含說明資訊 (HelpInfo XML) 檔案和包含每個 UI 文化特性說明檔案的封包 (.cab) 檔。 您不需要從封包檔案擷取說明檔。 Cmdlet 會
Update-Help
擷取說明檔、驗證 XML,然後在模組資料夾的語言特定子資料夾中安裝說明檔和說明資訊檔。 - Cmdlet
Save-Help
可以為未安裝在電腦上的模組儲存說明。 不過,因為說明檔是安裝在模組資料夾中,所以Update-Help
Cmdlet 只能針對電腦上安裝的模組安裝更新的說明檔。 - 如果
Save-Help
找不到模組的更新說明檔,或找不到指定語言的更新說明檔,它會以無訊息方式繼續,而不會顯示錯誤訊息。 若要查看命令所儲存的檔案,請指定 Verbose 參數。 - 模組是可更新的說明之最小單位。 您只能針對模組中的所有 Cmdlet 儲存特定 Cmdlet 的說明。 若要尋找包含特定 Cmdlet 的模組,請使用 ModuleName 屬性搭配
Get-Command
Cmdlet,例如:(Get-Command \<cmdlet-name\>).ModuleName
Save-Help
支援所有模組和 PowerShell Core 嵌入式管理單元。它不支援任何其他嵌入式管理單元。Update-Help
和Save-Help
Cmdlet 會使用下列埠來下載說明檔:HTTP 的埠 80 和 HTTPS 的埠 443。- Windows
Update-Help
預安裝環境 (Windows PE) 不支援 和Save-Help
Cmdlet。