ただのポカミス記事です。
指定されたモジュールは読み込まれませんでしたエラー
VDI環境を作成する記事を作成していた際、APIサーバーから物理ホストのpowershellモジュールを呼び出すときに以下のエラーが出ました。
モジュール ディレクトリに有効なモジュール ファイルが見つからなかったため、指定されたモジュール 'hypervdi' は読み込まれませんでした。 + CategoryInfo : ResourceUnavailable: (hypervdi:String) [Import-Module], FileNotFoundException + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand + PSComputerName : windows-server1
もともと物理ホストでは正常動作していたので少し調べた結果、、、
モジュール内部で関数を呼びだしていただけでした。。。
簡単に例を出すと
#モジュール内部 function test-example{ //略 } function test-example2{ //略 } test-example <<<ここが問題
このように、powershellモジュール(psm1)の中で関数を実行している部分があるとimport-moduleコマンドをする際に関数を呼び出してしまうところもインポートしてしまいエラーが出るのだと思います。
物理ホストでは直接powershellモジュールを編集して実行しながら検証していたので気づかずにこの実行部分が残っていただけでした。消したら治りました。なんたるポカミスだあ
ポカミスでも記事にすることで皆さんのポカトラブルシュート時間削減になれば幸いです。