Анотація: Розглядаються основні об'єкти, підтримувані WSH (WScript, WshShell, WshEnvironment, WshSpecialFolders, WshArguments). Даються приклади сценаріїв для роботи зі стандартними об'єктами WSH
Власна об'єктна модель WSH
Перейдемо до опису власної об'єктної моделі Windows Script Host. За допомогою внутрішніх об'єктів WSH з сценаріїв можна виконувати такі основні завдання:
- виводити інформацію в стандартний вихідний потік (на екран) або в діалогове вікно Windows;
- читати дані з стандартного вхідного потоку (тобто вводити дані з клавіатури) або використовувати інформацію, виведену іншою командою;
- використовувати властивості і методи зовнішніх об'єктів, а також обробляти події, які генеруються цими об'єктами;
- запускати нові незалежні процеси або активізувати вже наявні;
- запускати дочірні процеси з можливістю контролю їх стану і доступу до їх стандартним вхідним і вихідним потокам;
- працювати з локальною мережею: визначати ім'я зареєстрованого користувача, підключати мережеві диски та принтери;
- переглядати і змінювати змінні середовища;
- отримувати доступ до спеціальних папках Windows;
- створювати ярлики Windows;
- працювати з системним реєстром.
В WSH версії 5.6 (стандартна версія в Windows XP) входять перераховані нижче об'єкти:
Крім цього, є об'єкт FileSystemObject. забезпечує доступ до файлової системи комп'ютера (цей об'єкт буде детально розглянуто в наступній лекції).
Розглянемо більш докладно кілька об'єктів WSH, які часто використовуються в сценаріях.
об'єкт WScript
Відзначимо, що в сценарії WSH об'єкт WScript можна використовувати відразу, без будь-якого попереднього опису або створення, так як його екземпляр створюється сервером сценаріїв автоматично. Для використання ж усіх інших об'єктів потрібно використовувати або метод CreateObject. певне властивість іншого об'єкта.
Властивості об'єкта WScript представлені в табл. 5.1.
Записує в потік StdOut або StdErr рядок string (разом з символом кінця рядка)
Нагадаємо, що операційна система Windows підтримує механізм конвейеризации (символ "|" в командному рядку). Цей механізм робить можливим передачу даних від однієї програми до іншої. Таким чином, використовуючи стандартні вхідні і вихідні потоки, можна з сценарію обробляти рядки виведення іншої програми або перенаправляти виведені сценарієм дані на вхід програм-фільтрів (FIND або SORT). Наприклад, наступна команда буде сортувати рядки виведення сценарію example.js і виводити їх в файл sort.txt:
Опція // Nologo тут потрібна для того, щоб в файл sort.txt не потрапляли рядки з інформацією про розробника та номер версії WSH.
Крім цього, за допомогою методів, які працюють з вхідним потоком StdIn, можна організовувати діалог з користувачем, тобто створювати інтерактивні сценарії. Відповідний приклад приведений в лістингу 5.2.
Лістинг 5.2. Введення / висновок рядків в символьному режимі
Питання по лекції 7, де розглядається взаємодія зі сторонніми програмами, в тому числі емуляція натиснення кнопок клавіатури WshShell.SendKeys.
Питання в тому що під час автоматизації може знадобитися не натискання клавіатури, а натискання кнопок в повідомленнях цих програм.
Можна витягнути інформацію про об'єкті (кнопці) скажімо за допомогою AutoIt Info, або орієнтуватися скажімо на текст на кнопці. але як на цю кнопку натиснути? (Без обходу по клавіатурі)
Де проводиться професійна перепідготовка "Системне адміністрування Windows"? Щось я не зовсім зрозумів як проводиться навчання.