Share via


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-Moduleimportieren, 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 lautetYes, ist die Einstellung erforderlich, um das Modul zu importieren und in der PowerShell-Katalog zu veröffentlichen. Wenn dies der Grund ist No, 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 wild Karte s: Gibt an, ob diese Einstellung einen Platzhalter Karte Wert annehmen kann oder nicht.

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 wild Karte 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-Modulestandardmäßig geladen.

Wert
Eingabetyp System.String
Erforderlich Ja
Wert, wenn nicht festgelegt Keine
Akzeptiert wild Karte No

Der Wert dieser Einstellung muss beim Ausführen Import-Modulein 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 wild Karte 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 wild Karte No

Der Wert dieser Einstellung muss beim Ausführen Import-Modulein 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 wild Karte 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 wild Karte No

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
Erforderlich No
Wert, wenn nicht festgelegt $null
Akzeptiert wild Karte 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 wild Karte 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 wild Karte No

Der Wert dieser Einstellung muss beim Ausführen Import-Modulein 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 wild Karte 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 wild Karte No

Der Wert dieser Einstellung muss beim Ausführen Import-Modulein 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 wild Karte 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-Modulein 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 wild Karte 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-Modulein 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, , MSILX86, IA64, , Amd64Arm
Erforderlich No
Wert, wenn nicht festgelegt None
Akzeptiert wild Karte No

Der Wert dieser Einstellung muss beim Ausführen Import-Modulein 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 wild Karte 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 Modulnamen 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 den ModuleVersion Tasten verwendet MaximumVersion werden. Sie können einen akzeptablen Versionsbereich für das Modul definieren, indem Sie die Schlüssel und MaximumVersion die ModuleVersion 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 wild Karte 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 wild Karte 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 wild Karte 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 wild Karte 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 wild Karte 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 Modulnamen 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 den ModuleVersion Tasten verwendet MaximumVersion werden. Sie können einen akzeptablen Versionsbereich für das Modul definieren, indem Sie die Schlüssel und MaximumVersion die ModuleVersion 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 wild Karte Ja

Sie können Einträge in dieser Einstellung mit wilden Karte s 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 wild Karte s zu 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 wilden Karte Zeichenfolge festgelegt ist, wird beim Importieren dieses Moduls jede Funktion, deren Example Name endet, verfügbar gemacht, auch wenn andere Funktionen vom Stammmodul oder 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[]
Erforderlich No
Wert, wenn nicht festgelegt $null
Akzeptiert wild Karte Ja

Sie können Einträge in dieser Einstellung mit wilden Karte s 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 wild Karte s zu 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 wilden Zeichenfolge festgelegt ist Karte Zeichenfolge, wenn Sie dieses Modul importieren, wird jedes Cmdlet, dessen Name endetExample, verfügbar gemacht, auch wenn andere Cmdlets vom Stammmodul oder geschachtelten Modulen als Modulmember 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 wild Karte Ja

Sie können Einträge in dieser Einstellung mit wilden Karte s 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 wild Karte s zu 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 wilden Zeichenfolge festgelegt ist Karte Zeichenfolge, wenn Sie dieses Modul importieren, wird 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 wild Karte Ja

Sie können Einträge in dieser Einstellung mit wilden Karte s 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 wild Karte 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 Modulnamen 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 den ModuleVersion Tasten verwendet MaximumVersion werden. Sie können einen akzeptablen Versionsbereich für das Modul definieren, indem Sie die Schlüssel und MaximumVersion die ModuleVersion 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 wild Karte 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 wild Karte 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 wild Karte 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 Wert CrescendoBuilt 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 wild Karte 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 wild Karte 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-ExampleItemimportiert.

@{
    DefaultCommandPrefix = 'Example'
}

Weitere Informationen