Save-Help
Télécharge et enregistre les derniers fichiers d'aide dans un répertoire du système de fichiers.
Syntaxe
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
L’applet Save-Help
de commande télécharge les fichiers d’aide les plus récents pour les modules PowerShell et les enregistre dans un répertoire que vous spécifiez. Cette fonctionnalité vous permet de mettre à jour les fichiers d'aide sur les ordinateurs qui n'ont pas accès à Internet et facilite la mise à jour des fichiers d'aide sur plusieurs ordinateurs.
Dans Windows PowerShell 3.0, Save-Help
fonctionne uniquement pour les modules installés sur l’ordinateur local. Bien qu’il soit possible d’importer un module à partir d’un ordinateur distant ou d’obtenir une référence à un objet PSModuleInfo à partir d’un ordinateur distant à l’aide de la communication à distance PowerShell, la propriété HelpInfoUri n’a pas été conservée et Save-Help
ne fonctionne pas pour l’aide du module distant.
Dans Windows PowerShell 4.0, la propriété HelpInfoUri est conservée sur la communication à distance PowerShell, ce qui permet de fonctionner pour les modules installés Save-Help
sur des ordinateurs distants. Il est également possible d’enregistrer un objet PSModuleInfo sur un disque ou un média amovible en s’exécutant Export-Clixml
sur un ordinateur qui n’a pas accès à Internet, importer l’objet sur un ordinateur disposant d’un accès Internet, puis s’exécuter Save-Help
sur l’objet PSModuleInfo . L’aide enregistrée peut être transportée sur l’ordinateur distant à l’aide d’un support de stockage amovible, tel qu’un lecteur USB. L’aide peut être installée sur l’ordinateur distant en exécutant Update-Help
. Ce processus peut être utilisé pour installer l'aide sur les ordinateurs qui ne disposent d'aucun accès réseau.
Pour installer les fichiers d’aide enregistrés, exécutez l’applet de Update-Help
commande. Ajoutez son paramètre SourcePath pour spécifier le dossier dans lequel vous avez enregistré les fichiers d’aide.
Sans paramètres, une Save-Help
commande télécharge l’aide la plus récente pour tous les modules de la session et pour les modules installés sur l’ordinateur dans un emplacement répertorié dans la variable d’environnement PSModulePath . Cette action ignore les modules qui ne prennent pas en charge l’aide pouvant être mise à jour sans avertissement.
L’applet Save-Help
de commande vérifie la version des fichiers d’aide dans le dossier de destination. Si des fichiers d’aide plus récents sont disponibles, cette applet de commande télécharge les fichiers d’aide les plus récents à partir d’Internet, puis les enregistre dans le dossier. L’applet Save-Help
de commande fonctionne comme l’applet Update-Help
de commande, sauf qu’elle enregistre les fichiers d’armoire téléchargé (.cab), au lieu d’extraire les fichiers d’aide des fichiers d’aide des fichiers d’armoire et de les installer sur l’ordinateur.
L'aide enregistrée pour chaque module se compose d'un fichier d'informations d'aide (HelpInfo XML) et d'un fichier CAB pour les fichiers d'aide dans chaque culture d'interface utilisateur. Vous n’avez pas besoin d’extraire les fichiers d’aide du fichier d’aide du fichier d’armoire. L’applet Update-Help
de commande extrait les fichiers d’aide, valide le code XML pour la sécurité, puis installe les fichiers d’aide et le fichier d’informations d’aide dans un sous-dossier spécifique au langage du dossier du module.
Pour enregistrer les fichiers d’aide des modules dans le dossier d’installation de PowerShell ($pshome\Modules
), démarrez PowerShell à l’aide de l’option Exécuter en tant qu’administrateur. Vous devez être membre du groupe Administrateurs sur l'ordinateur pour télécharger les fichiers d'aide pour ces modules.
Cette applet de commande a été introduite dans Windows PowerShell 3.0.
Exemples
Exemple 1 : Enregistrer l’aide du module DhcpServer
# 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"
Cet exemple montre trois façons différentes d’utiliser Save-Help
pour enregistrer l’aide du module DhcpServer à partir d’un ordinateur client connecté à Internet, sans installer le module DhcpServer ou le rôle serveur DHCP sur l’ordinateur local.
Exemple 2 : Installer l’aide pour le module DhcpServer
# 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"
Cet exemple montre comment installer l’aide que vous avez enregistrée dans l’exemple 1 pour le module DhcpServer sur un ordinateur qui n’a pas d’accès à Internet.
Exemple 3 : Enregistrer l’aide pour tous les modules
Save-Help -DestinationPath "\\Server01\FileShare01"
Cette commande télécharge les fichiers d'aide les plus récents pour tous les modules dans la culture d'interface utilisateur définie pour Windows sur l'ordinateur local. Il enregistre les fichiers d’aide dans le \\Server01\Fileshare01
dossier.
Exemple 4 : Enregistrer l’aide d’un module sur l’ordinateur
Save-Help -Module ServerManager -DestinationPath "\\Server01\FileShare01" -Credential Domain01/Admin01
Cette commande télécharge les fichiers d’aide les plus récents pour le module ServerManager , puis les enregistre dans le \\Server01\Fileshare01
dossier.
Lorsqu’un module est installé sur l’ordinateur, vous pouvez taper le nom du module comme valeur du paramètre Module , même si le module n’est pas importé dans la session active.
La commande utilise le paramètre Credential pour fournir les informations d’identification d’un utilisateur autorisé à écrire dans le partage de fichiers.
Exemple 5 : Enregistrer l’aide d’un module sur un autre ordinateur
Invoke-Command -ComputerName Server02 {Get-Module -Name CustomSQL -ListAvailable} | Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01
Ces commandes téléchargent les fichiers d’aide les plus récents pour le module CustomSQL et les enregistrent dans le \\Server01\Fileshare01
dossier.
Étant donné que le module CustomSQL n’est pas installé sur l’ordinateur, la séquence inclut une Invoke-Command
commande qui obtient l’objet de module pour le module CustomSQL à partir de l’ordinateur Server02, puis canalise l’objet de module vers l’applet Save-Help
de commande.
Lorsqu’un module n’est pas installé sur l’ordinateur, Save-Help
nécessite l’objet module, qui inclut des informations sur l’emplacement des fichiers d’aide les plus récents.
Exemple 6 : Enregistrer l’aide d’un module dans plusieurs langues
Save-Help -Module Microsoft.PowerShell* -UICulture de-DE, en-US, fr-FR, ja-JP -DestinationPath "D:\Help"
Cette commande enregistre de l’aide pour les modules PowerShell principaux dans quatre cultures d’interface utilisateur différentes. Les modules linguistiques de ces paramètres régionaux ne doivent pas être installés sur l’ordinateur.
Save-Help
peut télécharger des fichiers d’aide pour les modules dans différentes cultures d’interface utilisateur uniquement lorsque le propriétaire du module rend les fichiers traduits disponibles sur Internet.
Exemple 7 : Enregistrer l’aide plusieurs fois par jour
Save-Help -Force -DestinationPath "\\Server3\AdminShare\Help"
Cette commande enregistre l'aide de tous les modules qui sont installés sur l'ordinateur. La commande spécifie le paramètre Force pour remplacer la règle qui empêche l’applet Save-Help
de commande de télécharger l’aide plusieurs fois sur chaque période de 24 heures.
Le paramètre Force remplace également la restriction de 1 Go et contourne la vérification de version. Par conséquent, vous pouvez télécharger des fichiers même si la version n’est pas ultérieure à la version dans le dossier de destination.
La commande utilise l’applet Save-Help
de commande pour télécharger et enregistrer les fichiers d’aide dans le dossier spécifié.
Le paramètre Force est requis lorsque vous devez exécuter une Save-Help
commande plusieurs fois par jour.
Paramètres
-Credential
Spécifie les informations d’identification d’un utilisateur. Cette applet de commande exécute la commande à l’aide des informations d’identification d’un utilisateur autorisé à accéder à l’emplacement du système de fichiers spécifié par le paramètre DestinationPath . Ce paramètre est valide uniquement lorsque le paramètre DestinationPath ou LiteralPath est utilisé dans la commande.
Ce paramètre vous permet d’exécuter Save-Help
des commandes qui utilisent le paramètre DestinationPath sur des ordinateurs distants. En fournissant des informations d’identification explicites, vous pouvez exécuter la commande sur un ordinateur distant et accéder à un partage de fichiers sur un troisième ordinateur sans rencontrer d’erreur d’accès refusé ou utiliser l’authentification CredSSP pour déléguer les informations d’identification.
Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01, ou entrez un objet PSCredential généré par l’applet Get-Credential
de commande. Si vous tapez un nom d’utilisateur, vous êtes invité à entrer le mot de passe.
Les informations d’identification sont stockées dans un objet PSCredential et le mot de passe est stocké en tant que SecureString.
Remarque
Pour plus d’informations sur la protection des données SecureString , consultez Comment secure is SecureString ?.
Type: | PSCredential |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DestinationPath
Spécifie le chemin d’accès du dossier dans lequel les fichiers d’aide sont enregistrés. Ne spécifiez pas un nom de fichier ou une extension de nom de fichier.
Type: | String[] |
Alias: | Path |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Force
Indique que cette applet de commande ne suit pas la limitation une fois par jour, ignore la vérification de version et télécharge les fichiers qui dépassent la limite de 1 Go.
Sans ce paramètre, une Save-Help
seule commande pour chaque module est autorisée sur chaque période de 24 heures, les téléchargements sont limités à 1 Go de contenu non compressé par module et les fichiers d’aide d’un module sont installés uniquement lorsqu’ils sont plus récents que les fichiers sur l’ordinateur.
La limite une fois par jour protège les serveurs qui hébergent les fichiers d’aide et vous permet d’ajouter une Save-Help
commande à votre profil PowerShell.
Pour enregistrer de l’aide pour un module dans plusieurs cultures d’interface utilisateur sans le paramètre Force , incluez toutes les cultures d’interface utilisateur dans la même commande, par exemple : Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-FullyQualifiedModule
La valeur peut être un nom de module, une spécification complète du module ou un chemin d’accès à un fichier de module.
Lorsque la valeur est un chemin d’accès, le chemin d’accès peut être qualifié ou relatif complet. Un chemin relatif est résolu par rapport au script qui contient l’instruction using.
Lorsque la valeur est un nom ou une spécification de module, PowerShell recherche PSModulePath pour le module spécifié.
Une spécification de module est une table de hachage qui a les clés suivantes.
ModuleName
- Obligatoire Spécifie le nom du module.GUID
- Facultatif Spécifie le GUID du module.- Il est également nécessaire de spécifier au moins l’une des trois clés ci-dessous.
ModuleVersion
- Spécifie une version minimale acceptable du module.MaximumVersion
- Spécifie la version maximale acceptable du module.RequiredVersion
- Spécifie une version exacte et requise du module. Cela ne peut pas être utilisé avec les autres clés de version.
Vous ne pouvez pas spécifier le paramètre FullyQualifiedModule dans la même commande qu’un paramètre module . les deux paramètres s’excluent mutuellement.
Type: | ModuleSpecification[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-LiteralPath
Spécifie un chemin d’accès du dossier de destination. Contrairement à la valeur du paramètre DestinationPath , la valeur du paramètre LiteralPath est utilisée exactement comme il est typé. Aucun caractère n'est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme séquences d’échappement.
Type: | String[] |
Alias: | PSPath, LP |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Module
Spécifie les modules pour lesquels cette applet de commande télécharge de l’aide. Entrez un ou plusieurs noms de module ou patters de nom dans une liste séparée par des virgules ou dans un fichier portant un nom de module sur chaque ligne. Les caractères génériques sont autorisés. Vous pouvez également diriger des objets de module de l’applet Get-Module
de commande vers Save-Help
.
Par défaut, Save-Help
télécharge l’aide pour tous les modules qui prennent en charge l’aide pouvant être mise à jour et sont installés sur l’ordinateur local dans un emplacement répertorié dans la variable d’environnement PSModulePath .
Pour enregistrer de l’aide pour les modules qui ne sont pas installés sur l’ordinateur, exécutez une Get-Module
commande sur un ordinateur distant. Dirigez ensuite les objets de module résultants vers l’applet Save-Help
de commande ou envoyez les objets de module comme valeur des paramètres Module ou InputObject .
Si le module que vous spécifiez est installé sur l'ordinateur, vous pouvez entrer le nom du module ou un objet de module. Si le module n’est pas installé sur l’ordinateur, vous devez entrer un objet de module, tel qu’un objet retourné par l’applet Get-Module
de commande.
Le paramètre Module de l’applet Save-Help
de commande n’accepte pas le chemin d’accès complet d’un fichier de module ou d’un fichier manifeste de module. Pour enregistrer de l’aide pour un module qui n’est pas dans un emplacement PSModulePath , importez le module dans la session active avant d’exécuter la Save-Help
commande.
La valeur « * » (toutes) tente de mettre à jour l’aide pour tous les modules installés sur l’ordinateur. Cela inclut les modules qui ne prennent pas en charge l’aide pouvant être mise à jour. Cette valeur peut générer des erreurs lorsque la commande rencontre des modules qui ne prennent pas en charge l’aide pouvant être mise à jour.
Type: | PSModuleInfo[] |
Alias: | Name |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-Scope
Ce paramètre ne fait rien dans cette applet de commande.
Type: | UpdateHelpScope |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-UICulture
Spécifie les valeurs de culture de l’interface utilisateur pour lesquelles cette applet de commande obtient les fichiers d’aide mis à jour. Entrez un ou plusieurs codes de langage, tels que es-ES
, une variable qui contient des objets de culture ou une commande qui obtient des objets de culture, tels qu’une ou Get-UICulture
une Get-Culture
commande. Les caractères génériques ne sont pas autorisés.
Par défaut, Save-Help
obtient les fichiers d’aide dans la culture de l’interface utilisateur définie pour le système d’exploitation ou sa culture de secours. Si vous spécifiez le paramètre UICulture , Save-Help
recherche uniquement de l’aide pour la langue spécifiée.
À compter de PowerShell 7.4, vous pouvez utiliser un code de langue partiel, par exemple en
pour télécharger de l’aide en anglais pour n’importe quelle région.
Type: | CultureInfo[] |
Position: | 2 |
Valeur par défaut: | Current UI culture |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-UseDefaultCredentials
Indique que cette applet de commande exécute la commande, y compris le téléchargement web, avec les informations d’identification de l’utilisateur actuel. Par défaut, la commande s'exécute sans informations d'identification explicites.
Ce paramètre est effectif uniquement quand le téléchargement web utilise NTLM, la négociation ou l'authentification Kerberos.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger un objet de module vers cette applet de commande.
Sorties
None
Cette applet de commande ne retourne pas de sortie.
Notes
- Pour enregistrer de l’aide pour les modules dans le dossier $pshome\Modules, démarrez PowerShell à l’aide de l’option Exécuter en tant qu’administrateur. Seuls les membres du groupe Administrateurs sur l’ordinateur peuvent télécharger de l’aide pour les modules dans le dossier $pshome\Modules.
- L'aide enregistrée pour chaque module se compose d'un fichier d'informations d'aide (HelpInfo XML) et d'un fichier CAB pour les fichiers d'aide dans chaque culture d'interface utilisateur. Vous n’avez pas besoin d’extraire les fichiers d’aide du fichier d’aide du fichier d’armoire. L’applet
Update-Help
de commande extrait les fichiers d’aide, valide le code XML, puis installe les fichiers d’aide et le fichier d’informations d’aide dans un sous-dossier spécifique au langage du dossier du module. - L’applet de commande peut enregistrer de
Save-Help
l’aide pour les modules qui ne sont pas installés sur l’ordinateur. Toutefois, étant donné que les fichiers d’aide sont installés dans le dossier du module, l’appletUpdate-Help
de commande peut installer le fichier d’aide mis à jour uniquement pour les modules installés sur l’ordinateur. - Si
Save-Help
vous ne trouvez pas les fichiers d’aide mis à jour pour un module ou si vous ne trouvez pas les fichiers d’aide mis à jour dans la langue spécifiée, il continue en mode silencieux sans afficher de message d’erreur. Pour voir quels fichiers ont été enregistrés par la commande, spécifiez le paramètre Verbose . - Les modules sont la plus petite unité d'aide actualisable. Vous ne pouvez pas enregistrer d’aide pour une applet de commande particulière, uniquement pour toutes les applets de commande du module. Pour rechercher le module qui contient une applet de commande particulière, utilisez la propriété ModuleName avec l’applet
Get-Command
de commande, par exemple,(Get-Command \<cmdlet-name\>).ModuleName
Save-Help
prend en charge tous les modules et les composants logiciels enfichables PowerShell principaux. Elle ne prend pas en charge d’autres composants logiciels enfichables.- Les
Update-Help
applets de commande etSave-Help
les applets de commande utilisent les ports suivants pour télécharger les fichiers d’aide : port 80 pour HTTP et port 443 pour HTTPS. - Les
Update-Help
applets de commande etSave-Help
les applets de commande ne sont pas prises en charge sur l’environnement de préinstallation Windows (Windows PE).