Überprüft, ob in einer Modulmanifestdatei der Inhalt eines Moduls genau beschrieben wird. (Test-ModuleManifest)
NAMETest-ModuleManifestÜBERSICHTÜberprüft, ob in einer Modulmanifestdatei der Inhalt eines Moduls genau beschrieben wird.SYNTAXTest-ModuleManifest [-Path] <string> [<CommonParameters>]BESCHREIBUNGMit dem Cmdlet "Test-ModuleManifest" wird überprüft, ob die Dateien, die in der Modulmanifestdatei (".psd1") aufgeführt sind, tatsächlich in den angegebenen Pfaden vorhanden sind. Dieses Cmdlet soll Modulautoren beim Testen von Manifestdateien helfen. Modulbenutzer können dieses Cmdlet auch in Skripts und Befehlen verwenden, um vor dem Ausführen von Skripts modulabhängige Fehler zu erkennen. Mit dem Cmdlet "Test-ModuleManifest" wird ein Objekt zurückgegeben, das das Modul (und den gleichen Objekttyp, der auch von Get-Module zurückgegeben wird) darstellt. Wenn sich Dateien nicht an den im Manifest angegebenen Speicherorten befinden, wird vom Cmdlet außerdem ein Fehler für jede fehlende Datei generiert.PARAMETER-Path <string> Gibt den Pfad der Modulmanifestdatei an. Geben Sie einen Pfad (optional) und den Namen der Modulmanifestdatei mit der Dateinamenerweiterung ".psd1" ein. Der Standardspeicherort ist das aktuelle Verzeichnis. Dieser Parameter ist erforderlich. Der Parametername ("Path") ist optional. Sie können einen Pfad auch über die Pipeline an Test-ModuleManifest übergeben. Erforderlich? true Position? 1 Standardwert Keiner Pipelineeingaben akzeptieren?true (ByValue, ByPropertyName) Platzhalterzeichen akzeptieren?false <CommonParameters> Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug", "ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable", "OutBuffer" und "OutVariable". Weitere Informationen erhalten Sie mit dem Befehl "get-help about_commonparameters".EINGABENSystem.String Sie können den Pfad zu einem Modulmanifest über die Pipeline an Test-ModuleManifest übergeben.AUSGABENSystem.Management.Automation.PSModuleInfo Test-ModuleManifest gibt ein PSModuleInfo-Objekt zurück, das das Modul darstellt. Das Objekt wird auch dann zurückgegeben, wenn das Manifest Fehler aufweist.HINWEISEBeispiele
BEISPIEL 1C:\PS>test-ModuleManifest -path $pshome\Modules\TestModule.psd1 Beschreibung ----------- Mit diesem Befehl wird das Modulmanifest "TestModule.psd1" getestet.BEISPIEL 2C:\PS>"$pshome\Modules\TestModule.psd1" | test-modulemanifest Test-ModuleManifest : The specified type data file 'C:\Windows\System32\Wi ndowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml' could not be pro cessed because the file was not found. Please correct the path and try aga in. At line:1 char:34 + "$pshome\Modules\TestModule.psd1" | test-modulemanifest <<<< + CategoryInfo : ResourceUnavailable: (C:\Windows\System32\Win dowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml:String) [Test-Modul eManifest], FileNotFoundException + FullyQualifiedErrorId : Modules_TypeDataFileNotFound,Microsoft. PowerShell.Commands.TestModuleManifestCommandName Name : TestModule Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Test Module\TestModule.psd1 Description : Guid : 6f0f1387-cd25-4902-b7b4-22cff6aefa7b Version : 1.0 ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Test Module ModuleType : Manifest PrivateData : AccessMode : ReadWrite ExportedAliases : {} ExportedCmdlets : {} ExportedFunctions : {} ExportedVariables : {} NestedModules : {} Beschreibung ----------- In diesem Befehl wird eine Pfadzeichenfolge mit einem Pipelineoperator (|) an Test-ModuleManifest gesendet. Die Befehlsausgabe zeigt an, dass der Test fehlgeschlagen ist, da die Datei "TestTypes.ps1xml", die im Manifest aufgeführt war, nicht gefunden wurde.BEISPIEL 3C:\PS>function Bool-ModuleManifest ($path) {$a = dir $path | test-modulemanifest -erroraction SilentlyContinue; $?} Beschreibung ----------- Diese Funktion entspricht Test-ModuleManifest, gibt im Unterschied dazu jedoch einen booleschen Wert zurück: "True", wenn das Manifest den Test besteht, andernfalls "False". Die Funktion ruft das Modulmanifest, das von der Variablen "$path" angegeben wird, mit dem Cmdlet Get-ChildItem (alias = dir) ab. Das Dateiobjekt wird mit einem Pipelineoperator (|) an das Cmdlet "Test-ModuleManifest" übergeben. Im Befehl "Test-ModuleManifest" wird der allgemeine ErrorAction-Parameter mit dem Wert SilentlyContinue verwendet, um die Anzeige von Fehlern zu unterdrücken, die der Befehl generiert. Außerdem wird das PSModuleInfo-Objekt, das von Test-ModuleManifest zurückgegeben wird, in der Variablen "$a" gespeichert, sodass das Objekt nicht angezeigt wird. In einem separaten Befehl (die Befehle sind mit einem Semikolon [;] getrennt) wird dann der Wert der automatischen Variablen "$?" angezeigt, und wenn keine Fehler vom vorherigen Befehl generiert wurden, wird "True" zurückgegeben, andernfalls "False". Sie können diese Funktion in bedingten Anweisungen verwenden, die beispielsweise vor einem Import-Module-Befehl oder einem Befehl stehen können, von dem das Modul verwendet wird. VERWANDTE LINKS Online version: http://go.microsoft.com/fwlink/?LinkID=141557 (möglicherweise auf Englisch) Import-Module Get-Module New-Module Remove-Module Export-ModuleMember New-ModuleManifest about_Modules C:\Windows>powershell get-help Add-PSSnapin -full
Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.
ColorConsole [Version 3.7.1000] PowerShell 2.0-Export