Asp.net使用powershell管理hyper-v

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
using System.Collections.ObjectModel;
using System.Text;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {

        RunspaceConfiguration rconfig = RunspaceConfiguration.Create();
        PSSnapInException Pwarn = new PSSnapInException();

        Runspace runspace = RunspaceFactory.CreateRunspace();
        string test = "Import-Module VirtualMachineManager
";
        runspace = RunspaceFactory.CreateRunspace(rconfig);
        runspace.Open();
        Pipeline pipeline = runspace.CreatePipeline();
        pipeline.Commands.AddScript(test);
        try
        {
            var results = pipeline.Invoke();

            using (Pipeline pipe = runspace.CreatePipeline())
            {
                //Start-VM -name XXXXX
Command cmd = new Command("Start-VM"); cmd.Parameters.Add("Name", "test_machine2"); pipe.Commands.Add(cmd); var result = pipe.Invoke(); Label1.Text = results.ToString(); } } catch (Exception ex) { throw ex; Label1.Text = ex.ToString(); } } }
原文地址:https://www.cnblogs.com/wicrecend/p/4931397.html