Delen via


Save-Help

Hiermee worden de nieuwste Help-bestanden gedownload en opgeslagen in een bestandssysteemmap.

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

Met de Save-Help cmdlet worden de nieuwste Help-bestanden voor PowerShell-modules gedownload en opgeslagen in een map die u opgeeft. Met deze functie kunt u de Help-bestanden bijwerken op computers die geen toegang hebben tot internet en maakt het eenvoudiger om de Help-bestanden op meerdere computers bij te werken.

In Windows PowerShell 3.0 Save-Help werkte dit alleen voor modules die op de lokale computer zijn geïnstalleerd. Hoewel het mogelijk was om een module van een externe computer te importeren of een verwijzing te verkrijgen naar een PSModuleInfo-object van een externe computer met behulp van externe communicatie van PowerShell, is de eigenschap HelpInfoUri niet behouden en Save-Help werkt deze niet voor help van externe modules.

In Windows PowerShell 4.0 blijft de eigenschap HelpInfoUri behouden via externe communicatie met PowerShell, waardoor Save-Help modules kunnen worden gebruikt die op externe computers zijn geïnstalleerd. Het is ook mogelijk om een PSModuleInfo-object op schijf of verwisselbare media op te slaan door uit te voeren Export-Clixml op een computer die geen internettoegang heeft, het object te importeren op een computer met internettoegang en vervolgens uit te voeren Save-Help op het object PSModuleInfo . De opgeslagen hulp kan naar de externe computer worden vervoerd met behulp van verwisselbare opslagmedia, zoals een USB-station. De Help kan worden geïnstalleerd op de externe computer door uit te voeren Update-Help. Dit proces kan worden gebruikt om Help te installeren op computers die geen enkele vorm van netwerktoegang hebben.

Voer de cmdlet uit om opgeslagen Update-Help Help-bestanden te installeren. Voeg de sourcePath-parameter toe om de map op te geven waarin u de Help-bestanden hebt opgeslagen.

Zonder parameters downloadt een Save-Help opdracht de nieuwste Help voor alle modules in de sessie en voor modules die op de computer zijn geïnstalleerd op een locatie die wordt vermeld in de omgevingsvariabele PSModulePath . Met deze actie worden modules overgeslagen die geen ondersteuning bieden voor Bijwerkbare Help zonder waarschuwing.

De Save-Help cmdlet controleert de versie van eventuele Help-bestanden in de doelmap. Als er nieuwere Help-bestanden beschikbaar zijn, downloadt deze cmdlet de nieuwste Help-bestanden van internet en slaat deze vervolgens op in de map. De Save-Help cmdlet werkt net als de Update-Help cmdlet, behalve dat de gedownloade cabinetbestanden (.cab) worden opgeslagen in plaats van de Help-bestanden uit de cabinetbestanden uit te pakken en op de computer te installeren.

De opgeslagen Help voor elke module bestaat uit één Help-informatiebestand (HelpInfo XML) en één cabinetbestand (.cab) voor de Help-bestanden elke UI-cultuur. U hoeft de Help-bestanden niet uit het cabinetbestand uit te pakken. De Update-Help cmdlet extraheert de Help-bestanden, valideert de XML voor veiligheid en installeert vervolgens de Help-bestanden en het Help-informatiebestand in een taalspecifieke submap van de modulemap.

Als u de Help-bestanden voor modules wilt opslaan in de PowerShell-installatiemap ($pshome\Modules), start u PowerShell met behulp van de optie Als administrator uitvoeren. U moet lid zijn van de groep Administrators op de computer om de Help-bestanden voor deze modules te downloaden.

Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.

Voorbeelden

Voorbeeld 1: De Help voor de DhcpServer-module opslaan

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

In dit voorbeeld ziet u drie verschillende manieren om Save-Help de Help voor de DhcpServer-module op te slaan vanaf een clientcomputer met internetverbinding, zonder de DhcpServer-module of de DHCP-serverfunctie op de lokale computer te installeren.

Voorbeeld 2: Help installeren voor de DhcpServer-module

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

In dit voorbeeld ziet u hoe u help installeert die u hebt opgeslagen in voorbeeld 1 voor de dhcpserver-module op een computer die geen internettoegang heeft.

Voorbeeld 3: Help voor alle modules opslaan

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

Met deze opdracht worden de nieuwste Help-bestanden gedownload voor alle modules in de ui-cultuurset voor Windows op de lokale computer. De Help-bestanden worden opgeslagen in de \\Server01\Fileshare01 map.

Voorbeeld 4: Help opslaan voor een module op de computer

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

Met deze opdracht worden de nieuwste Help-bestanden voor de ServerManager-module gedownload en vervolgens opgeslagen in de \\Server01\Fileshare01 map.

Wanneer een module op de computer is geïnstalleerd, kunt u de naam van de module typen als de waarde van de moduleparameter , zelfs als de module niet in de huidige sessie wordt geïmporteerd.

De opdracht maakt gebruik van de referentieparameter om de referenties op te geven van een gebruiker die gemachtigd is om naar de bestandsshare te schrijven.

Voorbeeld 5: Help opslaan voor een module op een andere computer

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

Met deze opdrachten worden de nieuwste Help-bestanden voor de CustomSQL-module gedownload en in de \\Server01\Fileshare01 map opgeslagen.

Omdat de CustomSQL-module niet op de computer is geïnstalleerd, bevat de reeks een Invoke-Command opdracht waarmee het moduleobject voor de CustomSQL-module van de Server02-computer wordt opgehaald en vervolgens het moduleobject wordt doorgeleid naar de Save-Help cmdlet.

Wanneer een module niet op de computer is geïnstalleerd, Save-Help heeft u het moduleobject nodig, dat informatie bevat over de locatie van de nieuwste Help-bestanden.

Voorbeeld 6: Help opslaan voor een module in meerdere talen

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

Met deze opdracht wordt help opgeslagen voor de kernmodules van PowerShell in vier verschillende UI-culturen. De taalpakketten voor deze landinstellingen hoeven niet op de computer te worden geïnstalleerd.

Save-Help kan helpbestanden voor modules in verschillende UI-culturen alleen downloaden wanneer de eigenaar van de module de vertaalde bestanden beschikbaar maakt op internet.

Voorbeeld 7: Help meer dan één keer per dag opslaan

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

Met deze opdracht wordt help opgeslagen voor alle modules die op de computer zijn geïnstalleerd. Met de opdracht wordt de parameter Force opgegeven om de regel te overschrijven die voorkomt dat de Save-Help cmdlet help meer dan één keer in elke periode van 24 uur downloadt.

De parameter Force overschrijft ook de beperking van 1 GB en omzeilt de versiecontrole. Daarom kunt u bestanden downloaden, zelfs als de versie niet later is dan de versie in de doelmap.

De opdracht gebruikt de Save-Help cmdlet om de Help-bestanden te downloaden en op te slaan in de opgegeven map. De parameter Force is vereist wanneer u meer dan één keer per dag een Save-Help opdracht moet uitvoeren.

Parameters

-Credential

Hiermee geeft u een gebruikersreferentie. Met deze cmdlet wordt de opdracht uitgevoerd met behulp van referenties van een gebruiker die gemachtigd is voor toegang tot de locatie van het bestandssysteem die is opgegeven door de DestinationPath-parameter . Deze parameter is alleen geldig wanneer de DestinationPath - of LiteralPath-parameter wordt gebruikt in de opdracht.

Met deze parameter kunt u opdrachten uitvoeren Save-Help die gebruikmaken van de DestinationPath-parameter op externe computers. Door expliciete referenties op te geven, kunt u de opdracht uitvoeren op een externe computer en toegang krijgen tot een bestandsshare op een derde computer zonder dat er een fout over toegang geweigerd optreedt of met behulp van CredSSP-verificatie om referenties te delegeren.

Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential-object in dat is gegenereerd door de Get-Credential cmdlet. Als u een gebruikersnaam typt, wordt u gevraagd het wachtwoord in te voeren.

Referenties worden opgeslagen in een PSCredential-object en het wachtwoord wordt opgeslagen als een SecureString.

Notitie

Zie Hoe veilig is SecureString? voor meer informatie over SecureString-gegevensbeveiliging.

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

-DestinationPath

Hiermee geeft u het pad op van de map waarin de Help-bestanden worden opgeslagen. Geef geen bestandsnaam of bestandsnaamextensie op.

Type:String[]
Aliases:Path
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Force

Geeft aan dat deze cmdlet niet voldoet aan de beperking voor één keer per dag, versiecontrole overslaat en bestanden downloadt die de limiet van 1 GB overschrijden.

Zonder deze parameter is slechts één Save-Help opdracht voor elke module toegestaan in elke periode van 24 uur, zijn downloads beperkt tot 1 GB aan niet-gecomprimeerde inhoud per module en worden Help-bestanden voor een module alleen geïnstalleerd wanneer ze nieuwer zijn dan de bestanden op de computer.

De limiet voor één keer per dag beschermt de servers waarop de Help-bestanden worden gehost en maakt het praktisch om een Save-Help opdracht toe te voegen aan uw PowerShell-profiel.

Als u hulp wilt opslaan voor een module in meerdere UI-culturen zonder de parameter Force , neemt u alle UI-culturen op in dezelfde opdracht, zoals: 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

De waarde kan een modulenaam, een volledige modulespecificatie of een pad naar een modulebestand zijn.

Wanneer de waarde een pad is, kan het pad volledig gekwalificeerd of relatief zijn. Een relatief pad wordt opgelost ten opzichte van het script dat de using-instructie bevat.

Wanneer de waarde een naam of modulespecificatie is, zoekt PowerShell in het PSModulePath naar de opgegeven module.

Een modulespecificatie is een hashtabel met de volgende sleutels.

  • ModuleName - Vereist Hiermee geeft u de modulenaam op.
  • GUID - Optionele Hiermee geeft u de GUID van de module.
  • Het is ook vereist om ten minste een van de drie onderstaande sleutels op te geven.
    • ModuleVersion - Hiermee geeft u een minimaal aanvaardbare versie van de module op.
    • MaximumVersion - Hiermee geeft u de maximaal aanvaardbare versie van de module op.
    • RequiredVersion - Hiermee geeft u een exacte, vereiste versie van de module op. Dit kan niet worden gebruikt met de andere versiesleutels.

U kunt de parameter FullyQualifiedModule niet opgeven in dezelfde opdracht als een moduleparameter . de twee parameters sluiten elkaar uit.

Type:ModuleSpecification[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

Hiermee geeft u een pad van de doelmap. In tegenstelling tot de waarde van de parameter DestinationPath , wordt de waarde van de parameter LiteralPath precies gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat geen tekens als escape-reeksen worden geïnterpreteerd.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Module

Hiermee geeft u modules op waarvoor deze cmdlet help downloadt. Voer een of meer modulenamen of naamkraters in een door komma's gescheiden lijst of in een bestand met één modulenaam op elke regel in. Jokertekens zijn toegestaan. U kunt ook moduleobjecten van de Get-Module cmdlet doorspezen naar Save-Help.

Standaard downloadt Save-Help u help voor alle modules die ondersteuning bieden voor Updatable Help en die zijn geïnstalleerd op de lokale computer op een locatie die wordt vermeld in de omgevingsvariabele PSModulePath .

Als u hulp wilt opslaan voor modules die niet op de computer zijn geïnstalleerd, voert u een Get-Module opdracht uit op een externe computer. Sluis vervolgens de resulterende moduleobjecten door naar de Save-Help cmdlet of verzend de moduleobjecten als de waarde van de parameters Module of InputObject .

Als de module die u opgeeft op de computer is geïnstalleerd, kunt u de modulenaam of een moduleobject invoeren. Als de module niet op de computer is geïnstalleerd, moet u een moduleobject invoeren, zoals een object dat wordt geretourneerd door de Get-Module cmdlet.

De moduleparameter van de Save-Help cmdlet accepteert niet het volledige pad van een modulebestand of modulemanifestbestand. Als u help wilt opslaan voor een module die zich niet op een PSModulePath-locatie bevindt, importeert u de module in de huidige sessie voordat u de Save-Help opdracht uitvoert.

Een waarde van '*' (alle) probeert help bij te werken voor alle modules die op de computer zijn geïnstalleerd. Dit omvat modules die geen ondersteuning bieden voor Bijwerkbare Help. Deze waarde kan fouten genereren wanneer de opdracht modules aantreft die geen ondersteuning bieden voor Updatable Help.

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

-Scope

Deze parameter doet niets in deze cmdlet.

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

-UICulture

Hiermee geeft u de waarden voor de UI-cultuur op waarvoor deze cmdlet bijgewerkte Help-bestanden ophaalt. Voer een of meer taalcodes in, zoals es-ES, een variabele die cultuurobjecten bevat of een opdracht waarmee cultuurobjecten worden opgehaald, zoals een Get-Culture opdracht of Get-UICulture .

Jokertekens zijn niet toegestaan. Geef geen gedeeltelijke taalcode op, zoals 'de'.

Hiermee haalt u standaard Save-Help Help-bestanden op in de UI-cultuur die is ingesteld voor Windows of de terugvalcultuur. Als u de parameter UICulture opgeeft, Save-Help zoekt u alleen naar hulp voor de opgegeven UI-cultuur, niet in een terugvalcultuur.

Type:CultureInfo[]
Position:2
Default value:Current UI culture
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseDefaultCredentials

Geeft aan dat deze cmdlet de opdracht uitvoert, inclusief de webdownload, met de referenties van de huidige gebruiker. De opdracht wordt standaard uitgevoerd zonder expliciete referenties.

Deze parameter is alleen van kracht wanneer de webdownload gebruikmaakt van verificatie op basis van NTLM, Negotiate of Kerberos.

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

Invoerwaarden

PSModuleInfo

U kunt een moduleobject doorspezen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer.

Notities

  • Als u help voor modules in de map $pshome\Modules wilt opslaan, start u PowerShell met behulp van de optie Als administrator uitvoeren. Alleen leden van de groep Administrators op de computer kunnen help downloaden voor modules in de map $pshome\Modules.
  • De opgeslagen Help voor elke module bestaat uit één Help-informatiebestand (HelpInfo XML) en één cabinetbestand (.cab) voor de Help-bestanden elke UI-cultuur. U hoeft de Help-bestanden niet uit het cabinetbestand uit te pakken. De Update-Help cmdlet extraheert de Help-bestanden, valideert de XML en installeert vervolgens de Help-bestanden en het Help-informatiebestand in een taalspecifieke submap van de modulemap.
  • De Save-Help cmdlet kan help opslaan voor modules die niet op de computer zijn geïnstalleerd. Omdat help-bestanden echter zijn geïnstalleerd in de modulemap, kan de cmdlet alleen Update-Help bijgewerkte Help-bestanden installeren voor modules die op de computer zijn geïnstalleerd.
  • Als Save-Help de bijgewerkte Help-bestanden voor een module niet kunnen worden gevonden of als u geen bijgewerkte Help-bestanden in de opgegeven taal kunt vinden, wordt de update op de achtergrond voortgezet zonder dat er een foutbericht wordt weergegeven. Als u wilt zien welke bestanden zijn opgeslagen met de opdracht, geeft u de parameter Uitgebreid op .
  • Modules zijn de kleinste eenheid voor hulp die kan worden bijgewerkt. U kunt de Help niet opslaan voor een bepaalde cmdlet, alleen voor alle cmdlets in module. Als u de module wilt vinden die een bepaalde cmdlet bevat, gebruikt u de eigenschap ModuleName samen met de Get-Command cmdlet, bijvoorbeeld (Get-Command \<cmdlet-name\>).ModuleName
  • Save-Help ondersteunt alle modules en de kernmodules van PowerShell. Het biedt geen ondersteuning voor andere modules.
  • De Update-Help cmdlets en Save-Help gebruiken de volgende poorten om Help-bestanden te downloaden: poort 80 voor HTTP en poort 443 voor HTTPS.
  • De Update-Help cmdlets en Save-Help worden niet ondersteund in Windows Preinstallation Environment (Windows PE).