Suatu hari saya mengalami masalah ketidakmampuan untuk menjalankan skrip vbs (Visual Basic Script) pada komputer Windows 7. Ternyata, masalahnya cukup umum dan terjadi di semua versi Windows, dimulai dengan XP dan diakhiri dengan Widows 8.
Masalahnya adalah sebagai berikut: ketika mencoba menjalankan skrip vbs di komputer, kesalahan muncul:
Kesalahan CScript: Tidak dapat menemukan mesin skrip "VBScript"atau dalam versi Rusia Windows:
Kesalahan CScript: Tidak dapat menemukan kernel eksekusi "VBScript" untuk skripPertama-tama, periksa ketersediaan file. cscript.exe dalam katalog % Windir% \ system32 (biasanya ini adalah c: \ Windows \ system32 \)
Selanjutnya Anda perlu mencoba mendaftar ulang perpustakaan vbscript.dll, dengan menjalankan pada baris perintah (dengan hak administrator)
regsvr32 / s% SystemRoot% \ System32 \ vbscript.dl
Jika masalah tetap ada setelah reboot, coba perintah berikut pada baris perintah (daftarkan ulang semua perpustakaan yang diperlukan untuk menjalankan skrip Visual Basic di komputer):
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
Cukup sering, masalah yang terkait dengan ketidakmampuan untuk mengeksekusi skrip vbs disebabkan oleh penghapusan antivirus yang salah. Faktanya adalah bahwa beberapa antivirus, ketika diinstal pada sistem, mengubah kunci dalam registri yang mengarah ke pustaka vbscript.dll, sebagai gantinya, pustaka yang akan dibuat sendiri. Yaitu Sebelum memulai skrip vbs, terlebih dahulu kodenya memeriksa modul anti-virus khusus untuk keamanan, dan hanya kemudian kode ditransfer ke pustaka vbscript.dll untuk dieksekusi. Dengan demikian, antivirus mendapatkan kontrol atas eksekusi semua skrip vbs pada mesin.
Jika antivirus dihapus dengan benar, nilai kunci harus kembali ke standar, tetapi beberapa antivirus (seringkali McAfee, antivirus AVAST, dan produk AVP Kaspersky Lab berdosa) lupa untuk melakukan ini, atau pengguna dapat membuat masalah dengan menghapus antivirus secara tidak benar (tidak menggunakan prosedur uninstall standar) )
Misalnya, kunci registri ini akan mengambil nilai seperti itu ketika menginstal McAfee antivirus di komputer.
C: \ Program Files \ Common Files \ McAfee \ SystemCore \ ScriptSn.20130508143011.dll
Untuk mengembalikan pengaturan awal, buka editor registri dan buka bagian HKEY_CLASSES_ROOT \ CLSID \ B54F3741-5B07-11cf-A4B0-00AA004A55E8 \ InprocServer32. Kunci default (Default) tidak boleh kosong atau arahkan ke perpustakaan selain vbscript.dll. Jika tidak, ubah nilainya ke jalur pustaka. vbscript.dll (standarnya adalah C: \ Windows \ system32 \ vbscript.dll)
Kiat. Jika, ketika Anda mencoba untuk menyimpan perubahan ke registri, kesalahan "Tidak dapat mengubah ... Kesalahan saat menulis nilai parameter baru" atau "Nilai Pengeditan Kesalahan" muncul, Anda perlu memberikan akun Anda hak untuk mengubah cabang registri ini (RMB di bawah cabang InprocServer32 -> Izin)Anda cukup menyimpan teks berikut ke file dengan ekstensi reg dan mengimpornya ke dalam registri:
Windows Registry Editor Versi 5.00[HKEY_CLASSES_ROOT \ CLSID \ B54F3741-5B07-11cf-A4B0-00AA004A55E8 \ InprocServer32]
@ = "C: \\ Windows \\ system32 \\ vbscript.dll"Kiat. Semua hal di atas berlaku untuk cabang HKEY_CLASSES_ROOT \ Wow6432Node \ CLSID \ B54F3741-5B07-11cf-A4B0-00AA004A55E8. Di bagian InprocServer32, nilai default juga harus ditulis C: \ Windows \ system32 \ vbscript.dll
Saya pikir, meskipun semakin menyebar ke massa skrip Powershell, sebagian besar administrator sistem dan pengembang perangkat lunak untuk waktu yang lama tidak akan dapat meninggalkan bagasi yang terakumulasi dari berbagai skrip otomatisasi pada vbs, sehingga masalah dan metode yang dijelaskan untuk menyelesaikannya akan relevan untuk waktu yang lama di masa mendatang..