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) som 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 cmdleten 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 inte anger någon parameter i parameterbeskrivningen skapar du en kommentarssträng för det associerade värdet som inte har någon effekt om du utelämnar en parameter från kommandot New-ModuleManifest .

I PowerShell 2.0 New-ModuleManifest uppmanas du att ange värdena för vanliga parametrar som inte anges i kommandot, förutom obligatoriska parametervärden. Från och med PowerShell 3.0 New-ModuleManifest uppmanas endast när obligatoriska parametervärden inte anges.

Om du planerar att publicera modulen i PowerShell-galleriet måste manifestet innehålla värden för vissa egenskaper. Mer information finns i Nödvändiga metadata för objekt som publicerats i PowerShell-galleriet i galleridokumentationen.

Exempel

Exempel 1 – Skapa ett nytt modulmanifest

Det här exemplet skapar 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 talar om för updatable-hjälpsystemet var hjälpinformationsfilen för HelpInfo XML kan uppdateras 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 parametern List . 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. Den 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 definieras 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 redigeringsnyckel 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 COMMON Language Runtime (CLR) för Microsoft .NET Framework som modulen kräver.

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 går inte att lägga till cmdletar i listan.

Om du utelämnar den här parametern New-ModuleManifest skapar du 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

Anger en copyright-instruktion 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 konflikter med kommandonamn i en användares session.

Modulanvändare kan åsidosätta det här prefixet genom att ange parametern Prefix för cmdleten Import-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 versionen 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 formatering av filer 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 går inte att lägga till funktioner i listan.

Om du utelämnar den här parametern New-ModuleManifest skapar du en FunctionsToExport-nyckel med värdet * (alla), vilket innebär att alla funktioner som definieras 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.

HelpInfo XML-filen stöder funktionen Updatable Help 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

Visar en lista över 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 du 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 nestedModules-nyckeln körs i den ordning som de anges 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.

Kapslade moduler innehåller vanligtvis 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 den exporterar. Till exempel med hjälp av 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 anges i nestedModules-nyckeln 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 ScriptsToProcess-nyckeln 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 den här cmdleten 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 du filen utan varning om 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 fråga om parametervärdet 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 modulen kräver. 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 $Host.Namei programmet .

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 den processorarkitektur 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 det globala sessionstillståndet. 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 Import-Module misslyckas 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 det globala sessionstillståndet.

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

-RootModule

Anger modulens primära fil eller rotfil. Ange filnamnet för ett skript (.ps1), en skriptmodul (.psm1), ett modulmanifest(.psd1), en sammansättning (.dll), en CMDLET-definitions-XML-fil (.cdxml) eller ett arbetsflöde (.xaml). När modulen importeras importeras medlemmarna 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. Den kan ta bort variabler från listan över exporterade variabler, men den kan inte lägga till variabler i listan.

Om du utelämnar den här parametern New-ModuleManifest skapar du 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 den här cmdleten.

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 kodas 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 för 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.