about_Module_Manifests
Kurze Beschreibung
Beschreibt die Einstellungen und Methoden zum Schreiben von Modulmanifestdateien.
Lange Beschreibung
Ein Modulmanifest ist eine PowerShell-Datendatei (.psd1
), die eine Hashtabelle enthält.
Die Schlüsselwertpaare in der Hashtabelle beschreiben den Inhalt und die Attribute des Moduls, definieren die Voraussetzungen und steuern, wie die Komponenten verarbeitet werden.
Manifeste sind nicht erforderlich, um ein Modul zu laden, aber sie müssen ein Modul im PowerShell-Katalog veröffentlichen. Manifeste ermöglichen es Ihnen auch, die Implementierung Ihres Moduls von der Ladeweise zu trennen. Mit einem Manifest können Sie Anforderungen, Kompatibilität, Ladereihenfolge und vieles mehr definieren.
Wenn Sie ohne Angabe von Parametern für die Einstellungen des Manifests verwenden New-ModuleManifest
, schreibt sie eine minimale Manifestdatei. Der folgende Codeausschnitt zeigt Ihnen diese Standardausgabe, die aus Kommentaren und Abständen aus Platzgründen getippt wird:
@{
# RootModule = ''
ModuleVersion = '1.0'
# CompatiblePSEditions = @()
GUID = 'e7184b71-2527-469f-a50e-166b612dfb3b'
Author = 'username'
CompanyName = 'Unknown'
Copyright = '(c) 2022 username. All rights reserved.'
# Description = ''
# PowerShellVersion = ''
# PowerShellHostName = ''
# PowerShellHostVersion = ''
# DotNetFrameworkVersion = ''
# CLRVersion = ''
# ProcessorArchitecture = ''
# RequiredModules = @()
# RequiredAssemblies = @()
# ScriptsToProcess = @()
# TypesToProcess = @()
# FormatsToProcess = @()
# NestedModules = @()
FunctionsToExport = @()
CmdletsToExport = @()
VariablesToExport = '*'
AliasesToExport = @()
# DscResourcesToExport = @()
# ModuleList = @()
# FileList = @()
PrivateData = @{
PSData = @{
# Tags = @()
# LicenseUri = ''
# ProjectUri = ''
# IconUri = ''
# ReleaseNotes = ''
} # End of PSData hashtable
} # End of PrivateData hashtable
# HelpInfoURI = ''
# DefaultCommandPrefix = ''
}
Sie können Test-ModuleManifest
ein Modulmanifest überprüfen, bevor Sie Ihr Modul veröffentlichen. Test-ModuleManifest
gibt einen Fehler zurück, wenn das Manifest ungültig ist oder das Modul nicht in die aktuelle Sitzung importiert werden kann, da die Sitzung die im Manifest festgelegten Anforderungen nicht erfüllt.
Verwenden von Skriptcode in einem Modulmanifest
Die In der Manifestdatei zugewiesenen Werte können Ausdrücke sein, die von PowerShell ausgewertet werden. Auf diese Weise können Sie Pfade erstellen und werte basierend auf Variablen bedingt zuweisen.
Wenn Sie ein Modul mithilfe Import-Module
importieren, wird das Manifest im Restricted
Sprachmodus ausgewertet. Restricted
der Modus beschränkt die Befehle und Variablen, die verwendet werden können.
Zulässige Befehle
Import-LocalizedData
ConvertFrom-StringData
Write-Host
Out-Host
Join-Path
Zulässige Variablen
$PSScriptRoot
$PSEdition
$EnabledExperimentalFeatures
- Beliebige Umgebungsvariablen, z. B.
$ENV:TEMP
Weitere Informationen finden Sie unter about_Language_Modes.
Manifesteinstellungen
In den folgenden Abschnitten werden alle verfügbaren Einstellungen in einem Modulmanifest und ihre Verwendung beschrieben. Sie beginnen mit einer Übersicht über die Einstellung und folgen einer Matrix, die folgendes auflistet:
- Eingabetyp: Der Objekttyp, den Sie für diese Einstellung im Manifest angeben können.
- Erforderlich: Wenn dieser Wert lautet
Yes
, ist die Einstellung erforderlich, um das Modul zu importieren und in der PowerShell-Katalog zu veröffentlichen. Wenn dies der Grund istNo
, ist dies für beides erforderlich. Wenn dies der Grund istPowerShell Gallery
, ist die Veröffentlichung nur für die PowerShell-Katalog erforderlich. - Wert, wenn nicht festgelegt: Der Wert, den diese Einstellung beim Importieren und nicht explizit festgelegt hat.
- Akzeptiert Platzhalter: Gibt an, ob diese Einstellung einen Platzhalterwert annehmen kann.
RootModule
Diese Einstellung gibt die primäre oder Stammdatei des Moduls an. Wenn das Modul importiert wird, werden die von der Stammmoduldatei exportierten Elemente in den Sitzungszustand des Aufrufers importiert.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Der Wert muss der Pfad zu einem der folgenden Werte sein:
- ein Skript (
.ps1
) - ein Skriptmodul (
.psm1
) - Modulmanifest (
.psd1
) - eine Assembly (
.dll
) - EINE XML-Cmdlet-Definitionsdatei (
.cdxml
) - ein Windows PowerShell 5.1-Workflow (
.xaml
)
Der Pfad sollte relativ zum Modulmanifest sein.
Wenn ein Modulmanifest 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). Wenn RootModule definiert ist, wird der Typ des Moduls aus der verwendeten Dateierweiterung bestimmt:
- ein oder
.psm1
eine.ps1
Datei macht den Modultyp Script - eine
.psd1
Datei macht das Modultypmanifest - eine
.dll
Datei macht den Modultyp Binary - eine
.cdxml
Datei macht den Modultyp CIM - eine
.xaml
Datei macht den Modultyp "Workflow"
Standardmäßig werden alle Modulmmber im RootModule exportiert.
Tipp
Die Ladegeschwindigkeit des Moduls unterscheidet sich zwischen Binären, Skript- und CIM-Modultypen . Weitere Informationen finden Sie unter Überlegungen zur Erstellung von PowerShell-Modulen
Der ModuleType dieses Moduls ist z. B. "Manifest". Die einzigen Module, die dieses Modul exportieren kann, sind diejenigen, die in den modulen definiert sind, die mit der Einstellung "NestedModules " angegeben sind.
@{
RootModule = ''
}
Hinweis
Diese Einstellung kann auch in Modulmanifesten als ModuleToProcess angegeben werden. Während dieser Name für diese Einstellung gültig ist, empfiehlt es sich, stattdessen RootModule zu verwenden.
ModuleVersion
Diese Einstellung gibt die Version des Moduls an. Wenn mehrere Versionen eines Moduls auf einem System vorhanden sind, wird die neueste Version beim Ausführen Import-Module
standardmäßig geladen.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | Ja |
Wert, wenn nicht festgelegt | Keine |
Akzeptiert Wildcards | No |
Der Wert dieser Einstellung muss beim Ausführen Import-Module
in wandelbar System.Version
sein.
Dieses Manifest deklariert beispielsweise die Version des Moduls als '1.2.3'
.
@{
ModuleVersion = '1.2.3'
}
Wenn Sie das Modul importieren und die Version-Eigenschaft überprüfen, beachten Sie, dass es sich um ein System.Version-Objekt und nicht um eine Zeichenfolge handelt:
$ExampleModule = Import-Module example.psd1
$ExampleModule.Version
$ExampleModule.Version.GetType().Name
Major Minor Build Revision
----- ----- ----- --------
1 2 3 -1
Version
CompatiblePSEditions
Diese Einstellung gibt die kompatiblen PSEditionen des Moduls an.
Wert | |
---|---|
Eingabetyp | System.String[] |
Akzeptierte Werte | Desktop , Core |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Wenn der Wert dieser Einstellung lautet $null
, kann das Modul unabhängig von der PSEdition der Sitzung importiert werden. Sie können ihn auf einen oder mehrere der akzeptierten Werte festlegen.
Informationen zu PSEdition finden Sie unter:
Wenn diese Einstellung definiert ist, kann das Modul nur in eine Sitzung importiert werden, in der der Wert der $PSEdition
automatischen Variablen in der Einstellung enthalten ist.
Hinweis
Da die $PSEdition
automatische Variable in Version 5.1 eingeführt wurde, können ältere Versionen von Windows PowerShell kein Modul laden, das die Einstellung "CompatiblePSEditions " verwendet.
Sie können dieses Modulmanifest beispielsweise in einer beliebigen Sitzung importieren:
@{
# CompatiblePSEditions = @()
}
Mit der angegebenen Einstellung kann dieses Modul nur in Sitzungen importiert werden, in denen der Wert der $PSEdition
automatischen Variablen liegt Core
.
@{
CompatiblePSEditions = @('Core')
}
GUID
Diese Einstellung gibt einen eindeutigen Bezeichner für das Modul an. Die GUID wird verwendet, um zwischen Modulen mit demselben Namen zu unterscheiden.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | No |
Wert, wenn nicht festgelegt | 00000000-0000-0000-0000-000000000000 |
Akzeptiert Wildcards | No |
Der Wert dieser Einstellung muss beim Ausführen Import-Module
in wandelbar System.Guid
sein.
Achtung
Dies ist zwar keine erforderliche Einstellung, aber die Angabe einer GUID in einem Manifest hat keine Vorteile und kann zu Namenskonflikten für Module führen.
Sie können eine neue GUID erstellen, die in Ihrem Manifest verwendet werden soll:
New-Guid | Select-Object -ExpandProperty Guid
8456b025-2fa5-4034-ae47-e6305f3917ca
@{
GUID = '8456b025-2fa5-4034-ae47-e6305f3917ca'
}
Wenn auf dem Computer ein weiteres Modul mit demselben Namen vorhanden ist, können Sie das gewünschte Modul trotzdem importieren, indem Sie den vollqualifizierten Namen des Moduls angeben:
Import-Module -FullyQualifiedName @{
ModuleName = 'Example'
GUID = '8456b025-2fa5-4034-ae47-e6305f3917ca'
ModuleVersion = '1.0.0'
}
Autor
Diese Einstellung identifiziert den Modulautor.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | PowerShell-Katalog |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Dieses Manifest deklariert, dass der Autor des Moduls das Contoso Developer Experience Team ist.
@{
Author = 'Contoso Developer Experience Team'
}
CompanyName
Diese Einstellung gibt das Unternehmen oder den Anbieter an, das das Modul erstellt hat.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Dieses Manifest deklariert, dass das Modul von Contoso, Ltd erstellt wurde.
@{
CompanyName = 'Contoso, Ltd.'
}
Copyright
Diese Einstellung gibt eine Copyright-Anweisung für das Modul an.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Dieses Manifest erklärt eine Urheberrechtserklärung, die alle Rechte an Contoso, Ltd. ab 2022 reserviert.
@{
Copyright = '(c) 2022 Contoso, Ltd. All rights reserved.'
}
Beschreibung
Diese Einstellung beschreibt das Modul auf hoher Ebene.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | PowerShell-Katalog |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Dieses Manifest enthält eine kurze Beschreibung. Sie können auch eine hier-Zeichenfolge verwenden, um eine längere oder mehrzeilige Beschreibung zu schreiben.
@{
Description = 'Example commands to show a valid module manifest'
}
PowerShellVersion
Diese Einstellung gibt die Mindestversion von PowerShell an, die für dieses Modul erforderlich ist.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Der Wert dieser Einstellung muss beim Ausführen Import-Module
in wandelbar System.Version
sein.
Wenn diese Einstellung nicht festgelegt ist, schränkt PowerShell den Import des Moduls nicht basierend auf der aktuellen Version ein.
Dieses Manifest deklariert beispielsweise, dass das Modul mit jeder Version von PowerShell und Windows PowerShell kompatibel ist.
@{
# PowerShellVersion = ''
}
Wenn PowerShellVersion auf 7.2
"PowerShellVersion" festgelegt ist, können Sie das Modul nur in PowerShell 7.2 oder höher importieren.
@{
PowerShellVersion = '7.2'
}
PowerShellHostName
Diese Einstellung gibt den Namen des PowerShell-Hostprogramms an, das das Modul benötigt, z . B. Windows PowerShell ISE-Host oder ConsoleHost.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Sie finden den Namen des Hosts für eine Sitzung mit der $Host.Name
Anweisung. Sie können beispielsweise sehen, dass der Host für eine Remotesitzung ServerRemoteHost anstelle von ConsoleHost ist:
$Host.Name
Enter-PSSession -ComputerName localhost
$Host.Name
ConsoleHost
[localhost]: PS C:\Users\username\Documents> $Host.Name
ServerRemoteHost
Dieses Modul kann in einen beliebigen Host importiert werden.
@{
# PowerShellHostName = ''
}
Wenn PowerShellHostName auf ServerRemoteHost
"" festgelegt ist, können Sie das Modul nur in einer PowerShell-Remotesitzung importieren.
@{
PowerShellHostName = 'ServerRemoteHost'
}
PowerShellHostVersion
Diese Einstellung gibt die Mindestversion eines PowerShell-Hostprogramms an, das das Modul benötigt.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Der Wert dieser Einstellung muss beim Ausführen Import-Module
in wandelbar System.Version
sein.
Achtung
Obwohl diese Einstellung ohne die PowerShellHostName-Einstellung verwendet werden kann, erhöht sich die Wahrscheinlichkeit eines unerwarteten Verhaltens. Verwenden Sie diese Einstellung nur, wenn Sie auch die PowerShellHostName-Einstellung verwenden.
Beispielsweise kann das Modul dieses Manifests unabhängig von der Hostversion aus jeder PowerShell-Sitzung importiert werden, die in ConsoleHost ausgeführt wird.
@{
PowerShellHostName = 'ConsoleHost'
# PowerShellHostVersion = ''
}
Wenn powerShellHostVersion auf 5.1
festgelegt ist, können Sie das Modul nur aus jeder PowerShell-Sitzung importieren, die in ConsoleHost ausgeführt wird, wobei die Version des Hosts 5.1 oder höher ist.
@{
PowerShellHostName = 'ConsoleHost'
PowerShellHostVersion = '5.1'
}
DotNetFrameworkVersion
Diese Einstellung gibt die Mindestversion von Microsoft .NET Framework an, die das Modul benötigt.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | Nein |
Hinweis
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.
Der Wert dieser Einstellung muss beim Ausführen Import-Module
in wandelbar System.Version
sein.
Beispielsweise deklariert dieses Manifest, dass sein Modul in jeder PowerShell- oder Windows PowerShell-Sitzung importiert werden kann, unabhängig von der Version von Microsoft .NET Framework.
@{
# DotNetFrameworkVersion = ''
}
Wenn DotNetFrameworkVersion auf 4.0
"DotNetFrameworkVersion" festgelegt ist, können Sie dieses Modul in jeder Sitzung von Windows PowerShell importieren, in der die neueste verfügbare Version von Microsoft .NET Framework mindestens 4.0 ist. Sie können sie auch in jeder PowerShell-Sitzung importieren.
@{
DotNetFrameworkVersion = '4.0'
}
CLRVersion
Diese Einstellung gibt die Mindestversion der Common Language Runtime (CLR) von Microsoft .NET Framework an, die das Modul benötigt.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | Nein |
Hinweis
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.
Der Wert dieser Einstellung muss beim Ausführen Import-Module
in wandelbar System.Version
sein.
Beispielsweise deklariert dieses Manifest, dass sein Modul in jeder PowerShell- oder Windows PowerShell-Sitzung importiert werden kann, unabhängig von der Version der CLR-Version von Microsoft .NET Framework.
@{
# CLRVersion = ''
}
Wenn CLRVersion auf 4.0
"CLRVersion" festgelegt ist, können Sie dieses Modul in einer beliebigen Windows PowerShell-Sitzung importieren, in der die neueste verfügbare Version der CLR mindestens 4.0 ist. Sie können sie auch in jeder PowerShell-Sitzung importieren.
@{
CLRVersion = '4.0'
}
ProcessorArchitecture
Diese Einstellung gibt die Prozessorarchitektur an, die das Modul benötigt.
Wert | |
---|---|
Eingabetyp | System.String |
Akzeptierte Werte | None , , MSIL X86 , IA64 , , Amd64 Arm |
Erforderlich | No |
Wert, wenn nicht festgelegt | None |
Akzeptiert Wildcards | No |
Der Wert dieser Einstellung muss beim Ausführen Import-Module
in wandelbar System.Reflection.ProcessorArchitecture
sein.
Beispielsweise deklariert dieses Manifest, dass sein Modul in jeder Sitzung importiert werden kann, unabhängig von der Prozessorarchitektur des Systems.
@{
# ProcessorArchitecture = ''
}
Mit "ProcessorArchitecture" auf Amd64
"ProcessorArchitecture" können Sie dieses Modul nur in einer Sitzung importieren, die auf einem Computer mit einer passenden Architektur ausgeführt wird.
@{
ProcessorArchitecture = 'Amd64'
}
RequiredModules
Diese Einstellung 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 Import-Module
Befehl fehl.
Wert | |
---|---|
Eingabetyp | System.String[] , System.Collections.Hashtable[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Einträge für diese Einstellung können ein Modulname, eine vollständige Modulspezifikation oder ein Pfad zu einer Moduldatei sein.
Wenn der Wert ein Pfad ist, kann der Pfad vollqualifizierte oder relativ sein.
Wenn es sich bei dem Wert um einen Namen oder eine Modulspezifikation handelt, durchsucht PowerShell den PSModulePath nach dem angegebenen Modul.
Eine Modulspezifikation ist eine Hashtabelle mit den folgenden Schlüsseln.
ModuleName
- Erforderlich. Gibt den Namen des Moduls an.GUID
- Optional. Gibt die GUID des Moduls an.- Es ist auch erforderlich , mindestens eine der drei folgenden Tasten anzugeben. Die
RequiredVersion
Taste kann nicht mit denModuleVersion
Tasten verwendetMaximumVersion
werden. Sie können einen akzeptablen Versionsbereich für das Modul definieren, indem Sie die Schlüssel undMaximumVersion
dieModuleVersion
Tasten zusammen angeben.ModuleVersion
- Gibt eine mindestens akzeptable Version des Moduls an.RequiredVersion
- Gibt eine genaue, erforderliche Version des Moduls an.MaximumVersion
- Gibt die maximal zulässige Version des Moduls an.
Hinweis
RequiredVersion
wurde in Windows PowerShell 5.0 hinzugefügt.
MaximumVersion
wurde in Windows PowerShell 5.1 hinzugefügt.
Beispielsweise deklariert dieses Manifest, dass sein Modul keine anderen Module für seine Funktionalität benötigt.
@{
# RequiredModules = @()
}
Dieses Manifest deklariert, dass es das PSReadLine-Modul erfordert. Wenn Sie dieses Manifest ausführen Import-Module
, importiert PowerShell die neueste Version von PSReadLine, die für die Sitzung verfügbar ist. Wenn keine Version verfügbar ist, gibt der Import einen Fehler zurück.
@{
RequiredModules = @(
'PSReadLine'
)
}
Tipp
In PowerShell 2.0 Import-Module
werden die erforderlichen Module nicht automatisch importiert. Es wird nur überprüft, ob sich die erforderlichen Module im globalen Sitzungszustand befinden.
Dieses Manifest deklariert, dass es eine Version des PSReadLine-Moduls erfordert, das im eigenen Modulordner enthalten ist. Wenn Sie dieses Manifest ausführen Import-Module
, importiert PowerShell die vom Anbieter bereitgestellte PSReadLine aus dem angegebenen Pfad.
@{
RequiredModules = @(
'Vendored\PSReadLine\PSReadLine.psd1'
)
}
Dieses Manifest deklariert, dass es speziell Version 2.0.0 des PSReadLine-Moduls erfordert. Wenn Sie dieses Manifest ausführen Import-Module
, importiert PowerShell Version 2.0.0 von PSReadLine, falls verfügbar. Wenn sie nicht verfügbar ist, Import-Module
wird ein Fehler zurückgegeben.
@{
RequiredModules = @(
@{
ModuleName = 'PSReadLine'
RequiredVersion = '2.0.0'
}
)
}
Dieses Manifest deklariert, dass das PSReadLine-Modul unter Version 2.0.0 oder höher importiert werden muss.
@{
RequiredModules = @(
@{
ModuleName = 'PSReadLine'
ModuleVersion = '2.0.0'
}
)
}
Dieses Manifest deklariert, dass das PSReadLine-Modul unter Version 2.0.0 oder niedriger importiert werden muss.
@{
RequiredModules = @(
@{
ModuleName = 'PSReadLine'
MaximumVersion = '2.0.0'
}
)
}
Dieses Manifest deklariert, dass das PSDesiredStateConfiguration-Modul bei einer Version importiert werden muss, die gleich oder höher als 2.0.0 ist, aber nicht höher als 2.99.99.
@{
RequiredModules = @(
@{
ModuleName = 'PSDesiredStateConfiguration'
ModuleVersion = '2.0.0'
MaximumVersion = '2.99.99'
}
)
}
RequiredAssemblies
Diese Einstellung gibt die Assemblydateien (.dll
) an, die das Modul benötigt.
PowerShell lädt die angegebenen Assemblys, bevor Typen oder Formate aktualisiert, geschachtelte Module importiert oder die Moduldatei importiert wird, die im Wert des RootModule-Schlüssels angegeben ist.
Wert | |
---|---|
Eingabetyp | System.String[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Einträge für diese Einstellung können der Dateiname einer Assembly oder des Pfads zu einer Assembly sein. Alle erforderlichen Assemblys auflisten, auch wenn sie in der Einstellung "NestedModules " auch als Binärmodule aufgeführt sind.
Für dieses Manifest ist die example.dll
Assembly erforderlich. Bevor Sie formatierungs- oder Typdateien laden, die in diesem Manifest angegeben sind, lädt example.dll
PowerShell aus dem Ordner, der Assemblies
sich im selben Verzeichnis wie das Modulmanifest befindet.
@{
RequiredAssemblies = @(
'Assemblies\Example.dll'
)
}
ScriptsToProcess
Diese Einstellung gibt Skriptdateien (.ps1
) an, die beim Importieren des Moduls im Sitzungszustand des Aufrufers ausgeführt werden. Sie können diese Skripte zur Vorbereitung einer Umgebung verwenden, wie Sie ein Anmeldeskript verwenden würden.
Wert | |
---|---|
Eingabetyp | System.String[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Verwenden Sie zum Angeben von Skripts, die im Sitzungszustand des Moduls ausgeführt werden, den Schlüssel "NestedModules ".
Wenn Sie dieses Manifest importieren, führt PowerShell die Initialize.ps1
aktuelle Sitzung aus.
@{
ScriptsToProcess = @(
'Scripts\Initialize.ps1'
)
}
Wenn sie beispielsweise Initialize.ps1
Informationsmeldungen schreibt und die $ExampleState
Variable festlegt:
if ([string]::IsNullOrEmpty($ExampleState)) {
Write-Information "Example not initialized."
Write-Information "Initializing now..."
$ExampleState = 'Initialized'
} else {
Write-Information "Example already initialized."
}
Wenn Sie das Modul importieren, wird das Skript ausgeführt und schreibt diese Nachrichten und Einstellungen $ExampleState
in Ihrer Sitzung.
$InformationPreference = 'Continue'
"Example State is: $ExampleState"
Import-Module .\example7x.psd1
"Example State is: $ExampleState"
Import-Module .\example7x.psd1 -Force
Example State is:
Example not initialized.
Initializing now...
Example State is: Initialized
Example already initialized.
TypesToProcess
Diese Einstellung gibt die Typdateien (.ps1xml
) an, die beim Importieren des Moduls ausgeführt werden.
Wert | |
---|---|
Eingabetyp | System.String[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Wenn Sie das Modul importieren, führt PowerShell das Update-TypeData
Cmdlet mit den angegebenen Dateien aus. Da Typdateien nicht auf den Bereich festgelegt sind, wirken sie sich auf alle Sitzungszustände in der Sitzung aus.
Weitere Informationen zu Typdateien finden Sie unter about_Types.ps1xml
Wenn Sie dieses Manifest importieren, lädt PowerShell beispielsweise die in der Example.ps1xml
Datei angegebenen Typen aus dem Types
Ordner im selben Verzeichnis wie das Modulmanifest.
@{
TypesToProcess = @(
'Types\Example.ps1xml'
)
}
FormatsToProcess
Diese Einstellung gibt die Formatierungsdateien (.ps1xml
) an, die beim Importieren des Moduls ausgeführt werden.
Wert | |
---|---|
Eingabetyp | System.String[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Wenn Sie ein Modul importieren, führt PowerShell das Update-FormatData
Cmdlet mit den angegebenen Dateien aus. Da Formatierungsdateien nicht auf den Bereich festgelegt sind, wirken sie sich auf alle Sitzungszustände in der Sitzung aus.
Weitere Informationen zu Typdateien finden Sie unter about_Format.ps1xml
Wenn Sie dieses Modul importieren, lädt PowerShell beispielsweise die in der Example.ps1xml
Datei angegebenen Formate aus dem Formats
Ordner im selben Verzeichnis wie das Modulmanifest.
@{
FormatsToProcess = @(
'Formats\Example.ps1xml'
)
}
NestedModules
Diese Einstellung gibt Skriptmodule (.psm1
) und Binäre Module (.dll
) an, die in den Sitzungszustand des Moduls importiert werden. Sie können auch Skriptdateien (.ps1
) angeben. Die Dateien in dieser Einstellung werden in der Reihenfolge ausgeführt, in der sie aufgelistet sind.
Wert | |
---|---|
Eingabetyp | System.String[] , System.Collections.Hashtable[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Einträge für diese Einstellung können ein Modulname, eine vollständige Modulspezifikation oder ein Pfad zu einem Modul oder einer Skriptdatei sein.
Wenn der Wert ein Pfad ist, kann der Pfad vollqualifizierte oder relativ sein.
Wenn der Wert ein Modulname oder eine Spezifikation ist, durchsucht PowerShell den PSModulePath nach dem angegebenen Modul.
Eine Modulspezifikation ist eine Hashtabelle mit den folgenden Schlüsseln.
ModuleName
- Erforderlich. Gibt den Namen des Moduls an.GUID
- Optional. Gibt die GUID des Moduls an.- Es ist auch erforderlich , mindestens eine der drei folgenden Tasten anzugeben. Die
RequiredVersion
Taste kann nicht mit denModuleVersion
Tasten verwendetMaximumVersion
werden. Sie können einen akzeptablen Versionsbereich für das Modul definieren, indem Sie die Schlüssel undMaximumVersion
dieModuleVersion
Tasten zusammen angeben.ModuleVersion
- Gibt eine mindestens akzeptable Version des Moduls an.RequiredVersion
- Gibt eine genaue, erforderliche Version des Moduls an.MaximumVersion
- Gibt die maximal zulässige Version des Moduls an.
Hinweis
RequiredVersion
wurde in Windows PowerShell 5.0 hinzugefügt.
MaximumVersion
wurde in Windows PowerShell 5.1 hinzugefügt.
Alle Elemente, die aus einem geschachtelten Modul exportiert werden müssen, müssen vom geschachtelten Modul mithilfe des Export-ModuleMember
Cmdlets exportiert oder in einer der Exporteigenschaften aufgeführt werden:
- FunctionsToExport
- CmdletsToExport
- VariablesToExport
- AliasesToExport
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 dieser Einstellung aufgeführt sind, werden im Sitzungszustand des Moduls und nicht im Sitzungszustand des Aufrufers ausgeführt. Um ein Skript im Sitzungszustand des Aufrufers auszuführen, listen Sie den Skriptdateinamen in der SkriptToProcess-Einstellung auf.
Wenn Sie dieses Manifest importieren, wird das Helpers.psm1
Modul beispielsweise in den Sitzungszustand des Stammmoduls geladen. Alle im geschachtelten Modul deklarierten Cmdlets werden exportiert, sofern nichts anderes eingeschränkt ist.
@{
NestedModules = @(
'Helpers\Helpers.psm1'
)
}
FunctionsToExport
Diese Einstellung gibt die Funktionen an, die das Modul exportiert. Mit dieser Einstellung können Sie die Funktionen einschränken, die vom Modul exportiert werden. Sie kann Funktionen aus der Liste der exportierten Funktionen entfernen, aber sie kann der Liste keine Funktionen hinzufügen.
Wert | |
---|---|
Eingabetyp | System.String[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | Ja |
Sie können Einträge in dieser Einstellung mit Wildcards angeben. Alle übereinstimmenden Funktionen in der Liste der exportierten Funktionen werden exportiert.
Tipp
Zur Leistungs- und Auffindbarkeit sollten Sie immer explizit die Funktionen auflisten, die Ihr Modul in dieser Einstellung exportieren soll, ohne Dass sie keine Wildcards verwenden.
Wenn Sie beispielsweise ein Modul mit der auskommentierten Einstellung importieren, werden alle Funktionen im Stammmodul und alle geschachtelten Module exportiert.
@{
# FunctionsToExport = @()
}
Dieses Manifest ist funktionell identisch mit der Angabe der Einstellung überhaupt nicht.
@{
FunctionsToExport = '*'
}
Wenn FunctionsToExport als leeres Array festgelegt ist, sind beim Importieren dieses Moduls keine Funktionen verfügbar, die das Stammmodul oder alle geschachtelten Module exportieren.
@{
FunctionsToExport = @()
}
Hinweis
Wenn Sie Ihr Modulmanifest mit dem New-ModuleManifest
Befehl erstellen und den Parameter FunctionsToExport nicht angeben, hat das erstellte Manifest diese Einstellung als leeres Array angegeben. Sofern Sie das Manifest nicht bearbeiten, werden keine Funktionen aus dem Modul exportiert.
Wenn "FunctionsToExport " nur die Get-Example
Funktion enthält, wird beim Importieren dieses Moduls nur die Get-Example
Funktion verfügbar gemacht, auch wenn andere Funktionen vom Stammmodul oder geschachtelten Modulen exportiert wurden.
@{
FunctionsToExport = @(
'Get-Example'
)
}
Wenn "FunctionsToExport " mit einer Wildcardzeichenfolge festgelegt ist, wird beim Importieren dieses Moduls jede Funktion, deren Example
Name endet, verfügbar gemacht, auch wenn andere Funktionen als Modulmember vom Stammmodul oder von geschachtelten Modulen exportiert wurden.
@{
FunctionsToExport = @(
'*Example'
)
}
CmdletsToExport
Diese Einstellung gibt die Cmdlets an, die das Modul exportiert. Sie können diese Einstellung verwenden, um die Cmdlets einzuschränken, die vom Modul exportiert werden. Sie kann Cmdlets aus der Liste der exportierten Modulmmber entfernen, der Liste jedoch keine Cmdlets hinzufügen.
Wert | |
---|---|
Eingabetyp | System.String[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | Ja |
Sie können Einträge in dieser Einstellung mit Wildcards angeben. Alle übereinstimmenden Cmdlets in der Liste der exportierten Cmdlets werden exportiert.
Tipp
Zur Leistungs- und Auffindbarkeit sollten Sie immer explizit die Cmdlets auflisten, die Ihr Modul in dieser Einstellung exportieren soll, ohne Dass sie keine Wildcards verwenden.
Wenn Sie beispielsweise ein Modul mit dieser Einstellung importieren, werden alle Cmdlets im Stammmodul und alle geschachtelten Module exportiert.
@{
# CmdletsToExport = @()
}
Dieses Manifest ist funktionell identisch mit der Angabe der Einstellung überhaupt nicht.
@{
CmdletsToExport = '*'
}
Wenn CmdletsToExport als leeres Array festgelegt ist, sind beim Importieren dieses Moduls keine Cmdlets für das Stammmodul oder alle geschachtelten Module verfügbar.
@{
CmdletsToExport = @()
}
Hinweis
Wenn Sie Ihr Modulmanifest mit dem New-ModuleManifest
Befehl erstellen und den Parameter "CmdletsToExport" nicht angeben, hat das erstellte Manifest diese Einstellung als leeres Array angegeben. Sofern Sie das Manifest nicht bearbeiten, werden keine Cmdlets aus dem Modul exportiert.
Wenn CmdletsToExport nur das Get-Example
Cmdlet enthält, wird beim Importieren dieses Moduls nur das Get-Example
Cmdlet verfügbar gemacht, auch wenn andere Cmdlets vom Stammmodul oder von geschachtelten Modulen exportiert wurden.
@{
CmdletsToExport = @(
'Get-Example'
)
}
Wenn CmdletsToExport mit einer Wildcardzeichenfolge festgelegt ist, werden beim Importieren dieses Moduls alle Cmdlets, deren Example
Name endet, verfügbar gemacht, auch wenn andere Cmdlets als Modulmember vom Stammmodul oder von geschachtelten Modulen exportiert wurden.
@{
CmdletsToExport = @(
'*Example'
)
}
VariablesToExport
Diese Einstellung gibt die Variablen an, die das Modul exportiert. Sie können diese Einstellung verwenden, um die Variablen einzuschränken, die vom Modul exportiert werden. Sie kann Variablen aus der Liste der exportierten Modulmmber entfernen, der Liste jedoch keine Variablen hinzufügen.
Wert | |
---|---|
Eingabetyp | System.String[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | Ja |
Sie können Einträge in dieser Einstellung mit Wildcards angeben. Alle übereinstimmenden Variablen in der Liste der exportierten Modulmmber werden exportiert.
Tipp
Zur Leistungs- und Auffindbarkeit sollten Sie immer explizit die Variablen auflisten, die Ihr Modul in dieser Einstellung exportieren soll, ohne Dass sie keine Wildcards verwenden.
Wenn Sie beispielsweise ein Modul mit dieser Einstellung importieren, werden alle Variablen im Stammmodul und alle geschachtelten Module exportiert.
@{
# VariablesToExport = @()
}
Dieses Manifest ist funktionell identisch mit der Angabe der Einstellung überhaupt nicht.
@{
VariablesToExport = '*'
}
Hinweis
Wenn Sie Ihr Modulmanifest mit dem New-ModuleManifest
Befehl erstellen und den Parameter VariablesToExport nicht angeben, hat das erstellte Manifest diese Einstellung als '*'
angegeben. Wenn Sie das Manifest nicht bearbeiten, werden alle Variablen aus dem Modul exportiert.
Wenn "VariablesToExport " als leeres Array festgelegt ist, sind beim Importieren dieses Moduls keine Variablen verfügbar, die vom Stammmodul oder von geschachtelten Modulen exportiert werden.
@{
VariablesToExport = @()
}
Wenn "VariablesToExport " nur die SomeExample
Variable enthält, wird beim Importieren dieses Moduls nur die $SomeExample
Variable verfügbar gemacht, auch wenn andere Variablen vom Stammmodul oder geschachtelten Modulen exportiert wurden.
@{
VariablesToExport = @(
'SomeExample'
)
}
Wenn "VariablesToExport " mit einer Wildcardzeichenfolge festgelegt ist, wird beim Importieren dieses Moduls jede Variable, deren Example
Name endet, verfügbar gemacht, auch wenn andere Variablen als Modulmember vom Stammmodul oder von geschachtelten Modulen exportiert wurden.
@{
VariablesToExport = @(
'*Example'
)
}
DscResourcesToExport
Diese Einstellung gibt die DSC-Ressourcen an, die das Modul exportiert. Mit dieser Einstellung können Sie die klassenbasierten DSC-Ressourcen einschränken, die vom Modul exportiert werden. Sie kann DSC-Ressourcen aus der Liste der exportierten Modulmber entfernen, der Liste jedoch keine DSC-Ressourcen hinzufügen.
Wert | |
---|---|
Eingabetyp | System.String[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | Ja |
Sie können Einträge in dieser Einstellung mit Wildcards angeben. Alle übereinstimmenden klassenbasierten DSC-Ressourcen im Modul werden exportiert.
Tipp
Zur Auffindbarkeit sollten Sie immer alle DSC-Ressourcen, die Ihr Modul exportiert, explizit auflisten.
Weitere Informationen zum Erstellen und Verwenden von DSC-Ressourcen finden Sie in der Dokumentation für DSC.
Dieses Manifest exportiert alle klassenbasierten und MOF-basierten DSC-Ressourcen, die im Stammmodul und in geschachtelten Modulen definiert sind.
@{
# DscResourcesToExport = @()
}
Dieses Manifest exportiert alle MOF-basierten DSC-Ressourcen, die im Stammmodul definiert sind, und alle geschachtelten Module, aber nur eine klassenbasierte DSC-Ressource. ExampleClassResource
@{
DscResourcesToExport = @(
'ExampleClassResource'
)
}
Dieses Manifest exportiert alle darin enthaltenen DSC-Ressourcen. Auch wenn die MOF-basierte Ressource nicht aufgeführt wurde, würde das Modul es trotzdem exportieren.
@{
DscResourcesToExport = @(
'ExampleClassResource'
'ExampleMofResourceFirst'
)
}
ModuleList
Diese Einstellung ist eine Informationsbestandsliste der Module, die in diesem Modul enthalten sind. Diese Liste wirkt sich nicht auf das Verhalten des Moduls aus.
Wert | |
---|---|
Eingabetyp | System.String[] , System.Collections.Hashtable[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Einträge für diese Einstellung können ein Modulname, eine vollständige Modulspezifikation oder ein Pfad zu einem Modul oder einer Skriptdatei sein.
Wenn der Wert ein Pfad ist, kann der Pfad vollqualifizierte oder relativ sein.
Wenn der Wert ein Modulname oder eine Spezifikation ist, durchsucht PowerShell den PSModulePath nach dem angegebenen Modul.
Eine Modulspezifikation ist eine Hashtabelle mit den folgenden Schlüsseln.
ModuleName
- Erforderlich. Gibt den Namen des Moduls an.GUID
- Optional. Gibt die GUID des Moduls an.- Es ist auch erforderlich , mindestens eine der drei folgenden Tasten anzugeben. Die
RequiredVersion
Taste kann nicht mit denModuleVersion
Tasten verwendetMaximumVersion
werden. Sie können einen akzeptablen Versionsbereich für das Modul definieren, indem Sie die Schlüssel undMaximumVersion
dieModuleVersion
Tasten zusammen angeben.ModuleVersion
- Gibt eine mindestens akzeptable Version des Moduls an.RequiredVersion
- Gibt eine genaue, erforderliche Version des Moduls an.MaximumVersion
- Gibt die maximal zulässige Version des Moduls an.
Hinweis
RequiredVersion
wurde in Windows PowerShell 5.0 hinzugefügt.
MaximumVersion
wurde in Windows PowerShell 5.1 hinzugefügt.
Dieses Manifest enthält keine Informationsliste der darin enthaltenen Module. Möglicherweise verfügen sie über Module. Obwohl diese Einstellung nicht angegeben ist, verhalten sich alle Module, die in den Einstellungen "RootModule", "ScriptsToProcess" oder "NestedModules " aufgeführt sind, weiterhin normal.
@{
# ModuleList = @()
}
Dieses Manifest deklariert, dass die einzigen darin enthaltenen Module und die Untermodule First.psm1
und Second.psm1
im Submodules
Ordner enthalten sindExample.psm1
.
@{
ModuleList = @(
'Example.psm1'
'Submodules\First.psm1'
'Submodules\Second.psm1'
)
}
FileList
Diese Einstellung ist eine Informationsbestandsliste der Dateien, die in diesem Modul enthalten sind. Diese Liste wirkt sich nicht auf das Verhalten des Moduls aus.
Wert | |
---|---|
Eingabetyp | System.String[] |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | Ja |
Einträge für diese Einstellung sollten der relative Pfad zu einer Datei aus dem Ordner sein, der das Modulmanifest enthält.
Wenn ein Benutzer ein Manifest mit dieser definierten Einstellung aufruft Get-Module
, enthält die FileList-Eigenschaft den vollständigen Pfad zu diesen Dateien, wobei der Pfad des Moduls mit dem relativen Pfad jedes Eintrags verbunden wird.
Dieses Manifest enthält keine Liste seiner Dateien.
@{
# FileList = @()
}
Dieses Manifest deklariert, dass die einzigen darin enthaltenen Dateien in dieser Einstellung aufgeführt sind.
@{
FileList = @(
'Example.psd1'
'Example.psm1'
'Assemblies\Example.dll'
'Scripts\Initialize.ps1'
'Submodules\First.psm1'
'Submodules\Second.psm1'
)
}
PrivateData
Diese Einstellung definiert eine Hashtabelle mit Daten, die für alle Befehle oder Funktionen im Bereich des Stammmoduls verfügbar sind.
Wert | |
---|---|
Eingabetyp | System.Collections.Hashtable |
Erforderlich | PowerShell-Katalog, Crescendo |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Wenn Sie ein Crescendo-Manifest exportieren, um ein neues Modul zu erstellen, Export-CrescendoModule
werden zwei Schlüssel zu PrivateData hinzugefügt.
- CrescendoGenerated – Zeitstempel beim Exportieren des Moduls
- CrescendoVersion - die Version von Crescendo, die zum Exportieren des Moduls verwendet wurde
Sie können eigene Schlüssel hinzufügen, um Metadaten zu speichern, die Sie nachverfolgen möchten. Alle schlüssel, die dieser Einstellung hinzugefügt werden, sind für Funktionen und Cmdlets im Stammmodul verfügbar.$MyInvocation.MyCommand.Module.PrivateData
Die Hashtabelle ist im Modulbereich selbst nicht verfügbar, nur in Cmdlets, die Sie im Modul definieren.
Beispielsweise definiert dieses Manifest den PublishedDate-Schlüssel in PrivateData.
@{
PrivateData = @{
PublishedDate = '2022-06-01'
}
}
Cmdlets im Modul können mit der $MyInvocation
Variablen auf diesen Wert zugreifen.
Function Get-Stale {
[CmdletBinding()]
param()
$PublishedDate = $MyInvocation.MyCommand.Module.PrivateData.PublishedDate
$CurrentDate = Get-Date
try {
$PublishedDate = Get-Date -Date $PublishedDate -ErrorAction Stop
} catch {
# The date was set in the manifest, set to an invalid value, or
# the script module was directly imported without the manifest.
Throw "Unable to determine published date. Check the module manifest."
}
if ($CurrentDate -gt $PublishedDate.AddDays(30)) {
Write-Warning "This module version was published more than 30 days ago."
} else {
$TimeUntilStale = $PublishedDate.AddDays(30) - $CurrentDate
"This module will be stale in $($TimeUntilStale.Days) days"
}
}
Nachdem das Modul importiert wurde, verwendet die Funktion den Wert aus PrivateData , um zu bestimmen, wann das Modul veröffentlicht wurde.
Get-Stale -TestDate '2022-06-15'
Get-Stale -TestDate '2022-08-01'
This module will be stale in 16 days
WARNING: This module version was published more than 30 days ago.
PrivateData.PSData
Die untergeordnete PSData-Eigenschaft definiert eine Hashtabelle mit Werten, die bestimmte Erweiterungsszenarien unterstützen.
Wert | |
---|---|
Eingabetyp | System.Collections.Hashtable |
Erforderlich | PowerShell-Katalog, Experimentelle Features, Crescendo-Module |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Die untergeordnete PSData-Eigenschaft wird für die folgenden Szenarien verwendet:
- PowerShell-Katalog – Wenn Sie mithilfe des Cmdlets ein Modulmanifest
New-ModuleManifest
erstellen, wird die PSData-Hashtable mit Platzhalterschlüsseln ausgefüllt, die beim Veröffentlichen des Moduls in den PowerShell-Katalog benötigt werden. Weitere Informationen zu Modulmanifesten und der Veröffentlichung im PowerShell-Katalog finden Sie unter Paketmanifestwerte, die sich auf die PowerShell-Katalog UI auswirken. - Experimentelle Features – Metadaten zu einem experimentellen Feature werden in der ExperimentalFeatures-Eigenschaft von PSData gespeichert. Die ExperimentalFeatures-Eigenschaft ist ein Array von Hashtables, das den Namen und die Beschreibung des Features enthält. Weitere Informationen finden Sie unter Deklarieren experimenteller Features in Modulen.
- Crescendo-Module – Wenn Sie ein Crescendo-Manifest exportieren, um ein neues Modul zu erstellen,
Export-CrescendoModule
wird der PSData.Tags-Eigenschaft der WertCrescendoBuilt
hinzugefügt. Sie können dieses Tag verwenden, um Module in der PowerShell-Katalog zu finden, die mit Crescendo erstellt wurden. Weitere Informationen finden Sie unter Export-CrescendoModule.
HelpInfoURI
Diese Einstellung gibt die Internetadresse der HelpInfo-XML-Datei für das Modul an.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Der Wert dieser Einstellung muss ein URI (Uniform Resource Identifier) sein, der mit http oder https beginnt.
Die HelpInfo-XML-Datei unterstützt das feature "Aktualisierbare Hilfe", das in PowerShell 3.0 eingeführt wurde. Es enthält Informationen über den Speicherort der herunterladbaren 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".
Dieses Modul unterstützt beispielsweise aktualisierbare Hilfe.
@{
HelpInfoUri = 'http://https://go.microsoft.com/fwlink/?LinkID=603'
}
DefaultCommandPrefix
Diese Einstellung gibt ein Präfix an, das den Substantiven aller Befehle im Modul vorangestellt wird, wenn sie in eine Sitzung importiert werden. Präfixe verhindern Befehlsnamenkonflikte in der Sitzung eines Benutzers.
Wert | |
---|---|
Eingabetyp | System.String |
Erforderlich | No |
Wert, wenn nicht festgelegt | $null |
Akzeptiert Wildcards | No |
Modulbenutzer können dieses Präfix überschreiben, indem Sie den Präfixparameter des Import-Module
Cmdlets angeben.
Diese Einstellung wurde in PowerShell 3.0 eingeführt.
Wenn dieses Manifest importiert wird, wurden Example
alle aus diesem Modul importierten Cmdlets dem Substantiv im Namen vorangestellt. Beispiel: Get-Item
wird als Get-ExampleItem
importiert.
@{
DefaultCommandPrefix = 'Example'
}