Próbowałem do tej pory na dwa sposoby.Jak uzyskać opis działającego procesu na zdalnym komputerze?
Pierwszy sposób, użyłem System.Diagnostics
, ale dostaję NotSupportedException
"Funkcja nie jest obsługiwana dla komputerów zdalnych" na MainModule
.
foreach (Process runningProcess in Process.GetProcesses(server.Name))
{
Console.WriteLine(runningProcess.MainModule.FileVersionInfo.FileDescription);
}
Drugi sposób, próbowałem za pomocą System.Management
ale wydaje się, że Description
z ManagementObject
jest ona taka sama jak Name
.
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());
}
Czy ktoś mógłby wiedzieć o lepszym sposobie otrzymywania opisów uruchomionego procesu na zdalnym komputerze?
Czy próbowałeś użyć wmigen Rob van der Woude? Może pomóc pokazać, co jest dostępne. http://www.robvanderwoude.com/wmigen.php – Lizz
@Lizz Cóż, już próbowałem zapętlić właściwości obj i sprawdzić, czy Property.ToString() zawierał słowo kluczowe, które powinno być w opisie jeden z procesów, których szukam ... – athom
Yikes. Przepraszam, nie mogę myśleć o niczym innym. :(To jest interesujące - i dziwne +1 dla dobrego kodu i rozwiązywania problemów! :) – Lizz