Het gebruik van Windows Script Host scripts als CGI-scripts


Samenvatting


Wanneer u probeert de Visual Basic-Script vanaf een webserver in het kader van een CGI-script aanroept, kan het script niet juist uitgevoerd. De meest waarschijnlijke reden hiervoor is dat de script-engine wordt meestal uitgevoerd in de beveiligingscontext van de IUSR_Machine die door IIS worden gemaakt tijdens de installatie. Helaas is de Cscript.exe (de script-engine) vereist de aanwezigheid van bepaalde registervermeldingen voor de gebruiker IUSR_Machine. Omdat een component HKEY_CURRENT_USER niet beschikbaar voor de IUSR_Machine is, zal IIS de HKEY_USERS\ laden. Standaard-component in plaats daarvan. Echter, de HKEY_USERS\. Standaard-component bevat niet de vereiste sleutels en vermeldingen voor de script-engine. In deze gevallen een CGI fout zal optreden, zonder dat enige aanvullende informatie. Of als het bestand Cscript.exe is gestart in de batchmodus, een fout verschijnt dat niet kan laden van de instellingen voor de opgegeven gebruiker. Dit document wordt beschreven hoe het configureren van de IIS-computer Visual Basic-Scripts kunnen worden uitgevoerd als een CGI-script toe te staan.

Meer informatie


In dit artikel wordt ervan uitgegaan dat Windows Script Host is geïnstalleerd op de IIS-servermachine; de standaardoptie voor de installatie van NT Option Pack wordt hiervoor. Gebruik de volgende stappen uit om ondersteuning voor VBScript:
  1. Open een opdrachtprompt. Ga hiervoor als volgt te werk:
    1. Klik op Start en vervolgens op Uitvoeren.
    2. Typ cmden klik vervolgens op OK.
  2. Ga naar de map Inetpub\AdminScripts. (Deze locatie kan variëren afhankelijk van de installatie van Internet Information Server).
  3. Typ de volgende opdrachten:
    cscript adsutil.vbs SET w3svc/CreateCGIWithNewConsole "1"
    cscript adsutil.vbs SET w3svc/CreateProcessAsUser "0"
  4. Configureer de extensie .vbs moeten worden toegewezen aan de zich in de map %SYSTEMROOT%\System32 Cscript.exe. Dit doet u via de Microsoft Management Console. Met name zijn de configuratiestappen voor IIS4 als volgt:
    1. Voer de toepassing IIS4- Beheerconsole .
    2. De eigenschappen voor uw website (Klik met de rechtermuisknop op de website van de boom weergave en selecteer Eigenschappen) bewerken.
    3. Selecteer op het tabblad Basismap .
    4. Selecteer in het vak Instellingen vanconfiguratie.
    5. Selecteer op het tabblad Toepassingstoewijzingentoevoegen.
    6. Het uitvoerbare bestand zijn op een machine WinNT 4.0 (Zorg ervoor dat juiste pad naar Cscript.exe gebruiken op uw installatie met WinNT) de volgende:
      C:\WINNT\system32\CSCRIPT.EXE.exe %s %s
    .Vbs invoeren voor de uitbreiding.
    1. Zorg ervoor dat de Script-Engine en controleren of de bestanden aanwezig zijn ingeschakeld.
    2. Sla het bestand op door nogmaals te klikken op OK, toepassenof OKof OK .
  5. Maak met de Register-Editor de volgende sleutels en vermeldingen:
    HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script HostHKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\Settings
    Controleer of iedereen leestoegang tot deze twee sleutels. Maak nu de volgende vermeldingen:
    HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\SettingsBatchMode: REG_DWORD: 0DisplayLogo: REG_DWORD: 0Timeout: REG_DWORD: 0
  6. Nu het .vbs-scriptbestand kopiëren naar een virtuele map op de server uitvoeren/script-machtigingen heeft. De map/scripts hebben standaard de vereiste machtigingen beschikt.
U moet mogelijk zijn om te testen of de configuratie werkt of niet door het volgende script:
Option ExplicitWScript.Echo "Content-Type: text/html"WScript.EchoWScript.Echo "If you see this, it worked."
Het bovenstaande script in de map/scripts opslaan als Test.vbs. Nu aanroepen van het script met behulp van een browser de volgende URL:
http://server/scripts/test.vbs.
Opmerking: vergelijkbare beperkingen gelden voor alle situatie waarbij een Cscript.exe script wordt gestart vanuit de beveiligingscontext van een lokaal systeem of een lokaal systeem van een gebruiker te imiteren. De bovenstaande wijzigingen in het register moeten deze situaties te verhelpen.

Verwijzingen


Microsoft Internet informatie on line documentatie.