Autor Beitrag
Metrik
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 80

Win XP, Win Vista
C# (VS 2003, #Develop)
BeitragVerfasst: Sa 23.02.08 19:52 
Hallo

Ich versuche grade über die
System.Diagnostics.Process.GetProcesses-Methode auf Prozesse anderer Computer zuzugreifen, aber bekomme folgende Exception:

Error: System.InvalidOperationException: Couldn't get process information from performance counter.
---> System.ComponentModel.Win32Exception: Access is denied
at System.Diagnostics.PerformanceMonitor.Init()
at System.Diagnostics.PerformanceCounterLib.GetPerformanceData(String item)
at System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLib library)
--- End of inner exception stack trace ---
at System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLib library)
at System.Diagnostics.NtProcessManager.GetProcessInfos(String machineName, Boolean isRemoteMachine)

...ich seh da heraus, dass ich keine Berechtigung habe, aber hab überhaupt keine Ahnung, was ich jetzt machen soll ^^

Wie kann ich das machen, dass cih die nötigen rechte bekomme?

Metrik
golgol
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 58

Win XP Prof. / Linux
C# (VS 2005)
BeitragVerfasst: Mo 25.02.08 09:53 
Keine Ahnung wie du die entsprechende Berechtigung setzt und ob das überhaupt geht. Ich denke aber, dass es eine Sicheitslücke darstellt, wenn du die Windows-Sicherheitsmechanismen einfach so umgehst oder runter setzt. Ich denke eine bessere Lösung wäre es einen kleinen Dienst zu schreiben, der einen Port öffnet über den du mit einem gesicherten Protokoll die Informationen abfragst. Das könntest du z.B. über .NET Remoting machen - der Aufwand hält sich in Grenzen.