Jedného dňa som narazil na problém neschopnosti spustiť akékoľvek skripty vbs (Visual Basic Script) na počítači so systémom Windows 7. Ako sa ukázalo, problém je celkom bežný a vyskytuje sa vo všetkých verziách systému Windows, začínajúc XP a končiac Widows 8.
Problém je nasledujúci: keď sa v počítači pokúša spustiť skript vbs, zobrazí sa chyba:
Chyba skriptu: Nenašiel sa skriptovací stroj „VBScript“alebo v ruskej verzii systému Windows:
Chyba CScript: Pre skript sa nedá nájsť jadro spustenia „VBScript“Najskôr skontrolujte dostupnosť súboru. cscript.exe v katalógu % Windir% \ system32 (zvyčajne ide o c: \ Windows \ system32 \)
Ďalej musíte skúsiť znova zaregistrovať knižnicu vbscript.dll, spustením na príkazovom riadku (s oprávneniami správcu)
regsvr32 / s% SystemRoot% \ System32 \ vbscript.dl
Ak problém pretrváva aj po reštarte, vyskúšajte na príkazovom riadku nasledujúce príkazy (znova zaregistrujte všetky knižnice potrebné na spustenie skriptov jazyka Visual Basic v počítači):
regsvr32 atl.dll regsvr32 jscript.dll regsvr32 dispex.dll regsvr32 scrrun.dll regsvr32 scrobj.dll regsvr32 vbscript.dll regsvr32 msxml3.dll regsvr32 ole32.dll regsvr32 oleaut32.dll wscript / regserver
Pomerne často je problém spojený s neschopnosťou spustiť skripty vbs spôsobený nesprávnym odstránením antivírusu. Faktom je, že niektoré antivírusy, keď sú nainštalované v systéme, zmenia kľúč v registri, ktorý ukazuje na knižnicu vbscript.dll, namiesto toho zapisujú vlastnú knižnicu. tj Pred spustením skriptu vbs najskôr jeho kód skontroluje bezpečnosť špeciálneho antivírusového modulu a až potom sa kód prevedie do knižnice vbscript.dll na vykonanie. Antivírus tak získa kontrolu nad vykonávaním všetkých skriptov vbs v počítači.
Ak je antivírus správne odstránený, kľúčová hodnota by sa mala vrátiť na štandardnú, ale niektoré antivírusy (často antivírusy McAfee, AVAST a AVP spoločnosti Kaspersky Lab zhrozili) to zabudnú, alebo používateľ môže spôsobiť problém nesprávnym odstránením antivírusu (nepoužívaním štandardnej procedúry odinštalovania) )
Napríklad tento kľúč databázy Registry získa takúto hodnotu pri inštalácii antivírusu McAfee do počítača.
C: \ Program Files \ Common Files \ McAfee \ SystemCore \ ScriptSn.20130508143011.dll
Ak chcete obnoviť pôvodné nastavenia, otvorte editor databázy Registry a prejdite do časti HKEY_CLASSES_ROOT \ CLSID \ B54F3741-5B07-11cf-A4B0-00AA004A55E8 \ InprocServer32. Predvolený kľúč (Predvolené) nesmie byť prázdny ani ukazovať na inú knižnicu ako vbscript.dll. Ak nie, zmeňte jeho hodnotu na cestu ku knižnici. vbscript.dll (predvolená hodnota je C: \ Windows \ system32 \ vbscript.dll)
rada. Ak sa pri pokuse o uloženie zmien do registra zobrazí chyba „Nemožno zmeniť ... Chyba pri zápise novej hodnoty parametra“ alebo „Hodnota úpravy chýb“, musíte svojmu účtu udeliť právo na zmenu tejto vetvy registra (RMB v časti InprocServer32 -> Povolenie).Nasledujúci text môžete jednoducho uložiť do súboru s príponou reg a importovať ho do registra:
Editor databázy Registry systému Windows, verzia 5.00[HKEY_CLASSES_ROOT \ CLSID \ B54F3741-5B07-11cf-A4B0-00AA004A55E8 \ InprocServer32]
@ = "C: \\ Windows \\ system32 \\ vbscript.dll"rada. Všetky vyššie uvedené sa vzťahujú na vetvu HKEY_CLASSES_ROOT \ Wow6432Node \ CLSID \ B54F3741-5B07-11cf-A4B0-00AA004A55E8. V sekcii InprocServer32 by mala byť predvolená hodnota napísaná aj C: \ Windows \ system32 \ vbscript.dll
Myslím si, že napriek zvyšujúcemu sa množstvu skriptov Powershell nebude väčšina administrátorov systému a vývojárov softvéru po dlhú dobu schopná opustiť nahromadenú batožinu rôznych automatizačných skriptov na vbs, takže opísaný problém a metódy jeho riešenia budú relevantné ešte dlho..