Что означает windows script host

Все способы:

  • Исправляем ошибку Windows Script Host
    • Вариант 1: Системное время
    • Вариант 2: Служба обновлений
    • Вариант 3: Некорректно установленные обновления
    • Вариант 4: Нелицензионная Windows
    • Заключение
  • Вопросы и ответы: 13

Windows Script Host – особый компонент операционной системы, который позволяет запускать скрипты, написанные на JS (Java Script), VBS (Visual Basic Script) и других языках. При неправильном его функционировании могут наблюдаться различные сбои во время запуска и работы Windows. Такие ошибки зачастую не могут быть исправлены простой перезагрузкой системы или графической оболочки. Сегодня поговорим о том, какие действия необходимо совершить для устранения неполадок в функционировании компонента WSH.

Исправляем ошибку Windows Script Host

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

Ошибка Windows Script Host вызванная ошибкой в коде скрипта

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

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

Ошибка Windows Script Host вызванная сбоем в операционной системе Windows

Причины такого поведения ОС следующие:

  • Неверно выставленное системное время.
  • Сбой в работе службы обновлений.
  • Некорректная установка очередного апдейта.
  • Нелицензионная сборка «винды».

Вариант 1: Системное время

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

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

    Переход к настройкам времени по интернету в Windows 7

  3. В окне настроек устанавливаем галку в указанный на изображении чекбокс, затем в выпадающем списке «Сервер» выбираем time.windows.com и нажимаем «Обновить сейчас».

    Настройка синхронизации времени с сервером Майкрософт в Windows 7

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

    Сообщение об успешной синхронизации времени с сервером в Windows 7

Теперь ваше системное время будет регулярно синхронизироваться с сервером времени Майкрософт и расхождения не будет.

Вариант 2: Служба обновлений

Windows – это очень сложная система, с множеством одновременно протекающих процессов, и некоторые из них могут повлиять на работу службы, отвечающей за обновление. Высокое потребление ресурсов, различные сбои и занятость компонентов, помогающих апдейту, «заставляют» службу совершать бесконечные попытки выполнить свою работу. Сам сервис также может сбоить. Выход здесь один: отключить его, а затем перезагрузить компьютер.

  1. Вызываем строку «Выполнить» сочетанием клавиш Win+R и в поле с названием «Открыть» пишем команду, которая позволит получить доступ к соответствующей оснастке.

    services.msc

    Переход к системной оснастке Службы в Windows 7 из строки Выполнить

  2. В списке находим «Центр обновления», кликаем ПКМ и выбираем пункт «Свойства».

    Переход к свойствам службы Центра обновления Windows 7

  3. В открывшемся окне жмем кнопку «Остановить», а затем ОК.

    Остановка службы Центра обновления Windows 7

  4. После перезагрузки служба должна запуститься автоматически. Стоит проверить, так ли это и, если она все еще остановлена, включить ее тем же способом.

    Запуск службы Центра обновления Windows 7

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

Вариант 3: Некорректно установленные обновления

Данный вариант подразумевает удаление тех обновлений, после установки которых начались сбои в Windows Script Host. Сделать это можно как вручную, так и с помощью утилиты восстановления системы. В обоих случаях необходимо вспомнить, когда «посыпались» ошибки, то есть после какой даты.

Ручное удаление

  1. Идем в «Панель управления» и находим апплет с названием «Программы и компоненты».
    Переход к апплету Программы и компоненты из Панели управления Windows 7

  2. Далее переходим по ссылке, отвечающей за просмотр обновлений.

    Переход к просмотру установленных обновлений в Windows 7

  3. Сортируем список по дате установки, кликнув по шапке последней колонки с надписью «Установлено».

    Сортировка обновлений по дате установки в Windows 7

  4. Выбираем нужное обновление, кликаем ПКМ и выбираем «Удалить». Также поступаем с остальными позициями, помня про дату.

    Удаление установленного обновления в Windows 7

  5. Перезагружаем компьютер.

Утилита восстановления

  1. Для перехода к данной утилите кликаем правой кнопкой мыши по значку компьютера на рабочем столе и выбираем пункт «Свойства».
  2. Далее переходим к «Защите системы».

    Переход к настройкам защиты системы в Windows 7

  3. Нажимаем кнопку «Восстановление».

    Запуск утилиты восстановления системы в Windows 7

  4. В открывшемся окне утилиты жмем «Далее».

    Переход к выбору точек восстановления в утилите восстановления Windows 7

  5. Ставим галку, отвечающую за показ дополнительных точек восстановления. Необходимые нам поинты будут называться «Автоматически созданная точка», тип – «Система». Из них необходимо выбрать ту, которая соответствует дате последнего обновления (или того, после которого начались сбои).

    Поиск точек восстановления в системной утилите Windows 7

  6. Жмем «Далее», ждем, пока система предложит перезагрузиться и выполнит действия по «откату» к предыдущему состоянию.

    Запуск процесса восстановления системы Windows 7

  7. Обратите внимание, что в этом случае могут быть удалены и те программы и драйвера, которые были установлены вами после этой даты. Узнать, произойдет ли это, можно нажав кнопку «Поиск затрагиваемых программ».

    Поиск затрагиваемых восстановлением системы программ в Windows 7

Читайте также: Как восстановить систему Windows XP, Windows 8, Windows 10

Вариант 4: Нелицензионная Windows

Пиратские сборки «винды» хороши лишь тем, что они совершенно бесплатны. В остальном же такие дистрибутивы могут принести массу проблем, в частности, некорректную работу необходимых компонентов. В этом случае рекомендации, приведенные выше, могут не сработать, так как файлы в скачанном образе уже были сбойными. Здесь можно только посоветовать поискать другой дистрибутив, но лучше воспользоваться лицензионной копией Windows.

Заключение

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

Наша группа в TelegramПолезные советы и помощь

Материал из Википедии — свободной энциклопедии

Перейти к: навигация,
поиск

Windows Script Host (WSH; первоначально назывался Windows Scripting Host, был переименован ко второму выпуску) — компонент Microsoft Windows, предназначенный для запуска сценариев на скриптовых языках JScript и VBScript, а также и на других дополнительно устанавливаемых языках (например, Perl).

Возможности сценариев на WSH значительно превосходят возможности командных .bat и .cmd-файлов: имеются полноценные языки с объектными возможностями, полный набор операций со строками, включая регулярные выражения, взаимодействие с любыми программами, реализующими объектный скриптовый интерфейс (Active Scripting или OLE Automation), доступ к методам и свойствам их объектов; операции с файлами и каталогами, обработка текстовых файлов, манипуляции с системным реестром и т. п.

Сценарии из .js, .vbs, .wsf и некоторых других типов файлов запускаются с помощью одной из двух программ-активаторов: wscript.exe (с графическим интерфейсом) или cscript.exe (с консольным интерфейсом).

Самые первые версии WSH поставлялись в виде отдельного компонента, опционально устанавливаемого в Windows, но уже начиная с Windows 98 WSH стал частью всех ОС Windows.

[править] См. также

  • Windows PowerShell
  • Visual Basic Script

[править] Литература

  • Попов А.В. Windows Script Host для Windows 2000/XP. — СПб.: БХВ-Петербург, 2004. — 640 с. — ISBN 5941571976

[править] Ссылки

  • Официальная документация в MSDN
  • Windows Scripting Host Resources  (англ.) (24 декабря 2003). Архивировано из первоисточника 19 мая 2012. Проверено 25 сентября 2008.
  • Windows Script Host (WSH): введение (24 февраля 2006). Архивировано из первоисточника 19 мая 2012. Проверено 25 сентября 2008.
  API и фреймворки Microsoft
Графика Desktop Window Manager · Direct2D · Direct3D (extensions)  · GDI / GDI+ · WPF · Windows Color System · Windows Image Acquisition · Windows Imaging Component
Аудио DirectMusic · DirectSound · DirectX plugin · XACT · Speech API  · XAudio2
Мультимедиа DirectX (Media Objects · Video Acceleration) · DirectInput · DirectShow · Image Mastering API · Managed DirectX · Media Foundation · XNA · Windows Media  · Video for Windows
Web MSHTML · RSS Platform · JScript · VBScript · BHO · XDR · SideBar Gadgets
Доступ к данным Data Access Components · Extensible Storage Engine · ADO.NET · ADO.NET Entity Framework · Sync Framework · Jet Engine · MSXML · OLE DB · OPC
Сеть Winsock (LSP) · Winsock Kernel · Filtering Platform · Network Driver Interface Specification · Windows Rally · BITS · P2P API · MSMQ · MS MPI · DirectPlay
Коммуникации Messaging API · Telephony API · WCF

Администрирование и
управление

Win32 console · Windows Script Host · WMI (extensions) · PowerShell · Task Scheduler · Offline Files · Shadow Copy · Windows Installer · Error Reporting · Event Log · Common Log File System
Компонентная модель COM · COM+ · ActiveX · Distributed Component Object Model · .NET Framework
Библиотеки Base Class Library (BCL) · Microsoft Foundation Classes (MFC) · Active Template Library (ATL) · Windows Template Library (WTL)
Драйверы устройств Windows Driver Model  · Windows Driver Foundation (KMDF · UMDF) · WDDM · NDIS · UAA · Broadcast Driver Architecture  · VxD
Безопасность Crypto API (CAPICOM) · Windows CardSpace · Data Protection API · Security Support Provider Interface (SSPI)
.NET ASP.NET · ADO.NET · Base Class Library (BCL) · Remoting · Silverlight · TPL · WCF · WCS · WPF · WF
Программное обеспечение EFx Factory · Enterprise Library · Composite UI · CCF · CSF
IPC MSRPC · Dynamic Data Exchange (DDE)  · Remoting · WCF
Доступность Active Accessibility · UI Automation

Текст и многоязная
поддержка

DirectWrite · Text Services Framework · Text Object Model · Input method editor · Language Interface Pack · Multilingual User Interface · Uniscribe
  Программные интерфейсы и фреймворки Microsoft Windows
Графика Проводник Windows • DirectX • Direct3D • GDI • Windows Presentation Foundation • Windows Color System • Windows Image Acquisition • Windows Imaging Component
Звук DirectSound • DirectMusic • XACT • Speech API • MME
Мультимедиа DirectShow • Windows Media • Media Foundation
Веб MSHTML • MSXML • Платформа RSS для Windows • JScript • ActiveX • XMLHttpRequest • Гаджеты
Доступ к данным Компоненты Microsoft Data Access • Extensible Storage Engine • ADO.NET • Sync Framework • Jet-механизм
Сети Winsock (LSP) • Filtering Platform • NDIS • Windows Rally • Сервис фоновой интеллектуальой передачи данных • P2P API
Коммуникации TAPI
Администрирование Консоль Win32 • Windows Script Host • Инструментарий управления Windows • PowerShell • Планировщик задач • Offline Files • Теневое копирование • Windows Installer • Диспетчер ошибок Windows • Журнал событий Windows
Модель компонентов COM • COM+ • DCOM • .NET Framework
Библиотеки Microsoft Foundation Classes (MFC) • Active Template Library (ATL) • Windows Template Library (WTL) • Framework Class Library (FCL)
Разработка драйверов Windows Driver Model • Windows Driver Foundation (KMDF • UMDF)
Безопасность CryptoAPI (CAPICOM) • Windows CardSpace • Data protection API • Security Support Provider Interface
.NET .NET Framework • ASP.NET • ADO.NET • .NET Remoting • Windows Presentation Foundation • Windows Workflow Foundation • Windows Communication Foundation • Windows CardSpace • XNA Framework • Silverlight • Библиотека параллельного программирования
Межпроцессное
взаимодействие
Dynamic Data Exchange (DDE)  • MSRPC • Именованные каналы
Текст и
поддержка языков
Framework Текстовых сервисов • Объектная модель текстов • Редактор метода ввода • Языковые пакеты • Многоязычный интерфейс
Игры XNA Framework • DirectX
  Компоненты Microsoft Windows
Основные

Aero • ClearType • Диспетчер рабочего стола • DirectX • Панель задач (Пуск • Область уведомлений) • Проводник (Пространство имён • Специальные папки • Ассоциации файлов) • Windows Search (Smart folders • iFilters) • GDI • WIM • SMB • .NET Framework • XPS • Active Scripting (WSH VBScript • JScript) • COM (OLE • DCOM • ActiveX • Структурированное хранилище • Сервер транзакций) • Теневая копия • WDDM • UAA • Консоль Win32

Службы
управления

Архивация и восстановление • COMMAND.COM • cmd.exe • Средство переноса данных • Просмотр событий • Установщик • netsh.exe • PowerShell • Отчёты о проблемах • rundll32.exe • Программа подготовки системы (Sysprep) • Настройка системы (MSConfig) • Проверка системных файлов • Индекс производительности • Центр обновления • Восстановление системы • Дефрагментация диска • Диспетчер задач • Диспетчер устройств • Консоль управления • Очистка диска • Панель управления (элементы)

Приложения

Контакты • DVD Maker • Факсы и сканирование • Internet Explorer • Журнал • Экранная лупа • Media Center • Проигрыватель Windows Media • Программа совместной работы • Центр устройств Windows Mobile • Центр мобильности • Экранный диктор • Paint • Редактор личных символов • Удалённый помощник • Распознавание речи • WordPad • Блокнот • Боковая панель • Звукозапись • Календарь • Калькулятор • Ножницы • Почта • Таблица символов • Исторические: Movie Maker • NetMeeting • Outlook Express • Диспетчер программ • Диспетчер файлов • Фотоальбом

Игры

Chess Titans • Mahjong Titans • Purble Place • Пасьянсы (Косынка • Паук • Солитер) • Сапёр • Пинбол • Червы

Ядро ОС

Ntoskrnl.exe • Слой аппаратных абстракций (hal.dll) • Бездействие системы • svchost.exe • Реестр • Службы • Диспетчер управления сервисами • DLL (формат модулей) • PE • NTLDR • Диспетчер загрузки • Программа входа в систему (winlogon.exe) • Консоль восстановления • Windows RE • Windows PE • Защита ядра от изменений

Службы

Autorun.inf • Фоновая интеллектуальная служба передачи • Файловая система стандартного журналирования • Отчёты об ошибках • Планировщик классов мультимедиа • Теневая копия • Планировщик задач • Беспроводная настройка

Файловые
системы

Protogon • NTFS (Жёсткая ссылка • Точка соединения • Точка монтирования • Точка повторной обработки • Символьная ссылка • TxF • EFS) • WinFS • FAT • exFAT • CDFS • UDF • DFS • IFS

Сервер

Active Directory • Службы развёртывания • Служба репликации файлов • DNS • Домены • Перенаправление папок • Hyper-V • IIS • Media Services • MSMQ • Защита доступа к сети (NAP) • Службы печати для UNIX • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователей • SharePoint • Диспетчер системных ресурсов • Удаленный рабочий стол • WSUS • Групповая политика • Координатор распределённых транзакций

Архитектура

NT • Диспетчер объектов • Пакеты запроса ввода/вывода • Диспетчер транзакций ядра • Диспетчер логических дисков • Диспетчер учетных записей безопасности • Защита ресурсов • lsass.exe • csrss.exe • smss.exe • spoolsv.exe • Запуск

Безопасность

BitLocker • Защитник • Предотвращение выполнения данных • Обязательный контроль целостности • Защищенный канал данных • UAC • UIPI • Брандмауэр • Центр обеспечения безопасности • Защита файлов

Совместимость

Подсистема UNIX (Interix) • Виртуальная машина DOS • WOW64

Windows Script Host

Раньше основной операционной системой для компьютеров считалась MS-DOS. Именно тогда возникла необходимость в постоянном выполнении определенных последовательностей действий. Осуществлять их вручную было крайне неразумно. С целью реализации поставленной задачи разработаны bat-файлы. Операционные системы улучшались, но некоторые вещи в них практически не претерпевали изменений. Размеры bat-файлов постоянно увеличивались, поскольку они выполняли всё более значительный список задач. Выход Windows ознаменовал возникновение серьёзной конкуренции в указанной сфере. Она появилась в результате возникновения Windows Script Host (сокращенно WSH).

Что такое Windows Script Host

Файлы WSH предполагают написание на скриптовых языках, куда следует отнести JScript, VBScript, Active Perl, Python и некоторые другие. Они позволяют осуществлять определенную последовательность действий на устройстве. Существует несколько преимуществ перед bat-файлами. Наиболее важным достоинством можно отметить увеличенный спектр действий:

  • Создание ярлыков для приложений
  • Отключение устройства
  • Внесение корректировок в реестр операционной системы
  • Работа с сетью
  • Переключение пользователей и получение информации о них
  • Внесение изменений в переменные окружения
  • Вывод на экран различного типа информационных сообщений

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

WSH особенно полезен для администраторов. Это связывается с особенностями внесения изменений в реестр. Не предусматривается выдачи на экран каких-либо сообщений о необходимости подтверждения действий. Подобный фактор позволяет выполнить нужные работы без отвлечения пользователя.

Файлы Windows Script Host

Документы данного типа можно разделить на две основные категории, в зависимости от расширения:

  1. js – для их написания используется JScript
  2. vbs – создаются с применением VBScript

Существуют некоторые отличия в синтаксисе, но они являются незначительными. Если Вы знакомы с одним из описанных языков, то в понимании другого не возникнет проблем. Для чтения файлов должны применяться специальные библиотеки. В операционных системах от Windows они являются встроенными и не потребуется осуществлять дополнительную загрузку. На некоторых версиях пакета библиотек нет и следует провести скачивание с официального сайта. Уточнить подобный момент достаточно просто – надо ввести в поиске wscript.exe.

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

Настройка

  • Microsoft Windows 2000
  • Microsoft Windows XP
  • Microsoft Windows Servers
  • Microsoft Windows Vista
  • Microsoft Windows 7
  • Microsoft Windows 8
  • Microsoft Windows 10

Полезная информация

  • Синий экран смерти (BSOD)
    • Коды ошибок
    • Способы устранения
  • Командная строка (CMD)
    • Переменные
    • Команды
    • Примеры bat файлов
  • Примеры Rundll32.exe
  • Windows Script Host (WSH)
    • Объект WshShell
    • Объект FileSystemObject
    • Объект RegExp
    • Объект Dictionary
    • Объект Shell
    • Константы VBScript
    • Функции VBScript
    • Объект IE и WebBrowser
    • Объект WScript
    • Объект WshNetwork
  • Basic In/Out System (BIOS)
    • AMI bios
    • AWARD bios
    • Phoenix bios
    • UEFI bios
  • Реестр Windows
    • Хитрости реестра Windows
  • Скачать Live CD
  • Полезные статьи
    • Часто задаваемые вопросы
    • Стоит ли переходить на Windows 10?
    • Не открывается флешка на компьютере?
    • Как разбить жесткий диск на разделы?
    • Удалить баннер с рабочего стола
    • Лучшие бесплатные антивирусы 2016-2017 года
    • Не открывается Вконтакте и другие сайты
    • Как убрать всплывающие сайты и рекламу в браузере

На чтение 10 мин Просмотров 1.8к. Опубликовано

Всем привет, с вами автор блога scriptcoding.ru. В этой статье мы сделаем заключительный анализ сервера сценариев Windows Script Host и его возможностей.

На данном блоге собралось уже достаточно примеров скриптов и обучающих статей, что бы написать действительно качественный обзор по Windows Script Host, да, я такой, люблю публиковать материалы в обратном порядке… По ходу статьи я приведу примеры программного кода для Windows Script Host (коротко — WSH), а пока немного лирического предисловия.

Операционная система изначально создавалась как платформа для программистов, это теперь, мы привыкли, что Windows – это красочный интерфейс пригодный для посиделок в социальных сетях, разговорах по скайпу и игре в компьютерные игры. Но как бы там не было, ОС это как не как программа, а любую программу нужно отлаживать и исправлять в ней ошибки. Это теперь мы привыкли, что есть мышка, а ведь когда то все делали ручками – все команды вводили вручную, и если программисту это не в дикость, то рядовому пользователю такая картина покажется дикостью… Но, хотя времена уже не те, Windows по прежнему позволяет решать административные вопросы без сторонних приложений…

Содержание

  1. Windows Script Host — вначале была командная строка…
  2. И был день, и была ночь, и пришел Windows Script Host
  3. «Привет Мир», или пишем первые примеры по Windows Script Host…

Windows Script Host — вначале была командная строка…

Да, да, черный экран и взгляд в неизвестность… До появления Windows Script Host и PowerShell, командная строка являлась практический единственным средством для решения внештатных задач. Помню в детстве, мне частенько приходилось бегать с загрузочными дискетами и даже держать их в тайнике целыми стопками. Ну, а старый добрый Doom!!! Не знаю как теперь, но он у меня он работал только под управлением командной строки. Помню, в школе на уроках информатики нам приходилось изучать базовые команды CMD, типа, переход по каталогам и дискам, создание папок и файлов и так далее. Даже в нынешнее время приходится использовать базовые утилиты командной оболочки, взять тот же ping или ipconfig, когда я приходил к клиентам, у которых не работал интернет, эти утилиты шли в бой всегда..

Но, времена идут, и продвинутому пользователю хочется чего-то больше…

И был день, и была ночь, и пришел Windows Script Host

Windows Script Host - базовые возможности

В простом варианте, сервер сценариев Windows Script Host – это программа, точнее две: wscript.exe (позволяет запускать сценарии в оконном интерфейсе) и cscript.exe (запуск скриптов в режиме командной строки). Так как Windows Script Host не требует установки и входит в состав практически всех версий Windows, то можно сразу приступать к программированию. У пользователя есть выбор, писать программный код на языке VBScript (файлы с расширением .vbs) или JScript (файлы с расширением .js). Те, кто самые ленивые, могут открыть текстовый блокнот и сразу приступить к делу, но лучше использовать редактор Notepad++. Я даже написал несколько статей по данному редактору, например — «Редактор Notepad++ — Знакомство«.

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

Некоторые преимущества сценариев Windows Script Host по сравнению с рядовыми файлами командной оболочки:

  • Расширяемость возможностей за счет подключения внешних объектов. Объекты – это файлы (библиотеки) с набором различных функций для выполнения определенных задач: создание графического интерфейса (WindowSystemObject), работа со ссылками на сайте (Chilkat.Spider) или работа с протоколом HTTP (Компоненты для создания HTTP запроса), однако, Windows Script Host предоставляет и собственные объекты, например, работа с файловой системой (FileSystemObject), или взаимодействие с системой (WScript.Shell).
  • Взаимодействие с Windows Management Instrumentation (Инструментарий управления Windows). WMI содержит практически неограниченные возможность для администрирования системы, с его помощью можно получить доступ практически к каждому элементу (как оборудование, так и системная информация).
  • Универсальность использования. Нет необходимости устанавливать программные пакеты по несколько сотен мегабайт, вы можете написать сценарий и потом запустить его на другом компьютере, да и компиляция отсутствует, что позволяет в любой момент изменить программный код.

«Привет Мир», или пишем первые примеры по Windows Script Host…

Windows Script Host - начинаем программировать

Пожалуй, я не буду нарушать традицию…

Вывод сообщения «Привет Мир» на языке Jscript:

WScript.Echo("Привет Мир");

Вывод сообщения «Привет Мир» на языке VBscript:

Как видим все довольно просто, но… хочется чего-то большего, поэтому приведу вам пример сценариев Windows Script Host, которые будут выводить список имен пользователей системы и их SID (уникальный идентификатор, который назначается каждой учетной записи):

Программный код на языке VBSCRIPT:

'-------------------------------------------------------------------------------------
' Примеры программного кода для сервера Windows Script Host
' Список имен пользователей и их SID
' windows_script_host_UserSID.vbs
'-------------------------------------------------------------------------------------
 
' включаем проверку переменных
Option Explicit
 
dim objWMIService, colItems, objItem, list
 
list = "Имя пользователя и его SID" & vbCrLf & vbCrLf
' получаем доступ к WMI
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
' получаем доступ к классу WMI - Win32_UserAccount
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_UserAccount")
 
' начинаем перебор значений
For Each objItem In colItems
     list = list &  "Имя" & vbTab & vbTab & objItem.Name & vbCrLf
     list = list &  "Значение SID" & vbTab & objItem.SID & vbCrLf & vbCrLf
Next
 
ShowInNotepad(list)
 
'Процедура создания временного файла с данными
Sub ShowInNotepad(StrToFile)
dim FSO, TempPath, TxtFile
    Set FSO = CreateObject("Scripting.FileSystemObject")
    TempPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%TEMP%") & "\" & FSO.GetTempName
    Set TxtFile = FSO.CreateTextFile(TempPath)
    TxtFile.WriteLine(StrToFile)
    TxtFile.Close
    CreateObject("WScript.Shell").Run "wordpad.exe " & TempPath
End Sub

Программный код на языке JSCRIPT:

//-------------------------------------------------------------------------------------
// Примеры программного кода для сервера Windows Script Host
// Список имен пользователей и их SID
// windows_script_host_UserSID.js
//-------------------------------------------------------------------------------------
 
var objWMIService1, colItems1, objItem1, list1;
 
list1 = "Имя пользователя и его SID\n\n";
// получаем доступ к WMI
objWMIService1 = GetObject("winmgmts:\\\\.\\root\\cimv2");
// получаем доступ к классу WMI - Win32_UserAccount
colItems1 = new Enumerator(objWMIService1.ExecQuery("SELECT * FROM Win32_UserAccount"));
 
// начинаем перебор значений
for (; !colItems1.atEnd(); colItems1.moveNext()){
     objItem1 = colItems1.item();
 
     list1 += "Имя\t\t" + objItem1.Name + "\n";
     list1 += "Значение SID\t" + objItem1.SID + "\n\n";
}
 
ShowInNotepad(list1)
 
//Функцияя создания временного файла с данными
function ShowInNotepad(StrToFile){
var FSO, TempPath, TxtFile;
     with(WScript){
                 FSO = CreateObject("Scripting.FileSystemObject");
                 TempPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%TEMP%") + "\\" + FSO.GetTempName();
                 TxtFile = FSO.CreateTextFile(TempPath);
                 TxtFile.WriteLine(StrToFile);
                 TxtFile.Close();
                 CreateObject("WScript.Shell").Run ("wordpad.exe " + TempPath);
     }
}

Как видим, не все так сложно, как бы казалось, кстати, данный пример я взял из книги Windows Script Host – новичок, там я собрал 132 примера сценариев на обоих языках. Я стараюсь всегда приводить программный код как на языке VBScript так и на языке Jscript, что бы можно было провести сравнительный анализ.

Хорошо, теперь придерживаясь этикета, давайте разберем программный код примеров.

Логика работы идентична, вначале происходит объявление переменных (ключевые слова dim и var). Видим, что имена переменных практически одинаковые, смотрите «Урок 2 по JScript — типы данных и переменные» и «Урок 2 по VBScript: Переменные«. Обратите внимание, что в отличии от прикладных языков программирования, в скриптах Windows Script Host не нужно указывать тип данных.

Переменная list будех хранить основную информацию относительно имени и значении SID. Мы присваиваем переменной сначала информативную фразу и добавляем дважды перевод строки (n и vbCrLf). Далее с помощью функции CreateObject происходит подключение внешних классов WMI, которые и позволят выполнить поставленную задачу.

Далее нам надо обработать все найденные идентификаторы. Для этих целей мы применили цикл FOR и FOR EACH – смотрите статьи «Урок 6 по VBScript: Циклы for…next и for each…next» и «Урок 9 по JScript — оператор цикла for«. Все найденные результат будут записываться в переменную. Обратите внимание, что для объедения строк мы использовали Windows Script Host операторы «&» и «+».

В самом конце происходит вызов пользовательской процедуры (функции) ShowInNotepad, принципы создания пользовательских процедур и функций смотрите в статье «Урок 3 по JScript — создание пользовательских функций JS«. В результате, будет открыто приложение WordPad.exe, в котором будут содержаться имена идентификаторов и их значений.

Компонент Windows Script Host (WSH) является мощным, полезным и гибким средством для выполнения сценариев в среде Windows, но при этом он представляет собой довольно сложный инструмент. Для начала я расскажу о том, что такое WSH и какие механизмы предоставляет данный компонент для выполнения сценариев в Windows. Затем мы рассмотрим различные типы файлов сценариев и способы их запуска. В следующих статьях я расскажу об особенностях формата файлов .wsc и объясню, что такое компоненты сценариев Windows (Windows Script Components (WSC)).

Что такое WSH?

WSH — это компонент Windows, предоставляющий среду для выполнения сценариев на уровне операционной системы (в отличие от некоторых других контекстов, таких как Web-браузер). WSH не является языком, как, например, Perl, или интерпретатором сценариев, как perl.exe, он представляет собой построенный на базе технологии COM сервер, предназначенный для выполнения сценариев в Windows. В операционных системах версии Windows 2000 и более новых версиях WSH является встроенным компонентом. Для более ранних платформ, таких как Windows NT 4.0 и Windows 98, данный компонент может быть загружен с Web-сайта Microsoft и установлен отдельно.

В WSH имеется две стандартные среды исполнения: VBScript и JScript. VBScript обычно используется при разработке сценариев, предназначенных для решения задач системного администрирования, а JScript (реализация JavaScript от Microsoft) чаще применяется в Web-браузерах, поскольку JavaScript поддерживает широкий спектр различных платформ. В зависимости от типа решаемых задач для разработки сценариев на базе WSH пригодны оба языка. Если в системе установлены соответствующие исполнительные механизмы для поддержки других языков, то сценарии, разработанные на этих языках, также могут выполняться через WSH.

В WSH имеется стандартный набор объектов, предоставляющих весьма полезные возможности. Некоторые из этих объектов, например объект WScript и связанные с ним объекты и коллекции, могут существовать только в сценариях, выполняемых через WSH (т.е. метод WScript.Echo не может быть использован в секции сценариев Web-страницы). Однако многие из этих объектов являются универсальными и могут применяться в любых совместимых с COM языках программирования.

Существует два основных типа сценариев WSH: автономные сценарии (т.е. ориентированные на конкретный язык) и файлы .wsf (Windows script file). Файлы автономных сценариев имеют расширения, зависящие от типа языка, например, .vbs (VBScript) или .js (JScript). Что же касается сценариев .wsf, то они являются текстовыми файлами формата XML, нейтральными по отношению к тому или иному языку, и предоставляют ряд возможностей, которых лишены автономные сценарии. В WSH имеется два сервера сценариев, WScript и CScript, которые будут кратко рассмотрены далее. Здесь также имеется технология WSC, ранее известная как серверные сценарии, с помощью которой в сценариях можно создавать свои COM-компоненты.

Серверы сценариев

Сценарии WSH могут выполняться двумя способами: через сервер WScript, поддерживающий графический интерфейс пользователя, и через консольный сервер сценариев CScript. Серверы сценариев реализованы в виде двух исполняемых файлов: wscript.exe и cscript.exe, соответственно. По умолчанию в Windows используется сервер WScript, но эту установку можно изменить. О том, как это делается, мы поговорим чуть ниже.

При запуске сценария через CScript результаты выполнения команд WScript.Echo и сообщения об ошибках периода выполнения будут отображаться в окне консоли (т.е. окне командной строки). Если сценарий запускается через CScript в окне командной строки, то результаты его выполнения и сообщения об ошибках будут отображаться в этом же окне. Если же сценарий запускается через CScript, но из графического интерфейса (например, из проводника Windows или диалогового окна Run («Выполнить»)), то в этом случае создается временное окно командной строки, в котором и будет выполняться сценарий. Выходные данные сценария и сообщения об ошибках будут отображаться в этом временном окне, которое закроется по завершении выполнения сценария.

В отличие от CScript, сервер WScript не использует для выполнения сценариев консольное окно. Поэтому в данном случае результаты выполнения команд Wscript.Echo и сообщения об ошибках будут отображаться в виде стандартных окон сообщений среды Windows.

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

cscript /?

или

wscript /?

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

Параметры командной строки приведены в Таблице 1. Обратите внимание, что при указании в командной строке параметров сервера сценариев перед ними необходимо вводить символы двойного прямого слеша (//), что позволяет предотвратить путаницу с ключами командной строки пользовательских сценариев, где используется одинарный символ прямого слеша (/). Например, если требуется установить CScript в качестве используемого по умолчанию сервера сценариев, а также отключить вывод логотипа и сохранить данную конфигурацию для текущего пользователя, можно запустить из командной строки следующую команду:

cscript //h:cscript //nologo //s

Если были сделаны эти установки по умолчанию, то вам уже не потребуется набирать команду cscript при запуске сценариев из командной строки, сообщение об авторских правах Microsoft также выводиться не будет. Обычно я рекомендую выполнять подобную настройку, поскольку большинство сценариев (в том числе многие административные сценарии, предлагаемые Microsoft) требуют использовать CScript в качестве сервера. Также следует отметить, что некоторые из свойств объекта WScript (не путать с сервером сценариев WScript!) существуют только тогда, когда активным сервером сценариев является CScript.

Если при запуске имя сервера сценариев указывается в явном виде (т.е. команда запуска начинается со слова CScript или WScript), то также необходимо указывать и расширение файла сценария. Например, показанная ниже команда

cscript hello

работать не будет, а команда:

cscript hello.vbs

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

Для того чтобы определить, какой именно сервер сценариев используется по умолчанию в данный момент в вашей системе, щелкните в проводнике Windows правой кнопкой мыши на имени любого файла сценариев и посмотрите на появившееся контекстное меню. Если в нем жирным шрифтом выделен пункт Open with Command Prompt («Открыть в командной строке»), то система использует по умолчанию CScript. Если же жирным шрифтом выделен пункт Open, тогда используемым по умолчанию является сервер WScript.

Свойства файла сценариев

Свойства файла сценариев доступны через соответствующее диалоговое окно, которое можно вызвать, щелкнув правой кнопкой мыши на имени сценария в проводнике Windows и выбрав из контекстного меню пункт «Свойства» (Properties). Затем следует перейти к закладке Script, которая показана на экране 1. Два параметра, доступные на этой вкладке, соответствуют двум параметрам командной строки: ключам //T и //Logo (или //Nologo). Если выбрать любой из этих параметров и нажать OK, Windows создаст в одном каталоге с файлом сценария файл .wsh с именем, соответствующим имени сценария (т.е. <имя сценария>.wsh). Это обычный текстовый файл, содержащий описание выбранных параметров, пример его содержимого показан на экране 2. Имеющийся в файле .wsh параметр BatchMode не может устанавливаться через графический интерфейс и соответствует параметру командной строки //B. Если его значение равно нулю (установка по умолчанию), то соответствующий сценарий будет запускаться в интерактивном режиме (//I); если же этот параметр установлен в единицу, тогда сценарий запустится в пакетном режиме (что соответствует параметру командной строки //B). Если нужно использовать эту установку, откройте файл .wsh в Блокноте (Notepad) или аналогичном текстовом редакторе и добавьте соответствующую настройку.

Использование файла .wsh — это единственный способ запуска сценария с предустановленными параметрами выполнения. При открытии файла .wsh соответствующий ему файл сценария запускается через сервер WScript. Довольно странно, что параметр командной строки //H не изменяет используемый по умолчанию сервер сценариев для файлов .wsh. Если нужно из графического интерфейса запустить на выполнение файл .wsh через сервер CScript, щелкните правой кнопкой мыши на имени соответствующего файла и выберите из контекстного меню пункт Open with Command Prompt («Открыть в командной строке»). После этого наберите в окне командной строки:

cscript <имя файла .wsh >

В файле .wsh содержится полное описание пути к соответствующему файлу сценария, поэтому если перенести файл .wsh в какое-либо другое место, то через него по-прежнему можно будет вызывать требуемый сценарий. Следует отметить, что создание файлов .wsh не является строго обязательным, поскольку для запуска сценариев на выполнение с необходимыми установками всегда можно воспользоваться соответствующими параметрами командной строки для CScript или WScript.

Расширения файлов WSH

В Таблице 2 приведен перечень стандартных расширений для файлов, используемых WSH. Автономные файлы сценариев имеют расширения .js или .vbs. Файлы, реализованные на языках, соответствующих каким-либо другим средам выполнения сценариев Active X, имеют собственные расширения (например, .pl для Perl и .py для Python). Автономные сценарии используются чаще всего, поскольку являются наиболее простыми для разработки.

Имеющие формат XML файлы .wsf обладают большей гибкостью по сравнению с автономными сценариями, поскольку могут содержать программный код, написанный на нескольких языках. Они имеют также ряд полезных свойств, таких как возможность включения в сценарий кода из других файлов формата XML, содержащих описания объектов сценариев и имеющих расширение .wsc. Сценарии .wsf и компоненты сценариев .wsc будут обсуждаться более подробно в следующих статьях данной серии.

Я надеюсь, что приведенные здесь сведения помогут внести ясность в понимание назначения компонента WSH и расширений для используемых им файлов. В следующей статье мы рассмотрим файлы .wsf и те дополнительные возможности, которые они предоставляют, по сравнению с автономными сценариями.

Таблица 1. Параметры командной строки для CScript и WScript

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Не исправлено настройки ip windows 10 что делать
  • Reboot windows from usb
  • Процесс буфера обмена windows
  • Как сделать скриншот части экрана на компьютере на windows 10 на ноутбуке
  • Все элементы windows form