Share via


Test-ModuleManifest

Ellenőrzi, hogy egy modul jegyzékfájlja pontosan leírja-e egy modul tartalmát.

Syntax

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

Description

A Test-ModuleManifest parancsmag ellenőrzi, hogy a moduljegyzékfájlban (.psd1) felsorolt fájlok ténylegesen a megadott elérési utakon találhatók-e.

Ez a parancsmag segít a modulkészítőknek a jegyzékfájljaik tesztelésében. A modulfelhasználók ezt a parancsmagot szkriptekben és parancsokban is használhatják a hibák észlelésére, mielőtt a modultól függő szkripteket futtatnának.

Test-ModuleManifest A modult jelképező objektumot ad vissza. Ez ugyanaz az objektumtípus, amelyet Get-Module visszaad. Ha bármely fájl nincs a jegyzékben megadott helyeken, a parancsmag hibát is generál az egyes hiányzó fájlok esetében.

Példák

1. példa: Jegyzék tesztelése

Test-ModuleManifest -Path "$pshome\Modules\TestModule.psd1"

Ez a parancs teszteli a moduljegyzéket TestModule.psd1 .

2. példa: Jegyzékfájl tesztelése a folyamat használatával

"$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     : {}

Ez a parancs egy folyamatkezelőt (|) használ egy elérésiút-sztring elküldéséhez Test-ModuleManifest.

A parancs kimenete azt mutatja, hogy a teszt sikertelen volt, mert a jegyzékben szereplő TestTypes.ps1xml fájl nem található.

3. példa: Függvény írása moduljegyzék teszteléséhez

function Test-ManifestBool ($path)

{$a = dir $path | Test-ModuleManifest -ErrorAction SilentlyContinue; $?}

Ez a függvény hasonló Test-ModuleManifest, de logikai értéket ad vissza. A függvény akkor ad $True vissza, ha a jegyzékfájl megfelelt a tesztnek, és $False ellenkező esetben.

A függvény az alias = dir Get-ChildItem parancsmagot használja a változó által megadott moduljegyzék lekéréséhez $path . A parancs egy folyamatkezelővel (|) továbbítja a fájlobjektumot a következőnek Test-ModuleManifest:

Test-ModuleManifest Az ErrorAction common paraméter és a SilentlyContinue érték használatával letiltja a parancs által generált hibák megjelenítését. A $a változóban visszaadott Test-ModuleManifest PSModuleInfo objektumot is menti. Ezért az objektum nem jelenik meg.

Ezután egy külön parancsban a függvény megjeleníti az $? automatikus változó értékét. Ha az előző parancs nem okoz hibát, a parancs megjelenik $True, és $False egyéb esetben.

Ezt a függvényt feltételes utasításokban is használhatja, például a modult Import-Module használó parancsok vagy parancsok elé.

Paraméterek

-Path

Megadja a jegyzékfájl elérési útját és fájlnevét. Adja meg annak a moduljegyzékfájlnak a választható elérési útját és nevét, amely rendelkezik a .psd1 fájlnévkiterjesztéssel. Az alapértelmezett hely az aktuális könyvtár. A helyettesítő karakterek támogatottak, de egyetlen moduljegyzékfájlra kell feloldani. Ez a paraméter kötelező. Az elérési utat Test-ModuleManifestis beszűkítheti.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

Bevitelek

String

Ehhez a parancsmaghoz a moduljegyzék elérési útját is beszűkítheti.

Kimenetek

PSModuleInfo

Ez a parancsmag a modult jelképező PSModuleInfo objektumot adja vissza. Akkor is visszaadja ezt az objektumot, ha a jegyzékben hibák vannak.