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 |
-Copyright
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-Module
de PowerShellGet , 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 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.
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.