Cria um novo manifesto do módulo.

Sintaxe

New-ModuleManifest [-Path] <string> -Author <string> -CompanyName <string> -Copyright <string> -Descrição <string> -FileList <string[]> -FormatsToProcess <string[]> -ModuleToProcess <string> -NestedModules <string[]> -RequiredAssemblies <string[]> -TypesToProcess <string[]> [-AliasesToExport <string[]>] [-ClrVersion <Version>] [-CmdletsToExport <string[]>] [-DotNetFrameworkVersion <Version>] [-FunctionsToExport <string[]>] [-Guid <Guid>] [-ModuleList <Object[]>] [-ModuleVersion <Version>] [-PassThru] [-PowerShellHostName <string>] [-PowerShellHostVersion <Version>] [-PowerShellVersion <Version>] [-PrivateData <Object>] [-ProcessorArchitecture {<None> | <MSIL> | <X86> | <IA64> | <Amd64>}] [-RequiredModules <Object[]>] [-ScriptsToProcess <string[]>] [-VariablesToExport <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Descrição

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

Autores de módulo podem usar esse cmdlet para criar um manifesto para o módulo. Um manifesto do 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 geralmente usadas, para que você possa usar a saída padrão como um modelo de manifesto. Para adicionar ou alterar valores, ou para adicionar chaves de módulo que esse cmdlet não adiciona, abra o arquivo resultante em um editor de texto.

Cada parâmetro desse cmdlet (exceto Path e PassThru) cria uma chave de manifesto do módulo e seu valor. Em um manifesto do módulo, somente a chave ModuleVersion é necessária. Porém, vários outros parâmetros desse cmdlet são obrigatórios. Como resultado, você poderá digitar um comando "New-ModuleManifest" sem parâmetros e o cmdlet solicitará que você forneça valores para outras chaves geralmente usadas. Para deixar o valor vazio, pressione ENTER.

Para obter uma descrição completa do formato, dos efeitos e dos requisitos de um manifesto de módulo, consulte "How to Write a Module Manifest" (em inglês) na biblioteca de MSDN (Microsoft Developer Network) em https://go.microsoft.com/fwlink/?LinkId=143613.

Parâmetros

-AliasesToExport <string[]>

Especifica os aliases que o módulo exporta. Os caracteres curinga são permitidos.

Você pode usar esse parâmetro para restringir os aliases que são exportados pelo módulo. Ela 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 * (tudo), indicando que todos os aliases exportados pelo módulo são exportados pelo manifesto.

Necessário?

false

Posição?

named

Valor padrão

* (all)

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

true

-Author <string>

Especifica o autor do módulo.

Esse parâmetro é exigido pelo cmdlet, mas a chave Author não é necessária no manifesto. Se você omitir esse parâmetro e não inserir um valor quando solicitado, New-ModuleManifest criará uma chave Author com o nome do usuário atual.

Necessário?

true

Posição?

named

Valor padrão

Name of the current user

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-ClrVersion <Version>

Especifica a versão do CLR (Common Language Runtime) do Microsoft .NET Framework de que o módulo precisa.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave CLRVersion com um valor de cadeia de caracteres vazio.

Necessário?

false

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-CmdletsToExport <string[]>

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

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

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

Necessário?

false

Posição?

named

Valor padrão

* (all)

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

true

-CompanyName <string>

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

Esse parâmetro é exigido pelo cmdlet, mas a chave CompanyName não é necessária no manifesto. Se você omitir esse parâmetro e não inserir um valor quando solicitado, New-ModuleManifest criará uma chave CompanyName com o valor "Unknown".

Necessário?

true

Posição?

named

Valor padrão

"Unknown"

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Copyright <string>

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

Esse parâmetro é exigido pelo cmdlet, mas a chave Copyright não é necessária no manifesto. Se você omitir esse parâmetro e não inserir um valor quando solicitado, New-ModuleManifest criará uma chave Copyright com o valor "(c) <ano> <nome_de_usuário>". Todos os direitos reservados." onde <ano> é o ano atual e <nome_de_usuário> é o valor da chave Author (se um for especificado) ou o nome do usuário atual.

Necessário?

true

Posição?

named

Valor padrão

(c) <year> <username>. All rights reserved.

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Descrição <string>

Especifica o conteúdo do módulo.

Esse parâmetro é exigido pelo cmdlet, mas a chave Description não é necessária no manifesto. Se você omitir esse parâmetro e não inserir um valor quando solicitado, New-ModuleManifest criará uma chave Description com um valor de cadeia de caracteres vazio.

Necessário?

true

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-DotNetFrameworkVersion <Version>

Especifica a versão do Microsoft .NET Framework de que o módulo precisa.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave DotNetFrameWorkVersion com um valor de cadeia de caracteres vazio.

Necessário?

false

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-FileList <string[]>

Especifica todos os itens que são incluídos no módulo.

Essa chave é criada para atuar como um inventário do módulo. Esses arquivos não são exportados automaticamente com o módulo.

Esse parâmetro é exigido pelo cmdlet, mas a chave FileList não é necessária no manifesto. Se você omitir o parâmetro e não inserir um valor quando solicitado, New-ModuleManifest criará uma chave FileList com um valor de matriz vazio.

Necessário?

true

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-FormatsToProcess <string[]>

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

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

Esse parâmetro é exigido pelo cmdlet, mas a chave FormatsToProcess não é necessária no manifesto. Se você omitir esse parâmetro e não inserir um valor quando solicitado, New-ModuleManifest criará uma chave FormatsToProcess com um valor de matriz vazio.

Necessário?

true

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-FunctionsToExport <string[]>

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

Você pode usar esse parâmetro para restringir as funções que são exportadas pelo módulo. Ela 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 * (tudo), indicando que todas as funções exportadas pelo módulo são exportadas pelo manifesto.

Necessário?

false

Posição?

named

Valor padrão

* (all)

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

true

-Guid <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 de GUID no manifesto e gerará um GUID para obter o valor.

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

Necessário?

false

Posição?

named

Valor padrão

A GUID generated for the module

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-ModuleList <Object[]>

Lista todos os módulos incluídos no pacote do módulo.

Insira cada nome de módulo como uma cadeia de caracteres ou insira uma tabela de hash com as chaves ModuleName e GUID. A tabela de hash também poderá ter uma chave ModuleVersion opcional.

Essa chave é criada para atuar como um inventário do módulo. Esses módulos não são processados automaticamente.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave ModuleList no manifesto com um valor de matriz vazio.

Necessário?

false

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-ModuleToProcess <string>

Especifica o arquivo primário ou "raiz" do módulo. Quando o módulo é importado, os membros exportados do arquivo de módulo raiz são importados para o estado de sessão do chamador. Insira o nome do arquivo de um módulo de script (.psm1) ou módulo binário (.dll).

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

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

Esse parâmetro é exigido pelo cmdlet, mas a chave ModuleToProcess não é necessária no manifesto. Se você omitir esse parâmetro e não inserir um valor quando solicitado, New-ModuleManifest criará uma chave ModuleToProcess com um valor de cadeia de caracteres vazio.

Necessário?

true

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-ModuleVersion <Version>

Especifica a versão do módulo.

Esse parâmetro não é exigido pelo cmdlet, mas uma chave ModuleVersion é necessária no manifesto. Se você omitir esse parâmetro, New-ModuleManifest criará uma chave ModuleVersion com um valor igual a "1.0".

Necessário?

false

Posição?

named

Valor padrão

1.0

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-NestedModules <string[]>

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 são listados no valor.

Normalmente, módulos aninhados contêm comandos necessários ao módulo raiz 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 exporta (por exemplo, usando um comando Export-Module).

Os módulos aninhados no estado de 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.

Os scripts (.ps1) listados na chave NestedModules são executados no estado de sessão do módulo, não no estado de sessão 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.

Esse parâmetro é exigido pelo cmdlet, mas a chave NestedModules não é necessária no manifesto. Se você omitir o parâmetro e não inserir um valor quando solicitado, New-ModuleManifest criará uma chave NestedModules com um valor de matriz vazio.

Necessário?

true

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-PassThru

Grava o manifesto do módulo resultante no console, além de criar um arquivo .psd1. Por padrão, este cmdlet não gera nenhuma saída.

Necessário?

false

Posição?

named

Valor padrão

False

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Path <string>

Especifica o caminho e o nome do arquivo do novo manifesto de módulo. Insira um caminho e um nome de arquivo com uma extensão .psd1, como "$pshome\Modules\MyModule\MyModule.psd 1". Esse parâmetro é obrigatório.

Se você especificar o caminho para um arquivo existente, New-ModuleManifest substituirá o arquivo sem avisar 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 igual ao nome do diretório do módulo, mas com uma extensão .psd1.

Nota: você não pode usar variáveis, como $pshome $home, em resposta a uma solicitação de um valor de parâmetro Path. Para usar uma variável, inclua o parâmetro Path no comando.

Necessário?

true

Posição?

1

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-PowerShellHostName <string>

Especifica o nome do programa host do Windows PowerShell que o módulo requer. Insira o nome do programa host, como "Windows PowerShell ISE Host" ou "ConsoleHost". Os caracteres curinga não são permitidos.

Para localizar o nome de um programa host, no programa, digite "$host.name".

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave PowerShellHostName com um valor de cadeia de caracteres vazio.

Necessário?

false

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-PowerShellHostVersion <Version>

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

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave PowerShellHostName com um valor de cadeia de caracteres vazio.

Necessário?

false

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-PowerShellVersion <Version>

Especifica a versão mínima do Windows PowerShell que funcionará com esse módulo. Digite 1.0 ou 2.0. Não são impostos requisitos para versões posteriores a 2.0.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave PowerShellVersion com um valor de cadeia de caracteres vazio.

Necessário?

false

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-PrivateData <Object>

Especifica dados que são transmitidos ao módulo quando ele é importado.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave PrivateData com um valor de cadeia de caracteres vazio.

Necessário?

false

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-ProcessorArchitecture <ProcessorArchitecture>

Especifica a arquitetura de processador que o módulo requer. Os valores válidos são: x86, AMD64, IA64 e None (desconhecido ou não especificado).

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave ProcessorArchitecture com um valor de cadeia de caracteres vazio.

Necessário?

false

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-RequiredAssemblies <string[]>

Especifica os arquivos de assembly (.dll) exigidos pelo módulo. O Windows 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 ModuleToProcess.

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

Esse parâmetro é exigido pelo cmdlet, mas a chave RequiredAssemblies não é necessária no manifesto. Se você omitir esse parâmetro e não inserir um valor quando solicitado, New-ModuleManifest criará uma chave RequiredAssemblies com um valor de matriz vazio.

Necessário?

true

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-RequiredModules <Object[]>

Especifica 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, as tentativas de importar o módulo falharão.

Insira cada nome de módulo como uma cadeia de caracteres ou insira uma tabela de hash com as chaves ModuleName e GUID. A tabela de hash também poderá ter uma chave ModuleVersion opcional. Para obter mais informações, consulte os exemplos.

O Windows PowerShell não importa os módulos necessários automaticamente. Ele apenas verifica se os módulos necessários estão presentes. Entretanto, os módulos podem incluir scripts (.ps1) que importam os módulos necessários para o estado de sessão global.

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave RequiredModules com um valor de matriz vazio.

Necessário?

false

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-ScriptsToProcess <string[]>

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, da mesma forma que usaria um script de logon.

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

Se você omitir esse parâmetro, New-ModuleManifest criará uma chave ScriptsToProcess com um valor de matriz vazio.

Necessário?

false

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-TypesToProcess <string[]>

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

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

Esse parâmetro é exigido pelo cmdlet, mas a chave TypesToProcess não é necessária no manifesto. Se você omitir esse parâmetro e não inserir um valor quando solicitado, New-ModuleManifest criará uma chave TypesToProcess com um valor de matriz vazio.

Necessário?

true

Posição?

named

Valor padrão

nenhum

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-VariablesToExport <string[]>

Especifica as variáveis que o módulo exporta. Os caracteres curinga são permitidos.

Você pode usar esse parâmetro para restringir as variáveis que são exportadas pelo módulo. 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 * (tudo), indicando que todas as variáveis exportadas pelo módulo são exportadas pelo manifesto.

Necessário?

false

Posição?

named

Valor padrão

* (all)

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

true

-Confirm

Solicita confirmação antes da execução do comando.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-WhatIf

Descreve o que aconteceria se você executasse o comando, sem executá-lo de fato.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas

None

Você não pode canalizar a entrada para este cmdlet.

Saídas

None ou System.String

Por padrão, New-ModuleManifest não gera saída. Porém, se você usar o parâmetro PassThru, ele gerará um objeto System.String que representa o manifesto do módulo.

Observações

Manifestos do módulo são geralmente opcionais. Entretanto, um manifesto do módulo é necessário para exportar um assembly que esteja instalado no cache de assembly global.

Para adicionar ou alterar arquivos no diretório $pshome\Modules (%Windir%\System32\WindowsPowerShell\v1.0\Modules), inicie o Windows PowerShell com a opção "Executar como administrador".

Uma "sessão" é uma instância do ambiente de execução do Windows 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 os comandos em um módulo sejam executados sem afetar o estado de sessão global.

O "estado de sessão do chamador" é o estado de sessão no qual um módulo é importado. Em geral, refere-se 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 de sessão do módulo.

Exemplo 1

C:\PS>New-ModuleManifest

Path: C:\Users\User01\Documents\WindowsPowerShell\Modules\Test-Module\Test-Module.psd1
NestedModules[0]: BackgroundModule.psm1
Author: Jinghao Liu
CompanyName: Fabrikam, Inc.
Copyright: Copyright © 2009 Liu Jinghao. All rights reserved.
ModuleToProcess: TestModule.psm1
Description: Cmdlets to find common errors in scripts.
TypesToProcess[0]: TestTypes.ps1xml
FormatsToProcess[0]: TestFormat.ps1xml
RequiredAssemblies[0]: Test.dll
FileList[0]: Test-Module.psd1
FileList[1]: Test-Module.psm1
FileList[2]: BackgroundModule.psm1
FileList[3]: TestTypes.ps1xml
FileList[4]: TestFormat.ps1xml
FileList[5]: Test.dll
FileList[6]: TestIcon.ico

Descrição
-----------
Esse comando cria um novo manifesto do módulo. O cmdlet solicita a você os parâmetros de que ele precisa, inclusive o parâmetro Path, e cria um arquivo de manifesto no local especificado.

A saída do comando mostra exemplos de respostas para as solicitações. Para usar valores padrão, pressione ENTER.

A solicitação real, e o modo como manipula frases entre aspas ou não, depende do programa host no qual o Windows PowerShell está sendo executado.






Exemplo 2

C:\PS>New-ModuleManifest -PowerShellVersion 1.0 -AliasesToExport JKBC, DRC, TAC

Descrição
-----------
Esse comando cria um novo manifesto do módulo. O comando inclui parâmetros que o cmdlet não requer (ou solicita). Você pode incluir outros valores da chave de manifesto na solicitação.






Exemplo 3

C:\PS>New-ModuleManifest -RequiredModules FileTransfer,@{ModuleName="BackgroundModule";GUID="486569a2-2784-48bf-af15-70ba837a64d0";ModuleVersion="3.5"}

Descrição
-----------
Esse exemplo mostra como usar os formatos de cadeia de caracteres e tabela de hash do valor do parâmetro RequiredModules. É possível usar cadeias de caracteres e tabelas de hash no mesmo comando. 

Esse comando cria um manifesto para um módulo que requer o módulo FileTransfer e um módulo (fictício) denominado "BackgroundModule". 

O comando usa um formato de cadeia de caracteres para especificar o nome do módulo FileTransfer e o formato de tabela de hash para especificar o nome, um GUID e uma versão do BackgroundModule.






See Also




Sumário