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.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | * (all) |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-Author
Specifica l'autore del modulo.
Se si omette questo parametro, New-ModuleManifest
crea una chiave author con il nome dell'utente corrente.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | Name of the current user |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | Version |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | * (all) |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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".
Tipo: | String |
Posizione: | Named |
Valore predefinito: | "Unknown" |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-CompatiblePSEditions
Specifica le PSEditions compatibili del modulo. Per informazioni su PSEdition, vedere Moduli con edizioni di PowerShell compatibili.
Tipo: | String[] |
Valori accettati: | Desktop, Core |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Copyright
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 .
Tipo: | String |
Posizione: | Named |
Valore predefinito: | (c) <year> <username>. All rights reserved. |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Description
Descrive il contenuto del modulo.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | Version |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-DscResourcesToExport
Specifica le risorse DSC (Desired State Configuration) esportate dal modulo. I caratteri jolly sono consentiti.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-ExternalModuleDependencies
Un elenco di moduli esterni da cui dipende questo modulo.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | * (all) |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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()
.
Tipo: | Guid |
Posizione: | Named |
Valore predefinito: | A GUID generated for the module |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-IconUri
Specifica l'URL di un'icona per il modulo. L'icona specificata viene visualizzata nella pagina Web della raccolta per il modulo.
Tipo: | Uri |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-LicenseUri
Specifica l'URL delle condizioni di licenza per il modulo.
Tipo: | Uri |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | Object[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | Version |
Posizione: | Named |
Valore predefinito: | 1.0 |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | Object[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-PassThru
Scrive il manifesto del modulo risultante nella console e crea un .psd1
file. Per impostazione predefinita, questo cmdlet non genera alcun output.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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 .
Tipo: | String |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-PowerShellHostName
Specifica il nome del programma host di PowerShell richiesto dal modulo. Immettere il nome del programma host, ad esempio Host ISE di Windows PowerShell o ConsoleHost. I caratteri jolly non sono consentiti.
Per trovare il nome di un programma host, nel programma digitare $Host.Name
.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | Version |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | Version |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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-Module
comandi di PowerShellGet , Install-Module
, Update-Module
e Save-Module
.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-PrivateData
Specifica i dati passati al modulo quando vengono importati.
Tipo: | Object |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ProcessorArchitecture
Specifica l'architettura del processore richiesta dal modulo. I valori validi sono x86, AMD64, IA64, MSIL e Nessuno (sconosciuto o non specificato).
Tipo: | ProcessorArchitecture |
Valori accettati: | None, MSIL, X86, IA64, Amd64, Arm |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ProjectUri
Specifica l'URL di una pagina Web relativa a questo progetto.
Tipo: | Uri |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ReleaseNotes
Specifica le note sulla versione.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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 .
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | Object[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-RequireLicenseAcceptance
Flag per indicare se il modulo richiede l'accettazione esplicita dell'utente per l'installazione, l'aggiornamento o il salvataggio.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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 .
Tipo: | String |
Alias: | ModuleToProcess |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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 .
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Tags
Specifica una matrice di tag.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | * (all) |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-WhatIf
Mostra cosa accadrebbe se New-ModuleManifest
viene eseguito. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
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.