Compartilhar via


New-ModuleManifest

Cria um novo manifesto do módulo.

Sintaxe

All

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

O cmdlet New-ModuleManifest cria um novo arquivo de manifesto do módulo (.psd1), preenche seus valores e salva o arquivo de manifesto no caminho especificado.

Os autores do módulo podem usar esse cmdlet para criar um manifesto para o módulo. Um manifesto de módulo é um arquivo .psd1 que contém uma tabela de hash. As chaves e os valores na tabela de hash descrevem o conteúdo e os atributos do módulo, definem os pré-requisitos e determinam como os componentes são processados. Manifestos não são necessários para um módulo.

New-ModuleManifest cria um manifesto que inclui todas as chaves de manifesto comumente usadas, para que você possa usar a saída padrão como um modelo de manifesto. Para adicionar ou alterar valores ou adicionar chaves de módulo que esse cmdlet não adiciona, abra o arquivo resultante em um editor de texto.

Cada parâmetro, com exceção de Path e PassThru, cria uma chave de manifesto do módulo e seu respectivo valor. Em um manifesto de módulo, somente a chave ModuleVersion é necessária. A menos que especificado na descrição do parâmetro, se você omitir um parâmetro do comando, New-ModuleManifest criará uma cadeia de caracteres de comentário para o valor associado que não tem efeito.

No PowerShell 2.0, New-ModuleManifest solicita os valores de parâmetros comumente usados que não são especificados no comando, além dos valores de parâmetro necessários. A partir do PowerShell 3.0, New-ModuleManifest solicita somente quando os valores de parâmetro necessários não são especificados.

Se você estiver planejando publicar seu módulo na Galeria do PowerShell, o manifesto deverá conter valores para determinadas propriedades. Para obter mais informações, consulte Metadados necessários para itens publicados na PowerShell Gallery na documentação da Galeria.

Exemplos

Exemplo 1 – criar um manifesto de módulo

Este exemplo cria um novo manifesto de módulo no arquivo especificado pelo parâmetro Path. O parâmetro PassThru envia a saída para o pipeline e para o arquivo.

A saída mostra os valores padrão de todas as chaves no manifesto.

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 = ''

}

Exemplo 2 – Criar um novo manifesto com algumas configurações pré-preenchidas

Este exemplo cria um novo manifesto de módulo. Ele usa os parâmetros PowerShellVersion e AliasesToExport para adicionar valores às chaves de manifesto correspondentes.

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

Exemplo 3 – Criar um manifesto que exija outros módulos

Este exemplo usa um formato de cadeia de caracteres para especificar o nome do módulo BitsTransfer e o formato Hashtable para especificar o nome, um GUID e uma versão do 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

Este exemplo mostra como usar os formatos de cadeia de caracteres e de tabela de hash do parâmetro ModuleList, RequiredModulese NestedModules. Você pode combinar cadeias de caracteres e tabelas de hash no mesmo valor de parâmetro.

Exemplo 4 – Criar um manifesto que dê suporte à ajuda atualizável

Este exemplo usa o parâmetro HelpInfoUri para criar uma chave HelpInfoUri no manifesto do módulo. O valor do parâmetro e da chave deve começar com http ou https. Esse valor informa ao sistema de Ajuda Atualizável onde encontrar o arquivo de informação de ajuda atualizável HelpInfo XML para o módulo.

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

Para obter informações sobre a Ajuda Atualizável, consulte about_Updatable_Help. Para obter informações sobre o arquivo XML HelpInfo, consulte Supporting Updatable Help.

Exemplo 5 – Obtendo informações do módulo

Este exemplo mostra como obter os valores de configuração de um módulo. Os valores no manifesto do módulo são refletidos nos valores das propriedades do objeto do módulo.

O cmdlet é usado para obter o módulo Microsoft.PowerShell.Diagnostics usando o parâmetro lista de . O comando envia o módulo para o cmdlet Format-List para exibir todas as propriedades e valores do objeto do módulo.

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 os aliases que o módulo exporta. Caracteres curinga são permitidos.

Você pode usar esse parâmetro para restringir os aliases exportados pelo módulo. Ele pode remover aliases da lista de aliases exportados, mas não pode adicionar aliases à lista.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave AliasesToExport com um valor de * (todos), o que significa que todos os aliases definidos no módulo são exportados pelo manifesto.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:* (all)
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Author

Especifica o autor do módulo.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave de Author com o nome do usuário atual.

Propriedades do parâmetro

Tipo:String
Valor padrão:Name of the current user
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ClrVersion

Especifica a versão mínima do CLR (Common Language Runtime) do Microsoft .NET Framework exigido pelo módulo.

Observação

Essa configuração é válida somente para a edição do PowerShell Desktop, como o Windows PowerShell 5.1, e se aplica apenas a versões do .NET Framework inferiores à 4.5. Esse requisito não tem efeito para versões mais recentes do PowerShell ou do .NET Framework.

Propriedades do parâmetro

Tipo:Version
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CmdletsToExport

Especifica os cmdlets que o módulo exporta. Caracteres curinga são permitidos.

Você pode usar esse parâmetro para restringir os cmdlets exportados pelo módulo. É possível remover cmdlets da lista de cmdlets exportados, mas não é possível adicionar cmdlets à lista.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave CmdletsToExport com um valor de * (todos), o que significa que todos os cmdlets definidos no módulo são exportados pelo manifesto.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:* (all)
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CompanyName

Identifica a empresa ou o fornecedor que criou o módulo.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave CompanyName com um valor "Desconhecido".

Propriedades do parâmetro

Tipo:String
Valor padrão:Unknown
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CompatiblePSEditions

Especifica PSEditions compatíveis do módulo. Para obter informações sobre PSEdition, consulte Módulos com edições do PowerShell compatíveis.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Valores aceitos:Desktop, Core
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:cf

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

Especifica uma declaração de direitos autorais para o módulo.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave de de direitos autorais com um valor de (c) <year> <username>. All rights reserved. em que <year> é o ano atual e <username> é o valor da chave do Autor.

Tipo:String
Valor padrão:(c) <year> <username>. All rights reserved.
Dá suporte a curingas:False
DontShow:False
(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-DefaultCommandPrefix

Especifica um prefixo que é anexado aos substantivos de todos os comandos no módulo quando eles são importados para uma sessão. Insira uma cadeia de caracteres de prefixo. Prefixos impedem conflitos de nome de comando na sessão de um usuário.

Os usuários do módulo podem substituir esse prefixo especificando o parâmetro Prefix do cmdlet Import-Module.

Esse parâmetro foi introduzido no PowerShell 3.0.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Description

Descreve o conteúdo do módulo.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-DotNetFrameworkVersion

Especifica a versão mínima do Microsoft .NET Framework necessária para o módulo.

Observação

Essa configuração é válida somente para a edição do PowerShell Desktop, como o Windows PowerShell 5.1, e se aplica apenas a versões do .NET Framework inferiores à 4.5. Esse requisito não tem efeito para versões mais recentes do PowerShell ou do .NET Framework.

Propriedades do parâmetro

Tipo:Version
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-DscResourcesToExport

Especifica os recursos de DSC (Configuração de Estado Desejado) exportados pelo módulo. Caracteres curinga são permitidos.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ExternalModuleDependencies

Uma lista de módulos externos dos quais este módulo depende. Essa lista é usada apenas para documentar as dependências do módulo e não é imposta pelo PowerShell. Ele não é usado pelos comandos PowerShellGet ou PSResourceGet ou pela Galeria do PowerShell.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-FileList

Especifica todos os itens incluídos no módulo.

Essa chave foi projetada para atuar como um inventário de módulo. Os arquivos listados na chave são incluídos quando o módulo é publicado, mas todas as funções não são exportadas automaticamente.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-FormatsToProcess

Especifica os arquivos de formatação (.ps1xml) que são executados quando o módulo é importado.

Quando você importa um módulo, o PowerShell executa o cmdlet Update-FormatData com os arquivos especificados. Como os arquivos de formatação não estão no escopo, eles afetam todos os estados de sessão na sessão.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-FunctionsToExport

Especifica as funções que o módulo exporta. Caracteres curinga são permitidos.

Você pode usar esse parâmetro para restringir as funções exportadas pelo módulo. Ele pode remover funções da lista de aliases exportados, mas não pode adicionar funções à lista.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave FunctionsToExport com um valor de * (todos), o que significa que todas as funções definidas no módulo são exportadas pelo manifesto.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:* (all)
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Guid

Especifica um identificador exclusivo para o módulo. O GUID pode ser usado para distinguir entre módulos com o mesmo nome.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave GUID no manifesto e gerará um GUID para o valor.

Para criar um GUID no PowerShell, digite [guid]::NewGuid().

Propriedades do parâmetro

Tipo:Guid
Valor padrão:A GUID generated for the module
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-HelpInfoUri

Especifica o endereço da Internet do arquivo XML HelpInfo para o módulo. Insira um URI (Uniform Resource Identifier) que começa com http ou https.

O arquivo XML HelpInfo dá suporte ao recurso de Ajuda Atualizável que foi introduzido no PowerShell 3.0. Ele contém informações sobre o local dos arquivos de ajuda para download do módulo e os números de versão dos arquivos de ajuda mais recentes para cada localidade com suporte.

Para obter informações sobre a Ajuda Atualizável, consulte about_Updatable_Help. Para obter informações sobre o arquivo XML HelpInfo, consulte Supporting Updatable Help.

Esse parâmetro foi introduzido no PowerShell 3.0.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-IconUri

Especifica a URL de um ícone para o módulo. O ícone especificado é exibido na página da Web da galeria do módulo.

Propriedades do parâmetro

Tipo:Uri
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-LicenseUri

Especifica a URL dos termos de licenciamento do módulo.

Propriedades do parâmetro

Tipo:Uri
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ModuleList

Lista todos os módulos incluídos neste módulo.

Insira cada nome de módulo como uma cadeia de caracteres ou como uma tabela de hash com chaves ModuleName e ModuleVersion. A tabela de hash também pode ter uma chave GUID opcional. Você pode combinar cadeias de caracteres e tabelas de hash no valor do parâmetro.

Essa chave foi projetada para atuar como um inventário de módulo. Os módulos listados no valor dessa chave não são processados automaticamente.

Propriedades do parâmetro

Tipo:

Object[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ModuleVersion

Especifica a versão do módulo.

Esse parâmetro não é necessário, mas uma chave ModuleVersion é necessária no manifesto. Se você omitir esse parâmetro, New-ModuleManifest criará uma chave ModuleVersion com um valor de 1,0.

Propriedades do parâmetro

Tipo:Version
Valor padrão:1.0
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-NestedModules

Especifica módulos de script (.psm1) e módulos binários (.dll) que são importados para o estado de sessão do módulo. Os arquivos na chave NestedModules são executados na ordem em que estão listados no valor.

Insira cada nome de módulo como uma cadeia de caracteres ou como uma tabela de hash com chaves ModuleName e ModuleVersion. A tabela de hash também pode ter uma chave GUID opcional. Você pode combinar cadeias de caracteres e tabelas de hash no valor do parâmetro.

Normalmente, os módulos aninhados contêm comandos que o módulo raiz precisa para seu processamento interno. Por padrão, os comandos em módulos aninhados são exportados do estado de sessão do módulo para o estado de sessão do chamador, mas o módulo raiz pode restringir os comandos que ele exporta. Por exemplo, usando um comando Export-ModuleMember.

Os módulos aninhados no estado da sessão do módulo estão disponíveis para o módulo raiz, mas não são retornados por um comando Get-Module no estado de sessão do chamador.

Scripts (.ps1) listados na chave NestedModules são executados no estado de sessão do módulo, e não no do chamador. Para executar um script no estado de sessão do chamador, liste o nome do arquivo de script no valor da chave ScriptsToProcess no manifesto.

Propriedades do parâmetro

Tipo:

Object[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-PassThru

Grava o manifesto do módulo resultante no console e cria um arquivo .psd1. Por padrão, esse cmdlet não gera nenhuma saída.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Path

Especifica o caminho e o nome do arquivo do novo manifesto do módulo. Insira um caminho e um nome de arquivo com uma extensão de nome de arquivo .psd1, como $PSHOME\Modules\MyModule\MyModule.psd1. O parâmetro Path é necessário.

Se você especificar o caminho para um arquivo existente, New-ModuleManifest substituirá o arquivo sem aviso, a menos que o arquivo tenha o atributo somente leitura.

O manifesto deve estar localizado no diretório do módulo e o nome do arquivo de manifesto deve ser o mesmo que o nome do diretório do módulo, mas com uma extensão de nome de arquivo .psd1.

Observação

Você não pode usar variáveis, como $PSHOME ou $HOME, em resposta a um prompt para um valor de parâmetro Path. Para usar uma variável, inclua o parâmetro caminho no comando.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-PowerShellHostName

Especifica o nome do programa host do PowerShell exigido pelo módulo. Insira o nome do programa host, como Windows PowerShell ISE Host ou ConsoleHost. Não são permitidos caracteres.

Para localizar o nome de um programa host, no programa, digite $Host.Name.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-PowerShellHostVersion

Especifica a versão mínima do programa host do PowerShell que funciona com o módulo. Insira um número de versão, como 1.1.

Propriedades do parâmetro

Tipo:Version
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-PowerShellVersion

Especifica a versão mínima do PowerShell que funciona com este módulo. Por exemplo, você pode inserir 1.0, 2.0 ou 3.0 como o valor do parâmetro. Ele deve estar em um formato X.X. Por exemplo, se você enviar 5, o PowerShell gerará um erro.

Propriedades do parâmetro

Tipo:Version
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Prerelease

Pré-lançamento da cadeia de caracteres desse módulo. Adicionar uma cadeia de caracteres pré-lançamento identifica o módulo como uma versão de pré-lançamento. Quando o módulo é publicado na Galeria do PowerShell, esses dados são usados para identificar pacotes de pré-lançamento. Para adquirir pacotes de pré-lançamento da Galeria, você deve usar o parâmetro AllowPrerelease com os comandos do PowerShellGet Find-Module, Install-Module, Update-Modulee Save-Module.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-PrivateData

Especifica os dados que são passados para o módulo quando são importados.

Propriedades do parâmetro

Tipo:Object
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ProcessorArchitecture

Especifica a arquitetura do processador necessária para o módulo. Os valores válidos são x86, AMD64, IA64, MSIL e None (desconhecidos ou não especificados).

Propriedades do parâmetro

Tipo:ProcessorArchitecture
Valor padrão:None
Valores aceitos:None, MSIL, X86, IA64, Amd64, Arm
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ProjectUri

Especifica a URL de uma página da Web sobre este projeto.

Propriedades do parâmetro

Tipo:Uri
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ReleaseNotes

Especifica as notas de versão.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-RequiredAssemblies

Especifica os arquivos de assembly (.dll) necessários para o módulo. Insira os nomes dos arquivos de montagem. O PowerShell carrega os assemblies especificados antes de atualizar tipos ou formatos, importar módulos aninhados ou importar o arquivo de módulo especificado no valor da chave RootModule.

Use este parâmetro para listar todos os assemblies que o módulo requer, incluindo assemblies que devem ser carregados para atualizar qualquer formatação ou arquivos de tipos listados nas chaves FormatsToProcess ou TypesToProcess, mesmo que esses assemblies também sejam listados como módulos binários na chave NestedModules.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-RequiredModules

Especifica os módulos que devem estar no estado de sessão global. Se os módulos necessários não estiverem no estado de sessão global, o PowerShell os importará. Se os módulos necessários não estiverem disponíveis, o comando Import-Module falhará.

Insira cada nome de módulo como uma cadeia de caracteres ou como uma tabela de hash com chaves ModuleName e ModuleVersion. A tabela de hash também pode ter uma chave GUID opcional. Você pode combinar cadeias de caracteres e tabelas de hash no valor do parâmetro.

Quando você instala um módulo usando os comandos ou Install-PSResource os Install-Module comandos, esses comandos verificam essa lista. Se os módulos necessários não estiverem instalados, os comandos tentarão instalar os módulos necessários.

Propriedades do parâmetro

Tipo:

Object[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-RequireLicenseAcceptance

Sinalizar para indicar se o módulo requer aceitação explícita do usuário para instalar, atualizar ou salvar.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-RootModule

Especifica o arquivo primário ou raiz do módulo. Insira o nome do arquivo de um script (.ps1), um módulo de script (.psm1), um manifesto de módulo(.psd1), um assembly (.dll), um arquivo XML de definição de cmdlet (.cdxml) ou um fluxo de trabalho (.xaml). Quando o módulo é importado, os membros que são exportados do arquivo do módulo raiz são importados para o estado de sessão do chamador.

Se um módulo tiver um arquivo de manifesto e nenhum arquivo raiz tiver sido designado na chave RootModule, o manifesto se tornará o arquivo primário do módulo e o módulo se tornará um módulo de manifesto (ModuleType = Manifest).

Para exportar os membros de arquivos .psm1 ou .dll em um módulo que tenha um manifesto, os nomes desses arquivos devem ser especificados nos valores das chaves RootModule ou NestedModules no manifesto. Caso contrário, seus membros não serão exportados.

Observação

No PowerShell 2.0, essa chave foi chamada ModuleToProcess. Você pode usar o nome de parâmetro RootModule ou o respectivo alias ModuleToProcess.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:ModuleToProcess

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ScriptsToProcess

Especifica arquivos de script (.ps1) que são executados no estado de sessão do chamador quando o módulo é importado. Você pode usar esses scripts para preparar um ambiente, assim como você pode usar um script de logon.

Para especificar scripts executados no estado de sessão do módulo, use a chave NestedModules.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Tags

Especifica um array de tags.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-TypesToProcess

Especifica os arquivos de tipo (.ps1xml) que são executados quando o módulo é importado.

Quando você importa o módulo, o PowerShell executa o cmdlet Update-TypeData com os arquivos especificados. Como os arquivos de tipo não estão no escopo, eles afetam todos os estados de sessão na sessão.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-VariablesToExport

Especifica as variáveis exportadas pelo módulo. Caracteres curinga são permitidos.

Você pode usar esse parâmetro para restringir as variáveis exportadas pelo módulo. Ele pode remover variáveis da lista de variáveis exportadas, mas não pode adicionar variáveis à lista.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave VariablesToExport com um valor de * (todos), o que significa que todas as variáveis definidas no módulo são exportadas pelo manifesto.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:* (all)
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-WhatIf

Mostra o que aconteceria se New-ModuleManifest fosse executado. O cmdlet não é executado.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:wi

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

None

Não é possível transferir objetos para esse cmdlet.

Saídas

None

Por padrão, esse cmdlet não retorna nenhuma saída.

String

Quando você usa o parâmetro PassThru, esse cmdlet retorna uma cadeia de caracteres que representa o manifesto do módulo.

Observações

New-ModuleManifest em execução em plataformas Windows e não Windows cria arquivos de manifesto de módulo (.psd1) codificados como UTF8NoBOM.

Os manifestos do módulo geralmente são opcionais. No entanto, um manifesto de módulo é necessária para exportar um assembly instalado no cache de assembly global.

Para adicionar ou alterar arquivos no diretório $PSHOME\Modules, inicie o PowerShell com a opção Executar como administrador.

Observação

A partir do PowerShell 6.2, o PowerShell tenta carregar todos os arquivos DLL listados no FileList propriedade do manifesto do módulo. Ocorre falha no carregamento das DLLs nativas FileList no processo, e o erro é ignorado. Todas as DLLs gerenciadas são carregadas no processo. Esse comportamento foi removido no PowerShell 7.1.

Uma sessão é uma instância do ambiente de execução do PowerShell. Uma sessão pode ter um ou mais estados de sessão. Por padrão, uma sessão tem apenas um estado de sessão global, mas cada módulo importado tem seu próprio estado de sessão. Os estados de sessão permitem que os comandos em um módulo são executados sem afetar o estado da sessão global.

O estado da sessão do chamador é o estado da sessão no qual um módulo é importado. Normalmente, ele se refere ao estado de sessão global, mas quando um módulo importa módulos aninhados, o chamador é o módulo e o estado de sessão do chamador é o estado da sessão do módulo.

No PowerShell 2.0, muitos parâmetros de New-ModuleManifest eram obrigatórios, mesmo que não fossem necessários em um manifesto do módulo. A partir do PowerShell 3.0, somente o parâmetro Path é obrigatório.

No PowerShell 2.0, Import-Module não importa módulos necessários automaticamente. Ele apenas verifica se os módulos necessários estão no estado de sessão global.