VBScript Code aus einer ASP Seite starten
ASP oder Active Server Pages werden verwendet um auf dem Webserver serverseitig Skriptsprachen wie VBScript ausführen zu können.
Das klassische ASP wird seitens Microsoft nicht mehr weiterentwickelt, kann aber durchaus für kleinere Webprojekte noch verwendet werden.
Wie auch bei PHP kann die ASP Seite aus HTML Code bestehen, dieser kann mittels <% zum Skriptteil wechseln, %> beendet diesen wieder.
Der Code innerhalb <% %> wird also vom Server interpretiert, der Code außerhalb ist statisches HTML.
Der vom Server interpretierte Code wird zum dynamischen erzeugen der Webseite verwendet.
Um einen VBScript Code oder eine Batchdatei in einer Standard .asp Seite ausführen zu können, benötigt das Skript die entsprechenden Rechte.
Das heißt, es muss ein Windows Benutzer für das Ausführen des Skripts ausgewählt werden.
Die Einstellung dazu ist im Anwendungspool versteckt.
Um diesen für die Authentifizierung zu verwenden stelle ich die Default Webseite auf "Identität des Anwendungspools":
anschließend kann im Anwendungspool ein Benutzer hinterlegt werden:
Beim Hinterlegen des Benutzer muss natürlich auch das Passwort angegeben werden, der IIS merkt sich dieses.
wenn ich jetzt folgendes DOS-Kommando per ASP Code absetze: whoami,
bekomme ich den ausgewählten Benutzer zurück: das Skript wird unter diesem Benutzerkontext ausgeführt.
Hier der Quellcode für die Test-ASP Seite:
<%
set objshell=server.createobject("WScript.Shell")
objshell.run "cmd.exe /c ""whoami > c:\defaultasp.txt """,1,true
set objshell=nothing
%>
diesen einfach z.B. C:\inetpub\wwwroot\default.asp kopieren und per Browser aufrufen: http://localhost
auf c:\ befindet sich dann eine Textdatei mit dem Usernamen.
{{percentage}} % positiv