Test-ModuleManifest
モジュールのマニフェスト ファイルにモジュールの内容が正確に記述されていることを確認します。
構文
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
返します。それ以外の場合は返されます。
この関数は、Get-ChildItem コマンドレット alias = dir を使用して、変数で指定されたモジュール マニフェストを $path
取得します。 このコマンドでは、パイプライン演算子 (|
) を使用してファイル オブジェクト Test-ModuleManifest
を渡します。
Test-ModuleManifest
は、 ErrorAction 共通パラメーターと SilentlyContinue の値を使用して、コマンドによって生成されるエラーの表示を抑制します。 また、$a変数で返される Test-ModuleManifest
PSModuleInfo オブジェクトも保存します。 そのため、オブジェクトは表示されません。
次に、別のコマンドで、関数は自動変数の値を $?
表示します。 前のコマンドでエラーが生成されない場合は、コマンドが$True
$False
表示されます。それ以外の場合は表示されます。
この関数は、コマンドまたはモジュールを使用するコマンドの Import-Module
前にあるような条件付きステートメントで使用できます。
パラメーター
-Path
マニフェスト ファイルのパスとファイル名を指定します。 ファイル名拡張子を持つモジュール マニフェスト ファイルの省略可能なパスと名前を .psd1
入力します。 既定の場所は、現在のディレクトリです。 ワイルドカード文字はサポートされていますが、1 つのモジュール マニフェスト ファイルに解決する必要があります。
このパラメーターは必須です。 パス Test-ModuleManifest
をパイプすることもできます。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
入力
モジュール マニフェストへのパスをこのコマンドレットにパイプできます。
出力
このコマンドレットは、モジュールを 表す PSModuleInfo オブジェクトを返します。 このオブジェクトは、マニフェストにエラーがある場合でも返されます。
関連リンク
PowerShell
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示