/// <summary>根据计算机名获取NetworkAdapter</summary>> /// <param name="computerName">计算机名</param> /// <param name="all">获取所有NetworkAdapter</param> /// <returns></returns> public static Win32_NetworkAdapter[] GetWin32_NetworkAdapters(string computerName, bool allAdapter) { string query = "SELECT * FROM " + WMIConst.Win32_NetworkAdapter; WMIProvider wmiProvider = new WMIProvider(computerName); ManagementObject[] mos = wmiProvider.GetManagementObject(query); ArrayList arrayList = new ArrayList(); if (mos.Length > 0) { for (int i = 0; i < mos.Length; i++) { Win32_NetworkAdapter na = new Win32_NetworkAdapter(mos[i]); if (allAdapter == false) { if (na.MACAddress != "" && na.AdapterTypeID == AdapterType.Ethernet8023 && na.NetConnectionID != "") { arrayList.Add(na); } } else { arrayList.Add(na); } } } return (Win32_NetworkAdapter[])arrayList.ToArray(typeof(Win32_NetworkAdapter)); }
/// <summary>根据计算机获取Win32_Process</summary>> /// <param name="computerName"></param> /// <returns></returns> public static Win32_Process GetWin32_Process(string computerName) { WMIProvider wmiProvider = new WMIProvider("devsvr"); wmiProvider.Connect(); ManagementClass managementClass = wmiProvider.GetManagementClass("Win32_Process"); return new Win32_Process(managementClass); }
/// <summary>获取远程计算机服务集合</summary>> /// <param name="computerName"></param> /// <returns></returns> public static Win32_Services[] GetWin32_Services(string computerName) { string query = "SELECT * FROM Win32_Service"; WMIProvider wmiProvider = new WMIProvider(computerName); wmiProvider.Connect(); ManagementObject[] mo = wmiProvider.GetManagementObject(query); return new Win32_Services().GetWin32_Services(mo); }
/// <summary>根据计算机名获取Win32_PingStatus</summary>> /// <param name="computerName">计算机名</param> /// <returns></returns> public static Win32_PingStatus GetWin32_PingStatus(string computerName) { string query = "SELECT * FROM " + WMIConst.Win32_PingStatus + " WHERE Address='" + computerName + "'"; WMIProvider wmiProvider = new WMIProvider("."); ManagementObject mo = wmiProvider.GetManagementObject(query)[0]; Win32_PingStatus pingStatus = new Win32_PingStatus(mo); return pingStatus; }
public static void RemoteExec(string computerName, string commandLine, string currentDirectory, ref uint processId) { WMIProvider wmiProvider = new WMIProvider(computerName); ManagementClass mc = wmiProvider.GetManagementClass("Win32_Process"); object[] methodArgs = { commandLine, currentDirectory, null, processId }; mc.InvokeMethod("Create", methodArgs); processId = Convert.ToUInt32(methodArgs[3]); }
private void EventLogManager_Init() { if (String.IsNullOrEmpty(_userName) && String.IsNullOrEmpty(_userPassword)) { _wmiProvider = new WMIProvider(_serverName); } else { _wmiProvider = new WMIProvider(_serverName, _userName, _userPassword); } //WMI连接 _wmiProvider.Connect(); }