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]
    [-Scope <UpdateHelpScope>]
    [<CommonParameters>]
Save-Help
    -LiteralPath <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [-Scope <UpdateHelpScope>]
    [<CommonParameters>]

Description

Cmdleten Save-Help laddar ned 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 Save-Help fungerade 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 Save-Help skulle inte fungera för hjälp med fjärrmoduler.

I Windows PowerShell 4.0 bevaras egenskapen HelpInfoUri via PowerShell-fjärrkommunikation, vilket gör det möjligt Save-Help att arbeta för moduler som är installerade på fjärrdatorer. Det går också att spara ett PSModuleInfo-objekt på 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 Save-HelpPSModuleInfo-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 laddar ett Save-Help kommando ned 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 miljövariabeln PSModulePath . 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\Modules) 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 DhcpServer-modulen från en Internetansluten klientdator, utan att installera DhcpServer-modulen 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 DhcpServer-modulen 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 \\Server01\Fileshare01 i mappen.

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 ServerManager-modulen och sparar dem sedan i \\Server01\Fileshare01 mappen.

När en modul installeras på datorn kan du ange modulnamnet som värdet för modulparametern , ä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 CustomSQL-modulen och sparar dem i \\Server01\Fileshare01 mappen.

Eftersom CustomSQL-modulen 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 cmdletenSave-Help.

När en modul inte är installerad på datorn Save-Help behöver 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 de grundläggande PowerShell-modulerna i fyra olika användargränssnittskulturer. Språkpaketen för dessa språk behöver inte installeras på datorn.

Save-Help 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 force-parametern för att åsidosätta regeln som förhindrar att cmdleten Save-Help laddar ned hjälpen mer än en gång under varje 24-timmarsperiod.

Force-parametern å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. Force-parametern krävs när du måste köra ett Save-Help kommando 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 Save-Help 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.

Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential-objekt som genereras av cmdleten Get-Credential. Om du skriver ett användarnamn uppmanas du att ange lösenordet.

Autentiseringsuppgifter lagras i ett PSCredential-objekt och lösenordet lagras som en SecureString.

Kommentar

Mer information om SecureString-dataskydd finns i Hur säker är SecureString?.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DestinationPath

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

Type:String[]
Aliases:Path
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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 Save-Help kommando 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 de servrar som är värdar för hjälpfilerna och gör det praktiskt att lägga till ett Save-Help kommando i PowerShell-profilen.

Om du vill spara hjälp för en modul i flera gränssnittskulturer utan force-parametern inkluderar du alla gränssnittskulturer i samma kommando, till exempel: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

Värdet kan vara ett modulnamn, en fullständig modulspecifikation eller en sökväg till en modulfil.

När värdet är en sökväg kan sökvägen vara fullständigt kvalificerad eller relativ. En relativ sökväg matchas i förhållande till skriptet som innehåller instruktionen using.

När värdet är ett namn eller en modulspecifikation söker PowerShell i PSModulePath efter den angivna modulen.

En modulspecifikation är en hashtable som har följande nycklar.

  • ModuleName - Obligatoriskt Anger modulnamnet.
  • GUID - Valfritt Anger GUID för modulen.
  • Det är också Obligatoriskt att ange minst en av de tre nycklarna nedan.
    • ModuleVersion – Anger en lägsta godtagbar version av modulen.
    • MaximumVersion – Anger den maximala godkända versionen av modulen.
    • RequiredVersion – Anger en exakt, nödvändig version av modulen. Detta kan inte användas med de andra versionsnycklarna.

Du kan inte ange parametern FullyQualifiedModule i samma kommando som en modulparameter . de två parametrarna är ömsesidigt uteslutande.

Type:ModuleSpecification[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 precis 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.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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 Save-Help hjälper nedladdningar till 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 ett Get-Module kommando 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 .

Modulparametern för 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 Save-Help kommandot.

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.

Type:PSModuleInfo[]
Aliases:Name
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Scope

Den här parametern gör ingenting i den här cmdleten.

Type:UpdateHelpScope
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-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 ett kommando. Jokertecken tillåts inte.

Som standard Save-Help hämtar du hjälpfiler i UI-kulturuppsättningen för operativsystemet eller dess återställningskultur. Om du anger parametern Save-Help UICulture söker du bara efter hjälp för det angivna språket.

Från och med PowerShell 7.4 kan du använda en delvis språkkod, till exempel en för att hämta hjälp på engelska för alla regioner.

Type:CultureInfo[]
Position:2
Default value:Current UI culture
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

PSModuleInfo

Du kan skicka ett modulobjekt till den här cmdleten.

Utdata

None

Den här cmdleten returnerar 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 Save-Help kan spara hjälp för moduler som inte är installerade på datorn. Men eftersom hjälpfiler installeras i modulmappen kan cmdleten endast installera den Update-Help uppdaterade hjälpfilen för moduler som är installerade på datorn.
  • Om Save-Help det inte går att 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 Verbose .
  • 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 har stöd för alla moduler och de grundläggande PowerShell-snapin-modulerna. 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.
  • Update-Help Cmdletarna och Save-Help stöds inte i Windows Preinstallation Environment (Windows PE).