New-ModuleManifest

Crea un nuovo manifesto del modulo.

Sintassi

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>]

Descrizione

Il New-ModuleManifest cmdlet crea un nuovo file manifesto del modulo (.psd1), ne popola i valori e salva il file manifesto nel percorso specificato.

Gli autori di moduli possono usare questo cmdlet per creare un manifesto per il proprio modulo. Un manifesto del modulo è un .psd1 file che contiene una tabella hash. Le chiavi e valori nella tabella hash descrivono il contenuto e gli attributi del modulo, definiscono i prerequisiti e determinano le modalità di elaborazione dei componenti. I manifesti non sono necessari per un modulo.

New-ModuleManifest crea un manifesto che include tutte le chiavi manifesto di uso comune, quindi è possibile usare l'output predefinito come modello di manifesto. Per aggiungere o modificare i valori o aggiungere chiavi del modulo che questo cmdlet non aggiunge, aprire il file risultante in un editor di testo.

Ogni parametro, ad eccezione di Path e PassThru, crea una chiave manifesto del modulo e il relativo valore. In un manifesto del modulo è necessaria solo la chiave ModuleVersion . Se non specificato nella descrizione del parametro, se si omette un parametro dal comando , New-ModuleManifest crea una stringa di commento per il valore associato senza alcun effetto.

In PowerShell 2.0 New-ModuleManifest vengono richiesti i valori dei parametri di uso comune non specificati nel comando, oltre ai valori dei parametri obbligatori. A partire da PowerShell 3.0, New-ModuleManifest viene richiesto solo quando i valori dei parametri obbligatori non vengono specificati.

Se si prevede di pubblicare il modulo in PowerShell Gallery, il manifesto deve contenere valori per determinate proprietà. Per altre informazioni, vedere Metadati necessari per gli elementi pubblicati in PowerShell Gallery nella documentazione di Gallery.

Esempio

Esempio 1- Creare un nuovo manifesto del modulo

In questo esempio viene creato un nuovo manifesto del modulo nel file specificato dal parametro Path . Il parametro PassThru invia l'output alla pipeline e al file.

L'output mostra i valori predefiniti di tutte le chiavi nel 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 = ''

}

Esempio 2: Creare un nuovo manifesto con alcune impostazioni prepopolate

In questo esempio viene creato un nuovo manifesto del modulo. Usa i parametri PowerShellVersion e AliasesToExport per aggiungere valori alle chiavi manifesto corrispondenti.

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

Esempio 3: Creare un manifesto che richiede altri moduli

Questo esempio usa un formato stringa per specificare il nome del modulo BitsTransfer e il formato della tabella hash per specificare il nome, un GUID e una versione del modulo 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

In questo esempio viene illustrato come usare i formati stringa e tabella hash del parametro ModuleList, RequiredModules e NestedModules . È possibile combinare stringhe e tabelle hash nello stesso valore del parametro.

Esempio 4 - Creare un manifesto che supporti la Guida aggiornabile

In questo esempio viene usato il parametro HelpInfoUri per creare una chiave HelpInfoUri nel manifesto del modulo. Il valore del parametro e la chiave devono iniziare con http o https. Questo valore indica al sistema di Guida aggiornabile dove trovare il file di informazioni della Guida aggiornabile XML HelpInfo per il modulo.

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

Per informazioni sulla Guida aggiornabile, vedere about_Updatable_Help. Per informazioni sul file XML HelpInfo, vedere Supporto della Guida aggiornabile.

Esempio 5 - Recupero delle informazioni sul modulo

Questo esempio illustra come ottenere i valori di configurazione di un modulo. I valori nel manifesto del modulo si riflettono nei valori delle proprietà dell'oggetto modulo.

Il Get-Module cmdlet viene usato per ottenere il modulo Microsoft.PowerShell.Diagnostics usando il parametro List . Il comando invia il modulo al Format-List cmdlet per visualizzare tutte le proprietà e i valori dell'oggetto modulo.

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}

Parametri

-AliasesToExport

Specifica gli alias esportati dal modulo. I caratteri jolly sono consentiti.

È possibile usare questo parametro per limitare gli alias che vengono esportati dal modulo. Può rimuovere alias dall'elenco di alias esportati, ma non può aggiungere alias all'elenco.

Se si omette questo parametro, New-ModuleManifest crea una chiave AliasesToExport con un valore * (tutto), ovvero tutti gli alias definiti nel modulo vengono esportati dal manifesto.

Type:String[]
Position:Named
Default value:* (all)
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Author

Specifica l'autore del modulo.

Se si omette questo parametro, New-ModuleManifest crea una chiave author con il nome dell'utente corrente.

Type:String
Position:Named
Default value:Name of the current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ClrVersion

Specifica la versione minima di Common Language Runtime (CLR) di Microsoft .NET Framework richiesta dal modulo.

Nota

Questa impostazione è valida solo per l'edizione di PowerShell Desktop, ad esempio Windows PowerShell 5.1 e si applica solo alle versioni di .NET Framework inferiori alla 4.5. Questo requisito non ha alcun effetto per le versioni più recenti di PowerShell o .NET Framework.

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CmdletsToExport

Specifica i cmdlet esportati dal modulo. I caratteri jolly sono consentiti.

È possibile usare questo parametro per limitare i cmdlet che vengono esportati dal modulo. Può rimuovere i cmdlet dall'elenco dei cmdlet esportati, ma non può aggiungere cmdlet all'elenco.

Se si omette questo parametro, New-ModuleManifest crea una chiave CmdletsToExport con un valore * (tutto), ovvero tutti i cmdlet definiti nel modulo vengono esportati dal manifesto.

Type:String[]
Position:Named
Default value:* (all)
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-CompanyName

Identifica la società o fornitore che ha creato il modulo.

Se si omette questo parametro, New-ModuleManifest crea una chiave CompanyName con il valore "Unknown".

Type:String
Position:Named
Default value:"Unknown"
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CompatiblePSEditions

Specifica la P edizione Standard ditions compatibile del modulo. Per informazioni su P edizione Standard dition, vedere Moduli con edizioni di PowerShell compatibili.

Type:String[]
Accepted values:Desktop, Core
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Specifica le informazioni di copyright per il modulo.

Se si omette questo parametro, New-ModuleManifest crea una chiave Copyright con un valore dove (c) <year> <username>. All rights reserved.<year> è l'anno corrente e <username> è il valore della chiave Author .

Type:String
Position:Named
Default value:(c) <year> <username>. All rights reserved.
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultCommandPrefix

Specifica un prefisso anteporto ai sostantivi di tutti i comandi del modulo quando vengono importati in una sessione. Immettere una stringa di prefisso. I prefissi consentono di evitare conflitti di nomi di comando in una sessione utente.

Gli utenti del modulo possono eseguire l'override di questo prefisso specificando il parametro Prefix del Import-Module cmdlet.

Questo parametro è stato introdotto in PowerShell 3.0.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Descrive il contenuto del modulo.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DotNetFrameworkVersion

Specifica la versione minima di Microsoft .NET Framework richiesta dal modulo.

Nota

Questa impostazione è valida solo per l'edizione di PowerShell Desktop, ad esempio Windows PowerShell 5.1 e si applica solo alle versioni di .NET Framework inferiori alla 4.5. Questo requisito non ha alcun effetto per le versioni più recenti di PowerShell o .NET Framework.

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DscResourcesToExport

Specifica le risorse DSC (Desired State Configuration) esportate dal modulo. I caratteri jolly sono consentiti.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-ExternalModuleDependencies

Un elenco di moduli esterni da cui dipende questo modulo.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FileList

Specifica tutti gli elementi inclusi nel modulo.

Questa chiave è progettata per agire come inventario di modulo. I file elencati nella chiave vengono inclusi quando il modulo viene pubblicato, ma tutte le funzioni non vengono esportate automaticamente.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FormatsToProcess

Specifica i file di formattazione (.ps1xml) eseguiti quando il modulo viene importato.

Quando si importa un modulo, PowerShell esegue il Update-FormatData cmdlet con i file specificati. Poiché la formattazione dei file non ha ambito, influiscono su tutti gli stati della sessione nella sessione.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FunctionsToExport

Specifica le funzioni esportate dal modulo. I caratteri jolly sono consentiti.

È possibile usare questo parametro per limitare le funzioni che vengono esportate dal modulo. Può rimuovere le funzioni dall'elenco di alias esportati, ma non può aggiungere funzioni all'elenco.

Se si omette questo parametro, New-ModuleManifest crea una chiave FunctionsToExport con un valore ( * tutto), ovvero tutte le funzioni definite nel modulo vengono esportate dal manifesto.

Type:String[]
Position:Named
Default value:* (all)
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Guid

Specifica un identificatore univoco per il modulo. Il GUID può essere usato per distinguere tra i moduli con lo stesso nome.

Se si omette questo parametro, New-ModuleManifest crea una chiave GUID nel manifesto e genera un GUID per il valore.

Per creare un nuovo GUID in PowerShell, digitare [guid]::NewGuid().

Type:Guid
Position:Named
Default value:A GUID generated for the module
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HelpInfoUri

Specifica l'indirizzo Internet del file XML HelpInfo per il modulo. Immettere un URI (Uniform Resource Identifier) che inizia con http o https.

Il file XML HelpInfo supporta la funzionalità Guida aggiornabile introdotta in PowerShell 3.0. Il file contiene informazioni sul percorso dei file della Guida scaricabile per il modulo e i numeri di versione dei file della Guida più recenti per ogni set di impostazioni locali supportato.

Per informazioni sulla Guida aggiornabile, vedere about_Updatable_Help. Per informazioni sul file XML HelpInfo, vedere Supporto della Guida aggiornabile.

Questo parametro è stato introdotto in PowerShell 3.0.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IconUri

Specifica l'URL di un'icona per il modulo. L'icona specificata viene visualizzata nella pagina Web della raccolta per il modulo.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LicenseUri

Specifica l'URL delle condizioni di licenza per il modulo.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ModuleList

Elenca tutti i moduli inclusi in questo modulo.

Immettere ogni nome del modulo come stringa o come tabella hash con chiavi ModuleName e ModuleVersion . La tabella hash può anche avere una chiave GUID facoltativa. È possibile combinare stringhe e tabelle hash nel valore del parametro.

Questa chiave è progettata per agire come inventario di modulo. I moduli elencati nel valore di questa chiave non vengono elaborati automaticamente.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ModuleVersion

Specifica la versione del modulo.

Questo parametro non è obbligatorio, ma nel manifesto è necessaria una chiave ModuleVersion . Se si omette questo parametro, New-ModuleManifest crea una chiave ModuleVersion con il valore 1.0.

Type:Version
Position:Named
Default value:1.0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NestedModules

Specifica i moduli di script (.psm1) e i moduli binari (.dll) importati nello stato della sessione del modulo. I file nella chiave NestedModules vengono eseguiti nell'ordine in cui sono elencati nel valore.

Immettere ogni nome del modulo come stringa o come tabella hash con chiavi ModuleName e ModuleVersion . La tabella hash può anche avere una chiave GUID facoltativa. È possibile combinare stringhe e tabelle hash nel valore del parametro.

I moduli annidati contengono, in genere, i comandi richiesti dal modulo radice per l'elaborazione interna. Per impostazione predefinita, i comandi nei moduli annidati vengono esportati dallo stato della sessione del modulo nello stato della sessione del chiamante, ma il modulo radice può limitare i comandi che esporta. Ad esempio, usando un Export-ModuleMember comando .

I moduli annidati nello stato della sessione del modulo sono disponibili per il modulo radice, ma non vengono restituiti da un Get-Module comando nello stato della sessione del chiamante.

Gli script (.ps1) elencati nella chiave NestedModules vengono eseguiti nello stato della sessione del modulo, non nello stato della sessione del chiamante. Per eseguire uno script nello stato della sessione del chiamante, elencare il nome del file script nel valore della chiave ScriptsToProcess nel manifesto.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Scrive il manifesto del modulo risultante nella console e crea un .psd1 file. Per impostazione predefinita, questo cmdlet non genera alcun output.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Specifica il percorso e il nome file del nuovo manifesto del modulo. Immettere un percorso e un nome di file con un'estensione .psd1 di file, ad esempio $pshome\Modules\MyModule\MyModule.psd1. Il parametro Path è obbligatorio.

Se si specifica il percorso di un file esistente, sostituisce il file senza avviso, New-ModuleManifest a meno che il file non abbia l'attributo di sola lettura.

Il manifesto deve trovarsi nella directory del modulo e il nome del file manifesto deve corrispondere al nome della directory del modulo, ma con un'estensione .psd1 di file.

Nota

Non è possibile usare variabili, ad esempio $PSHOME o $HOME, in risposta a una richiesta di un valore di parametro Path . Per usare una variabile, includere il parametro Path nel comando .

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-PowerShellHostName

Specifica il nome del programma host di PowerShell richiesto dal modulo. Immettere il nome del programma host, ad esempio Windows PowerShell I edizione Standard Host o ConsoleHost. I caratteri jolly non sono consentiti.

Per trovare il nome di un programma host, nel programma digitare $Host.Name.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PowerShellHostVersion

Specifica la versione minima del programma host di PowerShell che funziona con il modulo. Immettere un numero di versione, ad esempio 1.1.

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PowerShellVersion

Specifica la versione minima di PowerShell che funziona con questo modulo. Ad esempio, è possibile immettere 1.0, 2.0 o 3.0 come valore del parametro. Deve essere in formato X.X. Ad esempio, se si invia 5, PowerShell genererà un errore.

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Prerelease

Stringa non definitiva di questo modulo. L'aggiunta di una stringa di versione preliminare identifica il modulo come versione non definitiva. Quando il modulo viene pubblicato in PowerShell Gallery, questi dati vengono usati per identificare i pacchetti non definitive. Per acquisire pacchetti non definitive dalla raccolta, è necessario usare il parametro AllowPrerelease con i Find-Modulecomandi di PowerShellGet , Install-Module, Update-Modulee Save-Module.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PrivateData

Specifica i dati passati al modulo quando vengono importati.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProcessorArchitecture

Specifica l'architettura del processore richiesta dal modulo. I valori validi sono x86, AMD64, IA64, MSIL e Nessuno (sconosciuto o non specificato).

Type:ProcessorArchitecture
Accepted values:None, MSIL, X86, IA64, Amd64, Arm
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProjectUri

Specifica l'URL di una pagina Web relativa a questo progetto.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReleaseNotes

Specifica le note sulla versione.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredAssemblies

Specifica i file di assembly (.dll) richiesti dal modulo. Immettere i nomi dei file di assembly. PowerShell carica gli assembly specificati prima di aggiornare tipi o formati, importare moduli annidati o importare il file di modulo specificato nel valore della chiave RootModule .

Usare questo parametro per elencare tutti gli assembly richiesti dal modulo, inclusi gli assembly che devono essere caricati per aggiornare tutti i file di formattazione o di tipo elencati nelle chiavi FormatsToProcess o TypesToProcess , anche se tali assembly sono elencati anche come moduli binari nella chiave NestedModules .

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredModules

Specifica i moduli che devono essere nello stato sessione globale. Se i moduli necessari non sono nello stato della sessione globale, PowerShell li importa. Se i moduli necessari non sono disponibili, il Import-Module comando ha esito negativo.

Immettere ogni nome del modulo come stringa o come tabella hash con chiavi ModuleName e ModuleVersion . La tabella hash può anche avere una chiave GUID facoltativa. È possibile combinare stringhe e tabelle hash nel valore del parametro.

In PowerShell 2.0 Import-Module non importa automaticamente i moduli necessari. ma si limita a verificare che i moduli necessari siano nello stato sessione globale.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequireLicenseAcceptance

Flag per indicare se il modulo richiede l'accettazione esplicita dell'utente per l'installazione, l'aggiornamento o il salvataggio.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RootModule

Specifica il file primario o radice del modulo. Immettere il nome file di uno script (.ps1), un modulo script (.psm1), un manifesto del modulo(.psd1), un assembly (.dll), un file XML di definizione del cmdlet (.cdxml) o un flusso di lavoro (.xaml). Quando viene importato il modulo, i membri esportati dal file radice del modulo vengono importati nello stato sessione del chiamante.

Se un modulo ha un file manifesto e non è stato designato alcun file radice nella chiave RootModule , il manifesto diventa il file primario per il modulo e il modulo diventa un modulo manifesto (ModuleType = Manifesto).

Per esportare membri da .psm1 o .dll file in un modulo con un manifesto, i nomi di tali file devono essere specificati nei valori delle chiavi RootModule o NestedModules nel manifesto. In caso contrario, i relativi membri non vengono esportati.

Nota

In PowerShell 2.0 questa chiave è denominata ModuleToProcess. È possibile usare il nome del parametro RootModule o il relativo alias ModuleToProcess .

Type:String
Aliases:ModuleToProcess
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptsToProcess

Specifica i file di script (.ps1) eseguiti nello stato della sessione del chiamante quando il modulo viene importato. È possibile usare questi script per preparare un ambiente o per usare uno script di accesso.

Per specificare gli script eseguiti nello stato della sessione del modulo, usare la chiave NestedModules .

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tags

Specifica una matrice di tag.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TypesToProcess

Specifica i file di tipo (.ps1xml) eseguiti quando il modulo viene importato.

Quando si importa il modulo, PowerShell esegue il Update-TypeData cmdlet con i file specificati. Poiché i file di tipo non hanno ambito, influiscono su tutti gli stati della sessione.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VariablesToExport

Specifica le variabili esportate dal modulo. I caratteri jolly sono consentiti.

È possibile usare questo parametro per limitare le variabili che vengono esportate dal modulo. Può rimuovere le variabili dall'elenco delle variabili esportate, ma non può aggiungere variabili all'elenco.

Se si omette questo parametro, New-ModuleManifest crea una chiave VariablesToExport con un valore * (tutto), ovvero tutte le variabili definite nel modulo vengono esportate dal manifesto.

Type:String[]
Position:Named
Default value:* (all)
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-WhatIf

Mostra cosa accadrebbe se New-ModuleManifest viene eseguito. Il cmdlet non viene eseguito.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

None

Non è possibile inviare tramite pipe oggetti a questo cmdlet.

Output

None

Per impostazione predefinita, questo cmdlet non restituisce alcun output.

String

Quando si usa il parametro PassThru , questo cmdlet restituisce una stringa che rappresenta il manifesto del modulo.

Note

New-ModuleManifest in esecuzione su piattaforme Windows e non Windows crea file manifesto del modulo (.psd1) codificati come UTF8NoBOM.

I manifesti dei moduli sono in genere facoltativi. Tuttavia, per esportare un assembly installato nella global assembly cache è necessario un manifesto del modulo.

Per aggiungere o modificare i file nella $pshome\Modules directory, avviare PowerShell con l'opzione Esegui come amministratore .

Nota

A partire da PowerShell 6.2, PowerShell tenta di caricare tutti i file DLL elencati nella proprietà FileList del manifesto del modulo. Le DLL native si trovano in FileList non vengono caricate nel processo e l'errore viene ignorato. Tutte le DLL gestite vengono caricate nel processo. Questo comportamento è stato rimosso in PowerShell 7.1.

In PowerShell 2.0 molti parametri di New-ModuleManifest erano obbligatori, anche se non erano necessari in un manifesto del modulo. A partire da PowerShell 3.0, solo il parametro Path è obbligatorio.

Una sessione è un'istanza dell'ambiente di esecuzione di PowerShell. Una sessione può contenere uno o più stati sessione. Per impostazione predefinita, una sessione presenta un solo stato sessione globale, ma ogni modulo importato ha il proprio stato sessione. Gli stati sessione consentono l'esecuzione dei comandi in un modulo senza influire sullo stato sessione globale.

Lo stato della sessione del chiamante è lo stato della sessione in cui viene importato un modulo. In genere, fa riferimento allo stato della sessione globale, ma quando un modulo importa moduli annidati, il chiamante è il modulo e lo stato della sessione del chiamante è lo stato della sessione del modulo.