Dela via


Save-Help

Laddar ned och sparar de senaste hjälpfilerna till en filsystemkatalog.

Syntax

Save-Help
    [-DestinationPath] <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [<CommonParameters>]
Save-Help
    -LiteralPath <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [<CommonParameters>]

Description

Cmdleten Save-Help hämtar de senaste hjälpfilerna för PowerShell-moduler och sparar dem i en katalog som du anger. Med den här funktionen kan du uppdatera hjälpfilerna på datorer som inte har åtkomst till Internet och gör det enklare att uppdatera hjälpfilerna på flera datorer.

I Windows PowerShell 3.0 fungerade Spara-hjälp endast för moduler som är installerade på den lokala datorn. Även om det var möjligt att importera en modul från en fjärrdator eller hämta en referens till ett PSModuleInfo--objekt från en fjärrdator med hjälp av PowerShell-fjärrkommunikation, bevarades inte egenskapen HelpInfoUri och Spara hjälp- skulle inte fungera för fjärrmodulhjälp.

I Windows PowerShell 4.0 bevaras egenskapen HelpInfoUri via PowerShell-fjärrkommunikation, vilket gör att Save-Help- kan fungera för moduler som är installerade på fjärrdatorer. Det går också att spara ett PSModuleInfo- objekt till disk eller flyttbara medier genom att köra Export-Clixml på en dator som inte har Internetåtkomst, importera objektet på en dator som har Internetåtkomst och sedan köra Spara hjälp-PSModuleInfo--objektet. Den sparade hjälpen kan transporteras till fjärrdatorn med hjälp av flyttbara lagringsmedia, till exempel en USB-enhet. Hjälpen kan installeras på fjärrdatorn genom att köra Update-Help. Den här processen kan användas för att installera hjälp på datorer som inte har någon typ av nätverksåtkomst.

Om du vill installera sparade hjälpfiler kör du cmdleten Update-Help. Lägg till parametern SourcePath för att ange mappen där du sparade hjälpfilerna.

Utan parametrar hämtar ett Kommandot Spara hjälp den senaste hjälpen för alla moduler i sessionen och för moduler som är installerade på datorn på en plats som anges i PSModulePath miljövariabel. Den här åtgärden hoppar över moduler som inte stöder uppdateringsbar hjälp utan varning.

Cmdleten Save-Help kontrollerar versionen av eventuella hjälpfiler i målmappen. Om det finns nyare hjälpfiler hämtar den här cmdleten de senaste hjälpfilerna från Internet och sparar dem sedan i mappen. Cmdleten Save-Help fungerar precis som cmdleten Update-Help, förutom att den sparar de nedladdade kabinettfilerna (.cab) i stället för att extrahera hjälpfilerna från kabinettfilerna och installera dem på datorn.

Den sparade hjälpen för varje modul består av en hjälpinformationsfil (HelpInfo XML) och en kabinettfil (.cab) för hjälpfilerna för varje användargränssnittskultur. Du behöver inte extrahera hjälpfilerna från kabinettfilen. Cmdleten Update-Help extraherar hjälpfilerna, validerar XML för säkerhet och installerar sedan hjälpfilerna och hjälpinformationsfilen i en språkspecifik undermapp i modulmappen.

Om du vill spara hjälpfilerna för moduler i PowerShell-installationsmappen ($pshome\Moduler) startar du PowerShell med alternativet Kör som administratör. Du måste vara medlem i gruppen Administratörer på datorn för att ladda ned hjälpfilerna för dessa moduler.

Den här cmdleten introducerades i Windows PowerShell 3.0.

Exempel

Exempel 1: Spara hjälpen för DhcpServer-modulen

# 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"

Det här exemplet visar tre olika sätt att använda Save-Help för att spara hjälpen för modulen DhcpServer från en Internetansluten klientdator, utan att installera modulen DhcpServer eller DHCP Server-rollen på den lokala datorn.

Exempel 2: Installera hjälp för DhcpServer-modulen

# 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"

Det här exemplet visar hur du installerar hjälp som du sparade i Exempel 1 för modulen DhcpServer på en dator som inte har Internetåtkomst.

Exempel 3: Spara hjälp för alla moduler

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

Det här kommandot laddar ned de senaste hjälpfilerna för alla moduler i UI-kulturuppsättningen för Windows på den lokala datorn. Den sparar hjälpfilerna i mappen \\Server01\Fileshare01.

Exempel 4: Spara hjälp för en modul på datorn

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

Det här kommandot laddar ned de senaste hjälpfilerna för modulen ServerManager och sparar dem sedan i mappen \\Server01\Fileshare01.

När en modul installeras på datorn kan du ange modulnamnet som värdet för parametern Module, även om modulen inte importeras till den aktuella sessionen.

Kommandot använder parametern Credential för att ange autentiseringsuppgifterna för en användare som har behörighet att skriva till filresursen.

Exempel 5: Spara hjälp för en modul på en annan dator

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

Dessa kommandon laddar ned de senaste hjälpfilerna för modulen CustomSQL och sparar dem i mappen \\Server01\Fileshare01.

Eftersom modulen CustomSQL inte är installerad på datorn innehåller sekvensen ett Invoke-Command-kommando som hämtar modulobjektet för CustomSQL-modulen från Server02-datorn och sedan skickar modulobjektet till -cmdleten Save-Help.

När en modul inte är installerad på datorn behöver Spara hjälp modulobjektet, som innehåller information om platsen för de senaste hjälpfilerna.

Exempel 6: Spara hjälp för en modul på flera språk

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

Det här kommandot sparar hjälp för PowerShell Core-modulerna i fyra olika användargränssnittskulturer. Språkpaketen för dessa språk behöver inte installeras på datorn.

Spara hjälp kan ladda ned hjälpfiler för moduler i olika användargränssnittskulturer endast när modulägaren gör de översatta filerna tillgängliga på Internet.

Exempel 7: Spara hjälp mer än en gång varje dag

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

Det här kommandot sparar hjälp för alla moduler som är installerade på datorn. Kommandot anger parametern Force för att åsidosätta regeln som förhindrar att cmdleten Save-Help hämtar hjälp mer än en gång under varje 24-timmarsperiod.

Parametern Force åsidosätter också begränsningen på 1 GB och kringgår versionskontrollen. Därför kan du ladda ned filer även om versionen inte är senare än versionen i målmappen.

Kommandot använder cmdleten Save-Help för att ladda ned och spara hjälpfilerna i den angivna mappen. Parametern Force krävs när du måste köra ett Kommandot Spara hjälp mer än en gång varje dag.

Parametrar

-Credential

Anger en användarautentiseringsuppgift. Den här cmdleten kör kommandot med autentiseringsuppgifter för en användare som har behörighet att komma åt filsystemplatsen som anges av parametern DestinationPath. Den här parametern är endast giltig när parametern DestinationPath eller LiteralPath används i kommandot.

Med den här parametern kan du köra -kommandon som använder parametern DestinationPath på fjärrdatorer. Genom att ange explicita autentiseringsuppgifter kan du köra kommandot på en fjärrdator och komma åt en filresurs på en tredje dator utan att stöta på ett fel om nekad åtkomst eller använda CredSSP-autentisering för att delegera autentiseringsuppgifter.

Typ:PSCredential
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DestinationPath

Anger sökvägen till mappen där hjälpfilerna sparas. Ange inte filnamn eller filnamnstillägg.

Typ:String[]
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Force

Anger att denna cmdlet inte följer begränsningen en gång per dag, hoppar över versionskontrollen och laddar ned filer som överskrider gränsen på 1 GB.

Utan den här parametern tillåts endast ett Kommandot Spara hjälp för varje modul under varje 24-timmarsperiod, nedladdningar är begränsade till 1 GB okomprimerat innehåll per modul och hjälpfiler för en modul installeras endast när de är nyare än filerna på datorn.

Gränsen en gång per dag skyddar servrarna som är värdar för hjälpfilerna och gör det praktiskt att lägga till ett Kommandot Spara hjälp i PowerShell-profilen.

Om du vill spara hjälp för en modul i flera användargränssnittskulturer utan parametern Force tar du med alla användargränssnittskulturer i samma kommando, till exempel: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-FullyQualifiedModule

Anger moduler med namn som anges i form av ModuleSpecification-objekt. Detta beskrivs i avsnittet Anmärkningar i ModuleSpecification Constructor (Hashtable) i MSDN-biblioteket. Parametern FullyQualifiedModule accepterar till exempel ett modulnamn som anges i formatet @{ModuleName = "modulename"; ModuleVersion = "version_number"} eller @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName och ModuleVersion krävs, men Guid är valfritt.

Du kan inte ange parametern FullyQualifiedModule i samma kommando som parametern Module.

Typ:ModuleSpecification[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-LiteralPath

Anger en sökväg till målmappen. Till skillnad från värdet för parametern DestinationPath används värdet för parametern LiteralPath exakt som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.

Typ:String[]
Alias:PSPath
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Module

Anger moduler som den här cmdleten hämtar hjälp för. Ange ett eller flera modulnamn eller namnspatters i en kommaavgränsad lista eller i en fil som har ett modulnamn på varje rad. Jokertecken tillåts. Du kan också skicka modulobjekt från cmdleten Get-Module till Save-Help.

Som standard hjälp med att spara hjälp nedladdningar för alla moduler som stöder uppdateringsbar hjälp och installeras på den lokala datorn på en plats som anges i miljövariabeln PSModulePath.

Om du vill spara hjälp för moduler som inte är installerade på datorn kör du kommandot Get-Module på en fjärrdator. Skicka sedan de resulterande modulobjekten till cmdleten Save-Help eller skicka modulobjekten som värdet för parametrarna Module eller InputObject.

Om modulen som du anger är installerad på datorn kan du ange modulnamnet eller ett modulobjekt. Om modulen inte är installerad på datorn måste du ange ett modulobjekt, till exempel ett som returneras av cmdleten Get-Module.

Parametern Module i cmdleten Save-Help accepterar inte den fullständiga sökvägen för en modulfil eller modulmanifestfil. Om du vill spara hjälp för en modul som inte finns på en PSModulePath- plats importerar du modulen till den aktuella sessionen innan du kör kommandot Save-Help.

Värdet "*" (alla) försöker uppdatera hjälpen för alla moduler som är installerade på datorn. Detta omfattar moduler som inte stöder uppdateringsbar hjälp. Det här värdet kan generera fel när kommandot stöter på moduler som inte stöder uppdateringsbar hjälp.

Typ:PSModuleInfo[]
Alias:Name
Position:1
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:True

-UICulture

Anger UI-kulturvärden som den här cmdleten hämtar uppdaterade hjälpfiler för. Ange en eller flera språkkoder, till exempel es-ES, en variabel som innehåller kulturobjekt eller ett kommando som hämtar kulturobjekt, till exempel ett Get-Culture- eller Get-UICulture kommando.

Jokertecken tillåts inte. Ange inte en delspråkskod, till exempel "de".

Som standard hämtar Save-Help hjälpfiler i användargränssnittets kulturuppsättning för Windows eller dess återställningskultur. Om du anger parametern UICulture letar Save-Help bara efter hjälp för den angivna användargränssnittskulturen, inte i någon återställningskultur.

Typ:CultureInfo[]
Position:2
Standardvärde:Current UI culture
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-UseDefaultCredentials

Anger att den här cmdleten kör kommandot, inklusive webbnedladdningen, med den aktuella användarens autentiseringsuppgifter. Som standard körs kommandot utan explicita autentiseringsuppgifter.

Den här parametern gäller endast när webbnedladdningen använder NTLM-, förhandlings- eller Kerberos-baserad autentisering.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

PSModuleInfo

Du kan skicka ett modulobjekt från cmdleten Get-Module till parametern Module i Save-Help.

Utdata

None

Den här cmdleten genererar inga utdata.

Kommentarer

  • Om du vill spara hjälp för moduler i mappen $pshome\Modules startar du PowerShell med alternativet Kör som administratör. Endast medlemmar i gruppen Administratörer på datorn kan ladda ned hjälp för moduler i mappen $pshome\Modules.
  • Den sparade hjälpen för varje modul består av en hjälpinformationsfil (HelpInfo XML) och en kabinettfil (.cab) för hjälpfilerna för varje användargränssnittskultur. Du behöver inte extrahera hjälpfilerna från kabinettfilen. Cmdleten Update-Help extraherar hjälpfilerna, validerar XML och installerar sedan hjälpfilerna och hjälpinformationsfilen i en språkspecifik undermapp i modulmappen.
  • Cmdleten Spara hjälp kan spara hjälp för moduler som inte är installerade på datorn. Men eftersom hjälpfiler installeras i modulmappen kan cmdleten Update-Help installera den uppdaterade hjälpfilen endast för moduler som är installerade på datorn.
  • Om inte kan hitta uppdaterade hjälpfiler för en modul eller inte kan hitta uppdaterade hjälpfiler på det angivna språket fortsätter den tyst utan att ett felmeddelande visas. Om du vill se vilka filer som sparades av kommandot anger du parametern Utförlig.
  • Moduler är den minsta enheten med uppdaterad hjälp. Du kan inte spara hjälp för en viss cmdlet, bara för alla cmdletar i modulen. Om du vill hitta modulen som innehåller en viss cmdlet använder du egenskapen ModuleName tillsammans med cmdleten Get-Command, till exempel (Get-Command \<cmdlet-name\>).ModuleName
  • Save-Help stöder alla moduler och Snapin-moduler för PowerShell Core. Det stöder inte andra snapin-moduler.
  • Cmdletarna Update-Help och Save-Help använder följande portar för att ladda ned hjälpfiler: Port 80 för HTTP och port 443 för HTTPS.
  • Cmdletarna Update-Help och Save-Help stöds inte i Windows Preinstallation Environment (Windows PE).