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




Sumário