簡體   English   中英

通過asp.net C#在PowerShell中使用Hyper-V Get-VM

[英]Hyper-V Get-VM in powershell via asp.net c#

我試圖編寫一個Web界面,以顯示遠程Hyper-V主機上的當前VM。

到目前為止,我有這個

    protected void getVMS(object sender, GridViewCommandEventArgs e)
    {
        //command to run
        string cmdToRun = "get-vm -computername fsyovs02";

        var shell = PowerShell.Create();

        shell.Commands.AddScript(cmdToRun);

        var results = shell.Invoke();

           if (results.Count > 0)
           {

              var builder = new StringBuilder();

              foreach (PSObject vm in results)
              {

                  builder.Append(vm.BaseObject.ToString() + "\r\n");
              }

            ResultBox.Text = Server.HtmlEncode(builder.ToString());
          }
    }

這是返回的東西,但不是我想要的。 對於每個VM,它正在返回行

  Microsoft.HyperV.PowerShell.VirtualMachine

我想要的是通過powershell確切顯示它的工作方式。

有人可以幫我嗎-我快要瘋了!

非常感謝馬克

抱歉,由於您無法從C#訪問這些類型,因此不得不編輯我的答案。 然后,您應該使用PSObject上的Members集合來訪問VirtualMachine的特定屬性。 請根據您的情況檢查此方法:

    foreach (PSObject vm in results)
    {       
           builder.Append(vm.Members["Name"].Value + "\r\n");
    }

暫無
暫無

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

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