Хост сценариев Windows, что это такое

Обновлено: 30.06.2024

Возникли проблемы с ошибками хоста сценариев Windows? Вот как это исправить.

Сталкиваетесь ли вы с сообщениями об ошибках Windows Script Host, такими как «Система не может найти файл, указанный для сценария Startup.vbs»? Или что-то вроде «Доступ к Windows Script Host отключен на этом компьютере»? Обычно эти ошибки вызваны поврежденными системными файлами, вредоносными программами, ошибками реестра и проблемами с файлами скриптов VBS.

Итак, если вам надоели ошибки Windows Script Host, читайте дальше, чтобы узнать, как решить эти проблемы.

Что такое хост сценариев Windows и почему он вызывает проблемы?

Windows Script Host — это встроенный инструмент, разработанный для администраторов ПК для автоматизации задач и управления ими. Он предоставляет среду, в которой вы можете выполнять сценарии на разных языках. По умолчанию этот инструмент интерпретирует и запускает файлы VBScript (.VBS и .VBE) и текстовые файлы JScript (.JS и .JSE).

Когда вы сталкиваетесь с ошибками Windows Script Host, это означает, что инструменту Windows Script Host не удается прочитать определенный файл сценария. Теперь, когда мы это знаем, давайте посмотрим, как вы можете обрабатывать ошибки Windows Script Host.

1. Просканируйте компьютер на наличие вирусов и устраните любые угрозы

Если основной причиной этого сообщения об ошибке является вредоносное ПО, вы можете выполнить полное сканирование своего устройства и удалить все вредоносные программы.

Для начала выполните несколько простых шагов:

  1. Введите Безопасность Windows в строке поиска Windows и выберите наиболее подходящий вариант.
  2. В следующем окне выберите Защита от вирусов и угроз.
  3. Затем выберите Параметры сканирования, а затем выберите Полное сканирование в появившихся параметрах.
  4. Наконец нажмите кнопку "Сканировать сейчас".

Если вы хотите сканировать определенные файлы или выполнить быстрое сканирование, откройте настройки защиты от вирусов и угроз в соответствии с предыдущими шагами и выберите параметр «Быстрое сканирование» или «Выборочное сканирование». В дополнение к этому вы также можете попробовать запустить автономную проверку Microsoft Defender.

2. Изменить значение по умолчанию файла VBS

VBS (Virtual Basic Script) – это файл, содержащий код, который можно запустить с помощью инструмента Windows Script Host. Если этот файл настроен неправильно, это может привести к нескольким ошибкам Windows Script Host.

Чтобы решить эту проблему, попробуйте изменить значение файла VBS по умолчанию, выполнив следующие действия:

  1. Нажмите Win + R, чтобы открыть диалоговое окно "Выполнить команду".
  2. Введите Regedit и нажмите OK, чтобы открыть редактор реестра.
  3. Перейдите к компьютеру > HKEY_CLASSES_ROOT > .vbs.
  4. Дважды щелкните значение (по умолчанию) на правой боковой панели, чтобы открыть его.

В следующем окне установите для параметра Значение данных значение VBSfile, а затем нажмите OK, чтобы сохранить эти настройки.

По завершении закройте редактор реестра и перезагрузите компьютер.

3. Исправление поврежденных системных файлов с помощью SFC и DISM

Если ошибки Windows Script Host вызваны повреждением системных файлов, вам могут пригодиться инструменты SFC и DISM. Это два важнейших инструмента, на которые всегда можно положиться, если вы хотите быстро найти и исправить вредоносные системные файлы.

Для начала вот как вы можете запустить инструмент DISM:

  1. Нажмите Win + R, чтобы открыть диалоговое окно "Выполнить команду".
  2. Введите CMD и нажмите Ctrl + Shift + Enter, чтобы открыть командную строку с повышенными привилегиями.
  3. Далее введите следующую команду и нажмите Enter:
  4. Дождитесь завершения сканирования. Оттуда введите следующую команду и нажмите Enter:
  5. По завершении сканирования перезагрузите компьютер, чтобы изменения вступили в силу.
  6. Теперь вы можете запустить сканирование SFC. Для этого откройте командную строку, как описано выше, введите следующую команду и нажмите Enter:
  7. По завершении сканирования закройте командную строку и перезагрузите компьютер.

4. Используйте сканер безопасности Microsoft

Если у вас установлена ​​антивирусная программа, вы можете использовать ее для поиска и удаления любых вредоносных программ, которые могут вызывать эту ошибку. Но если у вас нет антивирусной программы, вы можете попробовать сканер безопасности Microsoft. Это бесплатный и простой в использовании инструмент, предназначенный для быстрого поиска и удаления вредоносных программ с устройств Windows.

Вот как вы можете использовать сканер безопасности Microsoft:

  1. В зависимости от характеристик вашей системы загрузите 32- или 64-разрядную версию сканера безопасности Microsoft.
  2. После установки откройте программу и выберите тип сканирования, которое вы хотите запустить.
  3. Нажмите "Далее", чтобы продолжить, и следуйте инструкциям на экране, чтобы завершить процесс.

5. Используйте точку восстановления системы

Создание точек восстановления — один из лучших способов обеспечить безопасность данных Windows. Если ошибки Windows Script Host возникли недавно, вы можете устранить их, восстановив прежнее состояние компьютера с помощью точки восстановления.

Итак, если вы уже создали точку восстановления системы, вот как вы можете ее использовать:

  1. Введите Панель управления в строке поиска Windows и выберите наиболее подходящий вариант.
  2. Нажмите раскрывающееся меню "Просмотр" и выберите "Крупные значки".
  3. Прокрутите вниз и выберите параметр «Восстановить».
  4. В следующем окне выберите параметр «Открыть восстановление системы», а затем нажмите «Далее» во всплывающем окне.
  5. В окне «Восстановление системы» выберите точку восстановления и нажмите «Далее», чтобы продолжить.

Следуйте инструкциям на экране, чтобы завершить процесс, и перезагрузите компьютер, когда закончите.

6. Включить хост сценариев Windows через редактор реестра

Вы можете столкнуться с ошибками Windows Script Host просто потому, что Script Host отключен. Чтобы решить эту проблему, вы можете включить Script Host через редактор реестра следующим образом:

  1. Нажмите Win + R, чтобы открыть диалоговое окно "Выполнить команду".
  2. Введите Regedit и нажмите OK, чтобы открыть редактор реестра.
  3. Перейдите к HKEY_CURRENT_USER > Программное обеспечение > Microsoft > Windows Script Host > Настройки.

Дважды щелкните значение «Включено» на правой боковой панели и задайте для его данных «Значение» значение 1.

Если вы не можете найти значение Enabled, создайте его, выполнив следующие действия:

  1. Щелкните правой кнопкой мыши пустое место на панели справа и выберите "Создать" > "Параметр DWORD (32 разряда)".
  2. Назовите это новое значение как «Включено» и нажмите «ОК».
  3. Наконец, дважды щелкните значение и установите для его данных значения значение 1.

Легко справляться с ошибками хоста сценариев Windows

Ошибки Windows Script Host довольно раздражают, но устранить их очень просто. Если вы столкнетесь с такими проблемами, просто следуйте советам, которые мы предоставили, и все будет хорошо. Оттуда вы даже можете приступить к изучению нескольких сценариев Windows, которые помогут вам автоматизировать ваши задачи.

Ошибка хоста сценариев Windows

Windows Script Host — это инструмент администрирования, встроенный в каждую операционную систему Windows. Его основная функция - возможности сценариев, таких как пакетные файлы. Ошибка Windows Script Host может появиться на вашем компьютере с Windows 10/8/7 из-за вирусного вторжения, ошибок реестра или файла сценария VBS.

В этой статье в основном обсуждается, как исправить Windows Script Host в Windows 10.

Быстрая навигация:

Что делает Windows Script Host?

Windows Script Host, сокращение от WSH, на самом деле является технологией Microsoft; он предназначен для администраторов компьютеров для автоматизации и управления некоторыми задачами для клиентских компьютеров (или серверов). Возможности сценариев, которые можно сравнить с пакетными файлами, включены в Windows Script Host. Одной из наиболее очевидных характеристик является то, что он не зависит от языка. Это означает, что хост может работать с различными языковыми движками Active Scripting.

В целом Windows Script Host предоставляет пользователям Windows среду для выполнения сценариев на разных языках, которые будут выполнять задачи с помощью разных объектных моделей.

Ошибка хоста сценария Windows Windows 10

Ошибка хоста сценария Windows

Что такое ошибка хоста сценариев Windows? Эта ошибка время от времени возникает на ПК под управлением всех версий операционных систем Windows. Ошибка Windows Script Host связана с системой (она не зависит от какого-либо конкретного программного обеспечения) и часто указывает на заражение вирусом или вредоносным ПО, проблему с реестром или проблему с файлом VBScript.

Многих беспокоит эта ошибка, и они серьезно записали реальную ситуацию в Интернете; они надеются получить помощь от опытных пользователей и даже профессионалов. Например:

Здравствуйте, я собираюсь рассказать вам забавный опыт, поэтому я уехал на 4 месяца на работу и оставил свой ноутбук дома (g9 593 Win 10 Pro) 2 дня назад я вернулся, когда я ушел, мой ноутбук был хорошо позаботились, никаких вирусов, никаких проблем, когда я вернулся, я обнаружил странные значки на рабочем столе, которые блокировали мой рабочий стол и отправляли меня на какой-то веб-сайт, поэтому мне потребовалось некоторое время, чтобы удалить их, а затем после большого количества обновлений и исправление Я успешно устранил большую часть проблемы, такую ​​как обновления, проверка на вирусы, очистка реестра (CCleaner), проверка аппаратных частей с помощью центра Acer и т. д., но у меня осталась ошибка от Windows Script Host: не удается найти файл сценария -что-то, начинающееся с- Hxxxx.vbs. Теперь я попытался отключить WSH, но я не мог вызвать в Regedit, у меня нет включенной строки, поэтому я не могу установить ее на 0 как отключенную, дело в том, что я читал, что WSH может использоваться хакерами или кем-то еще вирусы, так что я хочу его вниз. Есть ли способ или какое-либо программное обеспечение отключить его без Regedit, где я пропускаю включенную строку? – спросил SurFac3 на форумах Tom’s Hardware.

Сообщение об ошибке Windows Script Host

Определенно, инструмент Windows Script Host на компьютере пользователя каким-то образом был поврежден. По его словам, вирусное вторжение является одной из частых причин ошибки Windows Script Host. Прежде чем рассказать ему, как отключить Windows Script Host, я хотел бы рассказать о популярных причинах и ситуациях проблем с Windows Script Host.

Что вызывает ошибки хоста сценариев Windows

  • Вирус или вредоносное ПО
  • Повреждение файла сценария VBS
  • Ошибки реестра

Обнаружено 3 типа причин, ответственных за ошибку Windows Script Host в Windows 7, Windows 8 и Windows 10.

Причины ошибок Windows Script Host

К вашему сведению: советы по восстановлению после вируса:

Хост сценариев Windows: сообщения об ошибках

Иногда при выполнении Windows Script Host происходил сбой, и вы можете застрять в следующих ситуациях.

Ситуация 1: доступ к хосту сценариев Windows отключен на этом компьютере

Вы можете столкнуться с тем, что на этом компьютере отключен доступ Windows Script Host. За подробностями обратитесь к администратору.

доступ отключен

Очевидно, ошибка возникает из-за того, что вы теряете доступ к Windows Script Host на текущем компьютере.

  • Если вы используете чужой компьютер, вам следует обратиться за помощью к администратору, как это предлагается.
  • Тем не менее, если вы используете свой собственный компьютер, вы можете попробовать методы, которые будут представлены в следующей части, чтобы снова получить доступ.

Ситуация 2: Windows Script Host не может найти файл сценария

Windows Script Host сообщает, что не удается найти файл сценария «C:\Users\Public\Libraries\Checks.vbs» (расположение файла не фиксировано). Эта ошибка «не удается найти файл сценария» возникает, когда определенный файл сценария, необходимый системе в данный момент, поврежден или утерян. Теоретически вы можете восстановить/исправить необходимый файл сценария, чтобы исправить проблему, связанную с тем, что Windows Script Host не может найти файл сценария.

не удается найти файл скрипта

Ситуация 3: Узел сценариев Windows. Система не может найти указанный файл

Вы также можете увидеть окно Windows Script Host с сообщением о том, что системе не удается найти указанный файл.

система не может найти указанный файл

Аналогичным образом эта ошибка возникает, когда системе не удается найти определенный файл сценария (*.vbs).

В дополнение к сообщениям об отказе в доступе, Не удается найти файл сценария и системе не удается найти файл, указанный выше, существуют также другие возможные сообщения об ошибках, указывающие на ошибку Windows Script Host:

  • Недостаточно места для хранения
  • Недостаточно памяти
  • Неверный параметр
  • И т. д.

Как исправить Windows Script Host в Windows 10

Когда возникает проблема, первое, что вы хотите сделать, это попробовать все возможные средства для ее решения, верно? Но если вы действительно столкнулись с ошибкой Windows Script Host, я советую вам сначала позаботиться о своих данных.

Вы должны использовать MiniTool ShadowMaker для резервного копирования всех важных дисков и файлов; кроме того, используйте MiniTool Power Data Recovery для восстановления всех потерянных данных, которые вам нужны.

Восстановление данных с помощью MiniTool Power Data Recovery

Пожалуйста, не теряйте времени зря! Просто быстро восстановите файлы, выполнив перечисленные ниже шаги.

Шаг первый: получите MiniTool Power Data Recovery по надежной ссылке. (Пожалуйста, нажмите на кнопку ниже, чтобы получить программу установки и сохранить ее на диск, который не содержит потерянных файлов.)

Шаг второй: инициализируйте программу установки, чтобы завершить процесс установки MiniTool Power Data Recovery. Затем запустите это программное обеспечение для восстановления данных, чтобы увидеть следующее окно.

Загрузка

Как правило, процесс загрузки информации о диске длится всего несколько секунд (обычно 2–3 секунды). Затем вы увидите основной интерфейс программного обеспечения.

Шаг третий: выберите нужный вариант в верхней части основного интерфейса программы.

основной интерфейс программы
< /p>

В случае сбоя работы Windows Script Host следует:

  • Выберите «Логические диски», чтобы восстановить файлы с определенного диска.
  • Выберите «Устройства», чтобы восстановить файлы с отсутствующего диска (вы также должны выбрать этот параметр, если не знаете, в какой диск включены файлы).

Шаг четвертый: дважды щелкните целевой раздел или диск, чтобы выполнить его полное сканирование. Затем дождитесь сканирования.

Шаг пятый:

  1. Просмотрите файлы, найденные MiniTool Power Data Recovery, и отметьте те, которые вам действительно нужны (если вы не можете решить, какие файлы полезны, а какие нет, проверьте их все).
  2. Затем нажмите кнопку "Сохранить", чтобы выбрать другой диск/диск для хранения восстановленных файлов (убедитесь, что на выбранном диске достаточно свободного места).
  3. Нажмите кнопку "ОК", чтобы подтвердить свой выбор.
  4. Подождите, пока все необходимые файлы не будут восстановлены на указанный вами диск.

проверьте нужные файлы

Теперь вы можете открыть диск, чтобы проверить, содержит ли он все потерянные данные, которые вам нужны с отсканированного диска. Если да, закройте программу MiniTool Power Data Recovery и завершите задачу восстановления данных; если нет, выберите другие файлы из результатов поиска для восстановления или завершите еще один раунд сканирования, чтобы попробовать.

Если у вас возникнут вопросы, сообщите нам об этом, оставив сообщение в конце этой статьи.

Полезные способы исправления ошибки Windows Script Host в Windows 10

  1. Запустите сканер безопасности Microsoft.
  2. Запустить SFC.
  3. Выполнить чистую загрузку.
  4. Измените значение ключа .vbs.
  5. Удалить записи после Userinit.exe.
  6. Попробуйте восстановить установку.

Когда вы подтвердите, что получили все необходимые данные, следующим шагом будет исправление ошибки. Есть некоторые методы, которые используются часто и помогли многим людям выйти из беды; пожалуйста, внимательно посмотрите на них.

Исправление 1. Запустите сканер безопасности Microsoft.

Инструмент Microsoft Safety Scanner можно использовать для поиска вирусов на ПК с Windows.

  1. Загрузите Сканер безопасности Microsoft, если у вас его нет.
  2. Правильно установите его на свой компьютер.
  3. Отключите все антивирусное программное обеспечение и средства безопасности.
  4. Запустите сканер безопасности Microsoft, чтобы проверить компьютер на наличие вирусов.
  5. Дождитесь сканирования и сделайте то, что вам предлагается.

Сканер безопасности Microsoft

Исправление 2. Запустите средство проверки системных файлов (SFC).

  1. Нажмите на поле поиска Cortana на панели задач и введите cmd.
  2. Щелкните правой кнопкой мыши командную строку в разделе "Лучшее соответствие".
  3. Выберите «Запуск от имени администратора» в контекстном меню.
  4. Выберите «Да» на панели «Контроль учетных записей».
  5. Введите sfc /scannow и нажмите Enter.
  6. Дождитесь завершения команды.
  7. Перезагрузите компьютер.

Проверка системных файлов

Исправление 3: включите чистую загрузку.

  1. Нажмите на поле поиска Cortana на панели задач и введите команду.
  2. Выберите приложение "Выполнить" в результатах поиска или просто нажмите клавишу ВВОД.
  3. Введите msconfig в текстовое поле; затем нажмите Enter или нажмите кнопку OK в диалоговом окне "Выполнить".
  4. Вкладка «Общие» будет отмечена по умолчанию в окне «Конфигурация системы».
  5. Выберите «Выборочный запуск» на вкладке «Общие».
  6. Убедитесь, что установлен флажок "Загружать системные службы", а параметр "Загрузить элементы автозагрузки" снят.
  7. Перейдите на вкладку "Службы".
  8. Отметьте внизу пункт Скрыть все службы Microsoft.
  9. Нажмите кнопку «Отключить все», чтобы отключить остальные службы.
  10. Нажмите кнопку "ОК".
  11. Перезагрузите компьютер, чтобы проверить, появятся ли снова сообщения об ошибках Windows Script Host.

Скрыть все службы Microsoft

Имейте в виду, что вам следует отменить вышеуказанные шаги после того, как вы обнаружите, что ошибка устранена, чтобы нормально запустить компьютер.

Исправление 4: измените значение ключа .vbs.

  1. Повторите шаги 1 и 2 в указанном выше исправлении 3.
  2. Введите regedit и нажмите кнопку ОК.
  3. Выберите «Да» на панели «Контроль учетных записей».
  4. Разверните папку HKEY_CLASSES_ROOT в разделе "Компьютер" на левой панели навигации.
  5. Выберите папку .vbs на левой панели.
  6. Щелкните правой кнопкой мыши кнопку (по умолчанию) на правой панели.
  7. Выберите «Изменить…» в контекстном меню.
  8. Убедитесь, что значением данных является VBSFile.
  9. Нажмите кнопку "ОК" для подтверждения.
  10. Закройте редактор реестра и перезагрузите компьютер, чтобы изменения вступили в силу.

VBSFile

Исправление 5: удалите записи после Userinit.exe (этот метод полезен при возникновении ошибки Windows Script Host при запуске).

  1. Повторите шаги с 1 по 3 в исправлении 4, чтобы открыть редактор реестра.
  2. Разверните разделы HKEY_LOCAL_MACHINE, SOFTWARE, Microsoft и Windows NT.
  3. Выберите CurrentVersion.
  4. Удалите все записи, которые вы можете найти после userinit.exe на правой панели (часто это VMApplet и WinStationsDisabled).
  5. Дважды щелкните Userinit.
  6. Удалите C:\windows\system32\servieca.vbs или C:\WINDOWS\run.vbs.
  7. Убедитесь, что значением по умолчанию является C:\Windows\system32\userinit.exe.
  8. Нажмите "ОК".
  9. Закройте редактор реестра и перезагрузите компьютер, чтобы изменения вступили в силу.

удалить записи после Userinit

Обратите внимание, что вы также можете попытаться удалить запись *.vbs при появлении сообщения об ошибке Windows Script Host при запуске.

Если вы удалили важные файлы по ошибке, немедленно восстановите их:

восстановить миниатюру безвозвратно удаленных файлов

Узнайте, как восстановить безвозвратно удаленные файлы в Windows 10/8/7/XP/Vista после «Shift-Delete» или «Очистить корзину».

Исправление 6: полагайтесь на ремонтную установку.

Этот метод должен быть вашим последним средством; это обязательно исправит ошибку Windows Script Host и восстановит поврежденные системные файлы.

Как отключить хост сценариев Windows в Win10

Согласно отчету, некоторые вредоносные программы HTML будут использовать объекты WSH. Поэтому пользователи Windows, которым эта функция не нужна, предпочитают ее отключать.

Как избавиться от всплывающего окна Windows Script Host:

  1. Откройте диалоговое окно запуска так, как вам удобно.
  2. Введите regedit и нажмите кнопку ОК.
  3. Выберите «Да» на панели «Контроль учетных записей пользователей», чтобы открыть редактор реестра.
  4. Найдите значение Enabled в разделе HKEY_CURRENT_USER\Software\Microsoft\Windows Script Host\Settings. (Если вы обнаружите, что Windows Script Host отсутствует, создайте его самостоятельно.)
  5. Дважды щелкните Включено на правой панели.
  6. Установите для параметра Значение значение 0.
  7. Нажмите кнопку "ОК" для подтверждения.
  8. Выйдите из редактора реестра.

Отключить хост сценариев Windows

Совет. Если вы не можете найти запись на своем компьютере, создайте ее в редакторе реестра. Затем установите для параметра Значение значение 1 и сохраните изменения.

Обратите внимание, что вы не сможете запускать какие-либо сценарии с использованием WSH после его отключения (включая сценарии VBScript и JScript).

Как снова включить Windows Script Host? Определенно, вы должны удалить ключ Enabled в редакторе реестра.

Заключение

Очевидно, что Windows Script Host — это встроенное в Windows приложение для запуска программ VBScript. Ошибка Windows Script Host время от времени появляется при запуске или когда вы работаете на компьютере с Windows. Если вы действительно видите сообщение об ошибке Доступ к Windows Script Host отключен на вашем компьютере, не забудьте немедленно сделать следующие две вещи:

  • Обеспечивайте безопасность данных, создавая резервные копии файлов или восстанавливая все потерянные данные.
  • Попробуйте исправить ошибку Windows Script Host (отказано в доступе, не удается найти файл сценария и т. д.), используя методы, упомянутые в этом сообщении.

Если у вас есть сомнения, оставьте сообщение ниже.

Часто задаваемые вопросы об ошибке хоста сценариев Windows

Прежнее название Windows Script Host — Windows Scripting Host; это технология автоматизации, которая предоставляет пользователям операционной системы Windows среду для выполнения сценариев на разных языках, которые будут выполнять задачи с помощью разных объектных моделей.

  1. Откройте диалоговое окно «Выполнить», нажав клавишу Windows + R.
  2. Введите regedit и нажмите кнопку ОК.
  3. Перейдите в раздел HKEY_CURRENT_USER\Software\Microsoft\Windows Script Host\Settings\.
  4. Создайте новый ключ REG_DWORD и назовите его Enabled.
  5. Измените значение на 0.
  6. Перейдите в раздел HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Script Host\Settings\ и сделайте то же самое.

Если ошибка сценария появляется на вашем компьютере в браузере, это означает, что ваш код JavaScript или VBScript в Интернете неверен. Обычно это ошибка веб-страницы, но есть вероятность, что она возникает во время загрузки веб-страницы.

Конечно, нет. На самом деле файл wscript.exe принадлежит операционной системе Microsoft Windows (находится в C:\Windows\System32). Это надежный программный компонент в Windows, который используется для выполнения файлов VBScript на вашем компьютере.

  • Фейсбук
  • Твиттер
  • Ссылка
  • Реддит

ОБ АВТОРЕ

Должность: обозреватель

Сара работает редактором в MiniTool с тех пор, как окончила университет. Сара стремится помочь пользователям с их компьютерными проблемами, такими как ошибки диска и потеря данных. Она испытывает чувство выполненного долга, видя, что пользователи решают свои проблемы, полагаясь на ее статьи. Кроме того, она любит заводить друзей и слушать музыку после работы.

R0помните пакетные файлы? Они были простыми, легко программируемыми и очень продуктивными, поскольку многие задачи можно было автоматизировать.

Windows по-прежнему поддерживает пакетные файлы, но пакетные файлы не позволяют управлять оболочкой Windows и средой Windows. Внедрив Windows Scripting Host, Microsoft представила сценарий и механизм на основе COM, который может получить доступ к оболочке Windows, среде компьютера и сетевым настройкам с помощью простого кода VBScript или JScript. Кроме того, вы даже можете получить доступ к любому COM-компоненту, включая ваш собственный. Эта колонка познакомит вас с основами работы хоста сценариев и с тем, как вы можете включить его функции в свои приложения Visual FoxPro.

Что нужно для начала

Что такое Windows Scripting Host (WSH)?

Windows Scripting Host — это механизм сценариев, не зависящий от языка. Языки сценариев, такие как VBScript и JScript, могут использоваться для управления многими процессами. Тот же язык, который используется в сценариях на стороне клиента в Internet Explorer (IE) или сценариях на стороне сервера в Internet Information Server (IIS), теперь может размещаться в самой операционной системе Windows.

До выпуска WSH единственным языком сценариев, существовавшим для Windows, были пакетные файлы MS-DOS. Несмотря на свою мощь, пакетные файлы не обладали действительно необходимым контролем над операционной системой Windows. WSH предоставляет эту возможность.

Файлы сценариев

В отличие от сценариев на страницах Active Server, где язык можно указать с помощью тегов, это не относится к файлам сценариев, используемым хостом сценариев Windows. Вместо этого WSH полагается на расширение файла, чтобы определить, какой язык использовать. Если файл сценария заканчивается на VBS, используется VBScript. Если файл сценария заканчивается на JS, используется JScript.

Следующие файлы представляют собой простые примеры приветствия, указывающие на различия между VBScript и JScript:

Ниже приведен более сложный пример, использующий сценарии для открытия и управления Microsoft Excel:

Запуск этих файлов сценариев — очень простая задача. В Проводнике вы можете щелкнуть правой кнопкой мыши по файлу и выбрать Открыть. Кроме того, вы также можете дважды щелкнуть элемент в проводнике. Еще одна альтернатива — использовать метод Run объекта Windows Scripting Shell. Этот метод будет проиллюстрирован при более подробном обсуждении объекта оболочки. Кроме того, вы можете выполнять эти файлы сценариев непосредственно из своих приложений с помощью API ShellExecute(), просто указав имя файла.

Коротко об отладке и обработке ошибок

Ни одна среда программирования не имеет полнофункциональной среды отладки, и Windows Scripting Host не является исключением. Что касается обработки ошибок, VBScript не имеет глобального обработчика ошибок. Вместо этого ошибки должны обрабатываться на постоянной основе. В следующем коде показано, как обрабатывать ошибки в режиме реального времени:

Если перехвата ошибок нет, появится диалоговое окно с запросом на отладку приложения. На рис. 1 показано, как код будет отображаться в отладчике скриптов.

Рисунок 1. Отладчик сценариев Microsoft использует ту же IDE, что и Visual InterDev и Visual J++ 6.0


Рис. 1. Отладчик сценариев Microsoft использует ту же среду IDE, что и Visual InterDev и Visual J++ 6.0

Объекты хоста сценария

В Windows Scripting Host содержатся два основных объекта. Следующий код иллюстрирует создание этих объектов:

И оболочка, и сетевые объекты размещаются в элементе управления ActiveX wshom.ocx.

Полную документацию по объектам WSHShell и WSHNetwork можно найти, перейдя по следующим URL-адресам:

Для объекта WSHShell:

Для объекта WSHNetwork:

Методы Wscript

Этот метод создает экземпляр сервера автоматизации. Эта статья началась с примера использования объекта оболочки для создания экземпляра Microsoft Excel. Также существует возможность создавать экземпляры ваших собственных COM-компонентов. Первый параметр указывает ProgID экземпляра сервера автоматизации, который вы хотите создать.

Второй параметр относится к случаям, когда новый объект поддерживает модель событий. Например, если созданный вами объект имеет событие MyEvent, вы можете написать обработчик для этого события. Единственным требованием является указание префикса процедуры:

Метод ConnectObject позволяет разработчикам подключаться к модели событий для уже созданных объектов. Для иллюстрации объект с именем oMyObject уже существует. Объект oMyObject имеет событие, называемое myevent.

ОтключитьОбъект (Идентификатор Объекта)

Метод DisconnectObject позволяет разъединить экземпляр объекта и обработчик событий. Важно отметить, что после отключения обработчика события экземпляр объекта остается нетронутым.

Эхо-метод предоставляет независимый от хоста механизм диалога с пользователем. В графическом интерфейсе Windows, где используется Wscript.EXE, метод Echo проявляется в виде окна сообщения:

Файлы сценариев также можно запускать из командной строки. Если бы предыдущий пример содержался в файле с именем FOO.VBS, следующий код отобразил бы слово Cool в командной строке:

Сон

Метод Sleep приостанавливает выполнение программы на указанный период времени. В следующем примере выполнение приостанавливается на 2 секунды перед продолжением:

Свойства и методы объекта оболочки

Environment: это свойство предоставляет доступ к коллекции окружения. Из этой коллекции можно определить такую ​​информацию, как количество процессоров, путей, ОС и т. д.

Ниже приведен частичный список некоторых типичных переменных среды:

  • NUMBER_OF_PROCESSORS
  • ОС
  • ПРОЦЕССОР_АРХИТЕКТУРА
  • PROCESSOR_IDENTIFIER
  • ВЕТЕР

Итак, чтобы узнать количество процессоров:

Как и в большинстве коллекций, если вы хотите узнать, сколько элементов содержится в коллекции, вы можете обратиться к свойству Count:

Чтобы соответствовать языку Java, коллекции в Windows Scripting Host также поддерживают свойство Length, которое предоставляет те же функции, что и свойство Count:

SpecialFolders: это свойство обеспечивает доступ к коллекции папок оболочки Windows. Ниже приведен список папок:

  • AllUsersDesktop
  • AllUsersStartMenu
  • ВсеПрограммыПользователей
  • AllUsersStartup
  • Компьютер
  • Избранное
  • Шрифты
  • Мои документы
  • Сеть
  • Печатная крышка
  • Программы
  • Недавние
  • Отправить
  • Меню Пуск
  • Запуск
  • Шаблоны

Чтобы найти фактический путь к папке на рабочем столе, введите следующую строку кода:

Этот метод создает и возвращает объект ярлыка. В следующем блоке кода показано, как создать ярлык на рабочем столе:

Метод CreateShortcut возвращает объект WSHShortcut. Этот объект доступен только через метод CreateShortcut. Объект WSHShortcut имеет следующие свойства:

  • Аргументы – параметры объекта быстрого доступа.
  • Описание — описание объекта ярлыка.
  • Горячая клавиша – горячая клавиша объекта быстрого доступа.
  • IconLocation — расположение значка объекта ярлыка.
  • TargetPath – целевой путь объекта-ярлыка.
  • WindowStyle — стиль окна объекта ярлыка.
  • WorkingDirectory — рабочий каталог объекта-ярлыка.

Объект WSHShortcut имеет только один метод, Save() , который сохраняет объект ярлыка в файловой системе.

Этот метод расширяет переменную среды процесса и возвращает результат. Типичная переменная среды — WINDIR. Следующий код иллюстрирует работу этого метода:

Этот метод отображает окно MessageBox. В отличие от существующей функции MessageBox, метод Popup принимает необязательный аргумент для очистки диалогового окна через указанное время. Следующая строка кода иллюстрирует, как работает метод Popup:

Объект Windows Scripting Host Shell предоставляет три метода работы с реестром Windows. С помощью этих методов можно создавать, записывать, читать и удалять записи. Если вы попытаетесь записать ключ, который не существует, ключ будет создан.В следующем коде показано, как работают эти три метода:

Чтобы создать новый ключ:

Затем, чтобы изменить значение:

Далее, чтобы просто прочитать значение из ключа:

Наконец, чтобы удалить ключ:

Метод Run создает новый процесс, который выполняет указанную команду с заданным стилем окна. В дополнение к возможности указать команду и стиль окна, третий параметр может использоваться для определения того, должно ли выполнение скрипта приостанавливаться до тех пор, пока новый процесс не завершится.

Окна приложений могут быть запущены в нескольких состояниях. Ниже перечислены различные доступные параметры:

  • SW_HIDE = 0
  • SW_MINIMIZE = 6
  • SW_RESTORE = 9
  • SW_SHOW = 5
  • SW_SHOWMAXIMIZED = 3
  • SW_SHOWMINIMIZED = 2
  • SW_SHOWMINNOACTIVE = 7
  • SW_SHOWNA = 8
  • SW_SHOWNOACTIVATE = 4
  • SW_SHOWNORMAL = 1

Следующий код запускает Блокнот в обычном окне:

Этот код запускает Блокнот с развернутым окном. Кроме того, пользователь должен закрыть Блокнот, прежде чем управление вернется к Visual FoxPro:

Для обозначения исполняемого файла можно использовать полные пути. Следующий код запускает Visio:

Кроме того, с помощью метода запуска можно запускать файлы скриптов:

Свойства и методы сетевого объекта

ComputerName: это свойство обозначает имя компьютера.

UserDomain: это свойство обозначает домен, к которому принадлежит пользователь.

UserName: это свойство обозначает идентификатор текущего пользователя, вошедшего в систему.

Этот метод сопоставляет сетевой принтер с локальным ресурсом.

Особый интерес здесь представляет третий параметр, bUpdateProfile. Если для этого параметра задано значение .T., профиль пользователя для локального компьютера обновляется, чтобы восстановить сопоставление принтера при следующем входе пользователя в систему и в сеть.

Перечисление сетевых дисков

Этот метод возвращает набор сопоставлений дисков. Следующий код перебирает коллекцию сопоставлений сетевых дисков:

Как и другие коллекции, коллекция сопоставления дисков поддерживает свойства Count и Length, а также метод Item().

Подключения к принтеру

Этот метод работает так же, как EnumNetworkDrives, за исключением того, что возвращаемая коллекция представляет собой принтеры, а не сопоставления дисков:

Этот метод работает так же, как метод AddPrinterConnection, за исключением того, что создается локальный диск для сетевого ресурса:

Этот метод удаляет указанное сопоставление сетевого диска. При желании вы можете принудительно удалить, даже если ресурс используется. Необязательный третий параметр указывает, следует ли обновлять профиль пользователя:

Этот метод работает так же, как и метод RemoveNetworkDrive, за исключением того, что удаляется ресурс принтера:

Этот метод устанавливает принтер по умолчанию:

Обзор

Возможность работать с реестром Windows, создавать ярлыки на рабочем столе, отображать и просматривать сетевые ресурсы — все это требовало от вас умения использовать расширенные функции Windows API или сторонние библиотеки DLL. Windows Scripting Host предоставляет простой и элегантный набор объектов с простыми интерфейсами, которые позволяют выполнять многие из этих задач. Возможно, ваше приложение требует специальных записей реестра. Возможно, вам поручили разработать утилиту, которая изменяет принтер по умолчанию или динамически распределяет сетевые ресурсы. Все эти задачи можно легко выполнить с помощью Windows Scripting Host.

Хорошей новостью является то, что Windows Scripting Host является частью операционной системы, начиная с Windows 98 и Windows 2000. Для более старых систем необходимо убедиться, что WSH установлен на любой клиентской рабочей станции, использующей ваше приложение. Одним из способов решения этой проблемы является добавление в класс вашего приложения метода, который проверяет, установлен ли Windows Scripting Host. Если это не так, предложите пользователю выполнить загрузку и установку WSH.

Windows Scripting Host — еще один ценный инструмент, который можно добавить в свой набор инструментов!

Хотя в документации указано, что второй аргумент в методе Popup указывает интервал времени ожидания, в течение которого MessageBox будет очищен? это не работает в Visual FoxPro. Я протестировал этот код в Visual Basic, и ожидаемое поведение произошло. Команда Visual FoxPro сообщила об этом поведении, и, к счастью, оно будет исправлено в Visual FoxPro 7.0.

Ошибка Windows Script Host может показаться неопытному глазу вирусом или вредоносным ПО, однако это не более чем ошибка с файлом VBScript. Он появляется во всех версиях операционной системы и не зависит от какого-либо конкретного программного обеспечения, которое может его вызвать.

В случае возникновения этой ошибки люди могут посоветовать вам проверить систему на наличие вредоносного ПО, но некоторые пользователи даже сообщают, что их антивирус очистил вирус, но оставил запись для запуска файла .vbs не повреждены, и они по-прежнему получали ошибку.

Тем не менее, есть несколько вещей, которые вы можете попробовать решить эту проблему, и все они, по сообщениям разных пользователей, работают, а это означает, что может потребоваться немного проб и ошибок, чтобы все исправить, но методы гарантированы. чтобы помочь вам.

windows- script-host

Способ 1. Запустите средство проверки системных файлов для сканирования системы

Это решение ряда проблем, и, как сообщается, оно работает и с этой.

  1. Откройте командную строку с повышенными правами. Для этого нажмите клавишу Windows на клавиатуре, введите cmd, щелкните результат правой кнопкой мыши и выберите «Запуск от имени администратора».
  2. В командной строке с повышенными правами введите sfc /scannow и нажмите Enter на клавиатуре. Команда просканирует всю системную интеграцию, а также исправит все найденные повреждения. После этого у вас не должно возникнуть этой проблемы.

sfcscannow

Способ 2. Используйте редактор реестра для решения проблемы

Вариант 1. Вернуть значение по умолчанию .vbs в файл VBS

  1. Нажмите одновременно клавиши Windows и R на клавиатуре, чтобы открыть диалоговое окно «Выполнить». Введите regedit и нажмите Enter, чтобы открыть редактор реестра.
  2. На левой панели навигации разверните папку HKEY_CLASSES_ROOT и щелкните папку .vbs внутри.
  3. Справа дважды щелкните ключ (по умолчанию) и задайте для него значение VBSfile. Закройте редактор реестра, и теперь ваша система должна работать нормально.

Вариант 2. Удалите записи после userinit.exe

  1. Откройте редактор реестра, как описано в шаге 1 предыдущего метода.
  2. На левой панели навигации разверните следующие папки: HKEY_LOCAL_MACHINE, затем SOFTWARE, затем Microsoft, затем Windows NT, затем CurrentVersion и, наконец, щелкните Winlogon.
  3. В правом окне удалите все записи после userinit.exe. Это, вероятно, будет включать wscript.exe и NewVirusRemoval.vbs. Когда закончите, закройте редактор реестра, и все должно снова работать.

userinit

Вариант 3. Удалите запись *.vbs, которая отображается при запуске

Этот метод требует, чтобы вы загружались в безопасном режиме, что делается нажатием F8 при включении компьютера, прямо перед загрузкой Windows и выбором параметра "Безопасный режим" в меню в системе Windows Vista и 7.

safe-mode- 1

Для Windows 8 и 10 см. инструкции в разделе «Загрузка Windows 8 или 10 в безопасном режиме»

  1. После загрузки в безопасном режиме снова откройте редактор реестра, как описано ранее.
  2. Нажмите одновременно клавиши Ctrl и F на клавиатуре, чтобы открыть меню поиска. В поле введите nameofthe.vbs (файл), который отображается при запуске, и нажмите кнопку «Найти далее».
  3. Этот поиск приведет к папке с ключом userint. Дважды щелкните по нему, и вы увидите несколько путей, разделенных запятыми. Найдите среди путей «файл VBS» и удалите путь. Будьте осторожны, чтобы не изменить другие пути.
  4. Нажмите F3 на клавиатуре, чтобы увидеть, находится ли этот путь где-то еще в вашем реестре. Если это так, удалите его, используя инструкции из предыдущего шага. Повторяйте этот процесс, пока не получите сообщение о том, что поиск завершен. Закройте редактор реестра.
  5. Одновременно нажмите Windows и E на клавиатуре, чтобы открыть Проводник. Запустите поиск файла VBS, который появился при запуске в разделе, где установлена ​​ваша операционная система, и удалите этот файл.

В конце концов, решить эту проблему может оказаться утомительной задачей. Однако, если вы просто будете следовать инструкциям в вышеупомянутых методах, вы избавитесь от него, и вам больше не придется иметь с ним дело.

Читайте также: