Test-ModuleManifest
Проверяет, точно ли файл манифеста модуля описывает содержимое модуля.
Синтаксис
Default (по умолчанию)
Test-ModuleManifest
[-Path] <String>
[<CommonParameters>]
Описание
Командлет Test-ModuleManifest проверяет, находятся ли файлы, перечисленные в манифесте модуля (.psd1) в указанных путях.
Этот командлет предназначен для проверки файлов манифеста авторами модулей. Пользователи модулей также могут использовать этот командлет в скриптах и командах для обнаружения ошибок перед выполнением скриптов, зависящих от модуля.
Test-ModuleManifest возвращает объект, представляющий модуль. Это тот же тип объекта, который возвращает Get-Module. Если файлы не находятся в расположениях, указанных в манифесте, командлет также создает ошибку для каждого отсутствующих файла.
Примеры
Пример 1. Тестирование манифеста
Test-ModuleManifest -Path "$PSHOME\Modules\TestModule.psd1"
Эта команда проверяет манифест модуля TestModule.psd1.
Пример 2. Тестирование манифеста с помощью конвейера
"$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 : {}
Эта команда использует оператор конвейера (|) для отправки строки пути в Test-ModuleManifest.
Выходные данные команды показывают, что тест завершился ошибкой, так как файл TestTypes.ps1xml, который был указан в манифесте, не найден.
Пример 3. Запись функции для тестирования манифеста модуля
function Test-ManifestBool ($path)
{$a = dir $path | Test-ModuleManifest -ErrorAction SilentlyContinue; $?}
Эта функция похожа на Test-ModuleManifest, но возвращает логическое значение. Функция возвращает $true, если манифест прошел тест и $false в противном случае.
Функция использует командлет с псевдонимом dir = Get-ChildItem, чтобы получить манифест модуля, указанный переменной $path. Команда использует оператор конвейера (|) для передачи объекта файла в Test-ModuleManifest.
Test-ModuleManifest использует ErrorAction общий параметр со значением SilentlyContinue для подавления отображения всех ошибок, создаваемых командой. Также сохраняется объект PSModuleInfo, который Test-ModuleManifest возвращает в переменную $a. Поэтому объект не отображается.
Затем в отдельной команде функция отображает значение автоматической переменной $?. Если предыдущая команда не создает ошибки, команда отображает $trueи $false в противном случае.
Эту функцию можно использовать в условных инструкциях, таких как те, которые могут предшествовать команде Import-Module или команде, которая использует модуль.
Параметры
-Path
Задает путь и имя файла манифеста. Введите необязательный путь и имя файла манифеста модуля с расширением имени файла .psd1. Местоположением по умолчанию является текущий каталог. Поддерживаются подстановочные знаки, но они должны приводить к одному файлу манифеста модуля.
Этот параметр является обязательным. Можно также передать путь к Test-ModuleManifest.
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | True |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
String
Путь к манифесту модуля можно передавать этому командлету.
Выходные данные
PSModuleInfo
Этот командлет возвращает объект PSModuleInfo, представляющий модуль. Он возвращает этот объект, даже если манифест имеет ошибки.