InitialSessionState.ImportPSModule
Powershell モジュールをインポートするために使用しようとしています。
モジュールのインポートが何らかの理由 (ファイルが見つからないなど) で失敗したかどうか知りたいです。そのようなコードを try ブロックに入れると、失敗した場合に例外が発生せず、モジュールをインポートできない場合、関数は黙って失敗し、続行するように見えます。
インポートが失敗した場合にコードで警告を受ける方法はありますか?
私は次のようなことをしようとしています。以下のコードでは、モジュール「TestModule1234」は存在しません。catch ブロックは例外をキャッチしません。
注: これは単なるプロトタイプ テスト コードであるため、製品コードに関連する不規則性は無視してください。
try
{
//Initializing the PowerShell runspace
InitialSessionState psSessionInitialState = InitialSessionState.CreateDefault();
LogFile.Log("Importing Module TestModule1234");
psSessionInitialState.ImportPSModule(new[] { "TestModule1234" });
LogFile.Log("Creating Powershell Runspace");
m_PoshRunspace = RunspaceFactory.CreateRunspace(psSessionInitialState);
}
catch (System.Exception ex)
{
LogFile.Log("Failed to create a Powershell Runspace");
LogFile.Log(ex.ToString());
throw;
}