これは実際にモジュールを他のマシンにどのように展開するかによって異なります。ネットワーク共有上で共有したり、zipパッケージを配布したい場合は、これらの依存関係をモジュールとともに含めることができます。ちょうどそのように、あなたのスクリプト定義をひとつのディレクトリにIndented.Common
と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
それだけです。これは正常な.ps1で、.psm1モジュールではない場合にも機能します。
おそらくより洗練された方法はWMF5 PackageManagementを使用することです。依存関係(NestedModules)としてIndented.NetworkTools
をMyModule.psd1
に、次にpublish it on PSGalleryに宣言します。次に、他のマシンでInstall-Module MyModule
と言うことができます - これはMyModule
をインストールし、依存関係になります。
この方法の問題点は、宣言された依存関係をPowerShellGallery(Indented.*
モジュールではありません)でも利用できることです。
このリンクをチェックして、要件を満たしているかどうかを確認してください。http://windowsitpro.com/blog/powershell-implicit-remoting-never-install-module-again – Nkosi
返信ありがとうございます。残念ながらそれは私にとってはうまくいかないでしょう。私のスクリプトは顧客の環境で実行され、ネットワーク機器などを素早く発見することができます。 – Junaid
しかし、その環境内の1つの中央サーバーでそれを使用し、残りのサーバーでそれを使用するのはどうでしょうか。私はそれがハックのように思えるが、それは実行可能な回避策かもしれない。 – Nkosi