wmi执行dos命令

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
using System.Threading;
namespace ConsoleApplication10
{
class Program
{

    public static void f(string command)
    {
        ConnectionOptions connOption = new ConnectionOptions();
        connOption.Username = @"\" + "administrator";
        connOption.Password = "server";
        ManagementPath mngPath = new ManagementPath(@"\\" + "10.100.100.68" + @"\root\cimv2:Win32_Process");
        // connOption.Username = @"\" + "haha";
        //connOption.Password = "haha";
        //ManagementPath 包装了生成和分析wmi对象的路径
        // ManagementPath mngPath = new ManagementPath(@"\\" + "10.30.10.119" + @"\root\cimv2:Win32_Process");
        ManagementScope scope = new ManagementScope(mngPath, connOption);
        scope.Connect();
        //ObjectGetOptions 类是指定用于获取管理对象的选项
        ObjectGetOptions objOption = new ObjectGetOptions();
        //ManagementClass 是表示公共信息模型 (CIM) 管理类,通过该类的成员,可以使用特定的 WMI 类路径访问 WMI 数据
        ManagementClass classInstance = new ManagementClass(scope, mngPath, objOption);
        int ProcessId = 1;


        object[] cmdline = { "cmd  /c" + command, "c:\\", null, ProcessId };
        //调用执行命令的方法\
        Object str = classInstance.InvokeMethod("Create", cmdline);

        String errorStr = "";
        Console.WriteLine(int.Parse(str.ToString()));
        switch (int.Parse(str.ToString()))
        {
            case 2:
                errorStr = "Access denied";
                break;
            case 3:
                errorStr = "Insufficient privilege";
                break;
            case 6:
                errorStr = "Unknown failure";
                break;
            case 9:
                errorStr = "Path not found";
                break;
            case 21:
                errorStr = "Invalid parameter";
                break;
            case 0:
                errorStr = "OK";
                break;
            default:
                errorStr = "unknow";
                break;

        }
        Console.WriteLine(errorStr);
    }
    static void Main(string[] args)
    {
        string command = "md wenjian";
        Console.WriteLine("正在创建文件夹");
        f(command);
         Console.WriteLine("正在删除文件夹");
         Thread.Sleep(1000);
         command = "rd wenjian";
         f(command);

    }



}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值