title: How to get the description of a running process on a remote machine?
body: <p>I have tried two ways to accomplish this so far.</p>
  
  <p>The first way, I used <code>System.Diagnostics</code>, but I get a <code>NotSupportedException</code> of "Feature is not supported for remote machines" on the <code>MainModule</code>.</p>
  
  <pre><code>foreach (Process runningProcess in Process.GetProcesses(server.Name))
  {
      Console.WriteLine(runningProcess.MainModule.FileVersionInfo.FileDescription);
  }
  </code></pre>
  
  <p>The second way, I attempted using <code>System.Management</code> but it seems that the <code>Description</code> of the <code>ManagementObject</code> is the she same as the <code>Name</code>.</p>
  
  <pre><code>string scope = @"\\" + server.Name + @"\root\cimv2";
  string query = "select * from Win32_Process";
  ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
  ManagementObjectCollection collection = searcher.Get();
  
  foreach (ManagementObject obj in collection)
  {
      Console.WriteLine(obj["Name"].ToString());
      Console.WriteLine(obj["Description"].ToString());
  }
  </code></pre>
  
  <p>Would anyone happen to know of a better way to go about getting the descriptions of a running process on a remote machine?</p>