Test-ModuleManifest
Sprawdza, czy plik manifestu modułu dokładnie opisuje zawartość modułu.
Składnia
Default (Domyślna)
Test-ModuleManifest
[-Path] <String>
[<CommonParameters>]
Opis
Polecenie cmdlet Test-ModuleManifest sprawdza, czy pliki wymienione w manifeście modułu (.psd1) są rzeczywiście w określonych ścieżkach.
To polecenie cmdlet zostało zaprojektowane tak, aby ułatwić autorom modułów testowanie plików manifestu. Użytkownicy modułu mogą również używać tego polecenia cmdlet w skryptach i poleceniach do wykrywania błędów przed uruchomieniem skryptów, które zależą od modułu.
Test-ModuleManifest zwraca obiekt reprezentujący moduł. Jest to ten sam typ obiektu, który Get-Module zwraca. Jeśli jakiekolwiek pliki nie znajdują się w lokalizacjach określonych w manifeście, polecenie cmdlet generuje również błąd dla każdego brakującego pliku.
Przykłady
Przykład 1. Testowanie manifestu
Test-ModuleManifest -Path "$PSHOME\Modules\TestModule.psd1"
To polecenie testuje manifest modułu TestModule.psd1.
Przykład 2. Testowanie manifestu przy użyciu potoku
"$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 processed because the file was not found. Please correct the path and try again.
At line:1 char:34
+ "$PSHOME\Modules\TestModule.psd1" | Test-ModuleManifest <<<<
+ CategoryInfo : ResourceUnavailable: (C:\Windows\System32\WindowsPowerShell\v1.0\Modules\TestModule\TestTypes.ps1xml:String) [Test-ModuleManifest], FileNotFoundException
+ FullyQualifiedErrorId : Modules_TypeDataFileNotFound,Microsoft.PowerShell.Commands.TestModuleManifestCommandName
Name : TestModule
Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestModule\TestModule.psd1
Description :
Guid : 6f0f1387-cd25-4902-b7b4-22cff6aefa7b
Version : 1.0
ModuleBase : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\TestModule
ModuleType : Manifest
PrivateData :
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {}
ExportedFunctions : {}
ExportedVariables : {}
NestedModules : {}
To polecenie używa operatora potoku (|) do wysyłania ciągu ścieżki do Test-ModuleManifest.
Dane wyjściowe polecenia pokazują, że test zakończył się niepowodzeniem, ponieważ plik TestTypes.ps1xml, który został wymieniony w manifeście, nie został znaleziony.
Przykład 3. Pisanie funkcji w celu przetestowania manifestu modułu
function Test-ManifestBool ($path)
{$a = dir $path | Test-ModuleManifest -ErrorAction SilentlyContinue; $?}
Ta funkcja jest podobna do Test-ModuleManifest, ale zwraca wartość logiczną. Funkcja zwraca $true, jeśli manifest przeszedł test i $false w przeciwnym razie.
Funkcja używa polecenia cmdlet Get-ChildItem alias = dir, aby uzyskać manifest modułu określony przez zmienną $path. Polecenie używa operatora potoku (|) do przekazania obiektu pliku do Test-ModuleManifest.
Test-ModuleManifest używa ErrorAction wspólnego parametru z wartością SilentlyContinue, aby pominąć wyświetlanie wszelkich błędów generowanych przez polecenie. Zapisuje również obiekt PSModuleInfo, który Test-ModuleManifest zwraca wartość w zmiennej $a. W związku z tym obiekt nie jest wyświetlany.
Następnie w osobnym poleceniu funkcja wyświetla wartość zmiennej automatycznej $?. Jeśli poprzednie polecenie nie generuje błędu, polecenie wyświetla $truei $false w przeciwnym razie.
Tej funkcji można używać w instrukcjach warunkowych, takich jak te, które mogą poprzedzać Import-Module polecenia lub polecenia korzystającego z modułu.
Parametry
-Path
Określa ścieżkę i nazwę pliku manifestu. Wprowadź opcjonalną ścieżkę i nazwę pliku manifestu modułu z rozszerzeniem nazwy pliku .psd1. Domyślną lokalizacją jest bieżący katalog. Obsługiwane są symbole wieloznaczne, ale muszą być rozpoznawane jako pojedynczy plik manifestu modułu.
Ten parametr jest wymagany. Możesz również przekierować ścieżkę do Test-ModuleManifest.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
String
Możesz przekazać ścieżkę do manifestu modułu do tego polecenia cmdlet.
Dane wyjściowe
PSModuleInfo
To polecenie cmdlet zwraca obiekt PSModuleInfo reprezentujący moduł. Zwraca ten obiekt, nawet jeśli manifest zawiera błędy.