New-ModuleManifest
Erstellt ein neues 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>]
[-Prerelease <String>]
[-RequireLicenseAcceptance]
[-ExternalModuleDependencies <String[]>]
[-HelpInfoUri <String>]
[-PassThru]
[-DefaultCommandPrefix <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Cmdlet New-ModuleManifest
erstellt eine neue Modulmanifestdatei (.psd1
), füllt ihre Werte auf und speichert die Manifestdatei im angegebenen Pfad.
Modulautoren können dieses Cmdlet verwenden, um ein Manifest für ihr Modul zu erstellen. Ein Modulmanifest ist eine .psd1
Datei, die eine Hashtabelle enthält. Die Schlüssel und Werte in der Hashtabelle beschreiben den Inhalt und die Attribute des Moduls, definieren die Voraussetzungen und bestimmen, wie die Komponenten verarbeitet werden. Manifeste sind für ein Modul nicht erforderlich.
New-ModuleManifest
erstellt ein Manifest, das alle häufig verwendeten Manifestschlüssel enthält, sodass Sie die Standardausgabe als Manifestvorlage verwenden können. Um Werte hinzuzufügen oder zu ändern oder Modulschlüssel hinzuzufügen, die von diesem Cmdlet nicht hinzugefügt werden, öffnen Sie die resultierende Datei in einem Text-Editor.
Jeder Parameter mit Ausnahme von Path und PassThruerstellt einen Modulmanifestschlüssel und dessen Wert.
In einem Modulmanifest ist nur der ModuleVersion Schlüssel erforderlich. Sofern nicht in der Parameterbeschreibung angegeben, erstellt New-ModuleManifest
, wenn Sie einen Parameter aus dem Befehl weglassen, eine Kommentarzeichenfolge für den zugeordneten Wert, der keine Auswirkung hat.
In PowerShell 2.0 werden Sie New-ModuleManifest
aufgefordert, die Werte häufig verwendeter Parameter anzugeben, die nicht im Befehl angegeben sind, zusätzlich zu den erforderlichen Parameterwerten. Ab PowerShell 3.0 werden New-ModuleManifest
Aufforderungen nur angezeigt, wenn erforderliche Parameterwerte nicht angegeben werden.
Wenn Sie planen, Ihr Modul im PowerShell-Katalog zu veröffentlichen, muss das Manifest Werte für bestimmte Eigenschaften enthalten. Weitere Informationen finden Sie unter Erforderliche Metadaten für Elemente, die im PowerShell-Katalog in der Katalogdokumentation veröffentlicht wurden.
Beispiele
Beispiel 1 : Erstellen eines neuen Modulmanifests
In diesem Beispiel wird ein neues Modulmanifest in der Datei erstellt, das durch den parameter Path angegeben wird. Der PassThru Parameter sendet die Ausgabe an die Pipeline und an die Datei.
Die Ausgabe zeigt die Standardwerte aller Schlüssel im Manifest an.
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 = ''
}
Beispiel 2 : Erstellen eines neuen Manifests mit einigen vorab aufgefüllten Einstellungen
In diesem Beispiel wird ein neues Modulmanifest erstellt. Es verwendet die parameter PowerShellVersion und AliasesToExport Parameter, um den entsprechenden Manifestschlüsseln Werte hinzuzufügen.
$moduleSettings = @{
PowerShellVersion = 1.0
Path = 'C:\ps-test\ManifestTest.psd1'
AliasesToExport = @(
'JKBC'
'DRC'
'TAC'
)
}
New-ModuleManifest @moduleSettings
Beispiel 3 : Erstellen eines Manifests, das andere Module erfordert
In diesem Beispiel wird ein Zeichenfolgenformat verwendet, um den Namen des BitsTransfer Moduls und das Hashtabellenformat anzugeben, um den Namen, eine GUID-und eine Version des PSScheduledJob Moduls anzugeben.
$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 diesem Beispiel wird gezeigt, wie Sie die Zeichenfolgen- und Hashtabellenformate der ModuleList-, RequiredModules-und NestedModules Parameter verwenden. Sie können Zeichenfolgen und Hashtabellen im gleichen Parameterwert kombinieren.
Beispiel 4 – Erstellen eines Manifests, das aktualisierbare Hilfe unterstützt
In diesem Beispiel wird der HelpInfoUri Parameter verwendet, um einen HelpInfoUri- Schlüssel im Modulmanifest zu erstellen. Der Wert des Parameters und des Schlüssels muss mit http- oder https-beginnen. Dieser Wert teilt dem aktualisierbaren Hilfesystem mit, wo die aktualisierbare Hilfeinformationsdatei für das Modul zu finden ist.
$moduleSettings = @{
HelpInfoUri = 'http://https://go.microsoft.com/fwlink/?LinkID=603'
Path = 'C:\ps-test\ManifestTest.psd1'
}
New-ModuleManifest @moduleSettings
Informationen zur aktualisierbaren Hilfe finden Sie unter about_Updatable_Help. Informationen zur XML-Datei "HelpInfo" finden Sie unter Unterstützende aktualisierbare Hilfe.
Beispiel 5 – Abrufen von Modulinformationen
In diesem Beispiel wird gezeigt, wie Die Konfigurationswerte eines Moduls abgerufen werden. Die Werte im Modulmanifest werden in den Werten der Eigenschaften des Modulobjekts wiedergegeben.
Das cmdlet Get-Module
wird verwendet, um das Microsoft.PowerShell.Diagnostics Modul mithilfe des Parameters List abzurufen. Der Befehl sendet das Modul an das cmdlet Format-List
, um alle Eigenschaften und Werte des Modulobjekts anzuzeigen.
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}
Parameter
-AliasesToExport
Gibt die Aliase an, die das Modul exportiert. Wildcards sind zulässig.
Sie können diesen Parameter verwenden, um die Aliase einzuschränken, die vom Modul exportiert werden. Sie kann Aliase aus der Liste der exportierten Aliase entfernen, der Liste jedoch keine Aliase hinzufügen.
Wenn Sie diesen Parameter weglassen, erstellt New-ModuleManifest
einen AliasesToExport- Schlüssel mit dem Wert *
(alle), was bedeutet, dass alle im Modul definierten Aliase vom Manifest exportiert werden.
Typ: | String[] |
Position: | Named |
Standardwert: | * (all) |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Author
Gibt den Modulautor an.
Wenn Sie diesen Parameter weglassen, erstellt New-ModuleManifest
einen Author Schlüssel mit dem Namen des aktuellen Benutzers.
Typ: | String |
Position: | Named |
Standardwert: | Name of the current user |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ClrVersion
Gibt die Mindestversion der Common Language Runtime (CLR) von Microsoft .NET Framework an, die das Modul benötigt.
Anmerkung
Diese Einstellung ist nur für die PowerShell Desktop Edition gültig, z. B. Windows PowerShell 5.1, und gilt nur für .NET Framework-Versionen unter 4.5. Diese Anforderung hat keine Auswirkung auf neuere Versionen von PowerShell oder .NET Framework.
Typ: | Version |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-CmdletsToExport
Gibt die Cmdlets an, die das Modul exportiert. Wildcards sind zulässig.
Sie können diesen Parameter verwenden, um die cmdlets einzuschränken, die vom Modul exportiert werden. Sie kann Cmdlets aus der Liste der exportierten Cmdlets entfernen, der Liste jedoch keine Cmdlets hinzufügen.
Wenn Sie diesen Parameter weglassen, erstellt New-ModuleManifest
einen CmdletsToExport- Schlüssel mit dem Wert *
(alle), was bedeutet, dass alle im Modul definierten Cmdlets vom Manifest exportiert werden.
Typ: | String[] |
Position: | Named |
Standardwert: | * (all) |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-CompanyName
Identifiziert das Unternehmen oder anbieter, das das Modul erstellt hat.
Wenn Sie diesen Parameter weglassen, erstellt New-ModuleManifest
einen CompanyName Schlüssel mit dem Wert "Unknown".
Typ: | String |
Position: | Named |
Standardwert: | "Unknown" |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-CompatiblePSEditions
Gibt die kompatiblen PSEditions des Moduls an. Informationen zu PSEdition finden Sie unter Modules with compatible PowerShell Editions.
Typ: | String[] |
Zulässige Werte: | Desktop, Core |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Copyright
Gibt eine Copyright-Anweisung für das Modul an.
Wenn Sie diesen Parameter weglassen, erstellt New-ModuleManifest
einen Copyright Schlüssel mit dem Wert (c) <year> <username>. All rights reserved.
, wobei <year>
das aktuelle Jahr ist und <username>
der Wert des schlüssels Author ist.
Typ: | String |
Position: | Named |
Standardwert: | (c) <year> <username>. All rights reserved. |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DefaultCommandPrefix
Gibt ein Präfix an, das den Substantiven aller Befehle im Modul vorangestellt wird, wenn sie in eine Sitzung importiert werden. Geben Sie eine Präfixzeichenfolge ein. Präfixe verhindern Befehlsnamenkonflikte in der Sitzung eines Benutzers.
Modulbenutzer können dieses Präfix überschreiben, indem Sie den Parameter Präfix des Cmdlets Import-Module
angeben.
Dieser Parameter wurde in PowerShell 3.0 eingeführt.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Description
Beschreibt den Inhalt des Moduls.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DotNetFrameworkVersion
Gibt die Mindestversion von Microsoft .NET Framework an, die das Modul benötigt.
Anmerkung
Diese Einstellung ist nur für die PowerShell Desktop Edition gültig, z. B. Windows PowerShell 5.1, und gilt nur für .NET Framework-Versionen unter 4.5. Diese Anforderung hat keine Auswirkung auf neuere Versionen von PowerShell oder .NET Framework.
Typ: | Version |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DscResourcesToExport
Gibt die DSC-Ressourcen (Desired State Configuration) an, die vom Modul exportiert werden. Wildcards sind zulässig.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-ExternalModuleDependencies
Eine Liste der externen Module, von denen dieses Modul abhängt.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-FileList
Gibt alle Elemente an, die im Modul enthalten sind.
Dieser Schlüssel dient als Modulbestand. Die im Schlüssel aufgeführten Dateien werden beim Veröffentlichen des Moduls eingeschlossen, aber alle Funktionen werden nicht automatisch exportiert.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-FormatsToProcess
Gibt die Formatierungsdateien (.ps1xml
) an, die beim Importieren des Moduls ausgeführt werden.
Wenn Sie ein Modul importieren, führt PowerShell das cmdlet Update-FormatData
mit den angegebenen Dateien aus.
Da Formatierungsdateien nicht auf den Bereich festgelegt sind, wirken sie sich auf alle Sitzungszustände in der Sitzung aus.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-FunctionsToExport
Gibt die Funktionen an, die das Modul exportiert. Wildcards sind zulässig.
Sie können diesen Parameter verwenden, um die Funktionen einzuschränken, die vom Modul exportiert werden. Sie kann Funktionen aus der Liste der exportierten Aliase entfernen, aber sie kann der Liste keine Funktionen hinzufügen.
Wenn Sie diesen Parameter weglassen, erstellt New-ModuleManifest
einen FunctionsToExport- Schlüssel mit dem Wert *
(alle), was bedeutet, dass alle im Modul definierten Funktionen vom Manifest exportiert werden.
Typ: | String[] |
Position: | Named |
Standardwert: | * (all) |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-Guid
Gibt einen eindeutigen Bezeichner für das Modul an. Die GUID- kann verwendet werden, um zwischen Modulen mit demselben Namen zu unterscheiden.
Wenn Sie diesen Parameter weglassen, erstellt New-ModuleManifest
eine GUID Schlüssel im Manifest und generiert eine GUID- für den Wert.
Um eine neue GUID- in PowerShell zu erstellen, geben Sie [guid]::NewGuid()
ein.
Typ: | Guid |
Position: | Named |
Standardwert: | A GUID generated for the module |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-HelpInfoUri
Gibt die Internetadresse der HelpInfo-XML-Datei für das Modul an. Geben Sie einen URI (Uniform Resource Identifier) ein, der mit http- oder https-beginnt.
Die HelpInfo-XML-Datei unterstützt das feature "Aktualisierbare Hilfe", das in PowerShell 3.0 eingeführt wurde. Sie enthält Informationen zum Speicherort herunterladbarer Hilfedateien für das Modul und die Versionsnummern der neuesten Hilfedateien für jedes unterstützte Gebietsschema.
Informationen zur aktualisierbaren Hilfe finden Sie unter about_Updatable_Help. Informationen zur XML-Datei "HelpInfo" finden Sie unter Unterstützende aktualisierbare Hilfe.
Dieser Parameter wurde in PowerShell 3.0 eingeführt.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-IconUri
Gibt die URL eines Symbols für das Modul an. Das angegebene Symbol wird auf der Katalogwebseite für das Modul angezeigt.
Typ: | Uri |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-LicenseUri
Gibt die URL der Lizenzierungsbedingungen für das Modul an.
Typ: | Uri |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ModuleList
Listet alle Module auf, die in diesem Modul enthalten sind.
Geben Sie jeden Modulnamen als Zeichenfolge oder als Hashtabelle mit ModuleName- und ModuleVersion--Schlüssel ein. Die Hashtabelle kann auch über einen optionalen GUID- Schlüssel verfügen. Sie können Zeichenfolgen und Hashtabellen im Parameterwert kombinieren.
Dieser Schlüssel dient als Modulbestand. Die Module, die im Wert dieses Schlüssels aufgeführt sind, werden nicht automatisch verarbeitet.
Typ: | Object[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ModuleVersion
Gibt die Version des Moduls an.
Dieser Parameter ist nicht erforderlich, aber im Manifest ist ein ModuleVersion- Schlüssel erforderlich. Wenn Sie diesen Parameter weglassen, erstellt New-ModuleManifest
einen ModuleVersion Schlüssel mit dem Wert 1,0.
Typ: | Version |
Position: | Named |
Standardwert: | 1.0 |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-NestedModules
Gibt Skriptmodule (.psm1
) und binäre Module (.dll
) an, die in den Sitzungszustand des Moduls importiert werden. Die Dateien in den NestedModules Schlüssel werden in der Reihenfolge ausgeführt, in der sie im Wert aufgeführt sind.
Geben Sie jeden Modulnamen als Zeichenfolge oder als Hashtabelle mit ModuleName- und ModuleVersion--Schlüssel ein. Die Hashtabelle kann auch über einen optionalen GUID- Schlüssel verfügen. Sie können Zeichenfolgen und Hashtabellen im Parameterwert kombinieren.
In der Regel enthalten geschachtelte Module Befehle, die das Stammmodul für die interne Verarbeitung benötigt.
Standardmäßig werden die Befehle in geschachtelten Modulen aus dem Sitzungszustand des Moduls in den Sitzungszustand des Aufrufers exportiert, das Stammmodul kann jedoch die exportierten Befehle einschränken. Verwenden Sie z. B. einen Export-ModuleMember
Befehl.
Geschachtelte Module im Modulsitzungsstatus sind für das Stammmodul verfügbar, werden jedoch nicht von einem Get-Module
Befehl im Sitzungszustand des Aufrufers zurückgegeben.
Skripts (.ps1
), die in den NestedModules aufgeführt sind, Schlüssel werden im Sitzungszustand des Moduls ausgeführt, nicht im Sitzungszustand des Aufrufers. Um ein Skript im Sitzungszustand des Aufrufers auszuführen, listen Sie den Namen der Skriptdatei im Wert des ScriptsToProcess- Schlüssels im Manifest auf.
Typ: | Object[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-PassThru
Schreibt das resultierende Modulmanifest in die Konsole und erstellt eine .psd1
Datei. Standardmäßig generiert dieses Cmdlet keine Ausgabe.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Path
Gibt den Pfad und Dateinamen des neuen Modulmanifests an. Geben Sie einen Pfad und Dateinamen mit einer .psd1
Dateinamenerweiterung ein, z. B. $pshome\Modules\MyModule\MyModule.psd1
. Der parameter Path ist erforderlich.
Wenn Sie den Pfad zu einer vorhandenen Datei angeben, ersetzt New-ModuleManifest
die Datei ohne Warnung, es sei denn, die Datei verfügt über das schreibgeschützte Attribut.
Das Manifest sollte sich im Verzeichnis des Moduls befinden, und der Manifestdateiname sollte mit dem Modulverzeichnisnamen identisch sein, jedoch mit einer .psd1
Dateinamenerweiterung.
Anmerkung
Variablen wie $PSHOME
oder $HOME
können nicht als Reaktion auf eine Aufforderung für einen Path-Parameterwert verwendet werden. Um eine Variable zu verwenden, schließen Sie den Path-Parameter in den Befehl ein.
Typ: | String |
Position: | 1 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-PowerShellHostName
Gibt den Namen des PowerShell-Hostprogramms an, das das Modul benötigt. Geben Sie den Namen des Hostprogramms ein, z. B. Windows PowerShell ISE Host oder ConsoleHost-. Wildcards sind nicht zulässig.
Um den Namen eines Hostprogramms zu finden, geben Sie im Programm $Host.Name
ein.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-PowerShellHostVersion
Gibt die Mindestversion des PowerShell-Hostprogramms an, das mit dem Modul funktioniert. Geben Sie eine Versionsnummer ein, z. B. 1.1.
Typ: | Version |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-PowerShellVersion
Gibt die Mindestversion von PowerShell an, die mit diesem Modul funktioniert. Sie können z. B. "1.0", "2.0" oder "3.0" als Wert des Parameters eingeben. Er muss im X.X-Format vorliegen. Wenn Sie z. B. 5
übermitteln, löst PowerShell einen Fehler aus.
Typ: | Version |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Prerelease
Vorabversionenszeichenfolge dieses Moduls. Durch Hinzufügen einer Prerelease-Zeichenfolge wird das Modul als Vorabversion identifiziert. Wenn das Modul im PowerShell-Katalog veröffentlicht wird, werden diese Daten verwendet, um Vorabversionen von Paketen zu identifizieren. Um Vorabversionen von Paketen aus dem Katalog zu erwerben, müssen Sie den parameter AllowPrerelease mit den PowerShellGet-Befehlen Find-Module
, Install-Module
, Update-Module
und Save-Module
verwenden.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-PrivateData
Gibt Daten an, die beim Importieren an das Modul übergeben werden.
Typ: | Object |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ProcessorArchitecture
Gibt die Prozessorarchitektur an, die das Modul benötigt. Gültige Werte sind x86, AMD64, IA64, MSIL und None (unbekannt oder nicht angegeben).
Typ: | ProcessorArchitecture |
Zulässige Werte: | None, MSIL, X86, IA64, Amd64, Arm |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ProjectUri
Gibt die URL einer Webseite zu diesem Projekt an.
Typ: | Uri |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ReleaseNotes
Gibt Versionshinweise an.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RequiredAssemblies
Gibt die Assemblydateien (.dll
) an, die das Modul benötigt. Geben Sie die Assemblydateinamen ein.
PowerShell lädt die angegebenen Assemblys, bevor Sie Typen oder Formate aktualisieren, geschachtelte Module importieren oder die Moduldatei importieren, die im Wert des RootModule-schlüssels angegeben ist.
Verwenden Sie diesen Parameter, um alle Assemblys auflisten, die das Modul benötigt, einschließlich Assemblys, die geladen werden müssen, um alle Formatierungs- oder Typdateien zu aktualisieren, die im FormatsToProcess- oder TypesToProcess- Schlüssel aufgelistet sind, auch wenn diese Assemblys auch als Binärmodule im NestedModules Schlüssel aufgeführt sind.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RequiredModules
Gibt Module an, die sich im globalen Sitzungszustand befinden müssen. Wenn sich die erforderlichen Module nicht im globalen Sitzungszustand befinden, importiert PowerShell sie. Wenn die erforderlichen Module nicht verfügbar sind, schlägt der Befehl Import-Module
fehl.
Geben Sie jeden Modulnamen als Zeichenfolge oder als Hashtabelle mit ModuleName- und ModuleVersion--Schlüssel ein. Die Hashtabelle kann auch über einen optionalen GUID- Schlüssel verfügen. Sie können Zeichenfolgen und Hashtabellen im Parameterwert kombinieren.
In PowerShell 2.0 importiert Import-Module
nicht automatisch erforderliche Module. Es wird lediglich überprüft, ob sich die erforderlichen Module im globalen Sitzungszustand befinden.
Typ: | Object[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RequireLicenseAcceptance
Kennzeichnen, um anzugeben, ob für das Modul explizite Benutzerakzeptanz für Installation, Aktualisierung oder Speicherung erforderlich ist.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RootModule
Gibt die primäre oder Stammdatei des Moduls an. Geben Sie den Dateinamen eines Skripts (.ps1
), ein Skriptmodul (.psm1
), ein Modulmanifest(.psd1
), eine Assembly (.dll
), eine XML-Cmdlet-Definitionsdatei (.cdxml
) oder einen Workflow (.xaml
) ein. Wenn das Modul importiert wird, werden die Elemente, die aus der Stammmoduldatei exportiert werden, in den Sitzungszustand des Aufrufers importiert.
Wenn ein Modul über eine Manifestdatei verfügt und keine Stammdatei im RootModule--Schlüssel festgelegt wurde, wird das Manifest zur primären Datei für das Modul, und das Modul wird zu einem Manifestmodul (ModuleType = Manifest).
Um Elemente aus .psm1
- oder .dll
Dateien in einem Modul mit einem Manifest zu exportieren, müssen die Namen dieser Dateien in den Werten der RootModule- oder NestedModules Schlüssel im Manifest angegeben werden. Andernfalls werden ihre Mitglieder nicht exportiert.
Anmerkung
In PowerShell 2.0 wurde dieser Schlüssel ModuleToProcess-aufgerufen. Sie können den RootModule Parameternamen oder dessen ModuleToProcess- Alias verwenden.
Typ: | String |
Aliase: | ModuleToProcess |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ScriptsToProcess
Gibt Skriptdateien (.ps1
) an, die beim Importieren des Moduls im Sitzungszustand des Aufrufers ausgeführt werden.
Sie können diese Skripts verwenden, um eine Umgebung vorzubereiten, genauso wie Sie ein Anmeldeskript verwenden können.
Um Skripts anzugeben, die im Sitzungszustand des Moduls ausgeführt werden, verwenden Sie die NestedModules Schlüssel.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Tags
Gibt ein Array von Tags an.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-TypesToProcess
Gibt die Typdateien (.ps1xml
) an, die beim Importieren des Moduls ausgeführt werden.
Wenn Sie das Modul importieren, führt PowerShell das cmdlet Update-TypeData
mit den angegebenen Dateien aus.
Da Typdateien nicht auf den Bereich festgelegt sind, wirken sie sich auf alle Sitzungszustände in der Sitzung aus.
Typ: | String[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-VariablesToExport
Gibt die Variablen an, die das Modul exportiert. Wildcards sind zulässig.
Sie können diesen Parameter verwenden, um die Variablen einzuschränken, die vom Modul exportiert werden. Sie kann Variablen aus der Liste der exportierten Variablen entfernen, aber sie kann der Liste keine Variablen hinzufügen.
Wenn Sie diesen Parameter weglassen, erstellt New-ModuleManifest
einen VariablesToExport Schlüssel mit dem Wert *
(alle), was bedeutet, dass alle im Modul definierten Variablen vom Manifest exportiert werden.
Typ: | String[] |
Position: | Named |
Standardwert: | * (all) |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | True |
-WhatIf
Zeigt, was passiert, wenn New-ModuleManifest
ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
None
Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.
Wenn Sie den PassThru--Parameter verwenden, gibt dieses Cmdlet eine Zeichenfolge zurück, die das Modulmanifest darstellt.
Hinweise
New-ModuleManifest
, die auf Windows- und Nicht-Windows-Plattformen ausgeführt werden, erstellt Modulmanifestdateien (.psd1
), die als UTF8NoBOM-codiert sind.
Modulmanifeste sind in der Regel optional. Ein Modulmanifest ist jedoch erforderlich, um eine Assembly zu exportieren, die im globalen Assemblycache installiert ist.
Um Dateien im verzeichnis $pshome\Modules
hinzuzufügen oder zu ändern, starten Sie PowerShell mit der Option Als Administrator ausführen.
Anmerkung
Ab PowerShell 6.2 versucht PowerShell, alle DLL-Dateien zu laden, die in FileList Eigenschaft des Modulmanifests aufgeführt sind. Systemeigene DLLs befinden sich in der FileList- nicht im Prozess geladen werden, und der Fehler wird ignoriert. Alle verwalteten DLLs werden im Prozess geladen. Dieses Verhalten wurde in PowerShell 7.1 entfernt.
In PowerShell 2.0 waren viele Parameter von New-ModuleManifest
obligatorisch, obwohl sie in einem Modulmanifest nicht erforderlich waren. Ab PowerShell 3.0 ist nur der parameter Path obligatorisch.
Eine Sitzung ist eine Instanz der PowerShell-Ausführungsumgebung. Eine Sitzung kann einen oder mehrere Sitzungszustände aufweisen. Standardmäßig verfügt eine Sitzung nur über einen globalen Sitzungsstatus, aber jedes importierte Modul verfügt über einen eigenen Sitzungsstatus. Sitzungszustände ermöglichen die Ausführung der Befehle in einem Modul, ohne dass sich dies auf den globalen Sitzungszustand auswirkt.
Der Sitzungsstatus des Aufrufers ist der Sitzungszustand, in den ein Modul importiert wird. In der Regel bezieht es sich auf den globalen Sitzungszustand, aber wenn ein Modul geschachtelte Module importiert, ist der Aufrufer das Modul, und der Sitzungszustand des Aufrufers ist der Sitzungszustand des Moduls.