Save-Help
Télécharge et enregistre les fichiers d’aide les plus récents dans un répertoire de système de fichiers.
Syntaxe
Path (Par défaut)
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>]
Description
L’applet de commande Save-Help 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. Cette applet de commande a été introduite dans Windows PowerShell 3.0.
À compter de Windows PowerShell 4.0, vous pouvez utiliser Save-Help pour télécharger des fichiers d’aide pour les modules installés sur des ordinateurs distants. Il est également possible d’enregistrer un objet PSModuleInfo à l’aide Export-Clixml d’un ordinateur qui n’a pas d’accès à Internet, d’importer l’objet sur un ordinateur disposant d’un accès à Internet, puis d’exécuter Save-Help sur l’objet PSModuleInfo . Une fois que vous avez enregistré l’aide, vous pouvez la copier sur l’ordinateur distant et l’installer en exécutant Update-Help.
Ce processus peut être utilisé pour installer de l’aide sur les ordinateurs qui n’ont aucun type d’accès réseau.
Sans paramètres, une commande Save-Help 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 de commande Save-Help 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 le contenu téléchargé, au lieu d’extraire les fichiers d’aide 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’une armoire ou d’une archive ZIP (.cab ou .zip) pour les fichiers d’aide dans chaque langue. Sur Windows, la commande télécharge les fichiers d’armoire. Sur Linux et macOS, la commande télécharge les fichiers ZIP.
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 de ces modules.
Pour installer les fichiers d’aide enregistrés, exécutez Update-Help avec le paramètre SourcePath pour spécifier le dossier contenant les fichiers d’aide enregistrés.
Update-Help extrait les fichiers d’aide de l’archive et les installe dans l’emplacement approprié.
Exemples
Exemple 1 : Enregistrer l’aide du module DhcpServer
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.
# 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"
Exemple 2 : Installer l’aide pour le module DhcpServer
Cet exemple montre comment installer l’aide pour un ordinateur qui n’est pas connecté au réseau. Pour cet exemple, le premier ordinateur n’est pas connecté à un réseau accessible. Les fichiers doivent être copiés à l’aide d’un support amovible. Le deuxième ordinateur est connecté à Internet et peut télécharger les fichiers d’aide.
# 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
Exemple 3 : Enregistrer l’aide pour tous les modules
Cette commande télécharge les fichiers d’aide les plus récents pour tous les modules sur l’ordinateur local. Il enregistre les fichiers d’aide dans le dossier \\Server01\Fileshare01.
Save-Help -DestinationPath \\Server01\FileShare01
Exemple 4 : Enregistrer l’aide d’un module sur l’ordinateur
Cette commande télécharge les fichiers d’aide les plus récents pour le module ServerManager, puis les enregistre dans le dossier \\Server01\Fileshare01.
$saveHelpSplat = @{
Module = 'ServerManager'
DestinationPath = '\\Server01\FileShare01'
Credential = 'Domain01/Admin01'
}
Save-Help @saveHelpSplat
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
Ces commandes téléchargent les fichiers d’aide les plus récents pour le module CustomSQL et les enregistrent dans le dossier \\Server01\Fileshare01.
Invoke-Command -ComputerName Server02 { Get-Module -Name CustomSQL -ListAvailable } |
Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01
É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 de 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
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 n’ont pas besoin d’être installés sur l’ordinateur.
$saveHelpSplat = @{
Module = 'Microsoft.PowerShell*'
UICulture = 'de-DE', 'en-US', 'fr-FR', 'ja-JP'
DestinationPath = "D:\Help"
}
Save-Help @saveHelpSplat
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
Cette commande enregistre l’aide pour tous les modules installés sur l’ordinateur. La commande spécifie le paramètre Forcer à remplacer la règle qui empêche l’applet de commande Save-Help de télécharger l’aide plusieurs fois dans chaque période de 24 heures.
Save-Help -Force -DestinationPath \\Server3\AdminShare\Help
Le paramètre Forcer 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 de commande Save-Help pour télécharger et enregistrer les fichiers d’aide dans le dossier spécifié.
Le paramètre Forcer est nécessaire lorsque vous devez exécuter une commande Save-Help 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 des commandes Save-Help 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 de commande Get-Credential. 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 de SecureString, consultez Quelle est la sécurité de SecureString ?.
Propriétés du paramètre
| Type: | PSCredential |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-DestinationPath
Spécifie le chemin d’accès du dossier dans lequel les fichiers d’aide sont enregistrés. Ne spécifiez pas d’extension de nom de fichier ou de nom de fichier.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Chemin |
Jeux de paramètres
Path
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Force
Indique que cette applet de commande ne suit pas la limitation une fois par jour, ignore la vérification des versions 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 commande Save-Help à votre profil PowerShell.
Pour enregistrer de l’aide pour un module dans plusieurs cultures d’interface utilisateur sans le paramètre Forcer, 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
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 le 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 obligatoire pour 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.
Propriétés du paramètre
| Type: | |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | 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 elle est typée. 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.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | PSPath, DP |
Jeux de paramètres
LiteralPath
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 modèles de noms 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 les objets de module à partir de l’applet de commande Get-Module 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 de commande Save-Help 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.
Propriétés du paramètre
| Type: | |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | True |
| DontShow: | False |
| Alias: | Nom |
Jeux de paramètres
(All)
| Position: | 1 |
| Obligatoire: | False |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Scope
Ce paramètre ne fait rien dans cette applet de commande.
Propriétés du paramètre
| Type: | UpdateHelpScope |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | 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’un Get-Culture ou une commande Get-UICulture. Les caractères génériques ne sont pas autorisés.
Par défaut, Save-Help obtient des 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, tel que en télécharger de l’aide en anglais pour n’importe quelle région.
Propriétés du paramètre
| Type: | |
| Valeur par défaut: | Current UI culture |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | 2 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 lorsque le téléchargement web utilise l’authentification NTLM, négocier ou Kerberos.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
PSModuleInfo
Vous pouvez diriger un objet de module vers cette applet de commande.
Sorties
None
Cette applet de commande ne retourne aucune 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 d’armoire (.cab) pour les fichiers d’aide de 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 de commande
Update-Helpextrait 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-Helpl’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’applet de commandeUpdate-Helppeut installer le fichier d’aide mis à jour uniquement pour les modules installés sur l’ordinateur. - Si
Save-Helpvous 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 pouvant être mise à jour. 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 de commande
Get-Command, par exemple,(Get-Command \<cmdlet-name\>).ModuleName -
Save-Helpprend en charge tous les modules et les composants logiciels enfichables PowerShell principaux. Elle ne prend pas en charge d’autres composants logiciels enfichables. - Les applets de commande
Update-HelpetSave-Helputilisent les ports suivants pour télécharger les fichiers d’aide : port 80 pour HTTP et port 443 pour HTTPS. - Les applets de commande
Update-HelpetSave-Helpne sont pas prises en charge sur l’environnement de préinstallation Windows (Windows PE).