Confirma que um arquivo de manifesto do módulo descreve com precisão o conteúdo de um módulo.
Sintaxe
Test-ModuleManifest [-Path] <string> [<CommonParameters>]
Descrição
O cmdlet Test-ModuleManifest verifica se os arquivos que são listados no arquivo de manifesto do módulo (.psd1) de fato existem nos caminhos especificados.
Esse cmdlet foi criado para ajudar os autores de módulo a testarem seus arquivos de manifesto. Os usuários de módulos também podem usar esse cmdlet em scripts e comandos para detectar erros antes de executar scripts que dependem do módulo.
O cmdlet Test-ModuleManifest retorna um objeto que representa o módulo (o mesmo tipo de objeto que Get-Module retorna). Se algum arquivo não estiver nos locais especificados no manifesto, o cmdlet também gerará um erro para cada arquivo perdido.
Parâmetros
-Path <string>
Especifica o caminho do arquivo de manifesto do módulo. Insira um caminho (opcional) e o nome do arquivo de manifesto do módulo com a extensão de nome de arquivo .psd1. O local padrão é o diretório atual. Esse parâmetro é obrigatório. O nome do parâmetro ("Path") é opcional. Também é possível canalizar um caminho para Test-ModuleManifest.
Necessário? |
true |
Posição? |
1 |
Valor padrão |
nenhum |
Aceitar entrada do pipeline? |
true (ByValue, ByPropertyName) |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
System.String Você pode enviar por pipe o caminho de um manifesto de módulo para Test-ModuleManifest. |
Saídas |
System.Management.Automation.PSModuleInfo Test-ModuleManifest retorna um objeto PSModuleInfo que representa o módulo. Ele retorna esse objeto mesmo que o manifesto tenha erros. |
Exemplo 1
C:\PS>test-ModuleManifest -path $pshome\Modules\TestModule.psd1 Descrição ----------- Esse comando testa o manifesto de módulo TestModule.psd1.
Exemplo 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 : {} Descrição ----------- 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
C:\PS>function Bool-ModuleManifest ($path) {$a = dir $path | test-modulemanifest -erroraction SilentlyContinue; $?} Descrição ----------- Essa função é semelhante a Test-ModuleManifest, mas retorna um valor booleano; retornará "True" se o manifesto tiver passado no teste e "False" se não tiver passado. Essa função usa o cmdlet Get-ChildItem (alias = dir) para obter o manifesto do módulo especificado pela variável $path. Ele usa um operador de pipeline (|) para passar o objeto de arquivo para o cmdlet Test-ModuleManifest. O comando Test-ModuleManifest usa o parâmetro comum ErrorAction com um valor igual a SilentlyContinue para suprimir a exibição de qualquer erro gerado pelo comando. Ele também salva o objeto PSModuleInfo que Test-ModuleManifest retorna na variável $a, para que o objeto não seja exibido. Em seguida, em um comando separado (o ponto-e-vírgula [;] é o separador de comandos), ele exibe o valor da variável automática $?, que retorna "True" se o comando anterior não tiver gerado erros e "False", caso contrário. Você pode usar essa função em instruções condicionais, como as que podem preceder um comando Import-Module ou um comando que usa o módulo.
See Also