Sdílet prostřednictvím


Save-Help

Stáhne a uloží nejnovější soubory nápovědy do adresáře systému souborů.

Syntaxe

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

Rutina Save-Help stáhne nejnovější soubory nápovědy pro moduly PowerShellu a uloží je do zadaného adresáře. Tato funkce umožňuje aktualizovat soubory nápovědy na počítačích, které nemají přístup k internetu, a usnadňuje aktualizaci souborů nápovědy na více počítačích.

V prostředí Windows PowerShell 3.0 Save-Help fungovalo pouze pro moduly nainstalované v místním počítači. I když bylo možné importovat modul ze vzdáleného počítače nebo získat odkaz na objekt PSModuleInfo ze vzdáleného počítače pomocí vzdálené komunikace PowerShellu, vlastnost HelpInfoUri nebyla zachována a Save-Help nebude fungovat pro nápovědu ke vzdálenému modulu.

V prostředí Windows PowerShell 4.0 je vlastnost HelpInfoUri zachována přes vzdálenou vzdálenou komunikace PowerShellu, která umožňuje Save-Help pracovat pro moduly nainstalované na vzdálených počítačích. Je také možné uložit PSModuleInfo objekt na disk nebo vyměnitelné médium spuštěním Export-Clixml v počítači, který nemá přístup k internetu, importovat objekt do počítače, který má přístup k internetu, a potom spustit Save-Help na PSModuleInfo objektu. Uložená nápověda se dá přenést do vzdáleného počítače pomocí vyměnitelného úložného média, jako je jednotka USB. Nápovědu lze nainstalovat na vzdálený počítač spuštěním Update-Help. Tento proces lze použít k instalaci nápovědy na počítače, které nemají žádný typ síťového přístupu.

Pokud chcete nainstalovat uložené soubory nápovědy, spusťte rutinu Update-Help. Přidejte jeho SourcePath parametr pro určení složky, do které jste uložili soubory nápovědy.

Bez parametrů stáhne příkaz Save-Help nejnovější nápovědu pro všechny moduly v relaci a moduly nainstalované v počítači v umístění uvedeném v proměnné prostředí PSModule Path. Tato akce přeskočí moduly, které nepodporují aktualizovatelnou nápovědu bez upozornění.

Rutina Save-Help zkontroluje verzi všech souborů nápovědy v cílové složce. Pokud jsou k dispozici novější soubory nápovědy, tato rutina stáhne nejnovější soubory nápovědy z internetu a uloží je do složky. Rutina Save-Help funguje stejně jako rutina Update-Help s tím rozdílem, že ukládá stažené soubory CAB (.cab) místo extrahování souborů nápovědy ze souborů CAB a jejich instalaci do počítače.

Uložená nápověda pro každý modul se skládá z jednoho souboru nápovědy (HelpInfo XML) a jednoho souboru CAB (.cab) pro soubory nápovědy každé jazykové verze uživatelského rozhraní. Soubory nápovědy nemusíte extrahovat ze souboru CAB. Rutina Update-Help extrahuje soubory nápovědy, ověří zabezpečení XML a pak nainstaluje soubory nápovědy a informační soubor nápovědy do podsložky modulu specifické pro jazyk.

Pokud chcete uložit soubory nápovědy pro moduly v instalační složce PowerShellu ($pshome\Modules), spusťte PowerShell pomocí možnosti Spustit jako správce. Abyste mohli stáhnout soubory nápovědy pro tyto moduly, musíte být členem skupiny Administrators na počítači.

Tato rutina byla zavedena ve Windows PowerShellu 3.0.

Příklady

Příklad 1: Uložení nápovědy pro modul 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"

Tento příklad ukazuje tři různé způsoby použití Save-Help k uložení nápovědy pro modul DhcpServer z klientského počítače připojeného k internetu bez instalace modulu DhcpServer nebo role serveru DHCP na místním počítači.

Příklad 2: Instalace nápovědy pro modul 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"

Tento příklad ukazuje, jak nainstalovat nápovědu, kterou jste uložili v příkladu 1 pro modul DhcpServer na počítači, který nemá přístup k internetu.

Příklad 3: Uložení nápovědy pro všechny moduly

Save-Help -DestinationPath "\\Server01\FileShare01"

Tento příkaz stáhne nejnovější soubory nápovědy pro všechny moduly v jazykové verzi uživatelského rozhraní nastavené pro Windows na místním počítači. Uloží soubory nápovědy do složky \\Server01\Fileshare01.

Příklad 4: Uložení nápovědy pro modul v počítači

Save-Help -Module ServerManager -DestinationPath "\\Server01\FileShare01" -Credential Domain01/Admin01

Tento příkaz stáhne nejnovější soubory nápovědy pro modul ServerManager a uloží je do složky \\Server01\Fileshare01.

Pokud je na počítači nainstalovaný modul, můžete jako hodnotu parametru Module zadat název modulu, a to i v případě, že modul není importován do aktuální relace.

Příkaz používá parametr credential k zadání přihlašovacích údajů uživatele, který má oprávnění k zápisu do sdílené složky.

Příklad 5: Uložení nápovědy pro modul na jiném počítači

Invoke-Command -ComputerName Server02 {Get-Module -Name CustomSQL -ListAvailable} | Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01

Tyto příkazy stáhnou nejnovější soubory nápovědy pro modul CustomSQL a uloží je do složky \\Server01\Fileshare01.

Vzhledem k tomu, že modul CustomSQL není v počítači nainstalovaný, obsahuje sekvence příkaz Invoke-Command, který získá objekt modulu pro modul CustomSQL z počítače Serveru02 a potom objekt modulu předá rutině Save-Help.

Pokud v počítači není nainstalovaný modul, Save-Help potřebuje objekt modulu, který obsahuje informace o umístění nejnovějších souborů nápovědy.

Příklad 6: Uložení nápovědy pro modul ve více jazycích

Save-Help -Module Microsoft.PowerShell* -UICulture de-DE, en-US, fr-FR, ja-JP -DestinationPath "D:\Help"

Tento příkaz uloží nápovědu pro základní moduly PowerShellu ve čtyřech různých jazykových verzích uživatelského rozhraní. Jazykové sady pro tato národní prostředí nemusí být v počítači nainstalovány.

Save-Help mohou stáhnout soubory nápovědy pro moduly v různých jazykových verzích uživatelského rozhraní pouze v případě, že vlastník modulu zpřístupní přeložené soubory na internetu.

Příklad 7: Uložení nápovědy více než jednou denně

Save-Help -Force -DestinationPath "\\Server3\AdminShare\Help"

Tento příkaz uloží nápovědu pro všechny moduly nainstalované v počítači. Příkaz určuje parametr Force přepsání pravidla, které brání rutině Save-Help stahovat nápovědu více než jednou v každém 24hodinovém období.

Parametr Force také přepíše omezení o velikosti 1 GB a obchází kontrolu verzí. Proto můžete stáhnout soubory i v případě, že verze není pozdější než verze v cílové složce.

Příkaz používá rutinu Save-Help ke stažení a uložení souborů nápovědy do zadané složky. Parametr Force se vyžaduje, když potřebujete spustit příkaz Save-Help více než jednou denně.

Parametry

-Credential

Určuje přihlašovací údaje uživatele. Tato rutina spustí příkaz pomocí přihlašovacích údajů uživatele, který má oprávnění pro přístup k umístění systému souborů určenému parametrem DestinationPath. Tento parametr je platný pouze v případě, že se v příkazu použije parametr DestinationPath nebo LiteralPath.

Tento parametr umožňuje spouštět příkazy Save-Help, které na vzdálených počítačích používají parametr DestinationPath. Zadáním explicitních přihlašovacích údajů můžete příkaz spustit na vzdáleném počítači a přistupovat ke sdílené složce na třetím počítači, aniž by došlo k chybě odepření přístupu nebo k delegování přihlašovacích údajů pomocí ověřování CredSSP.

Zadejte uživatelské jméno, například User01 nebo Domain01\User01, nebo zadejte objekt PSCredential vygenerovaný rutinou Get-Credential. Pokud zadáte uživatelské jméno, zobrazí se výzva k zadání hesla.

Přihlašovací údaje jsou uloženy v objektu PSCredential a heslo je uloženo jako SecureString.

Poznámka

Další informace o ochraně dat SecureString najdete v tématu Jak zabezpečený je SecureString?.

Typ:PSCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DestinationPath

Určuje cestu ke složce, do které jsou uloženy soubory nápovědy. Nezadávejte název souboru nebo příponu názvu souboru.

Typ:String[]
Aliasy:Path
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Force

Označuje, že tato rutina neodpovídá omezení jednou za den, přeskočí kontrolu verzí a stáhne soubory, které překračují limit 1 GB.

Bez tohoto parametru je v každém 24hodinovém období povolen pouze jeden příkaz Save-Help pro každý modul, stahování je omezené na 1 GB nekomprimovaného obsahu na modul a soubory nápovědy pro modul se nainstalují jenom v případě, že jsou novější než soubory v počítači.

Omezení jednou za den chrání servery, které hostují soubory nápovědy, a umožňuje vám přidat Save-Help příkaz do profilu PowerShellu.

Pokud chcete uložit nápovědu pro modul ve více jazykových verzích uživatelského rozhraní bez parametru Force, zahrňte všechny jazykové verze uživatelského rozhraní do stejného příkazu, například: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-FullyQualifiedModule

Hodnota může být název modulu, úplná specifikace modulu nebo cesta k souboru modulu.

Pokud je hodnota cesta, může být cesta plně kvalifikovaná nebo relativní. Relativní cesta je vyřešena vzhledem ke skriptu, který obsahuje příkaz using.

Pokud je hodnota název nebo specifikace modulu, PowerShell prohledá PSModulePath zadaného modulu.

Specifikace modulu je hashovatelná tabulka s následujícími klíči.

  • ModuleName - Povinný Určuje název modulu.
  • GUID - Volitelné Určuje identifikátor GUID modulu.
  • Je také Povinné zadat aspoň jeden z následujících tří klíčů.
    • ModuleVersion – Určuje minimální přijatelnou verzi modulu.
    • MaximumVersion – Určuje maximální přijatelnou verzi modulu.
    • RequiredVersion – Určuje přesnou požadovanou verzi modulu. Tuto možnost nelze použít s jinými klíči verze.

Parametr FullyQualifiedMod ule nemůžete zadat ve stejném příkazu jako parametr Module. oba parametry se vzájemně vylučují.

Typ:ModuleSpecification[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-LiteralPath

Určuje cestu cílové složky. Na rozdíl od hodnoty parametru DestinationPath se hodnota parametru LiteralPath použije přesně tak, jak je zadán. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby nepřekládaly žádné znaky jako řídicí sekvence.

Typ:String[]
Aliasy:PSPath, LP
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Module

Určuje moduly, pro které tato rutina stáhne nápovědu. Do seznamu odděleného čárkami nebo do souboru, který má na každém řádku jeden název modulu, zadejte jeden nebo více názvů modulů. Jsou povoleny zástupné znaky. Objekty modulu můžete také kanálovat z rutiny Get-Module do Save-Help.

Ve výchozím nastavení Save-Help nápovědu ke stažení pro všechny moduly, které podporují aktualizovatelnou nápovědu a jsou nainstalované v místním počítači v umístění uvedeném v proměnné prostředí PSModule Path.

Pokud chcete uložit nápovědu pro moduly, které nejsou nainstalované v počítači, spusťte na vzdáleném počítači příkaz Get-Module. Potom předejte výsledné objekty modulu do rutiny Save-Help nebo odešlete objekty modulu jako hodnotu Module nebo InputObject parametry.

Pokud je zadaný modul nainstalovaný v počítači, můžete zadat název modulu nebo objekt modulu. Pokud modul není v počítači nainstalovaný, musíte zadat objekt modulu, například objekt vrácený rutinou Get-Module.

Parametr Module rutiny Save-Help nepřijímá úplnou cestu k souboru modulu nebo souboru manifestu modulu. Chcete-li uložit nápovědu pro modul, který není v PSModulePath umístění, importujte modul do aktuální relace před spuštěním příkazu Save-Help.

Hodnota "*" (všechny) se pokusí aktualizovat nápovědu pro všechny moduly nainstalované v počítači. To zahrnuje moduly, které nepodporují aktualizovatelnou nápovědu. Tato hodnota může generovat chyby, když příkaz narazí na moduly, které nepodporují aktualizovatelnou nápovědu.

Typ:PSModuleInfo[]
Aliasy:Name
Position:1
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:True

-Scope

Tento parametr v této rutině nedělá nic.

Typ:UpdateHelpScope
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-UICulture

Určuje hodnoty jazykové verze uživatelského rozhraní, pro které tato rutina získá aktualizované soubory nápovědy. Zadejte jeden nebo více kódů jazyka, například es-ES, proměnnou obsahující objekty jazykové verze nebo příkaz, který získává objekty jazykové verze, například Get-Culture nebo Get-UICulture příkaz. Zástupné znaky nejsou povoleny.

Ve výchozím nastavení Save-Help získá soubory nápovědy v sadě jazykové verze uživatelského rozhraní pro operační systém nebo jeho záložní jazykovou verzi. Pokud zadáte parametr UICulture, Save-Help hledá nápovědu jenom pro zadaný jazyk.

Počínaje PowerShellem 7.4 můžete použít částečný kód jazyka, například en ke stažení nápovědy v angličtině pro libovolnou oblast.

Typ:CultureInfo[]
Position:2
Default value:Current UI culture
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-UseDefaultCredentials

Označuje, že tato rutina spustí příkaz, včetně stahování webu, s přihlašovacími údaji aktuálního uživatele. Ve výchozím nastavení se příkaz spustí bez explicitních přihlašovacích údajů.

Tento parametr je efektivní pouze v případě, že stahování webu používá ověřování založené na protokolu NTLM, negotiate nebo Kerberos.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

PSModuleInfo

Objekt modulu můžete do této rutiny převést.

Výstupy

None

Tato rutina nevrátí žádný výstup.

Poznámky

  • Pokud chcete uložit nápovědu pro moduly ve složce $pshome\Modules, spusťte PowerShell pomocí možnosti Spustit jako správce. Nápovědu k modulům ve složce $pshome\Modules můžou stáhnout jenom členové skupiny Administrators v počítači.
  • Uložená nápověda pro každý modul se skládá z jednoho souboru nápovědy (HelpInfo XML) a jednoho souboru CAB (.cab) pro soubory nápovědy každé jazykové verze uživatelského rozhraní. Soubory nápovědy nemusíte extrahovat ze souboru CAB. Rutina Update-Help extrahuje soubory nápovědy, ověří KÓD XML a pak nainstaluje soubory nápovědy a informační soubor nápovědy do podsložky modulu specifické pro jazyk.
  • Rutina Save-Help může uložit nápovědu pro moduly, které nejsou nainstalované v počítači. Protože jsou ale soubory nápovědy nainstalované ve složce modulu, může rutina Update-Help nainstalovat aktualizovaný soubor nápovědy jenom pro moduly nainstalované v počítači.
  • Pokud Save-Help nemůže najít aktualizované soubory nápovědy pro modul nebo nemůže najít aktualizované soubory nápovědy v zadaném jazyce, bude bezobslužná bez zobrazení chybové zprávy. Pokud chcete zjistit, které soubory příkaz uložil, zadejte parametr Podrobné.
  • Moduly jsou nejmenší jednotkou aktualizovatelné nápovědy. Nápovědu pro konkrétní rutinu nelze uložit, pouze pro všechny rutiny v modulu. Pokud chcete najít modul, který obsahuje konkrétní rutinu, použijte vlastnost ModuleName společně s rutinou Get-Command, například (Get-Command \<cmdlet-name\>).ModuleName
  • Save-Help podporuje všechny moduly a základní moduly modulu snap-in PowerShellu. Nepodporuje žádné další moduly snap-in.
  • Rutiny Update-Help a Save-Help používají následující porty ke stažení souborů nápovědy: Port 80 pro HTTP a port 443 pro HTTPS.
  • Rutiny Update-Help a Save-Help nejsou podporovány v prostředí Windows Preinstallation Environment (Windows PE).