Chyba Nelze najít skriptovací stroj VBScript

Druhý den jsem narazil na problém neschopnosti spouštět všechny skripty vbs (Visual Basic Script) v počítači se systémem Windows 7. Jak se ukázalo, problém je docela běžný a vyskytuje se ve všech verzích Windows, počínaje XP a končící Widows 8.

Problém je následující: Při pokusu o spuštění libovolného skriptu vbs v počítači se zobrazí chyba:

Chyba skriptu: Nelze najít skriptovací stroj „VBScript“

nebo v ruské verzi Windows:

Chyba skriptu: Nelze najít spouštěcí jádro "VBScript" pro skript

Nejprve zkontrolujte dostupnost souboru cscript.exe v katalogu % Windir% \ system32 (obvykle jde o c: \ Windows \ system32 \)

Dále se musíte pokusit znovu zaregistrovat knihovnu vbscript.dll, spuštěním na příkazovém řádku (s oprávněními správce)

regsvr32 / s% SystemRoot% \ System32 \ vbscript.dl

Pokud problém přetrvává i po restartu, zkuste na příkazovém řádku následující příkazy (znovu zaregistrujte všechny knihovny potřebné pro spuštění skriptů 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

Poměrně často je problém spojený s neschopností provádět skripty vbs způsoben nesprávným odebráním antiviru. Skutečností je, že některé antivirové programy, když jsou nainstalovány v systému, změní klíč v registru, který odkazuje na knihovnu vbscript.dll, místo toho zapisuje vlastní knihovnu. I.e. Před spuštěním libovolného skriptu vbs nejprve jeho kód zkontroluje zabezpečení speciálního antivirového modulu a teprve poté bude kód převeden do knihovny vbscript.dll k provedení. Antivirus tak získá kontrolu nad prováděním všech skriptů vbs v počítači.

Pokud je antivirus správně odebrán, měla by se hodnota klíče vrátit na standardní, ale některé antivirové programy (často viry McAfee, AVAST a produkty Kaspersky Lab AVP zhřešily) to zapomenou, nebo uživatel může vytvořit problém nesprávným odstraněním antiviru (nepoužívá standardní postup odinstalace) )

Tento klíč registru bude například mít takovou hodnotu při instalaci antiviru McAfee do počítače.

C: \ Program Files \ Common Files \ McAfee \ SystemCore \ ScriptSn.20130508143011.dll

Chcete-li obnovit výchozí nastavení, otevřete editor registru a přejděte do části HKEY_CLASSES_ROOT \ CLSID \ B54F3741-5B07-11cf-A4B0-00AA004A55E8 \ InprocServer32. Výchozí klíč (Výchozí) nesmí být prázdný nebo ukazovat na jinou knihovnu než vbscript.dll. Pokud ne, změňte jeho hodnotu na cestu knihovny. vbscript.dll (výchozí je C: \ Windows \ system32 \ vbscript.dll)

Tip. Pokud se při pokusu o uložení změn do registru zobrazí chyba „Nelze změnit ... Chyba při zápisu nové hodnoty parametru“ nebo „Chyba úpravy hodnoty“, musíte svému účtu udělit právo upravit tuto větev registru (RMB pod InprocServer32 -> větev oprávnění).

Následující text můžete jednoduše uložit do souboru s příponou reg a importovat do registru:

Editor registru systému Windows verze 5.00
[HKEY_CLASSES_ROOT \ CLSID \ B54F3741-5B07-11cf-A4B0-00AA004A55E8 \ InprocServer32]
@ = "C: \\ Windows \\ system32 \\ vbscript.dll"Tip. Všechny výše uvedené platí pro větev HKEY_CLASSES_ROOT \ Wow6432Node \ CLSID \ B54F3741-5B07-11cf-A4B0-00AA004A55E8. V části InprocServer32 by měla být zapsána také výchozí hodnota C: \ Windows \ system32 \ vbscript.dll

Myslím si, že navzdory rostoucímu šíření na množství skriptů Powershell nebude většina správců systémů a vývojářů softwaru po dlouhou dobu schopna opustit nashromážděná zavazadla různých automatizačních skriptů na vbs, takže popsaný problém a metody jeho řešení budou po dlouhou dobu relevantní.