Frage

Weiß jemand, was Benutzerrechte erforderlich sind, für den folgenden Code als eine geplante Aufgabe auf Windows Server 2003 erfolgreich ausführen muss:

System.Diagnostics.Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName)

Wenn nicht als geplante Aufgabe ausgeführt heißen unter einem angemeldeten Benutzer, solange der Benutzer ein Mitglied des „Performance Monitor Users“, dieser Code wird eine Ausnahme nicht werfen.

Wenn es als geplante Aufgabe unter demselben Benutzerkonto ausgeführt wird, es funktioniert nicht.

Die einzige Art, wie ich es an der Arbeit kann es als ein Mitglied der lokalen Administrator-Gruppe ausgeführt werden.

Irgendwelche Ideen?

War es hilfreich?

Lösung

ergebene Entschuldigungen. Der Benutzer war ich mit war kein Mitglied der „Performance Monitor Users“ Gruppe.

Dies ist notwendig für .NET Framework 1.1 Implementierung von System.Diagnostics.

Ich habe den Benutzer zu dieser Gruppe hinzugefügt, und alles ist gut.

Andere Tipps

Was Zuweisungen von Benutzerrechten Sie das Konto gegeben haben, die als eine geplante Aufgabe ausgeführt wird? Sie müssen das betreffende Konto ‚Anmelden als Batch-Job‘ in der lokalen Sicherheitseinstellungen geben.

Update: Ist Ihre App Schreib auf Dateien und wenn ja, hat die geplante Aufgabe Benutzer haben genug Rechte

Ich klopfte nur eine Test-App auf, die die Prozessnamen aus dem Prozess [] Array von Process.GetProcessesByName (Process.GetCurrentProcess (). Process) in eine Datei und es funktioniert gut als geplante Aufgabe zurückgegeben schreibt ... läuft auch unter der Identität eines Benutzers, dass nur ein Mitglied der Gruppe Benutzer (nicht einmal ein Mitglied der ‚Performance Monitor Users‘ ist.

Der Ordner schreibt er die Rechte an SYSTEM ändern zugeordnet ist, Administratoren und den geplanten Task Benutzer.

Jede Chance des Codes einfügen oder zumindest ein klein genug Schnipsel, die die exe als geplante Aufgabe andernfalls zeigt so können wir helfen, das Problem zu diagnostizieren?

Prost
Kev

Ein Problem, das ich mit dem Lesen der Prozessnamen gesehen habe, ist, dass der Zugang zu den Leistungsindikatoren deaktiviert erhalten kann.

Riss Ihre Registrierung öffnen und sehen, ob dieser Schlüssel vorhanden ist: [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance] "Leistungsindikatoren deaktivieren" = dword: 00000001

Sie können entweder auf Null oder es gelöscht.

Genommen von MSDN :

  

Berechtigungen Linkdemand - in voller Größe   Vertrauen für den unmittelbaren Aufrufer. Diese   Element kann von teilweise verwendet werden   vertrauenswürdiger Code.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top