New-ModuleManifest
Skapar ett nytt modulmanifest.
Syntax
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>]
[-HelpInfoUri <string>]
[-PassThru]
[-DefaultCommandPrefix <string>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Cmdleten New-ModuleManifest
skapar en ny modulmanifestfil (.psd1
), fyller i dess värden och sparar manifestfilen i den angivna sökvägen.
Modulförfattare kan använda den här cmdleten för att skapa ett manifest för sin modul. Ett modulmanifest är en .psd1
fil som innehåller en hash-tabell. Nycklarna och värdena i hash-tabellen beskriver innehållet och attributen i modulen, definierar förutsättningarna och avgör hur komponenterna bearbetas. Manifest krävs inte för en modul.
New-ModuleManifest
skapar ett manifest som innehåller alla vanliga manifestnycklar, så att du kan använda standardutdata som en manifestmall. Om du vill lägga till eller ändra värden eller lägga till modulnycklar som denna cmdlet inte lägger till öppnar du den resulterande filen i en textredigerare.
Varje parameter, förutom Path och PassThru, skapar en modulmanifestnyckel och dess värde.
I ett modulmanifest krävs endast ModuleVersion-nyckeln . Om du utelämnar en parameter från kommandot, såvida det inte anges i parameterbeskrivningen, New-ModuleManifest
skapas en kommentarssträng för det associerade värdet som inte har någon effekt.
I PowerShell 2.0 New-ModuleManifest
uppmanas du att ange värden för vanliga parametrar som inte anges i kommandot, förutom obligatoriska parametervärden. Från och med PowerShell 3.0 New-ModuleManifest
tillfrågas endast när obligatoriska parametervärden inte har angetts.
Om du planerar att publicera modulen i PowerShell-galleriet måste manifestet innehålla värden för vissa egenskaper. Mer information finns i Obligatoriska metadata för objekt som publicerats till PowerShell-galleriet i galleridokumentationen.
Exempel
Exempel 1 – Skapa ett nytt modulmanifest
I det här exemplet skapas ett nytt modulmanifest i filen som anges av parametern Path . Parametern PassThru skickar utdata till pipelinen och till filen.
Utdata visar standardvärdena för alla nycklar i manifestet.
New-ModuleManifest -Path C:\ps-test\Test-Module\Test-Module.psd1 -PassThru
#
# Module manifest for module 'Test-Module'
#
# Generated by: ContosoAdmin
#
# Generated on: 1/22/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 = '47179120-0bcb-4f14-8d80-f4560107f85c'
# 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 = ''
} # 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 = ''
}
Exempel 2 – Skapa ett nytt manifest med vissa förifyllda inställningar
I det här exemplet skapas ett nytt modulmanifest. Den använder parametrarna PowerShellVersion och AliasesToExport för att lägga till värden i motsvarande manifestnycklar.
New-ModuleManifest -PowerShellVersion 1.0 -AliasesToExport JKBC, DRC, TAC -Path C:\ps-test\ManifestTest.psd1
Exempel 3 – Skapa ett manifest som kräver andra moduler
I det här exemplet används ett strängformat för att ange namnet på BitsTransfer-modulen och hashtabellformatet för att ange namnet, ett GUID och en version av modulen 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
Det här exemplet visar hur du använder sträng- och hashtabellformaten för parametern ModuleList, RequiredModules och NestedModules . Du kan kombinera strängar och hash-tabeller i samma parametervärde.
Exempel 4 – Skapa ett manifest som stöder uppdateringsbar hjälp
I det här exemplet används parametern HelpInfoUri för att skapa en HelpInfoUri-nyckel i modulmanifestet. Värdet för parametern och nyckeln måste börja med http eller https. Det här värdet anger för det uppdateringsbara hjälpsystemet var du hittar hjälpinformationsfilen helpinfo XML updatable för modulen.
$moduleSettings = @{
HelpInfoUri = 'https://https://go.microsoft.com/fwlink/?LinkID=603'
Path = 'C:\ps-test\ManifestTest.psd1'
}
New-ModuleManifest @moduleSettings
Information om uppdateringsbar hjälp finns i about_Updatable_Help. Information om XML-filen HelpInfo finns i Stöd för uppdateringsbar hjälp.
Exempel 5 – Hämta modulinformation
Det här exemplet visar hur du hämtar konfigurationsvärdena för en modul. Värdena i modulmanifestet återspeglas i värdena för egenskaperna för modulobjektet.
Cmdleten Get-Module
används för att hämta modulen Microsoft.PowerShell.Diagnostics med hjälp av listparametern . Kommandot skickar modulen till cmdleten Format-List
för att visa alla egenskaper och värden för modulobjektet.
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}
Parametrar
-AliasesToExport
Anger de alias som modulen exporterar. Jokertecken tillåts.
Du kan använda den här parametern för att begränsa de alias som exporteras av modulen. Det kan ta bort alias från listan över exporterade alias, men det kan inte lägga till alias i listan.
Om du utelämnar den här parametern New-ModuleManifest
skapar du en AliasesToExport-nyckel med värdet *
(alla), vilket innebär att alla alias som definierats i modulen exporteras av manifestet.
Type: | String[] |
Position: | Named |
Default value: | * (all) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Author
Anger modulförfattaren.
Om du utelämnar den här parametern New-ModuleManifest
skapar du en Författare-nyckel med namnet på den aktuella användaren.
Type: | String |
Position: | Named |
Default value: | Name of the current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ClrVersion
Anger den lägsta versionen av CLR (Common Language Runtime) för Microsoft .NET Framework som krävs för modulen.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CmdletsToExport
Anger de cmdletar som modulen exporterar. Jokertecken tillåts.
Du kan använda den här parametern för att begränsa de cmdletar som exporteras av modulen. Den kan ta bort cmdletar från listan över exporterade cmdletar, men det kan inte lägga till cmdletar i listan.
Om du utelämnar den här parametern New-ModuleManifest
skapar en CmdletsToExport-nyckel med värdet *
(alla), vilket innebär att alla cmdletar som definierats i modulen exporteras av manifestet.
Type: | String[] |
Position: | Named |
Default value: | * (all) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-CompanyName
Identifierar företaget eller leverantören som skapade modulen.
Om du utelämnar den här parametern New-ModuleManifest
skapar du en CompanyName-nyckel med värdet "Okänd".
Type: | String |
Position: | Named |
Default value: | "Unknown" |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CompatiblePSEditions
Anger modulens kompatibla PSEditions. Information om PSEdition finns i Moduler med kompatibla PowerShell-utgåvor.
Type: | String[] |
Accepted values: | Desktop, Core |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Copyright
Anger ett upphovsrättsmeddelande för modulen.
Om du utelämnar den här parametern New-ModuleManifest
skapar du en copyrightnyckel med värdet (c) <year> <username>. All rights reserved.
var <year>
är det aktuella året och <username>
är värdet för nyckeln Författare .
Type: | String |
Position: | Named |
Default value: | (c) <year> <username>. All rights reserved. |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultCommandPrefix
Anger ett prefix som läggs till i substantiven för alla kommandon i modulen när de importeras till en session. Ange en prefixsträng. Prefix förhindrar kommandonamnskonflikter i en användares session.
Modulanvändare kan åsidosätta det här prefixet genom att ange prefixparametern för cmdletenImport-Module
.
Den här parametern introducerades i PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Beskriver innehållet i modulen.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DotNetFrameworkVersion
Anger den lägsta version av Microsoft .NET Framework som modulen kräver.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DscResourcesToExport
Anger de Desired State Configuration (DSC)-resurser som modulen exporterar. Jokertecken tillåts.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-FileList
Anger alla objekt som ingår i modulen.
Den här nyckeln är utformad för att fungera som en modulinventering. Filerna som anges i nyckeln inkluderas när modulen publiceras, men alla funktioner exporteras inte automatiskt.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FormatsToProcess
Anger formateringsfilerna (.ps1xml
) som körs när modulen importeras.
När du importerar en modul kör PowerShell cmdleten Update-FormatData
med de angivna filerna.
Eftersom formateringsfiler inte är begränsade påverkar de alla sessionstillstånd i sessionen.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FunctionsToExport
Anger de funktioner som modulen exporterar. Jokertecken tillåts.
Du kan använda den här parametern för att begränsa de funktioner som exporteras av modulen. Det kan ta bort funktioner från listan över exporterade alias, men det kan inte lägga till funktioner i listan.
Om du utelämnar den här parametern New-ModuleManifest
skapar en FunctionsToExport-nyckel med värdet *
(alla), vilket innebär att alla funktioner som definierats i modulen exporteras av manifestet.
Type: | String[] |
Position: | Named |
Default value: | * (all) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Guid
Anger en unik identifierare för modulen. GUID kan användas för att skilja mellan moduler med samma namn.
Om du utelämnar den här parametern New-ModuleManifest
skapar du en GUID-nyckel i manifestet och genererar ett GUID för värdet.
Om du vill skapa ett nytt GUID i PowerShell skriver du [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
Anger Internetadressen för HELPInfo XML-filen för modulen. Ange en URI (Uniform Resource Identifier) som börjar med http eller https.
XML-filen HelpInfo stöder funktionen Uppdateringsbar hjälp som introducerades i PowerShell 3.0. Den innehåller information om platsen för nedladdningsbara hjälpfiler för modulen och versionsnumren för de senaste hjälpfilerna för varje språk som stöds.
Information om uppdateringsbar hjälp finns i about_Updatable_Help. Information om XML-filen HelpInfo finns i Stöd för uppdateringsbar hjälp.
Den här parametern introducerades i PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IconUri
Anger URL:en för en ikon för modulen. Den angivna ikonen visas på galleriets webbsida för modulen.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LicenseUri
Anger URL:en för licensvillkoren för modulen.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ModuleList
Listor alla moduler som ingår i den här modulen.
Ange varje modulnamn som en sträng eller som en hash-tabell med ModuleName - och ModuleVersion-nycklar . Hash-tabellen kan också ha en valfri GUID-nyckel . Du kan kombinera strängar och hash-tabeller i parametervärdet.
Den här nyckeln är utformad för att fungera som en modulinventering. Modulerna som anges i värdet för den här nyckeln bearbetas inte automatiskt.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ModuleVersion
Anger modulens version.
Den här parametern krävs inte, men en ModuleVersion-nyckel krävs i manifestet. Om du utelämnar den här parametern New-ModuleManifest
skapar en ModuleVersion-nyckel med värdet 1.0.
Type: | Version |
Position: | Named |
Default value: | 1.0 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NestedModules
Anger skriptmoduler (.psm1
) och binära moduler (.dll
) som importeras till modulens sessionstillstånd. Filerna i nyckeln NestedModules körs i den ordning som de visas i värdet.
Ange varje modulnamn som en sträng eller som en hash-tabell med ModuleName - och ModuleVersion-nycklar . Hash-tabellen kan också ha en valfri GUID-nyckel . Du kan kombinera strängar och hash-tabeller i parametervärdet.
Vanligtvis innehåller kapslade moduler kommandon som rotmodulen behöver för sin interna bearbetning.
Som standard exporteras kommandona i kapslade moduler från modulens sessionstillstånd till anroparens sessionstillstånd, men rotmodulen kan begränsa de kommandon som exporteras. Till exempel genom att använda ett Export-ModuleMember
kommando.
Kapslade moduler i modulsessionstillståndet är tillgängliga för rotmodulen, men de returneras inte av ett Get-Module
kommando i anroparens sessionstillstånd.
Skript (.ps1
) som visas i nyckeln NestedModules körs i modulens sessionstillstånd, inte i anroparens sessionstillstånd. Om du vill köra ett skript i anroparens sessionstillstånd anger du skriptfilens namn i värdet för nyckeln ScriptsToProcess i manifestet.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Skriver det resulterande modulmanifestet till konsolen och skapar en .psd1
fil. Som standard genererar denna cmdlet inga utdata.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Anger sökvägen och filnamnet för det nya modulmanifestet. Ange en sökväg och ett filnamn med filnamnstillägget .psd1
, till exempel $pshome\Modules\MyModule\MyModule.psd1
. Parametern Path krävs.
Om du anger sökvägen till en befintlig fil New-ModuleManifest
ersätter den utan varning såvida inte filen har det skrivskyddade attributet.
Manifestet ska finnas i modulens katalog och manifestfilens namn ska vara samma som modulkatalognamnet, men med filnamnstillägget .psd1
.
Anteckning
Du kan inte använda variabler, till exempel $PSHOME
eller $HOME
, som svar på en uppmaning om ett parametervärde för Sökväg . Om du vill använda en variabel tar du med parametern Path i kommandot .
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PowerShellHostName
Anger namnet på Det PowerShell-värdprogram som krävs för modulen. Ange namnet på värdprogrammet, till exempel Windows PowerShell ISE-värd eller ConsoleHost. Jokertecken tillåts inte.
Om du vill hitta namnet på ett värdprogram skriver du i programmet $Host.Name
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PowerShellHostVersion
Anger den lägsta versionen av PowerShell-värdprogrammet som fungerar med modulen. Ange ett versionsnummer, till exempel 1.1.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PowerShellVersion
Anger den lägsta versionen av PowerShell som fungerar med den här modulen. Du kan till exempel ange 1.0, 2.0 eller 3.0 som parameterns värde.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PrivateData
Anger data som skickas till modulen när den importeras.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ProcessorArchitecture
Anger processorarkitekturen som modulen kräver. Giltiga värden är x86, AMD64, IA64, MSIL och None (okänd eller ospecificerad).
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
Anger URL:en för en webbsida om det här projektet.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReleaseNotes
Anger viktig information.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredAssemblies
Anger de sammansättningsfiler (.dll
) som modulen kräver. Ange sammansättningsfilnamnen.
PowerShell läser in de angivna sammansättningarna innan du uppdaterar typer eller format, importerar kapslade moduler eller importerar modulfilen som anges i värdet för RootModule-nyckeln .
Använd den här parametern om du vill visa en lista över alla sammansättningar som krävs i modulen, inklusive sammansättningar som måste läsas in för att uppdatera formaterings- eller typfiler som anges i nycklarna FormatsToProcess eller TypesToProcess , även om dessa sammansättningar också visas som binära moduler i nestedModules-nyckeln .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredModules
Anger moduler som måste vara i globalt sessionstillstånd. Om de moduler som krävs inte är i det globala sessionstillståndet importerar PowerShell dem. Om de moduler som krävs inte är tillgängliga misslyckas Import-Module
kommandot.
Ange varje modulnamn som en sträng eller som en hash-tabell med ModuleName - och ModuleVersion-nycklar . Hash-tabellen kan också ha en valfri GUID-nyckel . Du kan kombinera strängar och hash-tabeller i parametervärdet.
I PowerShell 2.0 Import-Module
importeras inte nödvändiga moduler automatiskt. Det verifierar bara att de moduler som krävs är i globalt sessionstillstånd.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RootModule
Anger den primära filen eller rotfilen för modulen. Ange filnamnet för ett skript (.ps1
), en skriptmodul (.psm1
), ett modulmanifest(.psd1
), en sammansättning (.dll
), en XML-fil för cmdlet-definition (.cdxml
) eller ett arbetsflöde (.xaml
). När modulen importeras importeras de medlemmar som exporteras från rotmodulfilen till anroparens sessionstillstånd.
Om en modul har en manifestfil och ingen rotfil har angetts i RootModule-nyckeln blir manifestet den primära filen för modulen och modulen blir en manifestmodul (ModuleType = Manifest).
Om du vill exportera medlemmar från .psm1
eller .dll
filer i en modul som har ett manifest måste namnen på dessa filer anges i värdena för RootModule - eller NestedModules-nycklarna i manifestet. Annars exporteras inte deras medlemmar.
Anteckning
I PowerShell 2.0 kallades den här nyckeln ModuleToProcess. Du kan använda parameternamnet RootModule eller dess ModuleToProcess-alias .
Type: | String |
Aliases: | ModuleToProcess |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ScriptsToProcess
Anger skriptfiler (.ps1
) som körs i anroparens sessionstillstånd när modulen importeras.
Du kan använda dessa skript för att förbereda en miljö, precis som du kan använda ett inloggningsskript.
Om du vill ange skript som körs i modulens sessionstillstånd använder du nyckeln NestedModules .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tags
Anger en matris med taggar.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypesToProcess
Anger vilka typfiler (.ps1xml
) som körs när modulen importeras.
När du importerar modulen kör PowerShell cmdleten Update-TypeData
med de angivna filerna.
Eftersom typfiler inte är begränsade påverkar de alla sessionstillstånd i sessionen.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VariablesToExport
Anger de variabler som modulen exporterar. Jokertecken tillåts.
Du kan använda den här parametern för att begränsa de variabler som exporteras av modulen. Det kan ta bort variabler från listan över exporterade variabler, men det kan inte lägga till variabler i listan.
Om du utelämnar den här parametern New-ModuleManifest
skapar en VariablesToExport-nyckel med värdet *
(alla), vilket innebär att alla variabler som definierats i modulen exporteras av manifestet.
Type: | String[] |
Position: | Named |
Default value: | * (all) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-WhatIf
Visar vad som skulle hända om New-ModuleManifest
körs. Cmdleten körs inte.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
None
Du kan inte skicka indata till denna cmdlet.
Utdata
None or System.String
Som standard New-ModuleManifest
genererar inte några utdata. Men om du använder parametern PassThru genereras ett System.String-objekt som representerar modulmanifestet.
Kommentarer
New-ModuleManifest
skapar modulmanifestfiler (.psd1
) som kodats på följande sätt:
- PowerShell 6.0 som körs i Windows använder UTF16.
- PowerShell 6.0 som körs på icke-Windows-plattformar använder UTF8NoBOM.
- PowerShell 6.1 och senare som körs på Windows- och icke-Windows-plattformar använder UTF8NoBOM.
Modulmanifest är vanligtvis valfria. Ett modulmanifest krävs dock för att exportera en sammansättning som är installerad i den globala sammansättningscachen.
Om du vill lägga till eller ändra filer i $pshome\Modules
katalogen startar du PowerShell med alternativet Kör som administratör .
Anteckning
Från och med PowerShell 6.2 försöker PowerShell läsa in alla DLL-filer som anges i egenskapen FileList för modulmanifestet. Interna DLL:er finns i FileList kan inte läsas in i processen och felet ignoreras. Alla hanterade DLL:er läses in i processen. Det här beteendet togs bort i PowerShell 7.1.
I PowerShell 2.0 var många parametrar New-ModuleManifest
obligatoriska, även om de inte krävdes i ett modulmanifest. Från och med PowerShell 3.0 är endast parametern Path obligatorisk.
En session är en instans av PowerShell-körningsmiljön. En session kan ha ett eller flera sessionstillstånd. Som standard har en session bara ett globalt sessionstillstånd, men varje importerad modul har sitt eget sessionstillstånd. Sessionstillstånd tillåter att kommandona i en modul körs utan att påverka det globala sessionstillståndet.
Anroparens sessionstillstånd är sessionstillståndet som en modul importeras till. Vanligtvis refererar den till det globala sessionstillståndet, men när en modul importerar kapslade moduler är anroparen modulen och anroparens sessionstillstånd är modulens sessionstillstånd.