Verwendung von Windows Script Host-Skripts als CGI-Skripts


Zusammenfassung


Beim Versuch, eine Visual Basic-Skript auf einem Webserver im Kontext ein CGI-Skript kann das Skript nicht ordnungsgemäß ausgeführt. Der wahrscheinlichste Grund dafür ist das Skriptmodul wird normalerweise im Sicherheitskontext des bei der Installation von IIS erstellte IUSR_Machine ausgeführt. Leider müssen Cscript.exe (die scripting-Engine) bestimmte Registrierungseinträge für IUSR_Machine Benutzer. Da eine Struktur HKEY_CURRENT_USER nicht für die IUSR_Machine verfügbar ist, wird IIS die HKEY_USERS\ geladen. Standardstruktur ersetzt. Allerdings der HKEY_USERS\. Standardstruktur enthält nicht die erforderlichen Schlüssel und Einträge für das Skriptmodul. In diesen Fällen treten CGI-Fehler ohne zusätzliche Informationen. Oder die Datei Cscript.exe im Batch-Modus gestartet wurde, ein Fehler angezeigt, dass die Einstellung für den angegebenen Benutzer laden konnte. Dieses Dokument zeigt so konfigurieren Sie den IIS-Computer damit Visual Basic-Skripts als CGI-Skript ausgeführt werden kann.

Weitere Informationen


Es wird vorausgesetzt, dass Windows Script Host auf dem IIS-Servercomputer installiert ist; die Standardoption Installation NT Option Pack dazu. Gehen Sie folgendermaßen vor, um die VBScript-Unterstützung aktivieren:
  1. Öffnen Sie eine Eingabeaufforderung. Gehen Sie hierzu folgendermaßen vor:
    1. Klicken Sie auf Start und anschließend auf Ausführen.
    2. Geben Sie cmd ein, und klicken Sie dann auf OK.
  2. Suchen Sie den Ordner "Inetpub\Adminscripts". (Dieser Speicherort variieren je nach der Installation von Internet Information Server).
  3. Geben Sie die folgenden Befehle:
    Cscript adsutil.vbs SET w3svc/CreateCGIWithNewConsole "1"
    Cscript adsutil.vbs SET w3svc/CreateProcessAsUser "0"
  4. Konfigurieren der Erweiterung Verzeichnis %SYSTEMROOT%\System32 Cscript.exe zugeordnet werden. Dies erfolgt über die Microsoft Management Console. Insbesondere sind die Konfigurationsschritte für IIS4 wie folgt:
    1. Führen Sie die Anwendung IIS4 -Verwaltungskonsole .
    2. Bearbeiten Sie die Eigenschaften für die Website (Rechtsklick auf Ihrer Website in der Baumansicht und wählen Eigenschaften).
    3. Wählen Sie die Registerkarte Basisverzeichnis .
    4. Wählen Sie im Feld Application SettingsKonfiguration.
    5. Wählen Sie auf der Registerkarte App ZuordnungHinzufügen.
    6. Die ausführbare Datei werden im folgenden auf einem Computer 4,0 (Marke Pfad Cscript.exe WinNT Installation verwenden):
      C:\WINNT\system32\CSCRIPT.EXE.exe %s %s
    Geben Sie die Erweiterung vbs .
    1. Aktivieren Sie die Kontrollkästchen Skriptmodul und Kontrollkästchen Dateien vorhanden sind.
    2. Speichern Sie die Datei, indem Sie erneut auf OK, anwenden, OKund OK .
  5. Erstellen Sie mit den Registrierungseditor die folgenden Schlüssel und Einträge:
    HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script HostHKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\Settings
    Stellen Sie sicher, dass jeder Lesezugriff auf diese beiden Schlüssel. Erstellen Sie nun die folgenden Einträge unter:
    HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\SettingsBatchMode: REG_DWORD: 0DisplayLogo: REG_DWORD: 0Timeout: REG_DWORD: 0
  6. Kopieren Sie VBS-Skript-Datei in ein virtuelles Verzeichnis auf dem Server ausführen/Skriptberechtigungen hat jetzt. Standardmäßig wird das Verzeichnis/Scripts über die erforderlichen Berechtigungen verfügen.
Werden zu testen, ob die Konfiguration funktioniert oder nicht das folgende Skript:
Option ExplicitWScript.Echo "Content-Type: text/html"WScript.EchoWScript.Echo "If you see this, it worked."
Speichern Sie das obige Skript im Verzeichnis/Scripts als Test.vbs. Rufen Sie nun das Skript mit einem beliebigen Browser mit folgender URL:
http://server/scripts/test.vbs.
Hinweis: ähnliche Einschränkungen alle dazu, ein Skript mit Cscript.exe Sicherheitskontext lokales System oder einen Benutzer als lokales System gestartet wird. Die obigen Änderungen in der Registrierung sollte diese Abhilfe.

Informationsquellen


Microsoft Internet Information Server-Onlinedokumentation.