Test-ModuleManifest
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 Test-ModuleManifest
de commande vérifie que les fichiers répertoriés dans le fichier manifeste du module (.psd1
) se trouvent réellement dans les chemins spécifiés.
Cette applet de commande est conçue pour aider les auteurs du module à tester leurs fichiers manifeste. Les utilisateurs de module peuvent également utiliser cette applet de commande dans des scripts et des commandes pour détecter les erreurs avant d’exécuter des scripts qui dépendent du module.
Test-ModuleManifest
retourne un objet qui représente le module. Il s’agit du même type d’objet que celui qui Get-Module
retourne. Si des fichiers ne figurent pas aux emplacements spécifiés dans le manifeste, l'applet de commande génère également une erreur pour chaque fichier manquant.
Exemples
Exemple 1 : Tester un manifeste
Test-ModuleManifest -Path "$pshome\Modules\TestModule.psd1"
Cette commande teste le manifeste du TestModule.psd1
module.
Exemple 2 : Tester un manifeste à l’aide du pipeline
"$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 processed because the file was not found. Please correct the path and try again.
At line:1 char:34
+ "$pshome\Modules\TestModule.psd1" | test-modulemanifest <<<<
+ CategoryInfo : ResourceUnavailable: (C:\Windows\System32\WindowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml:String) [Test-ModuleManifest], FileNotFoundException
+ FullyQualifiedErrorId : Modules_TypeDataFileNotFound,Microsoft.PowerShell.Commands.TestModuleManifestCommandName
Name : TestModule
Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestModule\TestModule.psd1
Description :
Guid : 6f0f1387-cd25-4902-b7b4-22cff6aefa7b
Version : 1.0
ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestModule
ModuleType : Manifest
PrivateData :
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {}
ExportedFunctions : {}
ExportedVariables : {}
NestedModules : {}
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 indique que le test a échoué, car le fichier TestTypes.ps1xml, indiqué dans le manifeste, est introuvable.
Exemple 3 : Écrire une fonction pour tester un manifeste de module
function Test-ManifestBool ($path)
{$a = dir $path | Test-ModuleManifest -ErrorAction SilentlyContinue; $?}
Cette fonction est semblable Test-ModuleManifest
, mais elle retourne une valeur booléenne. La fonction retourne $True
si le manifeste a réussi le test et $False
sinon.
La fonction utilise l’applet de commande Get-ChildItem, alias = dir, pour obtenir le manifeste du module spécifié par la $path
variable. La commande utilise un opérateur de pipeline (|
) pour passer l’objet de fichier à Test-ModuleManifest
.
Test-ModuleManifest
utilise le paramètre commun ErrorAction avec la valeur SilentlyContinue pour supprimer l’affichage des erreurs générées par la commande. Il enregistre également l’objet PSModuleInfo qui Test-ModuleManifest
retourne dans la variable $a. Par conséquent, l’objet n’est pas affiché.
Ensuite, dans une commande distincte, la fonction affiche la valeur de la $?
variable automatique. Si la commande précédente ne génère aucune erreur, la commande s’affiche $True
et $False
sinon.
Vous pouvez utiliser cette fonction dans des instructions conditionnelles, telles que celles qui peuvent précéder une Import-Module
commande ou une commande qui utilise le module.
Paramètres
-Path
Spécifie un chemin d’accès et un nom de fichier pour le fichier manifeste. Entrez un chemin d’accès facultatif et le nom du fichier manifeste du module qui a l’extension .psd1
de nom de fichier. L'emplacement par défaut est le répertoire actif. Les caractères génériques sont pris en charge, mais doivent être résolus en un seul fichier manifeste de module.
Ce paramètre est obligatoire. Vous pouvez également diriger un chemin vers Test-ModuleManifest
.
Type: | String |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
Entrées
Vous pouvez diriger le chemin vers un manifeste de module vers cette applet de commande.
Sorties
Cette applet de commande retourne un objet PSModuleInfo qui représente le module. Il retourne cet objet même si le manifeste comporte des erreurs.