Podsumowanie
Podczas próby wywołania skryptu programu Visual Basic z serwera sieci Web w kontekście skrypt CGI, skrypt może nie działać poprawnie. Najbardziej prawdopodobną przyczyną jest, że aparat skryptów zazwyczaj jest wykonywany w kontekście zabezpieczeń IUSR_Machine tworzone przez usługi IIS, po jej zainstalowaniu. Niestety Cscript.exe (aparat skryptów) wymaga obecności niektórych wpisach rejestru dla użytkownika IUSR_Machine. Ponieważ gałąź HKEY_CURRENT_USER nie jest dostępna dla IUSR_Machine, program IIS będzie ładowana HKEY_USERS\. DOMYŚLNĄ gałąź w jego miejsce. Jednak HKEY_USERS\. DOMYŚLNĄ gałąź nie zawiera niezbędne klucze i wpisy dla aparatu skryptów. W takich przypadkach CGI wystąpi błąd, bez żadnych dodatkowych informacji. Lub jeśli pliku Cscript.exe został uruchomiony w trybie wsadowym, błąd pojawi się, wskazując, że nie może załadować ustawień dla określonego użytkownika. Ten dokument będzie pokazują, jak skonfigurować maszynę IIS umożliwiającej skrypty języka Visual Basic mają być zrealizowane jako skrypt CGI.
Więcej informacji
W tym artykule założono, że Host skryptów systemu Windows jest zainstalowany na komputerze serwera IIS; Opcja instalacji domyślnej systemu NT Option Pack będzie to możliwe. Aby włączyć obsługę języka VBScript, wykonaj następujące kroki:
-
Otwórz wiersz poleceń. Aby to zrobić, wykonaj następujące kroki:
-
Kliknij przycisk Start, a następnie kliknij polecenie Uruchom.
-
Wpisz polecenie cmd, a następnie kliknij przycisk OK.
-
-
Zlokalizuj Inetpub\AdminScripts folder. (Ta lokalizacja może być inna w zależności od zainstalowanego programu Internet Information Server.)
-
Wpisz następujące polecenia:
cscript adsutil.vbs SET w3svc/CreateCGIWithNewConsole "1"
cscript adsutil.vbs SET w3svc/CreateProcessAsUser "0"
-
Skonfiguruj rozszerzenia vbs mają być mapowane do Cscript.exe znajduje się w katalogu %SYSTEMROOT%\System32. To zrobić za pomocą programu Microsoft Management Console. W szczególności czynności konfiguracji serwerem IIS4 są następujące:
-
Uruchom aplikację serwerem IIS4 Management Console .
-
Edytuj właściwości dla witryny sieci Web (kliknij prawym przyciskiem myszy w witrynie sieci Web w ekran drzewa i wybierz polecenie Właściwości).
-
Wybierz kartę Katalog macierzysty .
-
W oknie dialogowym Ustawienia aplikacji wybierz konfigurację.
-
Na karcie Mapowania aplikacji wybierz polecenie Dodaj.
-
Pliki wykonywalne będą następujące na maszynie WinNT 4.0 (Upewnij się, że użyć poprawną ścieżkę do Cscript.exe na dysku instalacyjnym WinNT):
C:\WINNT\system32\CSCRIPT.EXE.exe %s %s
Wprowadź rozszerzenie .vbs .
-
Upewnij się, że zaznaczone są pola wyboru Aparat skryptu i Sprawdź, czy istnieje pliki .
-
Zapisz plik, klikając przycisk OK, Zastosuj, OKi OK ponownie.
-
-
Za pomocą Edytora rejestru, utwórz następujące klucze i wpisy:
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script HostHKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\Settings
Sprawdź, czy każdy ma dostęp do odczytu do tych dwóch kluczy. Teraz można utworzyć następujące wpisy w obszarze:
HKEY_USERS\.DEFAULT\Software\Microsoft\Windows Script Host\SettingsBatchMode: REG_DWORD: 0DisplayLogo: REG_DWORD: 0Timeout: REG_DWORD: 0
-
Teraz można skopiować plik skryptu vbs do katalogu wirtualnego na serwerze, który ma uprawnienia wykonywania lub skryptu. Domyślnie katalog/skrypty będą mieć wymaganych uprawnień.
Należy mogli sprawdzić, czy konfiguracja działa lub nie, tworząc następujący skrypt:
Option ExplicitWScript.Echo "Content-Type: text/html"WScript.EchoWScript.Echo "If you see this, it worked."
Powyższy skrypt należy zapisać w katalogu/Scripts jako Test.vbs. Teraz wywołaj skrypt za pomocą dowolnej przeglądarki z następującego adresu URL:
http://server/scripts/test.vbs.
Uwaga: podobne ograniczenia dotyczą wszystkich sytuacji, gdzie skrypt Cscript.exe jest uruchamiane w kontekście zabezpieczeń systemu lokalnego lub system lokalny podszywanie się pod użytkownika. Powyższych zmian w rejestrze należy zaradzić tej sytuacji.
Informacje
Informacje programu Microsoft Internet Server dokumentacji Online.