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 返します。
この関数は、Get-ChildItem コマンドレット alias = dir を使用して、$path 変数で指定されたモジュール マニフェストを取得します。 このコマンドでは、パイプライン演算子 (|) を使用して、ファイル オブジェクトを Test-ModuleManifestに渡します。
Test-ModuleManifest では、ErrorAction 共通パラメーターと値が SilentlyContinue を使用して、コマンドによって生成されるエラーの表示を抑制します。 また、$a変数で返 Test-ModuleManifest PSModuleInfo も保存します。 そのため、オブジェクトは表示されません。
次に、別のコマンドで、$? 自動変数の値が表示されます。 前のコマンドでエラーが発生しない場合は、$trueが表示され、それ以外の場合は $false。
この関数は、Import-Module コマンドやモジュールを使用するコマンドの前にあるような条件ステートメントで使用できます。
パラメーター
-Path
マニフェスト ファイルのパスとファイル名を指定します。 オプションのパスと、.psd1 ファイル名拡張子を持つモジュール マニフェスト ファイルの名前を入力します。 既定の場所は、現在のディレクトリです。 ワイルドカード文字はサポートされていますが、1 つのモジュール マニフェスト ファイルに解決する必要があります。
このパラメーターは必須です。 パスをパイプして Test-ModuleManifestすることもできます。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | 0 |
| 必須: | True |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
String
モジュール マニフェストへのパスをこのコマンドレットにパイプできます。
出力
PSModuleInfo
このコマンドレットは、モジュールを表す PSModuleInfo オブジェクトを返します。 マニフェストにエラーが発生した場合でも、このオブジェクトが返されます。