- Устраняем ошибку Windows Script Host
- Исправляем ошибку Windows Script Host
- Вариант 1: Системное время
- Вариант 2: Служба обновлений
- Вариант 3: Некорректно установленные обновления
- Вариант 4: Нелицензионная Windows
- Заключение
- Запуск сценариев (wscript.exe и cscript.exe)
- Статьи к прочтению:
- Introduction to scripting for systems administrators — Windows Scripting Host, part 1
- Похожие статьи:
Устраняем ошибку Windows Script Host
Исправляем ошибку Windows Script Host
Сразу стоит сказать о том, что если вы писали свой скрипт и при его запуске получили ошибку, то необходимо искать проблемы в коде, а не в системном компоненте. Например, вот такое диалоговое окно говорит именно об этом:
Такая же ситуация может возникнуть и в том случае, когда в коде имеется ссылка на другой скрипт, путь к которому прописан неверно либо данный файл вовсе отсутствует на компьютере.
Далее мы поговорим о тех моментах, когда при старте Windows или запуске программ, например, Блокнота или Калькулятора, а также других приложений, использующих системные ресурсы, появляется стандартная ошибка Windows Script Host. Иногда подобных окон может появиться сразу несколько. Случается такое после обновления операционной системы, которое может пройти как в штатном режиме, так и со сбоями.
Причины такого поведения ОС следующие:
- Неверно выставленное системное время.
- Сбой в работе службы обновлений.
- Некорректная установка очередного апдейта.
- Нелицензионная сборка «винды».
Вариант 1: Системное время
Многие пользователи думают, что системное время, которое показывается в области уведомлений, существует только для удобства. Это не совсем так. Некоторые программы, обращающиеся к серверам разработчиков или к иным ресурсам, могут работать некорректно или вовсе отказаться функционировать по причине расхождений в дате и времени. Это же касается и Windows с ее серверами обновления. В том случае, если будет расхождение в вашем системном времени и времени сервера, то могут наблюдаться неполадки с апдейтами, поэтому на это стоит обратить внимание в первую очередь.
- Нажимаем на часы в правом нижнем углу экрана и переходим по ссылке, указанной на скриншоте.
Далее идем на вкладку «Время по интернету» и жмем на кнопку изменения параметров. Обратите внимание, что ваша учетная запись должна обладать правами администратора.
В окне настроек устанавливаем галку в указанный на изображении чекбокс, затем в выпадающем списке «Сервер» выбираем time.windows.com и нажимаем «Обновить сейчас».
Если все пройдет успешно, то появится соответствующая надпись. В случае ошибки с превышением времени ожидания просто нажимаем кнопку обновления еще раз.
Теперь ваше системное время будет регулярно синхронизироваться с сервером времени Майкрософт и расхождения не будет.
Вариант 2: Служба обновлений
Windows – это очень сложная система, с множеством одновременно протекающих процессов, и некоторые из них могут повлиять на работу службы, отвечающей за обновление. Высокое потребление ресурсов, различные сбои и занятость компонентов, помогающих апдейту, «заставляют» службу совершать бесконечные попытки выполнить свою работу. Сам сервис также может сбоить. Выход здесь один: отключить его, а затем перезагрузить компьютер.
- Вызываем строку «Выполнить» сочетанием клавиш Win+R и в поле с названием «Открыть» пишем команду, которая позволит получить доступ к соответствующей оснастке.
В списке находим «Центр обновления», кликаем ПКМ и выбираем пункт «Свойства».
В открывшемся окне жмем кнопку «Остановить», а затем ОК.
После перезагрузки служба должна запуститься автоматически. Стоит проверить, так ли это и, если она все еще остановлена, включить ее тем же способом.
Если после выполненных действий ошибки продолжают появляться, то необходимо поработать с уже установленными обновлениями.
Вариант 3: Некорректно установленные обновления
Данный вариант подразумевает удаление тех обновлений, после установки которых начались сбои в Windows Script Host. Сделать это можно как вручную, так и с помощью утилиты восстановления системы. В обоих случаях необходимо вспомнить, когда «посыпались» ошибки, то есть после какой даты.
- Идем в «Панель управления» и находим апплет с названием «Программы и компоненты».
Далее переходим по ссылке, отвечающей за просмотр обновлений.
Сортируем список по дате установки, кликнув по шапке последней колонки с надписью «Установлено».
Выбираем нужное обновление, кликаем ПКМ и выбираем «Удалить». Также поступаем с остальными позициями, помня про дату.
- Для перехода к данной утилите кликаем правой кнопкой мыши по значку компьютера на рабочем столе и выбираем пункт «Свойства».
Далее переходим к «Защите системы».
Нажимаем кнопку «Восстановление».
В открывшемся окне утилиты жмем «Далее».
Ставим галку, отвечающую за показ дополнительных точек восстановления. Необходимые нам поинты будут называться «Автоматически созданная точка», тип – «Система». Из них необходимо выбрать ту, которая соответствует дате последнего обновления (или того, после которого начались сбои).
Жмем «Далее», ждем, пока система предложит перезагрузиться и выполнит действия по «откату» к предыдущему состоянию.
Обратите внимание, что в этом случае могут быть удалены и те программы и драйвера, которые были установлены вами после этой даты. Узнать, произойдет ли это, можно нажав кнопку «Поиск затрагиваемых программ».
Читайте также: Как восстановить систему Windows XP, Windows 8, Windows 10
Вариант 4: Нелицензионная Windows
Пиратские сборки «винды» хороши лишь тем, что они совершенно бесплатны. В остальном же такие дистрибутивы могут принести массу проблем, в частности, некорректную работу необходимых компонентов. В этом случае рекомендации, приведенные выше, могут не сработать, так как файлы в скачанном образе уже были сбойными. Здесь можно только посоветовать поискать другой дистрибутив, но лучше воспользоваться лицензионной копией Windows.
Заключение
Решения проблемы с Windows Script Host довольно просты, и с ними справится даже начинающий пользователь. Причина здесь ровно одна: некорректная работа инструмента обновления системы. В случае с пиратскими дистрибутивами можно дать следующий совет: пользуйтесь только лицензионными продуктами. И да, правильно пишите ваши скрипты.
Запуск сценариев (wscript.exe и cscript.exe)
Лабораторная работа №5.
Сервер сценариев Windows Scripting Host. Методы объектов WscriptShell и WshNetwork
Цель: Овладеть навыками работы сервером сценариев ОС Windows, изучить возможности сервера сценариев, режимы выполнения сценариев и методы объекта WscriptShell иWshNetwork.
Долгое время для выполнения однотипных задач в среде Windows и DOS служили командные (пакетные) BAT-файлы. Основным их недостатком были примитивный DOS-интерфейс – отсутствие интерактивности, и довольно ограниченные возможности по работе с WINDOWS (трудность работы в сети, с ярлыками, с реестром и т.д.).
Ситуация изменилась, когда Microsoft разработала Сервер Сценариев (Windows Scripting Host), который должен служить для автоматизации работы с повторяющимися процессами. Сам Windows Scripting Host не является языком как таковым, он только представляет свойства и методы для работы в Windows, которые могут использоваться другими языками сценариев. Наиболее удобными и предназначенными для этого явились ранее разработанные самой Microsoft языки сценариев Visual Basic Scripting Edition (VBScript) и JScript.
Раньше языки VBScript и JScript по своим возможностям были очень близки к Visual Basic for Applications — они также могли быть вызваны только из MS Internet Explorer и нескольких других программ Microsoft, которые их поддерживали.
С появлением Windows Scripting Host появилась возможность создавать для них отдельные сценарии, которые можно запускать и без Internet Explorer.
Также преимуществом Windows Scripting Host является то, что для запуска сценариев требуется мало памяти и то, что файлы сценариев могут быть практически любого размера (содержать десятки тысяч строк).
Еще одним преимуществом Windows Scripting Host является отсутствие среды разработки — не нужны компиляторы, редактирование сценариев может производиться в любом текстовом редакторе, способном работать с текстовыми файлами.
Сервер сценариев предназначен для автоматизации повторяющихся задач и во многом, по сравнению с обычными языками программирования, обладает достаточно скромными возможностями. Но по сравнению с пакетными файлами DOS он обладает более широкими возможностями. Такими как:
— вывод сообщений на экран;
— запуск других программ;
— работать с сетевыми дисками;
— работать с переменными среды;
— работать с реестром.
В Windows 2000 и последующих версиях Windows Scripting Host установлен по умолчанию. Отключить его использование можно только удалением ассоциаций с его файлами. Установленный Windows Script Host поддерживает несколько видов файлов: vbs, vbe, js, jse, wsf, wsc и wsh. Все они (кроме vbe и jse) являются простыми текстовыми файлами и могут редактироваться в любом текстовом редакторе.
Файлы .vbs и .js являются файлами, написанными на языке сценариев MS Visual Basic Script и MS JScript соответственно.
Файлы vbe и jse– это vbs и js-файлы зашифрованные с помощью программы MS Script Encoder.
Файлы с расширением .wsf – это файлы, содержащие XML-разметку для работы с WSH.
Файлы wsc — Windows Script Components (WSC) позволяют упаковывать сценарии для использования их в качестве СОМ-компонентов. По сути, это те же wsf-файлы, еще и содержащие COM-компоненты.
Файлы wsh являются файлами настроек Сервера Сценариев.
Запуск сценариев (WScript.exe и CScript.exe)
Для запуска сценариев, в составе Windows Scripting Host служат файлы WScript.exe (диалоговый режим) и CScript.exe (режим командной строки). Они находятся в каталоге C:\WINDOWS\system32\.
WScript.exe служит для запуска сценариев из Windows. Используя его, вы можете запускать сценарии подобно обычным приложениям Windows. Вот несколько способов:
1. Запускать сценарий, как обычное приложение двойным щелчком мыши, выделить и нажать Enter и т.д.
2. Ввести имя файла сценария и путь к нему в окне в окне “Выполнить” (RUN) меню “Пуск” (Start).
3. Ввести в строку окна “Выполнить” WScript.exe и имя файла сценария (с указанием пути к нему). При этом вы можете использовать параметры запуска WScript.exe.
CScript.exe — это версия Windows Scripting Host, которая используется для запуска сценариев из командной строки.
CScript [параметры] имя_файла.расширение [аргументы]
Для запуска сценариев, как с помощью CScript.exe так и с WScript.exe, можно использовать следующие параметры командной строки:
Параметр | Версия WSH | Описание |
//B | 1.0 | Пакетный режим (подавляется вывод информации, запросов и сообщений об ошибках) |
//D | 2.0 | Включить активную отладку |
//E:язык | 2.0 | Указать язык сценария для исполнения файла |
//H:CScript | 1.0 | Заменить исполняемый сервер сценариев на CScript.exe |
//H:WScript | 1.0 | Заменить исполняемый сервер сценариев на WScript.exe |
//I | 1.0 | Диалоговый режим (противоположный //B) (по умолчанию) |
//Job:xxxx | 2.0 | Выполнить задание xxxx WSF-файла |
//Logo | 1.0 | Отображать заставку (по умолчанию) |
//Nologo | 1.0 | Не выводить заставку |
//S | 1.0 | Запомнить параметры текущей командной строки для данного пользователя |
//T:nn | 1.0 | Задать время исполнения сценария в секундах |
//X | 2.0 | Выполнить сценарий под отладчиком |
//U | 2.0 | Применять кодировку Unicode для перенаправленного консольного ввода-вывода |
Cscript //T:10 Пример1.vbs
Отвести на выполнение сценария Пример1.vbs 10 секунд времени.
Попробуем сделать используемым сервером сценариев по умолчанию CScript.exe.
Для этого введем в командной строке:
С этого момента, все сценарии будут запускаться в режиме командной строки. Для многих сценариев выводящих информацию это будет несколько неудобно.
Попробуем снова запустить сценарий VBScript Пример1.vbs.
Прочитать надпись практически невозможно, поскольку окно быстро “промелькнет” на экране.
Чтобы снова сделать сервером по умолчанию WScript.exe, введем в командную строку:
И снова запускаемые файлы сценариев по умолчанию запускаются в диалоговом режиме.
Какой способ лучше, нельзя сказать однозначно. У каждого есть свои плюсы и минусы. В пользу WScript.exe говорит его интерактивность. В пользу CScript.exe – незаметность для пользователя. Хотя для незаметности лучше всего включить пакетный режим с параметром //b.
Статьи к прочтению:
Introduction to scripting for systems administrators — Windows Scripting Host, part 1
Похожие статьи:
Запускать программы на выполнение или документы на обработку можно следующими способами: — двойным щелчком (или одинарным щелчком, если в Windows 98 Вы…
Стандартный способ запуска любой программы состоит из ряда шагов: поиск названия программы (ярлыка программы) в Главном меню и щелчок левой клавишей мыши…