Test-ModuleManifest
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
Concetti
Import-Module
Get-Module
New-Module
Remove-Module
Export-ModuleMember
New-ModuleManifest
about_Modules