2016-03-29 9 views
2

Ich habe eine ASP.NET MVC-Anwendung. Manchmal muss eine .bat-Datei im Stammverzeichnis ausgeführt werden, aber dies funktioniert nur, wenn sie als admin ausgeführt wird. Ich möchte die Berechtigungen für die gesamte Anwendung nicht ändern. Können Berechtigungen nur für die .bat-Datei festgelegt werden? (Die .bat-Datei aktualisiert einen Index in sphinx)Kann ich eine Batch-Datei als Admin auf iis ausführen?

+0

Sie könnten einen Windows-Dienst erstellen, um ihn für Sie auszuführen, anstatt ihn von einer Website auszuführen. Mit Windows-Diensten können Sie Objekte unter Systemberechtigungen ausführen. – Octanic

+0

Dies ist der einzige Weg? – Sergei

+2

Erstellen Sie eine geplante Aufgabe dafür - Programmierung eines Windows-Dienstes wäre total Overkill. – Filburt

Antwort

1

Eine mögliche Lösung ist die Erstellung eines administrativen Benutzers auf dem Server, wenn Sie die System.Process.Start( starten, um die Batch-Datei Sie pass in the administrator's credentials starten. Das sollte den Prozess in dem erhöhten Status unter den Anmeldeinformationen des administrativen Benutzers starten.

+0

Ich habe versucht, Prozess mit administrativen Anmeldeinformationen auszuführen, aber es hat nicht geholfen. Obwohl wenn ich auf Fledermaus-Datei klicke, lauf als Administrator, es ist Arbeit und wenn ich VS betreibe, ist es in Ordnung. Vielleicht mache ich etwas falsch? – Sergei

+0

Aktualisieren Sie Ihre Frage mit dem Code, den Sie ausprobiert haben –