Comprueba que un archivo de manifiesto de módulo describa con exactitud el contenido de un módulo.

Sintaxis

Test-ModuleManifest [-Path] <string> [<CommonParameters>]

Descripción

El cmdlet Test-ModuleManifest comprueba que los archivos enumerados en el archivo de manifiesto de módulo (.psd1) existan en las rutas de acceso especificadas.

Este cmdlet está diseñado para ayudar a los autores de módulos a probar sus archivos de manifiesto. Los usuarios de módulos pueden utilizar también este cmdlet en scripts y comandos para detectar errores antes de ejecutar scripts que dependen del módulo.

El cmdlet Test-ModuleManifest devuelve un objeto que representa el módulo (el mismo tipo de objeto que Get-Module devuelve). Si hay archivos que no se encuentran en las ubicaciones especificadas en el manifiesto, el cmdlet también genera un error por cada uno de los archivos que faltan.

Parámetros

-Path <string>

Especifica la ruta de acceso al archivo de manifiesto de módulo. Debe especificarse una ruta de acceso (opcional) y el nombre del archivo de manifiesto de módulo con la extensión .psd1. La ubicación predeterminada es el directorio actual. Este parámetro es obligatorio. El nombre del parámetro ("Path") es opcional. También se puede canalizar una ruta de acceso a Test-ModuleManifest.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

ninguno

¿Aceptar canalización?

true (ByValue, ByPropertyName)

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

System.String

La ruta de acceso a un manifiesto de módulo se puede canalizar a Test-ModuleManifest.

Salidas

System.Management.Automation.PSModuleInfo

Test-ModuleManifest devuelve un objeto PSModuleInfo que representa el módulo. Devuelve este objeto aunque el manifiesto tenga errores.

Ejemplo 1

C:\PS>test-ModuleManifest -path $pshome\Modules\TestModule.psd1

Descripción
-----------
Este comando prueba el manifiesto de módulo TestModule.psd1.






Ejemplo 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     : {}

Descripción
-----------
Este comando utiliza un operador de canalización (|) para enviar una cadena de ruta de acceso a Test-ModuleManifest. 

En el resultado del comando se muestra que la prueba no se superó porque no se encontró el archivo TestTypes.ps1xml enumerado en el manifiesto.






Ejemplo 3

C:\PS>function Bool-ModuleManifest ($path)
    {$a = dir $path | test-modulemanifest -erroraction SilentlyContinue; $?}

Descripción
-----------
Esta función es como Test-ModuleManifest, pero devuelve un valor booleano: "True" si el manifiesto superó la prueba y "False" en caso contrario.

La función utiliza el cmdlet Get-ChildItem (alias = dir) para obtener el manifiesto de módulo especificado por la variable $path. Utiliza un operador de canalización (|) para pasar el objeto de archivo al cmdlet Test-ModuleManifest.

El comando Test-ModuleManifest utiliza el parámetro común ErrorAction con el valor SilentlyContinue para suprimir la presentación de los errores generados por el comando. También guarda el objeto PSModuleInfo que Test-ModuleManifest devuelve en la variable $a, por lo que no se muestra el objeto. 

A continuación, en un comando independiente (con el signo de punto y coma [;] como separador de comandos), muestra el valor de la variable automática $?, que devuelve "True" si el comando anterior no generó un error y "False" en caso contrario.

Esta función se puede utilizar en instrucciones condicionales, como las que pueden preceder a un comando Import-Module o a un comando que utiliza el módulo.






Vea también




Tabla de contenido