Comment utiliser les scripts Windows Script Host en tant que scripts CGI

Résumé

Lorsque vous tentez d’appeler un Script Visual Basic à partir d’un serveur Web dans le cadre d’un script CGI, le script peut ne pas fonctionner correctement. La raison la plus probable est que le moteur de script est généralement exécuté dans le contexte de sécurité de la IUSR_Machine créé par IIS lorsqu’il est installé. Malheureusement, Cscript.exe (le moteur de script) nécessite la présence de certaines entrées de Registre pour l’utilisateur de IUSR_Machine. Dans la mesure où une ruche HKEY_CURRENT_USER n’est pas disponible pour la IUSR_Machine, IIS charge la HKEY_USERS\. Ruche par défaut à la place. Toutefois, l’HKEY_USERS\. Ruche par défaut ne contient-elle pas les clés nécessaires et les entrées pour le moteur de script. Dans ces cas, une erreur CGI se produira, sans informations supplémentaires. Ou, si le fichier Cscript.exe a été lancé en mode batch, une erreur s’affiche indiquant qu’il n’a pas pu charger les paramètres pour l’utilisateur spécifié. Ce document affiche la configuration de l’ordinateur IIS pour autoriser les Scripts Visual Basic à être exécuté comme un script CGI.

Informations supplémentaires

Cet article suppose que l’hôte de Script Windows est installé sur le serveur IIS ; l’option d’installation par défaut de NT Option Pack le fera. Utilisez les étapes suivantes pour activer la prise en charge de VBScript :

  1. Ouvrez une invite de commandes. Pour ce faire, procédez comme suit :

    1. Cliquez sur Démarrer, puis sur Exécuter.

    2. Tapez cmd, puis cliquez sur OK.

  2. Recherchez le dossier Inetpub\AdminScripts. (Cet emplacement peut varier en fonction de votre installation d’Internet Information Server).

  3. Tapez les commandes suivantes :

    cscript adsutil.vbs SET w3svc/CreateCGIWithNewConsole « 1 »

    cscript adsutil.vbs SET w3svc/CreateProcessAsUser « 0 »

  4. Configurez l’extension .vbs à mapper cscript.exe situé dans le répertoire %SYSTEMROOT%\System32. Cela par le biais de la Console de gestion Microsoft. Plus précisément, les étapes de configuration pour IIS4 sont les suivantes :

    1. Exécutez l’application IIS4 Console de gestion .

    2. Modifier les propriétés de votre site Web (avec le bouton droit sur votre site Web dans l’affichage de l’arborescence et sélectionnez Propriétés).

    3. Sélectionnez l’onglet Répertoire de base .

    4. Dans la zone Paramètres de l’Application , sélectionnez Configuration.

    5. Sous l’onglet Mappages d’application , sélectionnez Ajouter.

    6. Le fichier exécutable sera comme suit sur un ordinateur Windows NT 4.0 (veillez à utiliser le chemin d’accès correct à Cscript.exe sur votre installation de Windows NT) :

      C:\WINNT\system32\CSCRIPT.EXE.exe %s %s

    Entrez l’extension .vbs .

    1. Assurez-vous que les cases à cocher Moteur de Script et Vérifiez que les fichiers existe sont sélectionnés.

    2. Enregistrez le fichier en cliquant sur OK , OK, OKet Appliquerde nouveau.

  5. À l’aide de l’Éditeur du Registre, créez les clés et les entrées suivantes :

    HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script HostHKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\Settings

    Vérifiez que tout le monde dispose d’un accès en lecture à ces deux clés. Maintenant, créez les entrées suivantes sous :

    HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\SettingsBatchMode: REG_DWORD: 0DisplayLogo: REG_DWORD: 0Timeout: REG_DWORD: 0
  6. Maintenant copier le fichier de script .vbs pour un répertoire virtuel sur le serveur qui dispose des autorisations Exécuter ou le script. Par défaut, le répertoire /scripts aura les autorisations nécessaires.

Vous serez en mesure de tester si la configuration fonctionne ou ne pas créer le script suivant :

Option ExplicitWScript.Echo "Content-Type: text/html"WScript.EchoWScript.Echo "If you see this, it worked."

Enregistrer le script ci-dessus dans le répertoire/scripts en tant que Test.vbs. Maintenant, appeler le script à l’aide de n’importe quel navigateur avec l’URL suivante :

http://server/scripts/test.vbs.

Remarque: des limitations semblables s’appliquent à tous les cas où un script Cscript.exe est lancé à partir du contexte de sécurité d’un système local ou d’un système local, l’emprunt d’identité d’un utilisateur. Les modifications ci-dessus au Registre doivent remédier à ces situations.

Références

Documentation en ligne Microsoft Internet Information Server.

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

×