我正在嘗試使用InitialSessionState.ImportPSModule
來導入Powershell模塊。ImportPSModule失敗檢測
我有興趣瞭解由於任何原因導致模塊導入失敗(例如找不到文件等)。將這樣的代碼放在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;
}
如果我運行'進口模塊xyz'我得到'導入 - 模塊:指定的模塊'xyz'未加載,因爲在任何模塊目錄中都找不到有效的模塊文件。你能告訴我們你如何嘗試導入模塊? –
編輯原始問題以顯示我正在嘗試執行的示例。 – Dev28