Freigeben über


about_Module_Manifests

Kurzbeschreibung

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 sind erforderlich, um ein Modul im PowerShell Gallery. 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 New-ModuleManifest verwenden, ohne Parameter für die Einstellungen des Manifests anzugeben, 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 = ''
        # ExternalModuleDependencies = @()
    } # End of PSData hashtable
} # End of PrivateData hashtable
# HelpInfoURI = ''
# DefaultCommandPrefix = ''
}

Sie können Test-ModuleManifest verwenden, um ein Modulmanifest zu ü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 von Import-Moduleimportieren, wird das Manifest im Restricted Sprachmodus ausgewertet. Restricted 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 wie $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 "Ja" lautet, ist die Einstellung erforderlich, um das Modul zu importieren und in der PowerShell GalleryDatei zu veröffentlichen. Wenn es "Nein" ist, ist dies für beides erforderlich. Wenn dies der Grund ist PowerShell Gallery, ist die Veröffentlichung nur für die Veröffentlichung in der PowerShell GalleryDatei erforderlich.
  • Wert, wennnicht festgelegt ist: Der Wert, den diese Einstellung beim Importieren hat und nicht explizit festgelegt wurde.
  • 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
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

Der Wert muss der Pfad zu einem der folgenden Werte sein:

  • ein Skript (.ps1)
  • ein Skriptmodul (.psm1)
  • Ein Modulmanifest (.psd1)
  • eine Assembly (.dll)
  • EINE XML-Cmdlet-Definitionsdatei (.cdxml)
  • a Windows PowerShell 5.1 Workflow (.xaml)

Der Pfad sollte relativ zum Modulmanifest sein.

Wenn in einem 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:

  • eine .ps1- oder .psm1 Datei macht den Modultyp Script
  • eine .psd1 Datei macht den Modultyp Manifest-
  • 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.

Trinkgeld

Die Ladegeschwindigkeit des Moduls unterscheidet sich zwischen Binary, Scriptund CIM Modultypen. Weitere Informationen finden Sie unter Überlegungen zur Erstellung von PowerShell-Modulen

Die 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 = ''
}

Anmerkung

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 standardmäßig geladen, wenn Sie Import-Moduleausführen.

Wert
Eingabetyp- System.String
Erforderlicher Ja
Wert, wenn nicht festgelegt ist Nichts
Akzeptiert Nein

Der Wert dieser Einstellung muss beim Ausführen von System.Versionin Import-Module konvertierbar sein.

In diesem Manifest wird beispielsweise die Version des Moduls als '1.2.3'deklariert.

@{
    ModuleVersion = '1.2.3'
}

Wenn Sie das Modul importieren und die eigenschaft Version überprüfen, beachten Sie, dass es sich um ein System.Version-Objekt handelt und keine Zeichenfolge:

$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
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

Wenn der Wert dieser Einstellung $nullist, 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.

Anmerkung

Da die $PSEdition automatische Variable in Version 5.1 eingeführt wurde, können ältere Versionen von Windows PowerShell kein Modul laden, das die CompatiblePSEditions Einstellung 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 Coreist.

@{
    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
Erforderlicher Nein
Wert, wenn nicht festgelegt ist 00000000-0000-0000-0000-000000000000
Akzeptiert Nein

Der Wert dieser Einstellung muss beim Ausführen von System.Guidin Import-Module konvertierbar sein.

Vorsicht

Es ist zwar keine erforderliche Einstellung, aber keine 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'
}

Author

Diese Einstellung identifiziert den Modulautor.

Wert
Eingabetyp- System.String
Erforderlicher PowerShell Gallery
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

Dieses Manifest deklariert, dass das Modul von Contoso, Ltd erstellt wurde.

@{
    CompanyName = 'Contoso, Ltd.'
}

Diese Einstellung gibt eine Copyright-Anweisung für das Modul an.

Wert
Eingabetyp- System.String
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

Dieses Manifest erklärt eine Urheberrechtserklärung, die alle Rechte an Contoso, Ltd. ab 2022 reserviert.

@{
    Copyright = '(c) 2022 Contoso, Ltd. All rights reserved.'
}

Description

Diese Einstellung beschreibt das Modul auf hoher Ebene.

Wert
Eingabetyp- System.String
Erforderlicher PowerShell Gallery
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

Der Wert dieser Einstellung muss beim Ausführen von System.Versionin Import-Module konvertierbar 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.2festgelegt 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
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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 ServerRemoteHostfestgelegt 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
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

Der Wert dieser Einstellung muss beim Ausführen von System.Versionin Import-Module konvertierbar sein.

Vorsicht

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 einstellung PowerShellHostName 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 die PowerShellHostVersion auf 5.1festgelegt 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
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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.

Der Wert dieser Einstellung muss beim Ausführen von System.Versionin Import-Module konvertierbar 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.0festgelegt ist, können Sie dieses Modul in einer beliebigen Windows PowerShell-Sitzung 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
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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.

Der Wert dieser Einstellung muss beim Ausführen von System.Versionin Import-Module konvertierbar 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.0festgelegt 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, , MSILX86, IA64, , Amd64Arm
Erforderlicher Nein
Wert, wenn nicht festgelegt ist None
Akzeptiert Nein

Der Wert dieser Einstellung muss beim Ausführen von System.Reflection.ProcessorArchitecturein Import-Module konvertierbar sein.

Beispielsweise deklariert dieses Manifest, dass sein Modul in jeder Sitzung importiert werden kann, unabhängig von der Prozessorarchitektur des Systems.

@{
    # ProcessorArchitecture = ''
}

Wenn ProcessorArchitecture auf Amd64festgelegt ist, 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 Befehl Import-Module fehl.

Wert
Eingabetyp- System.String[], System.Collections.Hashtable[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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 die PSModulePath- nach dem angegebenen Modul.

Eine Modulspezifikation ist eine Hashtabelle mit den folgenden Schlüsseln.

  • ModuleName - Erforderlich. Gibt den Modulnamen an.
  • GUID - Optional. Gibt die GUID des Moduls an.
  • Außerdem Erforderlicher, um mindestens einen der drei folgenden Tasten anzugeben. Die RequiredVersion-Taste kann nicht mit den tasten ModuleVersion oder MaximumVersion verwendet werden. Sie können einen akzeptablen Versionsbereich für das Modul definieren, indem Sie die ModuleVersion und MaximumVersion Tasten zusammen angeben.
    • ModuleVersion – Gibt eine akzeptable Mindestversion des Moduls an.
    • RequiredVersion – Gibt eine genaue, erforderliche Version des Moduls an.
    • MaximumVersion – Gibt die maximal zulässige Version des Moduls an.

Anmerkung

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 Import-Module für dieses Manifest ausführen, 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'
    )
}

Trinkgeld

In PowerShell 2.0 importiert Import-Module nicht automatisch erforderliche Module. 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 Import-Module für dieses Manifest ausführen, 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 Import-Module für dieses Manifest ausführen, importiert PowerShell Version 2.0.0 von PSReadLine, falls sie verfügbar ist. Wenn sie nicht verfügbar ist, gibt Import-Module einen Fehler zurück.

@{
    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[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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 auch als Binärmodule in der Einstellung NestedModules 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 PowerShell example.dll aus dem Ordner Assemblies im selben Verzeichnis wie das Modulmanifest.

@{
    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 Skripts verwenden, um eine Umgebung vorzubereiten, genauso wie Sie ein Anmeldeskript verwenden können.

Wert
Eingabetyp- System.String[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

Um Skripts anzugeben, die im Sitzungszustand des Moduls ausgeführt werden, verwenden Sie die NestedModules Schlüssel.

Wenn Sie dieses Manifest importieren, führt PowerShell die Initialize.ps1 in Ihrer aktuellen Sitzung aus.

@{
    ScriptsToProcess = @(
        'Scripts\Initialize.ps1'
    )
}

Wenn Initialize.ps1 beispielsweise 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 legt $ExampleState in Ihrer Sitzung fest.

$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[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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.

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 Ordner Types 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[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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.

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 Ordner Formats 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[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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 die PSModulePath- für das angegebene Modul.

Eine Modulspezifikation ist eine Hashtabelle mit den folgenden Schlüsseln.

  • ModuleName - Erforderlich. Gibt den Modulnamen an.
  • GUID - Optional. Gibt die GUID des Moduls an.
  • Außerdem Erforderlicher, um mindestens einen der drei folgenden Tasten anzugeben. Die RequiredVersion-Taste kann nicht mit den tasten ModuleVersion oder MaximumVersion verwendet werden. Sie können einen akzeptablen Versionsbereich für das Modul definieren, indem Sie die ModuleVersion und MaximumVersion Tasten zusammen angeben.
    • ModuleVersion – Gibt eine akzeptable Mindestversion des Moduls an.
    • RequiredVersion – Gibt eine genaue, erforderliche Version des Moduls an.
    • MaximumVersion – Gibt die maximal zulässige Version des Moduls an.

Anmerkung

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 cmdlets Export-ModuleMember 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 ausgeführt, nicht im Sitzungszustand des Aufrufers. Um ein Skript im Sitzungszustand des Aufrufers auszuführen, listen Sie den Skriptdateinamen in der Einstellung ScriptsToProcess auf.

Wenn Sie beispielsweise dieses Manifest importieren, wird das Helpers.psm1 Modul 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[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Ja

Sie können Einträge in dieser Einstellung mit Wildcards angeben. Alle übereinstimmenden Funktionen in der Liste der exportierten Funktionen werden exportiert.

Trinkgeld

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 = '*'
}

Mit FunctionsToExport als leeres Array festgelegt, wenn Sie dieses Modul importieren, sind keine Funktionen des Stammmoduls oder eines geschachtelten Modulexports verfügbar.

@{
    FunctionsToExport = @()
}

Anmerkung

Wenn Sie Ihr Modulmanifest mit dem Befehl New-ModuleManifest erstellen und den FunctionsToExport Parameter 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 so festgelegt ist, dass nur die Get-Example-Funktion enthalten ist, wird beim Importieren dieses Moduls nur die funktion Get-Example verfügbar gemacht, auch wenn andere Funktionen vom Stammmodul oder von geschachtelten Modulen exportiert wurden.

@{
    FunctionsToExport = @(
        'Get-Example'
    )
}

Mit FunctionsToExport mit einer Wildcardzeichenfolge festgelegt, wenn Sie dieses Modul importieren, wird jede Funktion, deren Name mit Example endet, verfügbar gemacht, auch wenn andere Funktionen vom Stammmodul oder von geschachtelten Modulen als Modulmember 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[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Ja

Sie können Einträge in dieser Einstellung mit Wildcards angeben. Alle übereinstimmenden Cmdlets in der Liste der exportierten Cmdlets werden exportiert.

Trinkgeld

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 = '*'
}

Mit CmdletsToExport als leeres Array festgelegt, wenn Sie dieses Modul importieren, sind keine Cmdlets verfügbar, die das Stammmodul oder alle geschachtelten Module exportieren.

@{
    CmdletsToExport = @()
}

Anmerkung

Wenn Sie Ihr Modulmanifest mit dem Befehl New-ModuleManifest 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 so festgelegt ist, dass nur das cmdlet Get-Example enthalten ist, wird beim Importieren dieses Moduls nur das Cmdlet Get-Example verfügbar gemacht, auch wenn andere Cmdlets vom Stammmodul oder geschachtelten Modulen exportiert wurden.

@{
    CmdletsToExport = @(
        'Get-Example'
    )
}

Wenn CmdletsToExport mit einer Wildcardzeichenfolge festgelegt ist, wird beim Importieren dieses Moduls jedes Cmdlet, dessen Name mit Example 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[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Ja

Sie können Einträge in dieser Einstellung mit Wildcards angeben. Alle übereinstimmenden Variablen in der Liste der exportierten Modulmmber werden exportiert.

Trinkgeld

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 = '*'
}

Anmerkung

Wenn Sie ihr Modulmanifest mit dem Befehl New-ModuleManifest 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.

Mit VariablesToExport als leeres Array festgelegt, wenn Sie dieses Modul importieren, sind keine Variablen verfügbar, die das Stammmodul oder alle geschachtelten Module exportieren.

@{
    VariablesToExport = @()
}

Wenn VariablesToExport so festgelegt ist, dass nur die SomeExample Variable enthalten ist, 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'
    )
}

Mit VariablesToExport mit einer Wildcardzeichenfolge festgelegt, wenn Sie diese Modulvariable importieren, deren Name mit Example endet, verfügbar gemacht wird, auch wenn andere Variablen vom Stammmodul oder geschachtelten Modulen als Modulmember 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[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Ja

Sie können Einträge in dieser Einstellung mit Wildcards angeben. Alle übereinstimmenden klassenbasierten DSC-Ressourcen im Modul werden exportiert.

Trinkgeld

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 zu 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-Based 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[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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 die PSModulePath- für das angegebene Modul.

Eine Modulspezifikation ist eine Hashtabelle mit den folgenden Schlüsseln.

  • ModuleName - Erforderlich. Gibt den Modulnamen an.
  • GUID - Optional. Gibt die GUID des Moduls an.
  • Außerdem Erforderlicher, um mindestens einen der drei folgenden Tasten anzugeben. Die RequiredVersion-Taste kann nicht mit den tasten ModuleVersion oder MaximumVersion verwendet werden. Sie können einen akzeptablen Versionsbereich für das Modul definieren, indem Sie die ModuleVersion und MaximumVersion Tasten zusammen angeben.
    • ModuleVersion – Gibt eine akzeptable Mindestversion des Moduls an.
    • RequiredVersion – Gibt eine genaue, erforderliche Version des Moduls an.
    • MaximumVersion – Gibt die maximal zulässige Version des Moduls an.

Anmerkung

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 im RootModule, ScriptsToProcess-oder NestedModules aufgeführt sind, Einstellungen weiterhin normal.

@{
    # ModuleList = @()
}

Dieses Manifest deklariert, dass die einzigen darin eingeschlossenen Module Example.psm1 und die Untermodule First.psm1 und Second.psm1 im Ordner Submodules sind.

@{
    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[]
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert 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 Get-Module für ein Manifest aufruft, bei dem diese Einstellung definiert ist, 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
Erforderlicher PowerShell GalleryCrescendo
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

Wenn Sie ein Crescendo-Manifest exportieren, um ein neues Modul zu erstellen, fügt Export-CrescendoModule zwei Schlüssel zu PrivateData-

  • 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 dieser Einstellung hinzugefügten Schlüssel sind für Funktionen und Cmdlets im Stammmodul mit $MyInvocation.MyCommand.Module.PrivateDataverfügbar. Die Hashtabelle ist im Modulbereich selbst nicht verfügbar, nur in Cmdlets, die Sie im Modul definieren.

In diesem Manifest wird beispielsweise der Schlüssel PublishedDate in PrivateData-definiert.

@{
    PrivateData = @{
        PublishedDate = '2022-06-01'
    }
}

Cmdlets im Modul können mit der variablen $MyInvocation 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 psData- untergeordnete Eigenschaft definiert eine Hashtabelle mit Werten, die bestimmte Erweiterungsszenarien unterstützen.

Wert
Eingabetyp- System.Collections.Hashtable
Erforderlicher PowerShell Gallery, Experimentelle Features, Crescendo Module
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

Die psData- untergeordnete Eigenschaft wird für die folgenden Szenarien verwendet:

  • PowerShell Gallery - Wenn Sie ein Modulmanifest mithilfe New-ModuleManifest des Cmdlets erstellen, wird die PSData-Hashtable mit Platzhalterschlüsseln vorgefüllt, die zum Veröffentlichen des Moduls in das PowerShell GalleryModul erforderlich sind. Weitere Informationen zu Modulmanifesten und der Veröffentlichung im PowerShell-Katalog finden Sie unter Paketmanifestwerte, die sich auf die PowerShell Gallery Benutzeroberfläche auswirken.
  • Experimentelle Features - Metadaten zu einem experimentellen Feature werden in der ExperimentalFeatures Eigenschaft von PSDatagespeichert. Die ExperimentalFeatures-Eigenschaft ist ein Array von Hashtables, die den Namen und die Beschreibung des Features enthalten. Weitere Informationen finden Sie unter Deklarieren experimenteller Features in Modulen.
  • Crescendo-Module – Wenn Sie ein Crescendo-Manifest exportieren, um ein neues Modul zu erstellen, fügt Export-CrescendoModule den Wert CrescendoBuilt der PSData.Tags- eigenschaft hinzu. Sie können dieses Tag verwenden, um Module zu finden, die PowerShell Gallery mit Crescendo erstellt wurden. Weitere Informationen finden Sie unter Export-CrescendoModule.
  • Die PSData.ExternalModuleDependencies-Eigenschaft ist ein Array von Modulnamen, die Abhängigkeiten für dieses Modul sind. Diese Eigenschaft ist nur informational und wirkt sich nicht auf die Modulinstallation oder das Laden aus.

HelpInfoURI

Diese Einstellung gibt die Internetadresse der HelpInfo-XML-Datei für das Modul an.

Wert
Eingabetyp- System.String
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

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. 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.

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
Erforderlicher Nein
Wert, wenn nicht festgelegt ist $null
Akzeptiert Nein

Modulbenutzer können dieses Präfix überschreiben, indem Sie den Parameter Präfix des Cmdlets Import-Module angeben.

Diese Einstellung wurde in PowerShell 3.0 eingeführt.

Wenn dieses Manifest importiert wird, werden alle aus diesem Modul importierten Cmdlets Example dem Substantiv im Namen vorangestellt. Beispielsweise wird Get-Item als Get-ExampleItemimportiert.

@{
    DefaultCommandPrefix = 'Example'
}

Siehe auch