Compartir a través de


New-ModuleManifest

Crea un 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 New-ModuleManifest cmdlet 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 a fin de crear un manifiesto para su módulo. Un manifiesto de módulo es un .psd1 archivo 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 path 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 los 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 solo se solicita cuando no se especifican los valores de parámetro necesarios.

Si planea publicar el módulo en el 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 el 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 .

El resultado 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 GUID y 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 tabla hash del parámetro ModuleList, RequiredModules y NestedModules . Las cadenas y las tablas hash se pueden combinar 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 HelpInfoUri en el manifiesto del módulo. El valor del parámetro y la clave deben comenzar con http o https. Este valor le indica al sistema de ayuda actualizable dónde puede encontrar el archivo de información de ayuda actualizable XML HelpInfo 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, vea Compatibilidad con la 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 Get-Module cmdlet se usa para obtener el módulo Microsoft.PowerShell.Diagnostics mediante el parámetro List . El comando envía el módulo al Format-List cmdlet 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 utilizar este parámetro para restringir los alias que exporta 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 * (all), 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 utilizar este parámetro para restringir los cmdlets que exporta el módulo. Puede quitar cmdlets de la lista de cmdlets exportados, pero no puede agregar cmdlets a la lista.

Si omite este parámetro, New-ModuleManifest crea una clave CmdletsToExport con un valor de * (all), 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 a la compañía o al 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 PSEditions compatibles del 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 solicita su 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 instrucción de copyright para el módulo.

Si omite este parámetro, crea una clave de 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. New-ModuleManifest

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 evitan conflictos de nombres de comando en una sesión de usuario.

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

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ódulo. 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 Update-FormatData cmdlet 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 utilizar 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 * (all), 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 descargable del 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, vea Compatibilidad con la 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 GUID opcional. Puede combinar las cadenas y las tablas hash en el valor del parámetro.

Esta clave está diseñada para actuar como un inventario de módulo. 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 de la clave NestedModules se ejecutan en el orden en que se muestran 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 GUID opcional. Puede combinar las cadenas y las tablas hash en el valor del parámetro.

Normalmente, los módulos anidados contienen comandos que son necesarios para el procesamiento interno del módulo de raíz. 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 Export-ModuleMember comando .

Los módulos anidados en el estado de sesión del módulo están disponibles para el módulo raíz, pero no los devuelve un Get-Module comando en el estado de sesión del autor de la llamada.

Los scripts (.ps1) que aparecen en la clave NestedModules se ejecutan en el estado de sesión del módulo, no en el estado de sesión del autor de la llamada. Para ejecutar un script en el estado de sesión del autor de la llamada, 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 .psd1 archivo. 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 del nuevo manifiesto de módulo. Escriba una ruta de acceso y un nombre de archivo con una .psd1 extensión de nombre de archivo, como $pshome\Modules\MyModule\MyModule.psd1. Se requiere el parámetro Path .

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 del archivo de manifiesto debe ser el mismo que el nombre del directorio del módulo, pero con una .psd1 extensión de nombre de archivo.

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 Host de WINDOWS PowerShell ISE o ConsoleHost. No se permiten caracteres comodín.

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 la 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 versión preliminar 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 versión preliminar de la Galería, debe usar el parámetro AllowPrerelease con los comandos Find-Modulede PowerShellGet , Install-Module, Update-Moduley 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 de 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 los archivos 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 las claves FormatsToProcess o TypesToProcess, 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 Import-Module comando.

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 GUID opcional. Puede combinar las cadenas y las tablas hash en el valor del parámetro.

En PowerShell 2.0, Import-Module no importa automáticamente los módulos necesarios. sino que simplemente comprueba que los módulos necesarios están en el 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 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 = Manifiesto).

Para exportar miembros de o .dll archivos de .psm1 un módulo que tiene un manifiesto, los nombres de esos archivos deben especificarse en los valores de las claves RootModule o NestedModules del 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, igual que podría utilizar 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 Update-TypeData cmdlet con los archivos especificados. Dado que los archivos de tipo 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 utilizar 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 * (all), 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 sucedería si New-ModuleManifest se ejecutase. 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 La ejecución en plataformas Windows y que no son de Windows crea archivos de manifiesto de módulo (.psd1) codificados como UTF8NoBOM.

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

Para agregar o cambiar archivos en el $pshome\Modules directorio, 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 la propiedad FileList del manifiesto del módulo. Los archivos DLL nativos están en FileList no se cargan en el proceso y se omite el error. 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 el parámetro Path es obligatorio.

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 alterar el 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.