Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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;
        }
Esempio n. 5
0
        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]); 
        }
Esempio n. 6
0
        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();
        }