Save-Help

Lädt die neuesten Hilfedateien herunter und speichert sie in einem Dateisystemverzeichnis.

Syntax

Path (Standard)

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

LiteralPath

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

Beschreibung

Das Save-Help Cmdlet lädt die neuesten Hilfedateien für PowerShell-Module herunter und speichert sie in einem von Ihnen angegebenen Verzeichnis. Mit diesem Feature können Sie die Hilfedateien auf Computern aktualisieren, die keinen Zugriff auf das Internet haben, und die Aktualisierung der Hilfedateien auf mehreren Computern erleichtert. Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.

Ab Windows PowerShell 4.0 können Sie Save-Help verwenden, um Hilfedateien für Module herunterzuladen, die auf Remotecomputern installiert sind. Es ist auch möglich, ein PSModuleInfo-Objekt auf Export-Clixml einem Computer zu speichern, auf dem kein Internetzugang verfügbar ist, importieren Sie das Objekt auf einem Computer, auf dem ein Internetzugang verfügbar ist, und führen Sie es dann auf dem Save-Help aus. Nachdem Sie die gespeicherte Hilfe gespeichert haben, können Sie sie auf den Remotecomputer kopieren und installieren, indem Sie sie ausführen Update-Help. Dieser Vorgang kann verwendet werden, um Hilfe auf Computern zu installieren, die keinen Netzwerkzugriff haben.

Ohne Parameter lädt ein Save-Help Befehl die neueste Hilfe für alle Module in der Sitzung und für Module herunter, die auf dem Computer an einem Speicherort installiert sind, der in der PSModulePath-Umgebungsvariable aufgeführt ist. Mit dieser Aktion werden Module übersprungen, die die aktualisierbare Hilfe nicht ohne Warnung unterstützen.

Das Save-Help Cmdlet überprüft die Version aller Hilfedateien im Zielordner. Wenn neuere Hilfedateien verfügbar sind, lädt dieses Cmdlet die neuesten Hilfedateien aus dem Internet herunter und speichert sie dann im Ordner. Das Save-Help Cmdlet funktioniert genauso wie das Update-Help Cmdlet, mit der Ausnahme, dass der heruntergeladene Inhalt gespeichert wird, anstatt die Hilfedateien zu extrahieren und auf dem Computer zu installieren.

Die gespeicherte Hilfe für jedes Modul besteht aus einer Hilfeinformationsdatei (HelpInfo XML) und einem Cab- oder ZIP-Archiv (.cab oder .zip) für die Hilfedateien in jeder Sprache. Auf Windows lädt der Befehl die CAB-Dateien herunter. Unter Linux und macOS lädt der Befehl ZIP-Dateien herunter.

Um die Hilfedateien für Module im PowerShell-Installationsordner ($PSHOME\Modules) zu speichern, starten Sie PowerShell mithilfe der Option "Als Administrator ausführen". Sie müssen Mitglied der Gruppe "Administratoren" auf dem Computer sein, um die Hilfedateien für diese Module herunterzuladen.

Um gespeicherte Hilfedateien zu installieren, führen Sie Update-Help den SourcePath-Parameter aus, um den Ordner anzugeben, der die gespeicherten Hilfedateien enthält. Update-Help extrahiert die Hilfedateien aus dem Archiv und installiert sie am entsprechenden Speicherort.

Beispiele

Beispiel 1: Speichern der Hilfe für das DhcpServer-Modul

In diesem Beispiel werden drei verschiedene Möglichkeiten Save-Help zum Speichern der Hilfe für das DhcpServer-Modul von einem mit dem Internet verbundenen Clientcomputer gezeigt, ohne das DhcpServer-Modul oder die DHCP-Serverrolle auf dem lokalen Computer zu installieren.

# Option 1:
# 1. Run Invoke-Command to get the PSModuleInfo object for the DhcpServer module,
# 2. Save-Help on the PSModuleInfo object to save the help files to a folder on
#    the local computer.

$mod = Invoke-Command -ComputerName RemoteServer -ScriptBlock {
    Get-Module -Name DhcpServer -ListAvailable
}
Save-Help -Module $mod -DestinationPath C:\SavedHelp


# Option 2:
# 1. Open a PSSession to the remote computer that's running the DhcpServer module
# 2. Get the PSModuleInfo object from the remote computer
# 3. Save-Help on the PSModuleInfo object

$session = New-PSSession -ComputerName "RemoteServer"
$mod = Get-Module -PSSession $session -Name "DhcpServer" -ListAvailable
Save-Help -Module $mod -DestinationPath C:\SavedHelp


# Option 3:
# 1. Open a CimSession to the remote computer that's running the DhcpServer module
# 2. Get the PSModuleInfo object from the remote computer
# 3. Save-Help on the PSModuleInfo object
$cimsession = New-CimSession -ComputerName "RemoteServer"
$mod = Get-Module -CimSession $cimsession -Name "DhcpServer" -ListAvailable
Save-Help -Module $mod -DestinationPath "C:\SavedHelp"

Beispiel 2: Installieren der Hilfe für das DhcpServer-Modul

In diesem Beispiel wird gezeigt, wie Sie Hilfe für einen Computer installieren, der nicht mit dem Netzwerk verbunden ist. In diesem Beispiel ist der erste Computer nicht mit einem barrierefreien Netzwerk verbunden. Dateien müssen mithilfe von Wechselmedien in die Datei kopiert werden. Der zweite Computer ist mit dem Internet verbunden und kann die Hilfedateien herunterladen.

# On the first computer, get the PSModuleInfo object for the module and save it to
# removable media.

Get-Module -Name "DhcpServer" -ListAvailable |
    Export-CliXml -Path E:\UsbFlashDrive\DhcpModule.xml

# Move the removable media to a computer that has internet access, and then import the
# PSModuleInfo object. Run Save-Help on the imported PSModuleInfo object and save the help
# files to the removable media.

$moduleInfo = Import-CliXml E:\UsbFlashDrive\DhcpModule.xml
Save-Help -Module $moduleInfo -DestinationPath E:\UsbFlashDrive\SavedHelp

# Finally, move the removable media back to the first computer and install the help.

Update-Help -Module DhcpServer -SourcePath E:\UsbFlashDrive\SavedHelp

Beispiel 3: Speichern der Hilfe für alle Module

Mit diesem Befehl werden die neuesten Hilfedateien für alle Module auf dem lokalen Computer heruntergeladen. Sie speichert die Hilfedateien im \\Server01\Fileshare01 Ordner.

Save-Help -DestinationPath \\Server01\FileShare01

Beispiel 4: Speichern der Hilfe für ein Modul auf dem Computer

Dieser Befehl lädt die neuesten Hilfedateien für das ServerManager-Modul herunter und speichert sie dann im \\Server01\Fileshare01 Ordner.

$saveHelpSplat = @{
    Module = 'ServerManager'
    DestinationPath = '\\Server01\FileShare01'
    Credential = 'Domain01/Admin01'
}
Save-Help @saveHelpSplat

Wenn ein Modul auf dem Computer installiert ist, können Sie den Modulnamen als Wert des Modulparameters eingeben, auch wenn das Modul nicht in die aktuelle Sitzung importiert wird.

Der Befehl verwendet den Parameter "Credential ", um die Anmeldeinformationen eines Benutzers anzugeben, der über die Berechtigung zum Schreiben in die Dateifreigabe verfügt.

Beispiel 5: Speichern der Hilfe für ein Modul auf einem anderen Computer

Diese Befehle laden die neuesten Hilfedateien für das CustomSQL-Modul herunter und speichern sie im \\Server01\Fileshare01 Ordner.

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

Da das CustomSQL-Modul nicht auf dem Computer installiert ist, enthält die Sequenz einen Invoke-Command Befehl, der das Modulobjekt für das CustomSQL-Modul vom Server02-Computer abruft und dann das Modulobjekt an das Save-Help Cmdlet übergibt.

Wenn ein Modul nicht auf dem Computer installiert ist, Save-Help benötigt das Modulobjekt, das Informationen zum Speicherort der neuesten Hilfedateien enthält.

Beispiel 6: Speichern der Hilfe für ein Modul in mehreren Sprachen

Dieser Befehl speichert Hilfe für die wichtigsten PowerShell-Module in vier verschiedenen UI-Kulturen. Die Sprachpakete für diese Gebietsschemas müssen nicht auf dem Computer installiert werden.

$saveHelpSplat = @{
    Module = 'Microsoft.PowerShell*'
    UICulture = 'de-DE', 'en-US', 'fr-FR', 'ja-JP'
    DestinationPath = "D:\Help"
}
Save-Help @saveHelpSplat

Save-Help kann Hilfedateien nur für Module in verschiedenen Benutzeroberflächenkulturen herunterladen, wenn der Modulbesitzer die übersetzten Dateien im Internet zur Verfügung stellt.

Beispiel 7: Speichern von Hilfe pro Tag mehr als eine Uhrzeit

Dieser Befehl speichert Hilfe für alle Module, die auf dem Computer installiert sind. Der Befehl gibt den Parameter Force an, um die Regel außer Kraft zu setzen, mit der verhindert wird, dass das Save-Help Cmdlet mehr als einmal in jedem 24-Stunden-Zeitraum Hilfe herunterdownloaden kann.

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

Der Parameter Force überschreibt auch die Einschränkung von 1 GB und umgangen die Versionsüberprüfung. Daher können Sie Dateien auch dann herunterladen, wenn die Version nicht höher als die Version im Zielordner ist.

Der Befehl verwendet das Save-Help Cmdlet, um die Hilfedateien im angegebenen Ordner herunterzuladen und zu speichern. Der Force-Parameter ist erforderlich, wenn Sie täglich mehrere Save-Help Befehle ausführen müssen.

Parameter

-Credential

Gibt eine Benutzeranmeldeinformation an. Dieses Cmdlet führt den Befehl mithilfe von Anmeldeinformationen eines Benutzers aus, der über die Berechtigung für den Zugriff auf den vom DestinationPath-Parameter angegebenen Dateisystemspeicherort verfügt. Dieser Parameter ist nur gültig, wenn der Parameter DestinationPath oder LiteralPath im Befehl verwendet wird.

Mit diesem Parameter können Sie Befehle ausführen Save-Help , die den DestinationPath-Parameter auf Remotecomputern verwenden. Indem Sie explizite Anmeldeinformationen angeben, können Sie den Befehl auf einem Remotecomputer ausführen und auf eine Dateifreigabe auf einem dritten Computer zugreifen, ohne dass ein Zugriff verweigert wird oder die CredSSP-Authentifizierung zum Delegieren von Anmeldeinformationen verwendet wird.

Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein PSCredential-Objekt ein, das vom cmdlet Get-Credential generiert wird. Wenn Sie einen Benutzernamen eingeben, werden Sie aufgefordert, das Kennwort einzugeben.

Anmeldeinformationen werden in einem PSCredential-Objekt gespeichert, und das Kennwort wird als SecureString-gespeichert.

Note

Weitere Informationen zu SecureString Datenschutz finden Sie unter Wie sicher ist SecureString?.

Parametereigenschaften

Typ:PSCredential
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-DestinationPath

Gibt den Pfad des Ordners an, in dem die Hilfedateien gespeichert werden. Geben Sie keine Dateinamen- oder Dateinamenerweiterung an.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Pfad

Parametersätze

Path
Position:0
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Force

Gibt an, dass dieses Cmdlet nicht der Einschränkung von einmal pro Tag folgt, die Versionsüberprüfung überspringt und Dateien herunterlädt, die den Grenzwert von 1 GB überschreiten.

Ohne diesen Parameter ist nur ein Save-Help Befehl für jedes Modul in jedem 24-Stunden-Zeitraum zulässig, Downloads sind auf 1 GB nicht komprimierter Inhalte pro Modul beschränkt, und Hilfsdateien für ein Modul werden nur installiert, wenn sie neuer als die Dateien auf dem Computer sind.

Der Grenzwert für einmal pro Tag schützt die Server, auf denen die Hilfedateien gehostet werden, und ermöglicht es Ihnen, Ihrem PowerShell-Profil einen Save-Help Befehl hinzuzufügen.

Wenn Sie Hilfe für ein Modul in mehreren Benutzeroberflächenkulturen ohne den Parameter Force speichern möchten, schließen Sie alle Benutzeroberflächenkulturen in denselben Befehl ein, z. B.: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-FullyQualifiedModule

Der Wert kann ein Modulname, eine vollständige Modulspezifikation oder ein Pfad zu einer Moduldatei sein.

Wenn der Wert ein Pfad ist, kann der Pfad vollqualifizierte oder relativ sein. Ein relativer Pfad wird relativ zum Skript aufgelöst, das die using-Anweisung enthält.

Wenn es sich bei dem Wert um einen Namen oder eine Modulspezifikation handelt, durchsucht PowerShell den PSModulePath nach dem angegebenen Modul.

Eine Modulspezifikation ist eine Hashtabelle mit den folgenden Schlüsseln.

  • ModuleName - Erforderlich . Gibt den Modulnamen an.
  • GUID - Optional Gibt die GUID des Moduls an.
  • Es ist auch erforderlich , mindestens eine der drei folgenden Tasten anzugeben.
    • ModuleVersion - Gibt eine mindestens akzeptable Version des Moduls an.
    • MaximumVersion - Gibt die maximal zulässige Version des Moduls an.
    • RequiredVersion - Gibt eine genaue, erforderliche Version des Moduls an. Dies kann nicht mit den anderen Versionsschlüsseln verwendet werden.

Sie können den parameter FullyQualifiedModule nicht im selben Befehl wie ein Module-Parameter angeben. die beiden Parameter schließen sich gegenseitig aus.

Parametereigenschaften

Typ:

ModuleSpecification[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-LiteralPath

Gibt einen Pfad des Zielordners an. Im Gegensatz zum Wert des DestinationPath-Parameters wird der Wert des LiteralPath-Parameters genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcardzeichen interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen signalisieren PowerShell, dass keine Zeichen als Escapesequenzen interpretiert werden sollen.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:PSPath, EP

Parametersätze

LiteralPath
Position:Named
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Module

Gibt Module an, für die dieses Cmdlet Hilfe herunterlädt. Geben Sie einen oder mehrere Modulnamen oder Namensmuster in einer durch Trennzeichen getrennten Liste oder in einer Datei ein, die einen Modulnamen in jeder Zeile enthält. Platzhalterzeichen sind zulässig. Sie können auch Modulobjekte aus dem Get-Module Cmdlet an Save-Helpweiterleiten.

Laden Sie standardmäßig Hilfe zu allen Modulen herunter, die die aktualisierbare Hilfe unterstützen und auf dem lokalen Computer an einem Speicherort installiert werden, Save-Help der in der PSModulePath-Umgebungsvariable aufgeführt ist.

Um Hilfe für Module zu speichern, die nicht auf dem Computer installiert sind, führen Sie einen Get-Module Befehl auf einem Remotecomputer aus. Übergeben Sie dann die resultierenden Modulobjekte an das Save-Help Cmdlet, oder übermitteln Sie die Modulobjekte als Wert der Parameter "Module" oder "InputObject" .

Wenn das angegebene Modul auf dem Computer installiert ist, können Sie den Modulnamen oder ein Modulobjekt eingeben. Wenn das Modul nicht auf dem Computer installiert ist, müssen Sie ein Modulobjekt eingeben, z. B. eines, das Get-Module vom Cmdlet zurückgegeben wird.

Der Parameter "Module" des Save-Help Cmdlets akzeptiert nicht den vollständigen Pfad einer Moduldatei oder Modulmanifestdatei. Um Hilfe für ein Modul zu speichern, das sich nicht an einem PSModulePath-Speicherort befindet, importieren Sie das Modul in die aktuelle Sitzung, bevor Sie den Save-Help Befehl ausführen.

Der Wert "*" (alle) versucht, Hilfe für alle Module zu aktualisieren, die auf dem Computer installiert sind. Dazu gehören Module, die die aktualisierbare Hilfe nicht unterstützen. Dieser Wert kann Fehler generieren, wenn der Befehl auf Module trifft, die keine aktualisierbare Hilfe unterstützen.

Parametereigenschaften

Typ:

PSModuleInfo[]

Standardwert:None
Unterstützt Platzhalter:True
Nicht anzeigen:False
Aliase:Name

Parametersätze

(All)
Position:1
Obligatorisch.:False
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Scope

Dieser Parameter führt in diesem Cmdlet nichts aus.

Parametereigenschaften

Typ:UpdateHelpScope
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-UICulture

Gibt Werte für die Benutzeroberflächenkultur an, für die dieses Cmdlet aktualisierte Hilfedateien abruft. Geben Sie einen oder mehrere Sprachcodes ein, z es-ES. B. eine Variable, die Kulturobjekte enthält, oder einen Befehl, der Kulturobjekte abruft, z. B. einen Get-Culture oder Get-UICulture einen Befehl. Platzhalterzeichen sind nicht erlaubt.

Ruft standardmäßig Hilfedateien in der Ui-Kultur ab, Save-Help die für das Betriebssystem oder die Fallbackkultur festgelegt ist. Wenn Sie den UICulture-Parameter angeben, Save-Help wird nur nach Hilfe für die angegebene Sprache gesucht.

Ab PowerShell 7.4 können Sie einen teilweisen Sprachcode verwenden, z en . B. zum Herunterladen von Hilfe in Englisch für jede Region.

Parametereigenschaften

Typ:

CultureInfo[]

Standardwert:Current UI culture
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:2
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-UseDefaultCredentials

Gibt an, dass dieses Cmdlet den Befehl einschließlich des Webdownloads mit den Anmeldeinformationen des aktuellen Benutzers ausführt. Standardmäßig wird der Befehl ohne explizite Anmeldeinformationen ausgeführt.

Dieser Parameter ist nur wirksam, wenn der Webdownload NTLM, Negotiate oder Kerberos-basierte Authentifizierung verwendet.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

PSModuleInfo

Sie können ein Modulobjekt an dieses Cmdlet weiterleiten.

Ausgaben

None

Dieses Cmdlet gibt keine Ausgabe zurück.

Hinweise

  • Um Hilfe für Module im Ordner $PSHOME\Modules zu speichern, starten Sie PowerShell mithilfe der Option "Als Administrator ausführen". Nur Mitglieder der Gruppe "Administratoren" auf dem Computer können Hilfe zu Modulen im Ordner "$PSHOME\Modules" herunterladen.
  • Die gespeicherte Hilfe für jedes Modul besteht aus einer Hilfeinformationsdatei (HelpInfo XML) und einer CAB-Datei (.cab) für die Hilfedateien jeder UI-Kultur. Sie müssen die Hilfedateien nicht aus der CAB-Datei extrahieren. Das Update-Help Cmdlet extrahiert die Hilfedateien, überprüft den XML-Code und installiert dann die Hilfedateien und die Hilfeinformationsdatei in einem sprachspezifischen Unterordner des Modulordners.
  • Das Save-Help Cmdlet kann Hilfe für Module speichern, die nicht auf dem Computer installiert sind. Da hilfedateien jedoch im Modulordner installiert sind, kann das Update-Help Cmdlet aktualisierte Hilfedatei nur für Module installieren, die auf dem Computer installiert sind.
  • Wenn Save-Help aktualisierte Hilfedateien für ein Modul nicht gefunden werden können oder aktualisierte Hilfedateien in der angegebenen Sprache nicht gefunden werden können, wird sie im Hintergrund fortgesetzt, ohne eine Fehlermeldung anzuzeigen. Um zu sehen, welche Dateien vom Befehl gespeichert wurden, geben Sie den Verbose-Parameter an.
  • Module sind die kleinste Einheit aktualisierbarer Hilfe. Sie können keine Hilfe für ein bestimmtes Cmdlet speichern, nur für alle Cmdlets im Modul. Um das Modul zu finden, das ein bestimmtes Cmdlet enthält, verwenden Sie die ModuleName-Eigenschaft zusammen mit dem Get-Command Cmdlet, z. B. (Get-Command \<cmdlet-name\>).ModuleName
  • Save-Help unterstützt alle Module und die wichtigsten PowerShell-Snap-Ins. Es werden keine anderen Snap-Ins unterstützt.
  • Die Update-Help und Save-Help Cmdlets verwenden die folgenden Ports, um Hilfedateien herunterzuladen: Port 80 für HTTP und Port 443 für HTTPS.
  • Die Cmdlets Update-Help und Save-Help werden unter Windows Preinstallation Environment (Windows PE) nicht unterstützt.