Compartir a través de


New-ModuleManifest

Crea un nuevo manifiesto de módulo.

Sintaxis

New-ModuleManifest
   [-Path] <String>
   [-NestedModules <Object[]>]
   [-Guid <Guid>]
   [-Author <String>]
   [-CompanyName <String>]
   [-Copyright <String>]
   [-RootModule <String>]
   [-ModuleVersion <Version>]
   [-Description <String>]
   [-ProcessorArchitecture <ProcessorArchitecture>]
   [-PowerShellVersion <Version>]
   [-CLRVersion <Version>]
   [-DotNetFrameworkVersion <Version>]
   [-PowerShellHostName <String>]
   [-PowerShellHostVersion <Version>]
   [-RequiredModules <Object[]>]
   [-TypesToProcess <String[]>]
   [-FormatsToProcess <String[]>]
   [-ScriptsToProcess <String[]>]
   [-RequiredAssemblies <String[]>]
   [-FileList <String[]>]
   [-ModuleList <Object[]>]
   [-FunctionsToExport <String[]>]
   [-AliasesToExport <String[]>]
   [-VariablesToExport <String[]>]
   [-CmdletsToExport <String[]>]
   [-DscResourcesToExport <String[]>]
   [-CompatiblePSEditions <String[]>]
   [-PrivateData <Object>]
   [-Tags <String[]>]
   [-ProjectUri <Uri>]
   [-LicenseUri <Uri>]
   [-IconUri <Uri>]
   [-ReleaseNotes <String>]
   [-Prerelease <String>]
   [-RequireLicenseAcceptance]
   [-ExternalModuleDependencies <String[]>]
   [-HelpInfoUri <String>]
   [-PassThru]
   [-DefaultCommandPrefix <String>]
   [-WhatIf]
   [-Confirm] 
   [<CommonParameters>]

Description

El cmdlet New-ModuleManifest crea un nuevo archivo de manifiesto de módulo (.psd1), rellena sus valores y guarda el archivo de manifiesto en la ruta de acceso especificada.

Los autores de módulos pueden usar este cmdlet para crear un manifiesto para su módulo. Un manifiesto de módulo es un archivo .psd1 que contiene una tabla hash. Las claves y los valores de la tabla hash describen el contenido y los atributos del módulo, definen los requisitos previos y determinan cómo se procesan los componentes. Los manifiestos no son necesarios para un módulo.

New-ModuleManifest crea un manifiesto que incluye todas las claves de manifiesto usadas habitualmente, por lo que puede usar la salida predeterminada como plantilla de manifiesto. Para agregar o cambiar valores, o para agregar claves de módulo que este cmdlet no agrega, abra el archivo resultante en un editor de texto.

Cada parámetro, excepto Ruta y PassThru, crea una clave de manifiesto de módulo y su valor. En un manifiesto de módulo, solo se requiere la clave ModuleVersion. A menos que se especifique en la descripción del parámetro, si omite un parámetro del comando, New-ModuleManifest crea una cadena de comentario para el valor asociado que no tiene ningún efecto.

En PowerShell 2.0, New-ModuleManifest le pide los valores de parámetros usados habitualmente que no se especifican en el comando, además de los valores de parámetro necesarios. A partir de PowerShell 3.0, New-ModuleManifest solicita solo cuando no se especifican los valores de parámetro necesarios.

Si planea publicar el módulo en la Galería de PowerShell, el manifiesto debe contener valores para determinadas propiedades. Para obtener más información, consulte Metadatos necesarios para los elementos publicados en la Galería de PowerShell en la documentación de la Galería.

Ejemplos

Ejemplo 1: Creación de un nuevo manifiesto de módulo

En este ejemplo se crea un nuevo manifiesto de módulo en el archivo especificado por el parámetro Path. El parámetro PassThru envía la salida a la canalización y al archivo.

La salida muestra los valores predeterminados de todas las claves del manifiesto.

New-ModuleManifest -Path C:\ps-test\Test-Module\Test-Module.psd1 -PassThru

#
# Module manifest for module 'Test-Module'
#
# Generated by: ContosoAdmin
#
# Generated on: 7/12/2019
#

@{

# Script module or binary module file associated with this manifest.
# RootModule = ''

# Version number of this module.
ModuleVersion = '0.0.1'

# Supported PSEditions
# CompatiblePSEditions = @()

# ID used to uniquely identify this module
GUID = 'e1826c6e-c420-4eef-9ac8-185e3669ca6a'

# Author of this module
Author = 'ContosoAdmin'

# Company or vendor of this module
CompanyName = 'Unknown'

# Copyright statement for this module
Copyright = '(c) ContosoAdmin. All rights reserved.'

# Description of the functionality provided by this module
# Description = ''

# Minimum version of the PowerShell engine required by this module
# PowerShellVersion = ''

# Name of the PowerShell host required by this module
# PowerShellHostName = ''

# Minimum version of the PowerShell host required by this module
# PowerShellHostVersion = ''

# Minimum version of Microsoft .NET Framework required by this module. This prerequisite
# is valid for the PowerShell Desktop edition only.
# DotNetFrameworkVersion = ''

# Minimum version of the common language runtime (CLR) required by this module. This
# prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''

# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''

# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()

# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()

# Script files (.ps1) that are run in the caller's environment prior to importing this
# module.
# ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()

# Functions to export from this module, for best performance, do not use wildcards and do
# not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @()

# Cmdlets to export from this module, for best performance, do not use wildcards and do
# not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = @()

# Variables to export from this module
VariablesToExport = '*'

# Aliases to export from this module, for best performance, do not use wildcards and do
# not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = @()

# DSC resources to export from this module
# DscResourcesToExport = @()

# List of all modules packaged with this module
# ModuleList = @()

# List of all files packaged with this module
# FileList = @()

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may
also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        # Tags = @()

        # A URL to the license for this module.
        # LicenseUri = ''

        # A URL to the main website for this project.
        # ProjectUri = ''

        # A URL to an icon representing this module.
        # IconUri = ''

        # ReleaseNotes of this module
        # ReleaseNotes = ''

        # Prerelease string of this module
        # Prerelease = ''

        # Flag to indicate whether the module requires explicit user acceptance for install/update/save
        # RequireLicenseAcceptance = $false

        # External dependent modules of this module
        # ExternalModuleDependencies = @()

    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
# HelpInfoURI = ''

# Default prefix for commands exported from this module. Override the default prefix
# using Import-Module -Prefix.
# DefaultCommandPrefix = ''

}

Ejemplo 2: Creación de un nuevo manifiesto con algunos valores rellenados previamente

En este ejemplo se crea un nuevo manifiesto de módulo. Usa los parámetros PowerShellVersion y AliasesToExport para agregar valores a las claves de manifiesto correspondientes.

$moduleSettings = @{
    PowerShellVersion = 1.0
    Path   = 'C:\ps-test\ManifestTest.psd1'
    AliasesToExport   = @(
      'JKBC'
      'DRC'
      'TAC'
    )
}
New-ModuleManifest @moduleSettings

Ejemplo 3: Creación de un manifiesto que requiere otros módulos

En este ejemplo se usa un formato de cadena para especificar el nombre del módulo BitsTransfer y el formato de tabla hash para especificar el nombre, un GUIDy una versión del módulo PSScheduledJob.

$moduleSettings = @{
  RequiredModules = ("BitsTransfer", @{
    ModuleName="PSScheduledJob"
    ModuleVersion="1.0.0.0";
    GUID="50cdb55f-5ab7-489f-9e94-4ec21ff51e59"
  })
  Path = 'C:\ps-test\ManifestTest.psd1'
}
New-ModuleManifest @moduleSettings

En este ejemplo se muestra cómo usar los formatos de cadena y de tabla hash de los parámetros ModuleList, RequiredModulesy NestedModules. Puede combinar cadenas y tablas hash en el mismo valor de parámetro.

Ejemplo 4: Crear un manifiesto que admita ayuda actualizable

En este ejemplo se usa el parámetro HelpInfoUri para crear una clave de HelpInfoUri en el manifiesto del módulo. El valor del parámetro y la clave deben comenzar con http o https. Este valor indica al sistema de ayuda actualizable dónde encontrar el archivo de información de ayuda actualizable de HelpInfo XML para el módulo.

$moduleSettings = @{
  HelpInfoUri = 'http://https://go.microsoft.com/fwlink/?LinkID=603'
  Path = 'C:\ps-test\ManifestTest.psd1'
}
New-ModuleManifest @moduleSettings

Para obtener información sobre la Ayuda actualizable, consulte about_Updatable_Help. Para obtener información sobre el archivo XML HelpInfo, consulte Soporte de ayuda actualizable.

Ejemplo 5: Obtención de información del módulo

En este ejemplo se muestra cómo obtener los valores de configuración de un módulo. Los valores del manifiesto del módulo se reflejan en los valores de las propiedades del objeto module.

El cmdlet Get-Module se utiliza para obtener el módulo Microsoft.PowerShell.Diagnostics mediante el parámetro Lista. El comando envía el módulo al cmdlet Format-List para mostrar todas las propiedades y valores del objeto module.

Get-Module Microsoft.PowerShell.Diagnostics -List | Format-List -Property *

LogPipelineExecutionDetails : False
Name                        : Microsoft.PowerShell.Diagnostics
Path                        : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Diagnostics\Micro
                              soft.PowerShell.Diagnostics.psd1
Definition                  :
Description                 :
Guid                        : ca046f10-ca64-4740-8ff9-2565dba61a4f
HelpInfoUri                 : https://go.microsoft.com/fwlink/?LinkID=210596
ModuleBase                  : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Diagnostics
PrivateData                 :
Version                     : 3.0.0.0
ModuleType                  : Manifest
Author                      : Microsoft Corporation
AccessMode                  : ReadWrite
ClrVersion                  : 4.0
CompanyName                 : Microsoft Corporation
Copyright                   : Microsoft Corporation. All rights reserved.
DotNetFrameworkVersion      :
ExportedFunctions           : {}
ExportedCmdlets             : {[Get-WinEvent, Get-WinEvent], [Get-Counter, Get-Counter], [Import-Counter,
                              Import-Counter], [Export-Counter, Export-Counter]...}
ExportedCommands            : {[Get-WinEvent, Get-WinEvent], [Get-Counter, Get-Counter], [Import-Counter,
                              Import-Counter], [Export-Counter, Export-Counter]...}
FileList                    : {}
ModuleList                  : {}
NestedModules               : {}
PowerShellHostName          :
PowerShellHostVersion       :
PowerShellVersion           : 3.0
ProcessorArchitecture       : None
Scripts                     : {}
RequiredAssemblies          : {}
RequiredModules             : {}
RootModule                  :
ExportedVariables           : {}
ExportedAliases             : {}
ExportedWorkflows           : {}
SessionState                :
OnRemove                    :
ExportedFormatFiles         : {C:\Windows\system32\WindowsPowerShell\v1.0\Event.format.ps1xml,
                              C:\Windows\system32\WindowsPowerShell\v1.0\Diagnostics.format.ps1xml}
ExportedTypeFiles           : {C:\Windows\system32\WindowsPowerShell\v1.0\GetEvent.types.ps1xml}

Parámetros

-AliasesToExport

Especifica los alias que exporta el módulo. Se permiten los caracteres comodín.

Puede usar este parámetro para restringir los alias exportados por el módulo. Puede quitar alias de la lista de alias exportados, pero no puede agregar alias a la lista.

Si omite este parámetro, New-ModuleManifest crea una clave AliasesToExport con un valor de * (todo), lo que significa que el manifiesto exporta todos los alias definidos en el módulo.

Tipo:String[]
Posición:Named
Valor predeterminado:* (all)
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-Author

Especifica el autor del módulo.

Si omite este parámetro, New-ModuleManifest crea una clave Author con el nombre del usuario actual.

Tipo:String
Posición:Named
Valor predeterminado:Name of the current user
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ClrVersion

Especifica la versión mínima de Common Language Runtime (CLR) de Microsoft .NET Framework que requiere el módulo.

Nota

Esta configuración solo es válida para la edición de PowerShell Desktop, como Windows PowerShell 5.1, y solo se aplica a versiones de .NET Framework inferiores a la 4.5. Este requisito no tiene ningún efecto para las versiones más recientes de PowerShell o .NET Framework.

Tipo:Version
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-CmdletsToExport

Especifica los cmdlets que exporta el módulo. Se permiten los caracteres comodín.

Puede usar este parámetro para restringir los cmdlets exportados por el módulo. Puede quitar cmdlets de la lista de cmdlets exportados, pero no puede agregar cmdlets a esa lista.

Si omite este parámetro, New-ModuleManifest crea una clave CmdletsToExport con un valor de * (todo), lo que significa que el manifiesto exporta todos los cmdlets definidos en el módulo.

Tipo:String[]
Posición:Named
Valor predeterminado:* (all)
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-CompanyName

Identifica la empresa o el proveedor que creó el módulo.

Si omite este parámetro, New-ModuleManifest crea una clave CompanyName con un valor de "Unknown".

Tipo:String
Posición:Named
Valor predeterminado:"Unknown"
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-CompatiblePSEditions

Especifica las ediciones de PS compatibles con el módulo. Para obtener información sobre PSEdition, consulte Módulos con ediciones de PowerShell compatibles.

Tipo:String[]
Valores aceptados:Desktop, Core
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Especifica una declaración de copyright para el módulo.

Si omite este parámetro, New-ModuleManifest crea una clave Copyright con un valor de (c) <year> <username>. All rights reserved. donde <year> es el año actual y <username> es el valor de la clave Author.

Tipo:String
Posición:Named
Valor predeterminado:(c) <year> <username>. All rights reserved.
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DefaultCommandPrefix

Especifica un prefijo que se antepone a los nombres de todos los comandos del módulo cuando se importan en una sesión. Escriba una cadena de prefijo. Los prefijos impiden conflictos de nombres de comando en la sesión de un usuario.

Los usuarios del módulo pueden invalidar este prefijo especificando el parámetro Prefijo del cmdlet Import-Module.

Este parámetro se introdujo en PowerShell 3.0.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Description

Describe el contenido del módulo.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DotNetFrameworkVersion

Especifica la versión mínima de Microsoft .NET Framework que requiere el módulo.

Nota

Esta configuración solo es válida para la edición de PowerShell Desktop, como Windows PowerShell 5.1, y solo se aplica a versiones de .NET Framework inferiores a la 4.5. Este requisito no tiene ningún efecto para las versiones más recientes de PowerShell o .NET Framework.

Tipo:Version
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DscResourcesToExport

Especifica los recursos de Desired State Configuration (DSC) que exporta el módulo. Se permiten los caracteres comodín.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-ExternalModuleDependencies

Lista de módulos externos de los que depende este módulo.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-FileList

Especifica todos los elementos que se incluyen en el módulo.

Esta clave está diseñada para actuar como un inventario de módulos. Los archivos enumerados en la clave se incluyen cuando se publica el módulo, pero las funciones no se exportan automáticamente.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-FormatsToProcess

Especifica los archivos de formato (.ps1xml) que se ejecutan cuando se importa el módulo.

Al importar un módulo, PowerShell ejecuta el cmdlet Update-FormatData con los archivos especificados. Dado que los archivos de formato no tienen ámbito, afectan a todos los estados de sesión de la sesión.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-FunctionsToExport

Especifica las funciones que exporta el módulo. Se permiten los caracteres comodín.

Puede usar este parámetro para restringir las funciones que exporta el módulo. Puede quitar funciones de la lista de alias exportados, pero no puede agregar funciones a la lista.

Si omite este parámetro, New-ModuleManifest crea una clave FunctionsToExport con un valor de * (todo), lo que significa que el manifiesto exporta todas las funciones definidas en el módulo.

Tipo:String[]
Posición:Named
Valor predeterminado:* (all)
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-Guid

Especifica un identificador único para el módulo. El GUID se puede usar para distinguir entre módulos con el mismo nombre.

Si omite este parámetro, New-ModuleManifest crea una clave GUID en el manifiesto y genera un GUID para el valor.

Para crear un nuevo GUID en PowerShell, escriba [guid]::NewGuid().

Tipo:Guid
Posición:Named
Valor predeterminado:A GUID generated for the module
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-HelpInfoUri

Especifica la dirección de Internet del archivo XML HelpInfo para el módulo. Escriba un identificador uniforme de recursos (URI) que comience por http o https.

El archivo XML HelpInfo admite la característica ayuda actualizable que se introdujo en PowerShell 3.0. Contiene información sobre la ubicación de los archivos de ayuda descargables para el módulo y los números de versión de los archivos de ayuda más recientes para cada configuración regional compatible.

Para obtener información sobre la Ayuda actualizable, consulte about_Updatable_Help. Para obtener información sobre el archivo XML HelpInfo, consulte Soporte de ayuda actualizable.

Este parámetro se introdujo en PowerShell 3.0.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-IconUri

Especifica la dirección URL de un icono para el módulo. El icono especificado se muestra en la página web de la galería del módulo.

Tipo:Uri
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-LicenseUri

Especifica la dirección URL de los términos de licencia del módulo.

Tipo:Uri
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ModuleList

Enumera todos los módulos que se incluyen en este módulo.

Escriba cada nombre de módulo como una cadena o como una tabla hash con las claves ModuleName y ModuleVersion. La tabla hash también puede tener una clave opcional GUID . Puede combinar cadenas y tablas hash en el valor del parámetro.

Esta clave está diseñada para actuar como un inventario de módulos. Los módulos que aparecen en el valor de esta clave no se procesan automáticamente.

Tipo:Object[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ModuleVersion

Especifica la versión del módulo.

Este parámetro no es necesario, pero se requiere una clave ModuleVersion en el manifiesto. Si omite este parámetro, New-ModuleManifest crea una clave ModuleVersion con un valor de 1.0.

Tipo:Version
Posición:Named
Valor predeterminado:1.0
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-NestedModules

Especifica los módulos de script (.psm1) y los módulos binarios (.dll) que se importan en el estado de sesión del módulo. Los archivos en la clave NestedModules se ejecutan en el orden en que están enumerados en el valor.

Escriba cada nombre de módulo como una cadena o como una tabla hash con las claves ModuleName y ModuleVersion. La tabla hash también puede tener una clave opcional GUID. Puede combinar cadenas y tablas hash en el valor del parámetro.

Normalmente, los módulos anidados contienen comandos que el módulo raíz necesita para su procesamiento interno. De forma predeterminada, los comandos de los módulos anidados se exportan desde el estado de sesión del módulo al estado de sesión del autor de la llamada, pero el módulo raíz puede restringir los comandos que exporta. Por ejemplo, mediante un comando Export-ModuleMember.

Los módulos anidados en el estado de sesión del módulo están disponibles para el módulo raíz, pero no son devueltos por un comando Get-Module en el estado de sesión de la persona que llama.

Los scripts (.ps1) que se enumeran en la clave NestedModules se ejecutan en el estado de sesión del módulo, no en el estado de sesión de la persona que llama. Para ejecutar un script en el estado de sesión del llamante, enumere el nombre del archivo de script en el valor de la clave ScriptsToProcess en el manifiesto.

Tipo:Object[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PassThru

Escribe el manifiesto del módulo resultante en la consola y crea un archivo .psd1. De forma predeterminada, este cmdlet no genera ninguna salida.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Path

Especifica la ruta de acceso y el nombre de archivo del nuevo manifiesto del módulo. Introduzca una ruta y un nombre de archivo con una extensión de nombre de archivo .psd1, como $pshome\Modules\MyModule\MyModule.psd1. Se requiere el parámetro de ruta .

Si especifica la ruta de acceso a un archivo existente, New-ModuleManifest reemplaza el archivo sin advertencia a menos que el archivo tenga el atributo de solo lectura.

El manifiesto debe encontrarse en el directorio del módulo y el nombre de archivo del manifiesto debe ser el mismo que el nombre del directorio del módulo, pero con una extensión de nombre de archivo .psd1.

Nota

No se pueden usar variables, como $PSHOME o $HOME, en respuesta a una solicitud de un valor de parámetro Path. Para usar una variable, incluya el parámetro Path en el comando .

Tipo:String
Posición:1
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PowerShellHostName

Especifica el nombre del programa host de PowerShell que requiere el módulo. Escriba el nombre del programa host, como Windows PowerShell ISE Host o ConsoleHost. No se permiten comodines.

Para buscar el nombre de un programa host, en el programa, escriba $Host.Name.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PowerShellHostVersion

Especifica la versión mínima del programa host de PowerShell que funciona con el módulo. Escriba un número de versión, como 1.1.

Tipo:Version
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PowerShellVersion

Especifica la versión mínima de PowerShell que funciona con este módulo. Por ejemplo, puede escribir 1.0, 2.0 o 3.0 como valor del parámetro. Debe estar en formato X.X. Por ejemplo, si envía 5, PowerShell producirá un error.

Tipo:Version
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Prerelease

Cadena de prerelease de este módulo. Agregar una cadena de versión preliminar identifica el módulo como una versión preliminar. Cuando el módulo se publica en la Galería de PowerShell, estos datos se usan para identificar los paquetes de versión preliminar. Para adquirir paquetes de versiones preliminares de la Galería, debe utilizar el parámetro AllowPrerelease con los comandos PowerShellGet Find-Module, Install-Module, Update-Module y Save-Module.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PrivateData

Especifica los datos que se pasan al módulo cuando se importan.

Tipo:Object
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ProcessorArchitecture

Especifica la arquitectura del procesador que requiere el módulo. Los valores válidos son x86, AMD64, IA64, MSIL y None (desconocidos o no especificados).

Tipo:ProcessorArchitecture
Valores aceptados:None, MSIL, X86, IA64, Amd64, Arm
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ProjectUri

Especifica la dirección URL de una página web sobre este proyecto.

Tipo:Uri
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ReleaseNotes

Especifica las notas de la versión.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-RequiredAssemblies

Especifica los archivos de ensamblado (.dll) que requiere el módulo. Escriba los nombres de archivo de ensamblado. PowerShell carga los ensamblados especificados antes de actualizar tipos o formatos, importar módulos anidados o importar el archivo de módulo especificado en el valor de la clave RootModule.

Use este parámetro para enumerar todos los ensamblados que requiere el módulo, incluidos los ensamblados que se deben cargar para actualizar cualquier formato o archivo de tipo que aparezca en la FormatsToProcess o TypesToProcess claves, incluso si esos ensamblados también se enumeran como módulos binarios en la clave NestedModules.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-RequiredModules

Especifica los módulos que deben estar en el estado de sesión global. Si los módulos necesarios no están en el estado de sesión global, PowerShell los importa. Si los módulos necesarios no están disponibles, se produce un error en el comando Import-Module.

Escriba cada nombre de módulo como una cadena o como una tabla hash con las claves ModuleName y ModuleVersion. La tabla hash también puede tener una clave opcional GUID. Puede combinar cadenas y tablas hash en el valor del parámetro.

En PowerShell 2.0, Import-Module no importa automáticamente los módulos necesarios. Solo comprueba que los módulos necesarios están en estado de sesión global.

Tipo:Object[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-RequireLicenseAcceptance

Marca para indicar si el módulo requiere la aceptación explícita del usuario para instalar, actualizar o guardar.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-RootModule

Especifica el archivo principal o raíz del módulo. Escriba el nombre de archivo de un script (.ps1), un módulo de script (.psm1), un manifiesto de módulo(.psd1), un ensamblado (.dll), un archivo XML de definición de cmdlet (.cdxml) o un flujo de trabajo (.xaml). Cuando se importa el módulo, los miembros que se exportan desde el archivo de módulo raíz se importan en el estado de sesión del llamador.

Si un módulo tiene un archivo de manifiesto y no se designó ningún archivo raíz en la clave de RootModule, el manifiesto se convierte en el archivo principal del módulo y el módulo se convierte en un módulo de manifiesto (ModuleType = Manifest).

Para exportar miembros de archivos de .psm1 o .dll en un módulo que tiene un manifiesto, los nombres de esos archivos deben especificarse en los valores de las claves RootModule o NestedModules en el manifiesto. De lo contrario, sus miembros no se exportan.

Nota

En PowerShell 2.0, esta clave se llamó ModuleToProcess. Puede usar el nombre del parámetro RootModule o su alias ModuleToProcess.

Tipo:String
Alias:ModuleToProcess
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ScriptsToProcess

Especifica los archivos de script (.ps1) que se ejecutan en el estado de sesión del autor de la llamada cuando se importa el módulo. Puede usar estos scripts para preparar un entorno, al igual que puede usar un script de inicio de sesión.

Para especificar scripts que se ejecutan en el estado de sesión del módulo, use la clave NestedModules.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Tags

Especifica una matriz de etiquetas.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-TypesToProcess

Especifica los archivos de tipo (.ps1xml) que se ejecutan cuando se importa el módulo.

Al importar el módulo, PowerShell ejecuta el cmdlet Update-TypeData con los archivos especificados. Dado que los archivos de tipos no tienen ámbito, afectan a todos los estados de sesión de la sesión.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-VariablesToExport

Especifica las variables que exporta el módulo. Se permiten los caracteres comodín.

Puede usar este parámetro para restringir las variables que exporta el módulo. Puede quitar variables de la lista de variables exportadas, pero no puede agregar variables a la lista.

Si omite este parámetro, New-ModuleManifest crea una clave VariablesToExport con un valor de * (todo), lo que significa que el manifiesto exporta todas las variables definidas en el módulo.

Tipo:String[]
Posición:Named
Valor predeterminado:* (all)
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-WhatIf

Muestra lo que ocurriría si se ejecuta New-ModuleManifest. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

None

De forma predeterminada, este cmdlet no devuelve ninguna salida.

String

Cuando se usa el parámetro passThru, este cmdlet devuelve una cadena que representa el manifiesto del módulo.

Notas

New-ModuleManifest que se ejecuta en plataformas Windows y no Windows crea archivos de manifiesto de módulo (.psd1) codificados como UTF8NoBOM.

Los manifiestos de módulo suelen ser opcionales. Sin embargo, se requiere un manifiesto de módulo para exportar un ensamblado instalado en la caché global de ensamblados.

Para agregar o cambiar archivos en el directorio $pshome\Modules, inicie PowerShell con la opción Ejecutar como administrador.

Nota

A partir de PowerShell 6.2, PowerShell intenta cargar todos los archivos DLL enumerados en FileList propiedad del manifiesto del módulo. Los archivos DLL nativos en el FileList no se cargan en el proceso y el error se omite. Todos los archivos DLL administrados se cargan en el proceso. Este comportamiento se quitó en PowerShell 7.1.

En PowerShell 2.0, muchos parámetros de New-ModuleManifest eran obligatorios, aunque no eran necesarios en un manifiesto de módulo. A partir de PowerShell 3.0, solo es obligatorio el parámetro Path.

Una sesión es una instancia del entorno de ejecución de PowerShell. Una sesión puede tener uno o varios estados de sesión. De forma predeterminada, una sesión solo tiene un estado de sesión global, pero cada módulo importado tiene su propio estado de sesión. Los estados de sesión permiten que los comandos de un módulo se ejecuten sin afectar al estado de sesión global.

El estado de sesión del autor de la llamada es el estado de sesión en el que se importa un módulo. Normalmente, hace referencia al estado de sesión global, pero cuando un módulo importa módulos anidados, el autor de la llamada es el módulo y el estado de sesión del autor de la llamada es el estado de sesión del módulo.