Test-ModuleManifest
Ověřuje, že soubor manifestu modulu přesně popisuje obsah modulu.
Syntaxe
Default (Výchozí)
Test-ModuleManifest
[-Path] <String>
[<CommonParameters>]
Description
Rutina Test-ModuleManifest ověří, že soubory uvedené v souboru manifestu modulu (.psd1) jsou ve skutečnosti v zadaných cestách.
Tato rutina je navržená tak, aby autorům modulů pomohla otestovat soubory manifestu. Uživatelé modulu můžou tuto rutinu použít také ve skriptech a příkazech k detekci chyb před spuštěním skriptů, které závisí na modulu.
Test-ModuleManifest vrátí objekt, který představuje modul. Jedná se o stejný typ objektu, který Get-Module vrátí. Pokud některé soubory nejsou v umístěních zadaných v manifestu, rutina také vygeneruje chybu pro každý chybějící soubor.
Příklady
Příklad 1: Testování manifestu
Test-ModuleManifest -Path "$PSHOME\Modules\TestModule.psd1"
Tento příkaz testuje manifest modulu TestModule.psd1.
Příklad 2: Testování manifestu pomocí kanálu
"$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 : {}
Tento příkaz používá operátor kanálu (|) k odeslání řetězce cesty do Test-ModuleManifest.
Výstup příkazu ukazuje, že test selhal, protože soubor TestTypes.ps1xml, který byl uveden v manifestu, nebyl nalezen.
Příklad 3: Napsání funkce pro otestování manifestu modulu
function Test-ManifestBool ($path)
{$a = dir $path | Test-ModuleManifest -ErrorAction SilentlyContinue; $?}
Tato funkce je jako Test-ModuleManifest, ale vrátí logickou hodnotu. Funkce vrátí $true, pokud manifest prošel testem a $false jinak.
Funkce používá rutinu Get-ChildItem alias = dir k získání manifestu modulu určeného proměnnou $path. Příkaz používá operátor kanálu (|) k předání objektu souboru do Test-ModuleManifest.
Test-ModuleManifest používá ErrorAction společný parametr s hodnotou SilentlyContinue k potlačení zobrazení všech chyb, které příkaz vygeneruje. Uloží také PSModuleInfo objekt, který Test-ModuleManifest vrátí v proměnné $a. Objekt se proto nezobrazí.
V samostatném příkazu pak funkce zobrazí hodnotu $? automatické proměnné. Pokud předchozí příkaz nevygeneruje žádnou chybu, zobrazí se $truea $false jinak.
Tuto funkci můžete použít v podmíněných příkazech, například těch, které můžou předcházet Import-Module příkazu nebo příkazu, který modul používá.
Parametry
-Path
Určuje cestu a název souboru manifestu. Zadejte volitelnou cestu a název souboru manifestu modulu, který má příponu názvu souboru .psd1. Výchozí umístění je aktuální adresář. Podporují se zástupné znaky, ale musí se přeložit na jeden soubor manifestu modulu.
Tento parametr je povinný. Můžete také přesměrovat cestu k Test-ModuleManifest.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
(All)
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
String
Cestu k manifestu modulu můžete do této rutiny převést.
Výstupy
PSModuleInfo
Tato rutina vrátí objekt PSModuleInfo, který představuje modul. Vrátí tento objekt i v případě, že manifest obsahuje chyby.