Verifica che un file manifesto del modulo descriva in modo accurato il contenuto di un modulo.

Sintassi

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

Descrizione

Il cmdlet Test-ModuleManifest verifica che i file elencati nel file manifesto del modulo (.psd1) siano effettivamente presenti nei percorsi specificati.

Questo cmdlet è progettato per facilitare la verifica dei file manifesto da parte degli autori dei moduli. Inoltre, gli utenti del modulo possono utilizzare questo cmdlet in script e comandi per rilevare errori prima di eseguire script che dipendono dal modulo.

Il cmdlet Test-ModuleManifest restituisce un oggetto che rappresenta il modulo (lo stesso tipo di oggetto restituito da Get-Module). Se un file non è presente nei percorsi specificati nel manifesto, il cmdlet genera un errore per ogni file mancante.

Parametri

-Path <string>

Specifica il percorso del file manifesto del modulo. Immettere un percorso (facoltativo) e il nome del file manifesto del modulo con estensione psd1. Il percorso predefinito è la directory corrente. Questo parametro è obbligatorio. Il nome del parametro ("Path") è facoltativo. È inoltre possibile reindirizzare un percorso a Test-ModuleManifest.

Obbligatorio?

true

Posizione?

1

Valore predefinito

nessuno

Accettare input da pipeline?

true (ByValue, ByPropertyName)

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.String

È possibile reindirizzare il percorso di un manifesto del modulo a Test-ModuleManifest.

Output

System.Management.Automation.PSModuleInfo

Test-ModuleManifest restituisce un oggetto PSModuleInfo che rappresenta il modulo. Restituisce questo oggetto anche se nel manifesto sono presenti errori.

Esempio 1

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

Descrizione
-----------
Questo comando verifica il manifesto del modulo TestModule.psd1.






Esempio 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     : {}

Descrizione
-----------
In questo comando viene utilizzato un operatore pipeline (|) per inviare una stringa di percorso a Test-ModuleManifest. 

L'output del comando indica che il test ha avuto esito negativo, poiché non è stato trovato il file TestTypes.ps1xml, elencato nel manifesto.






Esempio 3

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

Descrizione
-----------
Questa funzione è analoga a Test-ModuleManifest, ma restituisce un valore booleano; "True" se il manifesto ha superato il test e "False" in caso contrario.

La funzione utilizza il cmdlet Get-ChildItem (alias = dir) per ottenere il manifesto del modulo specificato dalla variabile $path. Viene utilizzato un operatore pipeline (|) per passare l'oggetto file al cmdlet Test-ModuleManifest.

Il comando Test-ModuleManifest utilizza il parametro comune ErrorAction con un valore di SilentlyContinue per eliminare la visualizzazione di qualsiasi errore generato dal comando. Salva anche l'oggetto PSModuleInfo restituito da Test-ModuleManifest nella variabile $a, di conseguenza l'oggetto non viene visualizzato. 

Successivamente, in un comando separato (il punto e virgola [;] è il separatore dei comandi), viene visualizzato il valore della variabile automatica $? che restituisce "True" se il comando precedente non ha generato errori e "False" in caso contrario.

È possibile utilizzare questa funzione nelle istruzioni condizionali, ad esempio quelle che potrebbero precedere un comando Import-Module o un comando che utilizza il modulo.






Vedere anche




Argomenti della Guida