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