Partager via


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

PSModuleInfo

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’applet Update-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 et Save-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 et Save-Help les applets de commande ne sont pas prises en charge sur l’environnement de préinstallation Windows (Windows PE).