Partager via


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

Save-Help
    [-DestinationPath] <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [<CommonParameters>]
Save-Help
    -LiteralPath <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [<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.

Dans Windows PowerShell 3.0, Save-Help fonctionnait 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 fonctionnerait 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 à Save-Help de fonctionner pour les modules installés sur des ordinateurs distants. Il est également possible d’enregistrer un objet PSModuleInfo sur le disque ou le support amovible en exécutant Export-Clixml sur un ordinateur qui n’a pas accès à Internet, importez l’objet sur un ordinateur disposant d’un accès à Internet, puis exécutez 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 de l’aide sur les ordinateurs qui n’ont aucun type d’accès réseau.

Pour installer les fichiers d’aide enregistrés, exécutez l’applet de commande Update-Help. Ajoutez son paramètre SourcePath pour spécifier le dossier dans lequel vous avez enregistré les fichiers d’aide.

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 de commande Save-Help fonctionne comme l’applet de commande Update-Help, sauf qu’elle enregistre les fichiers de l’armoire téléchargée (.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 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-Help 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 de 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 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 de la culture de l’interface utilisateur définie pour Windows sur l’ordinateur local. Il enregistre les fichiers d’aide dans le dossier \\Server01\Fileshare01.

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 dossier \\Server01\Fileshare01.

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 dossier \\Server01\Fileshare01.

Étant donné que le module CustomSQL n’est pas installé sur l’ordinateur, la séquence inclut une commande Invoke-Command qui obtient l’objet de module pour le module CustomSQL à partir de l’ordinateur Server02, puis canalise l’objet de module vers l’applet de commande Save-Help.

Lorsqu’un module n’est pas installé sur l’ordinateur, Save-Help a besoin de 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 pouvez 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 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.

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.

Note

Pour plus d’informations sur SecureString la protection des données, 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 de nom de fichier ou d’extension de nom de fichier.

Type:String[]
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 seule commande Save-Help pour chaque module est autorisée pendant 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

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 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.

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é comme des caractères génériques. Si le chemin inclut des caractères d’échappement, placez-le entre guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme séquences d’échappement.

Type:String[]
Alias:PSPath
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 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 commande Get-Module 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 de commande Get-Module.

Le paramètre module de l’applet de commande Save-Help 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 commande Save-Help.

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

-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. Ne spécifiez pas de code de langage partiel, tel que « de ».

Par défaut, Save-Help obtient des fichiers d’aide dans la culture de l’interface utilisateur définie pour Windows ou sa culture de secours. Si vous spécifiez le paramètre UICulture, Save-Help recherche de l’aide uniquement pour la culture d’interface utilisateur spécifiée, et non dans une culture de secours.

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 lorsque le téléchargement web utilise l’authentification NTLM, négocier ou 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 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-Help 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 Save-Help peut enregistrer de 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 de commande Update-Help peut installer le fichier d’aide mis à jour uniquement pour les modules installés sur l’ordinateur.
  • Si Save-Help ne trouve pas les fichiers d’aide mis à jour pour un module ou ne trouve 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-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 applets de commande Update-Help et Save-Help utilisent 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-Help et Save-Help ne sont pas prises en charge sur l’environnement de préinstallation Windows (Windows PE).