それは、モジュールを他のマシンにどのようにデプロイするかによって大きく異なります。ネットワーク共有で共有したり、zip パッケージを配布したりする場合は、これらの依存関係をモジュールと共に含めることができます。次のように、スクリプト定義を含む 1 つのディレクトリにIndented.Common
andを配置するだけです。Indented.NetworkTools
MyModule/
└╴MyModule.psm1
└╴Indented.Common/
└╴IndentedNetworkTools/
MyModule.psm1
次に、これらのモジュールを(グローバル モジュール パスにインストールせずに)から直接ロードできます。
import-module $psscriptroot\Indented.Common\Indented.Common.psm1
import-module $psscriptroot\Indented.NetworkTools\Indented.NetworkTools.psm1
以上です。これは、 .psm1モジュールではなく、通常の.ps1がある場合にも機能します。
おそらく、より洗練された方法はWMF5 PackageManagementを使用することです。Indented.NetworkTools
で依存関係 (NestedModules) として宣言しMyModule.psd1
、PSGallery で公開します。次に、他のマシンで言うことができますInstall-Module MyModule
-これはインストールさMyModule
れ、依存関係になります。
このアプローチの問題は、宣言された依存関係が PowershellGallery でも利用できる必要があることです (Indented.*
モジュールは利用できません)。