Ich habe eine Batch-Datei, um ein VB-Skript auszuführen. Während das Ausführen der Batch-Datei per Doppelklick funktioniert, aber wenn ich das gleiche mit C # getan habe, arbeitet es an meiner lokalen Umgebung, aber nicht am Staging-Server (Windows Server 2008r2), gibt es irgendeine Berechtigungsstufe, die ich für diese Ausführung anwenden muss . Vom Staging-Server kann ich die Batch-Datei doppelklicken und ausführen ...
Ich habe mich beim Server mit Administratorkonto angemeldet und die Anwendung als localhost durchsucht.
Gibt es etwas, das mir bei der Ausführung der Batch-Datei von C # fehlt,
Ich glaube nicht, dass es Probleme mit meinem C # -Code gibt, da er in meiner lokalen Umgebung gut funktioniert, sowieso folgt mein C # -Code,
%Vor%* Dateiname ist der Pfad zur Stapeldatei. Außerdem habe ich die volle Berechtigung für die Ordner, die sowohl Batch-Datei und VBS-Dateien enthalten.
Um zu erweitern, was Kartheek gesagt hat:
IISAPPPOOL\AppPoolName
Network Service
ausgeführt.
Im Allgemeinen möchten Sie den App-Pool-Account behalten, da er hilft, die Daten zu trennen. Daher würde ich sicherstellen, dass Sie Lese- und Ausführungsberechtigungen für die Bat-Datei erteilen, die Sie für den App-Pool-Account benötigen. Sie benötigen außerdem die entsprechenden Berechtigungen für alle Dateien / Ordner, aus denen die Fledermaus lesen / schreiben muss.
Sie müssen nichts in Ihrer App ändern, um dieses Problem zu beheben, es sei denn, Sie möchten die IIS-Anwendung als den Benutzer tarnen, der tatsächlich auf der Website sitzt (das funktioniert nur, wenn Sie eine Form der Authentifizierung verwenden). ) Im Allgemeinen ist das eine schlechte Idee - also ist es am besten, nur die Berechtigungen anzupassen.
Als allgemeine Faustregel gilt, dass Sie bei der Arbeit an einem Webserver die Berechtigungen / Ausführungsstufen so niedrig wie möglich halten möchten.
Tags und Links c# asp.net vbscript batch-file windows-server-2008-r2