Test-ModuleManifest
Verifica se um arquivo de manifesto do módulo descreve com precisão o conteúdo de um módulo.
Sintaxe
Default (Padrão)
Test-ModuleManifest
[-Path] <String>
[<CommonParameters>]
Description
O cmdlet Test-ModuleManifest verifica se os arquivos listados no arquivo de manifesto do módulo (.psd1) estão realmente nos caminhos especificados.
Esse cmdlet foi projetado para ajudar os autores do módulo a testar seus arquivos de manifesto. Os usuários do módulo também podem usar esse cmdlet em scripts e comandos para detectar erros antes de executar scripts que dependem do módulo.
Test-ModuleManifest retorna um objeto que representa o módulo. Esse é o mesmo tipo de objeto que Get-Module retorna. Se os arquivos não estiverem nos locais especificados no manifesto, o cmdlet também gerará um erro para cada arquivo ausente.
Exemplos
Exemplo 1: testar um manifesto
Test-ModuleManifest -Path "$PSHOME\Modules\TestModule.psd1"
Esse comando testa o manifesto do módulo TestModule.psd1.
Exemplo 2: testar um manifesto usando o pipeline
"$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 : {}
Esse comando usa um operador de pipeline (|) para enviar uma cadeia de caracteres de caminho para Test-ModuleManifest.
A saída do comando mostra que o teste falhou porque o arquivo TestTypes.ps1xml, listado no manifesto, não foi encontrado.
Exemplo 3: escrever uma função para testar um manifesto de módulo
function Test-ManifestBool ($path)
{$a = dir $path | Test-ModuleManifest -ErrorAction SilentlyContinue; $?}
Essa função é como Test-ModuleManifest, mas retorna um valor booliano. A função retornará $true se o manifesto passou no teste e $false caso contrário.
A função usa o cmdlet Get-ChildItem, alias = dir, para obter o manifesto do módulo especificado pela variável $path. O comando usa um operador de pipeline (|) para passar o objeto de arquivo para Test-ModuleManifest.
Test-ModuleManifest usa o parâmetro ErrorAction comum com um valor de SilentlyContinue para suprimir a exibição de quaisquer erros gerados pelo comando. Ele também salva o objeto PSModuleInfo que Test-ModuleManifest retorna na variável $a. Portanto, o objeto não é exibido.
Em seguida, em um comando separado, a função exibe o valor da variável automática $?. Se o comando anterior não gerar nenhum erro, o comando exibirá $truee $false caso contrário.
Você pode usar essa função em instruções condicionais, como aquelas que podem preceder um comando Import-Module ou um comando que usa o módulo.
Parâmetros
-Path
Especifica um caminho e um nome de arquivo para o arquivo de manifesto. Insira um caminho opcional e o nome do arquivo de manifesto do módulo que tem a extensão de nome de arquivo .psd1. O local padrão é o diretório atual. Caracteres curinga têm suporte, mas devem ser resolvidos para um único arquivo de manifesto de módulo.
Este parâmetro é obrigatório. Você também pode redirecionar um caminho para Test-ModuleManifest.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | True |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
String
Você pode direcionar o caminho de um manifesto de módulo para este cmdlet.
Saídas
PSModuleInfo
Esse cmdlet retorna um objeto PSModuleInfo que representa o módulo. Ele retorna esse objeto mesmo se o manifesto tiver erros.