简体   繁体   English

如何通过C#.net运行PowerCli

[英]How to run PowerCli through C#.net

How to run PowerCli tool through C#.net i have no idea how to do it. 如何通过C#.net运行PowerCli工具,我不知道该怎么做。 i want to run power cli and i want to run some commands in it and it all has to done under single button click. 我想运行power cli,我想在其中运行一些命令,而这一切都必须在单击按钮的情况下完成。 (How to run PowerCli tool through C#.net i have no idea how to do it. i want to run power cli and i want to run some commands in it and it all has to done under single button click.) (如何通过C#.net运行PowerCli工具,我不知道该怎么做。我想运行power cli,我想在其中运行一些命令,而这一切都必须在单击按钮的情况下完成。)

here is my code: 这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace OVF_ImportExport
{
    public partial class Form1 : Form
    {
        string sPath = "";
        string sName = "";

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            //richTextBox1.Text = "";
            foreach (DataGridViewRow row in dataGridView1.SelectedRows)
            {
                sName = row.Cells[0].Value.ToString();
                sPath = row.Cells[1].Value.ToString();

                //richTextBox1.Text = richTextBox1.Text + sName + Environment.NewLine;

            }
        }

        private void BtnBrowse_Click(object sender, EventArgs e)
        {
            fbd.ShowDialog();
            TxtBrowsepath.Text = fbd.SelectedPath;
        }

        private void BtnCreate_Click(object sender, EventArgs e)
        {
            richTextBox1.Text = "";
            StreamWriter file = new StreamWriter("Export.bat");
            file.WriteLine("c: ");
            file.WriteLine("cd \\");
            file.WriteLine("cd Program Files ");
            file.WriteLine("cd VMware");
            file.WriteLine("cd VMware OVF Tool");

            foreach (DataGridViewRow row in dataGridView1.SelectedRows)
            {
                sName = row.Cells[0].Value.ToString();
                sPath = row.Cells[1].Value.ToString();

                //richTextBox1.Text = richTextBox1.Text + Environment.NewLine + sName;
                file.WriteLine("start ovftool.exe --powerOffSource vi://" + TxtUsername.Text + ":" + TxtPassword.Text + "@"
                + TxtIP.Text + sPath + " " + "\"" + TxtBrowsepath.Text + "\\" + sName + "\\"
                + sName + ".ovf" + "\"" + Environment.NewLine);

                //Console.WriteLine("sName: " + sName + "sPath: " + sPath);

            }
            file.WriteLine("pause");
            file.Close();
        }


        private void button1_Click(object sender, EventArgs e)
        {
            string delimiter = ",";
            string tablename = "export";
            string filename = ("c:\\izaz\\test.csv");


            DataSet dataset = new DataSet();
            StreamReader sr = new StreamReader(filename);

            dataset.Tables.Add(tablename);
            dataset.Tables[tablename].Columns.Add("Name");
            dataset.Tables[tablename].Columns.Add("Path");
            string allData = sr.ReadToEnd();
            string[] rows = allData.Split("\r".ToCharArray());
            foreach (string r in rows)
            {
                string[] items = r.Split(delimiter.ToCharArray());
                dataset.Tables[tablename].Rows.Add(items);
            }
            this.dataGridView1.DataSource = dataset.Tables[0].DefaultView;

        }

    }

}

You can use PowerCLi VSphere SDK for .net ; 您可以将PowerCLi VSphere SDK用于.net。 here is the guide : vSphere SDK for .NET Developer's Guide 这是指南: 适用于.NET的vSphere SDK开发人员指南

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM