簡體   English   中英

從C#導入powershell導入模塊始終失敗

[英]powershell Import-module from C# is always failing

我正在使用點網版本4.5和SCVMM 2012 R2。 嘗試運行以下代碼

InitialSessionState initial = InitialSessionState.CreateDefault();

initial.ImportPSModule(new string[] { "C:\\Program Files\\Microsoft System Center 2012 R2\\Virtual Machine Manager\\bin\\psModules\\virtualmachinemanager\\virtualmachinemanager.psd1" });
Runspace runspace = RunspaceFactory.CreateRunspace(initial);
runspace.Open();
PowerShell ps = PowerShell.Create();
ps.Runspace = runspace;
ps.Commands.AddCommand("Get-SCVMMserver");
ps.AddParameter("ComputerName", "some.domain.com");

foreach (PSObject result in ps.Invoke())
{                   
  Console.WriteLine(result.Members["IsSupported"].Value);
}

它始終會因以下錯誤而失敗,

加載擴展類型的數據文件時發生以下錯誤:Microsoft.PowerShell,C:\\ Program Files \\ Microsoft系統中心2012> R2 \\ Virtual Machine Manager \\ bin \\ virtualmachinemanager.types.ps1xml(5):錯誤>在“ Microsoft”類型中.SystemCenter.VirtualMachineManager.VMCheckpoint”:>異常:無法將類型為“ System.String”的>“ Microsoft.SystemCenter.VirtualMachineManager.Cmdlets.VMCheckpointConverter”值轉換為類型“ System.Type”。 Microsoft.PowerShell,C:\\ Program Files \\ Microsoft系統中心2012> R2 \\ Virtual Machine Manager \\ bin \\ virtualmachinemanager.types.ps1xml(11):>類型“ Microsoft.SystemCenter.VirtualMachineManager.Task”中的錯誤:>異常:無法將類型為“ System.String”的>“ Microsoft.SystemCenter.VirtualMachineManager.Cmdlets.TaskConverter”值轉換為類型“ System.Type”。

請幫助我這個錯誤。 謝謝

錯誤消息指出Cannot convert the >"Microsoft.SystemCenter.VirtualMachineManager.Cmdlets.TaskConverter" value >of type "System.String" to type "System.Type". 只需將第2行從string[]更改為new[] ,我認為應該沒問題。

像這樣

initial.ImportPSModule(new[] { "C:\\Program Files\\Microsoft System Center 2012 R2\\Virtual Machine Manager\\bin\\psModules\\virtualmachinemanager\\virtualmachinemanager.psd1" });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM