Sammanfattning
När du försöker anropa en Visual Basic-skript från en webbserver i samband med ett CGI-skript, kan skriptet misslyckas ska fungera korrekt. Den mest troliga anledningen är skriptmotorn utförs vanligtvis i säkerhetskontexten för den IUSR_Machine som skapas i IIS när det är installerat. Tyvärr, Cscript.exe (skriptmotorn) kräver närvaro av vissa registerposter för IUSR_Machine användare. Eftersom en registreringsdatafilen HKEY_CURRENT_USER inte är tillgänglig för IUSR_Machine, laddar IIS HKEY_USERS\. STANDARD-registreringsdatafilen i dess ställe. Men i HKEY_USERS\. STANDARD strukturen innehåller inte nödvändiga nycklar och poster för skriptmotorn. I dessa fall uppstår ett CGI-fel, utan någon ytterligare information. Eller om filen Cscript.exe lanserades i batch-läge, ett felmeddelande visas som anger att det inte gick att läsa in inställningarna för den angivna användaren. Detta dokument visar hur du konfigurerar IIS-datorn så att Visual Basic-skript som ska köras som ett CGI-skript.
Mer information
I denna artikel förutsätts att Windows Script Host är installerat på maskinen för IIS-servern. alternativet för installation av NT Option Pack kommer att göra detta. Använd följande steg om du vill aktivera stöd för VBScript:
-
Öppna en kommandotolk. Gör så här:
-
Klicka på Start och därefter på Kör.
-
Skriv cmdoch klicka sedan på OK.
-
-
Leta upp mappen Inetpub\AdminScripts. (Den här platsen kan variera beroende på din installation av IIS (Internet Information Server)).
-
Skriv följande kommandon:
cscript adsutil.vbs SET w3svc/CreateCGIWithNewConsole ”1”
cscript adsutil.vbs SET w3svc/CreateProcessAsUser ”0”
-
Konfigurera filtillägget .vbs mappas till Cscript.exe finns i %SYSTEMROOT%\System32 katalog. Du kan göra detta via Microsoft Management Console. I synnerhet är konfigurationsstegen för IIS4 följande:
-
Kör programmet IIS4 Management Console .
-
Redigera egenskaper för webbplatsen (Högerklicka på webbplatsen i trädet visas och välj Egenskaper).
-
Välj fliken Arbetskatalog .
-
Välj konfigurationi rutan Inställningar för programmet .
-
Välj Lägg tillpå fliken Mappningar .
-
Den körbara filen blir följande på en dator med WinNT 4.0 (Kontrollera att du använder rätt sökväg till Cscript.exe på WinNT-installation):
C:\WINNT\system32\CSCRIPT.EXE.exe %s %s
Ange filnamnstillägget .vbs .
-
Kontrollera att kryssrutorna Skriptmotorn och Kontrollera att det finns filer är markerade.
-
Spara filen genom att klicka på OK, Verkställ, OKoch OK igen.
-
-
Med Registereditorn kan skapa följande nycklar och poster:
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script HostHKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\Settings
Kontrollera att alla har läsbehörighet till dessa två nycklar. Nu skapa följande poster finns under:
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\SettingsBatchMode: REG_DWORD: 0DisplayLogo: REG_DWORD: 0Timeout: REG_DWORD: 0
-
Nu kopiera .vbs skriptfilen till en virtuell katalog på servern som har behörigheter för körning eller skript. Som standard kommer katalogen/skript har nödvändiga behörigheter.
Du bör kunna testa om konfigurationen fungerar eller inte genom att skapa följande skript:
Option ExplicitWScript.Echo "Content-Type: text/html"WScript.EchoWScript.Echo "If you see this, it worked."
Spara skriptet ovan i katalogen/skript som Test.vbs. Nu anropa skriptet med hjälp av en webbläsare med följande URL:
http://server/scripts/test.vbs.
Anmärkning: liknande begränsningar i alla fall där en Cscript.exe skriptet startas från säkerhetskontexten för ett lokalt system eller ett lokalt system personifiera en användare. Ändringarna i registret bör råda bot på dessa situationer.
Referenser
Microsoft IIS (Internet Information Server) Online-dokumentation.