Chyba V skripte sa nepodarilo nájsť skriptovací stroj VBScript

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..