他のモジュールの関数からグローバルにコマンドレットをインポートする際に問題が発生します。Powershellコマンドレットを別のモジュールの関数からグローバルにインポートするにはどうすればよいですか?
ここに該当します。私がTest-Method
をdllで呼び出そうとしているとします。 Import-Module <dll path>
を実行すると正常に動作し、問題なくTest-Method
に電話することができます。
次に、使用法を簡略化する関数にコマンドを入れます。
function Import-Cmdlets
{
Import-Module "<dll path>" -Scope Global -Force
}
今PowerShellで、私は
Import-Cmdlets
を呼び出し、その後、私は問題なく
Test-Method
を呼び出すことができます。今、私のようなものを持っています。
しかし、psm1ファイルに関数を入れてpsm1ファイルにモジュールをインポートすると、はもうTest-Method
は見つかりません。
今、私は以下の内容をmymodule.psm1
ファイルがあります:
function Import-Cmdlets
{
Import-Module "<dll path>" -Scope Global -Force
}
はその後、PowerShellで私が実行します。
Import-Module mymodule.psm1 -Force
Import-Cmdlets
今、私はこれ以上Test-Method
を見つけることができません。 Get-Module
を実行するとdllが表示され、ExportedCommandsからTest-Method
が表示されます。しかし、私はそれにアクセスすることはできません。
これは、dllインポートでのみ発生します。 psm1ファイルを使用してdllパスを置き換えようとしましたが、この問題は発生しませんでした。
この問題の回避策または解決策はありますか?