現在、PowerShell モジュールについて学んでいます。.psd1 マニフェスト ファイルを使用している場合は、.ps1 スクリプト ファイルと .psm1 マニフェスト ファイルを使用するオプションがあります。なぜ両方が必要なのですか?
.psm1 を RootModule として設定し、.ps1 を ScriptsToProcess に設定して、両方のモジュールを作成し、いくつかの違いに注意しましたが、それらが何を合計するかはわかりません。
- 両方に Write-Output ステートメントを追加すると、インポート時に .ps1 の出力が表示されますが、.psm1 の出力は表示されません。.psm1 の書き込み警告が表示されます。
- モジュール プレフィックスに対してGet-Commandプレフィックスを実行すると、.psm1 の関数はモジュール名と共に一覧表示されますが、.ps1 ファイルの関数は空白のモジュール名で一覧表示されます。