Búsqueda de sitios web

Test-ModuleManifest (Microsoft.PowerShell.Core)


Test-ModuleManifest

Módulo:
Microsoft.PowerShell.Core

Verifica que un archivo de manifiesto de módulo describa con precisión el contenido de un módulo.

Sintaxis

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

Descripción

El cmdlet Test-ModuleManifest verifica que los archivos enumerados en el archivo de manifiesto del módulo (.psd1) se encuentren realmente en las rutas especificadas.

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

Test-ModuleManifest devuelve un objeto que representa el módulo. Este es el mismo tipo de objeto que devuelve Get-Module. Si algún archivo no se encuentra en las ubicaciones especificadas en el manifiesto, el cmdlet también genera un error por cada archivo faltante.

Ejemplos

Ejemplo 1: probar un manifiesto

Test-ModuleManifest -Path "$pshome\Modules\TestModule.psd1"

Este comando prueba el manifiesto del módulo TestModule.psd1.

Ejemplo 2: probar un manifiesto mediante la canalización

"$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     : {}

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

El resultado del comando muestra que la prueba falló porque no se encontró el archivo TestTypes.ps1xml, que figuraba en el manifiesto.

Ejemplo 3: escribir una función para probar el manifiesto de un módulo

function Test-ManifestBool ($path)

{$a = dir $path | Test-ModuleManifest -ErrorAction SilentlyContinue; $?}

Esta función es como Test-ModuleManifest, pero devuelve un valor booleano. La función devuelve $True si el manifiesto pasó la prueba y $False en caso contrario.

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

Test-ModuleManifest utiliza el parámetro común ErrorAction con un valor de SilentlyContinue para suprimir la visualización de cualquier error que genere el comando. También guarda el objeto PSModuleInfo que Test-ModuleManifest devuelve en la variable $a. Por tanto, el objeto no se muestra.

Luego, en un comando separado, la función muestra el valor de la variable automática $?. Si el comando anterior no genera ningún error, el comando muestra $True y $False en caso contrario.

Puede utilizar esta función en declaraciones condicionales, como aquellas que pueden preceder a un comando Import-Module o un comando que utiliza el módulo.

Parámetros

-Path

Especifica una ruta y un nombre de archivo para el archivo de manifiesto. Introduzca una ruta opcional y un nombre del archivo de manifiesto del módulo que tiene la extensión de nombre de archivo .psd1. La ubicación predeterminada es el directorio actual. Se admiten caracteres comodín, pero deben resolverse en un único archivo de manifiesto de módulo. Este parámetro es obligatorio. También puede canalizar una ruta a Test-ModuleManifest.

Tipo :

String

Posición:

0

Valor predeterminado:

None

Requerido:

True

Aceptar entrada de canalización:

True

Aceptar caracteres comodín:

True

Entradas

Cadena

Puede canalizar la ruta a un manifiesto de módulo a este cmdlet.

Salidas

PSModuleInfo

Este cmdlet devuelve un objeto PSModuleInfo que representa el módulo. Devuelve este objeto incluso si el manifiesto tiene errores.

Artículos relacionados