예제 #1
0
 public MsDNS()
 {
     if (IsDNSInstalled())
     {
         // creare WMI helper
         wmi = new WmiHelper("root\\MicrosoftDNS");
     }
 }
예제 #2
0
        public MsFTP()
	    {

            if (IsInstalled())
            {
                // instantiate WMI helper
                wmi = new WmiHelper("root\\MicrosoftIISv2");
            }
	    }
예제 #3
0
 public void RebootSystem()
 {
     try
     {
         Log.WriteStart("RebootSystem");
         WmiHelper wmi = new WmiHelper("root\\cimv2");
         ManagementObjectCollection objOses = wmi.ExecuteQuery("SELECT * FROM Win32_OperatingSystem");
         foreach (ManagementObject objOs in objOses)
         {
             objOs.Scope.Options.EnablePrivileges = true;
             objOs.InvokeMethod("Reboot", null);
         }
         Log.WriteEnd("RebootSystem");
     }
     catch (Exception ex)
     {
         Log.WriteError("RebootSystem", ex);
         throw;
     }
 }
예제 #4
0
        public WindowsProcess[] GetWindowsProcesses()
        {
            try
            {
                Log.WriteStart("GetWindowsProcesses");

                List<WindowsProcess> winProcesses = new List<WindowsProcess>();

                WmiHelper wmi = new WmiHelper("root\\cimv2");
                ManagementObjectCollection objProcesses = wmi.ExecuteQuery(
                    "SELECT * FROM Win32_Process");

                foreach (ManagementObject objProcess in objProcesses)
                {
                    int pid = Int32.Parse(objProcess["ProcessID"].ToString());
                    string name = objProcess["Name"].ToString();

                    // get user info
                    string[] methodParams = new String[2];
                    objProcess.InvokeMethod("GetOwner", (object[])methodParams);
                    string username = methodParams[0];

                    WindowsProcess winProcess = new WindowsProcess();
                    winProcess.Pid = pid;
                    winProcess.Name = name;
                    winProcess.Username = username;
                    winProcess.MemUsage = Int64.Parse(objProcess["WorkingSetSize"].ToString());

                    winProcesses.Add(winProcess);
                }

                Log.WriteEnd("GetWindowsProcesses");
                return winProcesses.ToArray();
            }
            catch (Exception ex)
            {
                Log.WriteError("GetWindowsProcesses", ex);
                throw;
            }
        }