Vérifie qu'un fichier manifeste de module décrit précisément le contenu d'un module.

Syntaxe

Test-ModuleManifest [-Path] <string> [<CommonParameters>]

Description

L'applet de commande Test-ModuleManifest vérifie que les fichiers répertoriés dans le fichier manifeste du module (.psd1) existent réellement dans les chemins d'accès spécifiés.

Cette applet de commande est conçue pour aider les auteurs de module à tester leurs fichiers manifeste. Les utilisateurs de module peuvent également utiliser cette applet de commande dans les scripts et les commandes pour détecter des erreurs avant d'exécuter les scripts qui dépendent du module.

L'applet de commande Test-ModuleManifest retourne un objet qui représente le module (le même type d'objet que celui retourné par Get-Module). Si un ou plusieurs fichiers ne se trouvent pas dans les emplacements spécifiés par le manifeste, l'applet de commande génère également une erreur pour chaque fichier manquant.

Paramètres

-Path <string>

Spécifie le chemin d'accès au fichier manifeste du module. Entrez un chemin d'accès (facultatif) et le nom du fichier manifeste de module avec l'extension de nom de fichier .psd1. L'emplacement par défaut est le répertoire actif. Ce paramètre est obligatoire. Le nom de paramètre (« Path ») est facultatif. Vous pouvez également diriger un chemin d'accès vers Test-ModuleManifest.

Obligatoire ?

true

Position ?

1

Valeur par défaut

aucun

Accepter l'entrée de pipeline ?

true (ByValue, ByPropertyName)

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

System.String

Vous pouvez diriger le chemin d'accès à un manifeste du module vers Test-ModuleManifest.

Sorties

System.Management.Automation.PSModuleInfo

Test-ModuleManifest retourne un objet PSModuleInfo qui représente le module. Elle retourne cet objet même si le manifeste comporte des erreurs.

Exemple 1

C:\PS>test-ModuleManifest -path $pshome\Modules\TestModule.psd1

Description
-----------
Cette commande teste le manifeste de module TestModule.psd1.






Exemple 2

C:\PS>"$pshome\Modules\TestModule.psd1" | test-modulemanifest

Test-ModuleManifest : The specified type data file 'C:\Windows\System32\Wi
ndowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml' could not be pro
cessed because the file was not found. Please correct the path and try aga
in.
At line:1 char:34
+ "$pshome\Modules\TestModule.psd1" | test-modulemanifest <<<<
    + CategoryInfo          : ResourceUnavailable: (C:\Windows\System32\Win
dowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml:String) [Test-Modul
eManifest], FileNotFoundException
    + FullyQualifiedErrorId : Modules_TypeDataFileNotFound,Microsoft.
PowerShell.Commands.TestModuleManifestCommandName


Name              : TestModule
Path              : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Test
Module\TestModule.psd1
Description       :
Guid              : 6f0f1387-cd25-4902-b7b4-22cff6aefa7b
Version           : 1.0
ModuleBase        : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Test
Module
ModuleType        : Manifest
PrivateData       :
AccessMode        : ReadWrite
ExportedAliases   : {}
ExportedCmdlets   : {}
ExportedFunctions : {}
ExportedVariables : {}
NestedModules     : {}

Description
-----------
Cette commande utilise un opérateur de pipeline (|) pour envoyer une chaîne de chemin d'accès à Test-ModuleManifest. 

La sortie de la commande montre que le test a échoué parce que le fichier TestTypes.ps1xml, qui était répertorié dans le manifeste, est introuvable.






Exemple 3

C:\PS>function Bool-ModuleManifest ($path)
    {$a = dir $path | test-modulemanifest -erroraction SilentlyContinue; $?}

Description
-----------
Cette fonction est similaire à Test-ModuleManifest, mais elle retourne une valeur booléenne ; elle retourne « True » si le manifeste réussit le test et « False » dans le cas contraire.

La fonction utilise l'applet de commande Get-ChildItem (alias = dir) pour obtenir le manifeste de module spécifié par la variable $path. Elle fait appel à un opérateur de pipeline (|) pour passer l'objet fichier à l'applet de commande Test-ModuleManifest.

La commande Test-ModuleManifest utilise le paramètre courant ErrorAction avec une valeur SilentlyContinue pour supprimer l'affichage de toutes erreurs que la commande génère. Elle enregistre également l'objet PSModuleInfo que Test-ModuleManifest retourne dans la variable $a, et donc l'objet n'est pas affiché. 

Ensuite, dans une commande séparée (le point-virgule [;] est le séparateur de commande), elle affiche la valeur de la variable automatique $? qui retourne « True » si la commande précédente n'a généré aucune erreur et « False » dans le cas contraire.

Vous pouvez utiliser cette fonction dans des instructions conditionnelles, telles que celles qui peuvent précéder une commande Import-Module ou une commande qui utilise le module.






Voir aussi




Table des matières