Save-Help
Lädt die neuesten Hilfedateien herunter und speichert sie in einem Dateisystemverzeichnis.
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>]
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 dieser Funktion können Sie die Hilfedateien auf Computern aktualisieren, die keinen Internetzugriff haben, und sie vereinfacht die Aktualisierung der Hilfedateien auf mehreren Computern.
In Windows PowerShell 3.0 funktionierte dies nur für Module, Save-Help
die auf dem lokalen Computer installiert sind. Obwohl es möglich war, ein Modul von einem Remotecomputer zu importieren oder einen Verweis auf ein PSModuleInfo-Objekt von einem Remotecomputer mithilfe von PowerShell-Remoting abzurufen, wurde die HelpInfoUri-Eigenschaft nicht beibehalten und Save-Help
funktionierte nicht für die Remotemodulhilfe.
In Windows PowerShell 4.0 wird die HelpInfoUri-Eigenschaft über PowerShell-Remoting beibehalten, wodurch Module funktionieren können Save-Help
, die auf Remotecomputern installiert sind. Es ist auch möglich, ein PSModuleInfo-Objekt auf Datenträger oder Wechselmedien zu speichern, indem Export-Clixml
es auf einem Computer ausgeführt wird, auf dem kein Internetzugang vorhanden ist, das Objekt auf einem Computer importieren, auf dem internetzugriff vorhanden ist, und dann auf dem PSModuleInfo-Objekt ausgeführt wirdSave-Help
. Die gespeicherte Hilfe kann mithilfe von Wechselmedien wie einem USB-Laufwerk auf den Remotecomputer transportiert werden. Die Hilfe kann auf dem Remotecomputer installiert werden, indem sie ausgeführt Update-Help
wird. Dieser Prozess kann zum Installieren der Hilfe auf Computern verwendet werden, die überhaupt keinen Zugriff auf das Netzwerk haben.
Führen Sie das Update-Help
Cmdlet aus, um gespeicherte Hilfedateien zu installieren. Fügen Sie den SourcePath-Parameter hinzu, um den Ordner anzugeben, in dem Sie die Hilfedateien gespeichert 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. Diese Aktion überspringt Module, die die aktualisierbare Hilfe ohne Warnung nicht 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 die heruntergeladenen Cab-Dateien (.cab) gespeichert werden, anstatt die Hilfedateien aus den CAB-Dateien zu extrahieren und auf dem Computer zu installieren.
Die gespeicherte Hilfe für jedes Modul besteht aus einer Hilfeinformationsdatei (HelpInfo XML) und einer CAB-Datei für die Hilfedateien jeder Benutzeroberflächenkultur. Sie müssen die Hilfedateien nicht aus der CAB-Datei extrahieren. Das Update-Help
Cmdlet extrahiert die Hilfedateien, überprüft den XML-Code zur Sicherheit und installiert dann die Hilfedateien und die Hilfeinformationsdatei in einem sprachspezifischen Unterordner des Modulordners.
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 ein Mitglied der Gruppe „Administratoren“ auf dem Computer sein, um die Hilfedateien für diese Module herunterzuladen.
Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.
Beispiele
Beispiel 1: Speichern der Hilfe für das DhcpServer-Modul
# 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"
Dieses Beispiel zeigt drei verschiedene Möglichkeiten zum Save-Help
Speichern der Hilfe für das DhcpServer-Modul von einem mit einem Internet verbundenen Clientcomputer, ohne das DhcpServer-Modul oder die DHCP-Serverrolle auf dem lokalen Computer zu installieren.
Beispiel 2: Installieren der Hilfe für das DhcpServer-Modul
# 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 diesem Beispiel wird gezeigt, wie Sie Hilfe installieren, die Sie in Beispiel 1 für das DhcpServer-Modul auf einem Computer installiert haben, auf dem kein Internetzugang verfügbar ist.
Beispiel 3: Speichern der Hilfe für alle Module
Save-Help -DestinationPath "\\Server01\FileShare01"
Mit diesem Befehl werden die neuesten Hilfedateien für alle Module in der Benutzeroberflächenkultur für Windows auf den lokalen Computer heruntergeladen. Sie speichert die Hilfedateien im \\Server01\Fileshare01
Ordner.
Beispiel 4: Speichern der Hilfe für ein Modul auf dem Computer
Save-Help -Module ServerManager -DestinationPath "\\Server01\FileShare01" -Credential Domain01/Admin01
Dieser Befehl lädt die neuesten Hilfedateien für das ServerManager-Modul herunter und speichert sie dann im \\Server01\Fileshare01
Ordner.
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
Invoke-Command -ComputerName Server02 {Get-Module -Name CustomSQL -ListAvailable} | Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01
Diese Befehle laden die neuesten Hilfedateien für das CustomSQL-Modul herunter und speichern sie im \\Server01\Fileshare01
Ordner.
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
Save-Help -Module Microsoft.PowerShell* -UICulture de-DE, en-US, fr-FR, ja-JP -DestinationPath "D:\Help"
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.
Save-Help
kann Hilfedateien für Module in verschiedenen Benutzeroberflächenkulturen nur herunterladen, wenn der Modulbesitzer die übersetzten Dateien im Internet verfügbar macht.
Beispiel 7: Speichern von Hilfe pro Tag mehr als eine Uhrzeit
Save-Help -Force -DestinationPath "\\Server3\AdminShare\Help"
Dieser Befehl speichert die 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.
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 vom Cmdlet generiertes Get-Credential
PSCredential-Objekt ein. 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.
Hinweis
Weitere Informationen zum Schutz von SecureString finden Sie unter "Wie sicher ist SecureString?".
Typ: | PSCredential |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DestinationPath
Gibt den Pfad des Ordners an, in dem die Hilfedateien gespeichert werden. Geben Sie keinen Dateinamen und keine Dateierweiterung an.
Typ: | String[] |
Aliase: | Path |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Force
Gibt an, dass dieses Cmdlet die Einschränkung für einmal pro Tag nicht befolgt, 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
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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 einen Modulparameter angeben. die beiden Parameter schließen sich gegenseitig aus.
Typ: | ModuleSpecification[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | 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 Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.
Typ: | String[] |
Aliase: | PSPath, LP |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Module
Gibt Module an, für die dieses Cmdlet Hilfe herunterlädt. Geben Sie einen oder mehrere Modulnamen oder Namens patter in einer durch Trennzeichen getrennten Liste oder in einer Datei ein, die in jeder Zeile einen Modulnamen enthält. Platzhalterzeichen sind zulässig. Sie können auch Modulobjekte aus dem Get-Module
Cmdlet an Save-Help
weiterleiten.
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 die aktualisierbare Hilfe nicht unterstützen.
Typ: | PSModuleInfo[] |
Aliase: | Name |
Position: | 1 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | True |
-Scope
Dieser Parameter führt in diesem Cmdlet nichts aus.
Typ: | UpdateHelpScope |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | 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 zulässig.
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.
Typ: | CultureInfo[] |
Position: | 2 |
Standardwert: | Current UI culture |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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 gilt nur, wenn der Webdownload eine NTLM-, Negotiate- oder Kerberos-basierte Authentifizierung verwendet.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
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 für Module im Ordner "$pshome\Modules" herunterladen.
- Die gespeicherte Hilfe für jedes Modul besteht aus einer Hilfeinformationsdatei (HelpInfo XML) und einer CAB-Datei für die Hilfedateien jeder Benutzeroberflächenkultur. 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 dasUpdate-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 der aktualisierbaren 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 unterstützt keine anderen Snap-Ins.- Die
Update-Help
undSave-Help
Cmdlets verwenden die folgenden Ports, um Hilfedateien herunterzuladen: Port 80 für HTTP und Port 443 für HTTPS. - Die
Update-Help
UndSave-Help
Cmdlets werden unter Windows Preinstallation Environment (Windows PE) nicht unterstützt.