Можно ли написать сценарий wsh на языке perl

Правильные ответы выделены зелёным цветом. Все ответы: В курсе рассматриваются стандартные технологии (WSH, WMI, ADSI) и программные продукты (командный интерпретатор Cmd.exe, серверы сценариев CScript и WScript, оболочка Windows PowerShell) фирмы Microsoft, разработанные для автоматизации работы в операционной системе Windows.

Правильные ответы выделены зелёным цветом.
Все ответы: В курсе рассматриваются стандартные технологии (WSH, WMI, ADSI) и программные продукты (командный интерпретатор Cmd.exe, серверы сценариев CScript и WScript, оболочка Windows PowerShell) фирмы Microsoft, разработанные для автоматизации работы в операционной системе Windows.

В каких версиях операционной системы Windows можно пользоваться командными файлами?

(1) во всех версиях Windows

(2) в Windows NT и выше

(3) в Windows XP и выше

Какими основными компонентами можно представить общую структуру WMI?

(1) управляемые ресурсы, ядро WMI, управляющие программы

(2) провайдеры WMI, менеджер объектов CIM, репозиторий CIM

(3) управляемые ресурсы, библиотека поддержки сценариев WMI, управляющие программы

К какому типу относится класс Win32_Process?

(1) динамический класс

(2) статический класс

(3) абстрактный класс

Каким файлом реализована библиотека поддержки сценариев WMI?

(1) winmgmtr.dll

(2) wbemdisp.dll

(3) wmiprov.dll

Какой класс WMI позволяет перезагрузить удаленный компьютер?

(1) Win32_OperatingSystem

(2) Win32_SystemSetting

(3) Win32_ComputerSystem

Какая команда WMIC позволяет выйти из этой оболочки?

(1) QUIT

(2) EXIT

(3) END

Какие форматы вывода поддерживает WMIC по умолчанию?

(1) текстовые файлы с разделителями (CSV-файлы)

(2) таблицы Microsoft Excel

(3) XML-файлы

Какое из имен не соответствует шаблону наименования командлетов?

(1) Get-Service

(2) Get_Service

(3) GetService

Требуется узнать, какие свойства имеют объекты, возвращаемые командлетом с псевдонимом dir. Какая команда позволяет сделать это?

(1) Get-Member | dir

(2) dir | gm -MemberType Property

(3) dir | Get-Member -MemberType Property

Требуется получить текстовый файл C:cimv2.txt со списком имен всех классов WMI, зарегистрированных на локальном компьютере в пространстве имен RootCIMV2. Список должен быть упорядочен по алфавиту. Какие команды решают эту задачу?

(1) Get-WmiObject -list | Sort-Object name | Format-Table name > c:cimv2.txt

(2) gwmi -list | sort name | ft name > c:cimv2.txt

(3) gwmi | sort name | ft name | out-file c:cimv2.txt

Какое расширение должны иметь сценарии PowerShell?

В каком каталоге в Windows XP хранится файл cmd.exe?

(1) %SystemRoot%

(2) %SystemRoot%System32

(3) %SystemRoot%System

Какое расширение могут иметь командные файлы?

Какое имя имеет сервер сценариев WSH для консольного режима?

(1) cscript.exe

(2) wscript.exe

(3) cmd.exe

Какой из объектов WSH позволяет получить доступ к стандартным потокам ввода/вывода (StdIn/StdOut)?

(1) WshEnvironment

(2) WshShell

(3) WScript

Какой программный идентификатор (ProgID) имеет объект FileSystemObject?

(1) Scripting.FSO

(2) WScript.FileSystemObject

(3) Scripting.FileSystemObject

С помощью каких методов можно запустить новый процесс в сценарии WSH?

(1) метод Run объекта WshShell

(2) метод Exec объекта WshShell

(3) метод AppActivate объекта WshShell

Какая из приведенных ниже строк связывания может использоваться в службе каталогов Windows Active Directory?

(1) LDAP://ldapsrv1/CN=Ivanov,DC=DEV,DC=MSFT,DC=COM

(2) WinNT://Domain1/Server1,Computer1

(3) NDS://TreeNW/O=SB/CN=Ivanov

Какие из указанных ниже элементов входят в схему WS XML?

(1) <runtime>

(2) <reference>

(3) <subject>

Какие средства позволяют напрямую обращаться к объектам WMI?

(1) оболочка WMIC

(2) сценарии WSH

(3) интерпретатор Cmd.exe

Какие из перечисленных ниже функций должен выполнять менеджер объектов CIMOM?

(1) хранение экземпляров классов информационной модели CIM

(2) переадресация запросов от управляющих приложений к определенным провайдерам WMI

(3) регистрация информации о провайдерах WMI

Можно ли изменять значения свойств объектов WMI?

(1) нет, все свойства объектов WMI доступны только для чтения

(2) да, все свойства объектов WMI можно изменять

(3) можно изменять лишь некоторые свойства объектов WMI (зависит от версии операционной системы)

Какой объект библиотеки поддержки сценариев WMI позволяет подключиться к пространству имен WMI на локальной или удаленной машине?

(1) SWbemLocator

(2) SWbemServices

(3) SWbemObject

Какие дополнительные привилегии нужно указывать при подключении к подсистеме WMI для перезагрузки локального компьютера?

(1) RemoteShutdown

(2) дополнительных привилегий указывать не нужно

(3) Shutdown

Какой глобальный параметр позволяет обращаться из оболочки WMIC к пространству имен WMI на удаленном компьютере?

(1) /NODE

(2) /HOST

(3) /COMP

С помощью какой команды можно сформировать файл C:s.htm с одной HTML-таблицей, содержащей краткие сведения о всех службах, зарегистрированных на локальном компьютере?

(1) /OUTPUT:C:s.htm SERVICE LIST BRIEF /FORMAT:HTABLE

(2) /OUTPUT:C:s.htm SERVICE LIST BRIEF /FORMAT:HFORM

(3) /OUTPUT:C:s.htm SERVICE LIST /FORMAT:HFORM

Какая команда позволит увидеть, какому командлету соответствует псевдоним dir?

(1) Get-Command dir

(2) Get-Alias dir

(3) Get-Definition dir

Какая из команд выведет список файлов из корневого каталога диска C:, размер которых больше 1 килобайта?

(1) dir c: | where {$_.length -gt 1024}

(2) dir c: | where {$_.length>1024}

(3) dir c: | where-object {$_.length -gt 1024}

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

(1) gwmi win32_startupcommand | fl

(2) gwmi win32_product | fl

(3) GetWmiObject Win32Startup | Format-List *

Пусть $a=3. Какая из команд при выполнении выдаст сообщение "Значение переменной a равно 3"?

(1) if ($a -eq 3){write-host 'Значение переменной a равно $a'}

(2) if ($a -eq 3){write-host "Значение переменной a равно $a"}

(3) if ($a==3){write-host "Значение переменной a равно $a"}

Какой командой интерпретатора Cmd.exe можно создать файл Dir_Help.txt с описанием команды DIR?

(1) dir /? | Dir_Help.txt

(2) dir > Dir_Help.txt

(3) dir /? > Dir_Help.txt

(4) dir /? & Dir_Help.txt

Сколько параметров командной строки можно обработать в пакетном файле?

(1) девять

(2) десять

(3) произвольное количество

Какой режим выполнения будет установлен по умолчанию для сценариев WSH после выполнения команды cscript.exe //H:CScript?

(1) консольный

(2) графический

(3) тот режим, который был до выполнения команды

Какой из объектов WSH позволяет получить доступ к переменным среды?

(1) WshEnvironment

(2) WshNetwork

(3) WScript

Пусть D – экземпляр объекта Drive, соответствующий логическому диску D:. В сценарии выполняется следующая строка (язык VBScript): n=D.TotalSize/(1024*1024). Чему после этого равно значение переменной n?

(1) общий объем диска D: в килобайтах

(2) общий объем диска D: в мегабайтах

(3) общий объем диска D: в гигабайтах

С помощью какого метода можно завершить работу запущенного дочернего процесса?

(1) метод с данной функциональностью в WSH отсутствует

(2) метод Terminate объекта WshScriptExec

(3) метод Kill объекта WshScriptExec

Какая из приведенных ниже строк ADsPath должна использоваться для связывания с локальным пользователем Ivanov на рабочей станции Comp1 с операционной системой Windows XP?

(1) WinNT://Comp1/Ivanov

(2) WinNT://Comp1/Ivanov, user

(3) WinNT://Comp1, Ivanov, user

В каких случаях в сценарии необходимо использовать элемент <package>?

(1) сценарий содержит код на нескольких языках

(2) сценарий содержит более одного задания

(3) элемент <package> необходимо указывать во всех сценариях

Какие языки можно использовать для написания сценариев WSH?

(1) Microsoft VBScript

(2) Microsoft JScript

(3) Microsoft C#

Какой исполняемый файл обеспечивает функциональность менеджера CIMOM?

(1) winmgmt.exe

(2) wbemtest.exe

(3) wmi.exe

Допустим, что класс WMI имеет квалификатор SupportsCreate со значением True. Что это означает?

(1) класс поддерживает операцию создания экземпляров

(2) класс является динамическим

(3) класс допускает добавление новых свойств

Каким образом из сценария WSH можно подключиться к определенному пространству имен WMI?

(1) с помощью объекта SWbemLocator

(2) с помощью объекта SWbemSevices

(3) с помощью моникера WMI

Какой класс WMI позволяет узнать дату установки операционной системы?

(1) Win32_OperatingSystem

(2) Win32_SystemSetting

(3) Win32_ComputerSystem

Какой глобальный параметр позволяет перенаправить вывод всех команд WMIC во внешний текстовый файл c:wmic_out.txt (без дублирования выводимой информации на экране)?

(1) /APPEND:c:wmic_out.txt

(2) /OUTPUT:c:wmic_out.txt

(3) /RECORD:c:wmic_out.txt

Какая команда позволяет удаленно выключить рабочую станцию \Comp1?

(1) /NODE:COMP1 OS WHERE(CSNAME="COMP1") CALL Win32ShutDown 1

(2) /NODE:COMP1 OS CALL Win32ShutDown 1

(3) /NODE:COMP1 OS WHERE(CSNAME="COMP1") CALL Win32ShutDown 0

Каким образом можно вывести краткую справку по командлету Get-Process?

(1) Get-Process /?

(2) Get-Process -?

(3) Get-Process ?

Требуется получить упорядоченный по размеру список файлов из корневого каталога диска C:, размер которых больше 1 килобайта. Вверху списка должен быть самый маленький файл. Какие команды решают эту задачу?

(1) dir c: | where {$_.length -gt 1024} | sort-object length

(2) dir c: | where {$_.length -gt 1024} | sort length

(3) dir c: | where {$_.length -gt 1024} | object length

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

(1) Get-WmiObject -Query 'select * from Win32_Service where StartMode="Disabled"' | Format-Table Name, DisplayName, State

(2) gwmi -query 'select * from win32_service where StartMode="Disabled"' | ft name, displayname, state

(3) gwmi win32_service -filter 'StartMode="Disabled"' | ft name, displayname, state

Пусть $a=3. Какая из команд при выполнении выдаст ровно одно сообщение "Значение переменной a равно 4"?

(1) while($a -le 3){$a++; Write-Host "Значение переменной a равно $a"}

(2) while($a -eq 3){$a++; Write-Host "Значение переменной a равно $a"}

(3) while($a -lt 5){$a++; Write-Host "Значение переменной a равно $a"}

Пусть текущим каталогом является C:folder1folder2folder3. Каким командами можно переместиться в корневой каталог диска C?

(1) cd

(2) cd c:

(3) cd c:

(4) cd ......

Пусть значением переменной %SystemRoot% является строка "C:Windows" (без кавычек). Какое значение будет иметь переменная s после выполнения в пакетном файле команды set s=%SystemRoot:~0,3% ?

Какой язык поддерживает WSH по умолчанию (без установки дополнительных модулей)?

(1) VBScript

(2) Visual Basic

(3) Python

Какой из объектов WSH позволяет создавать ярлыки для программ и документов?

(1) WshEnvironment

(2) WshShell

(3) WScript

Пусть FSO – экземпляр объекта FileSystemObject. Каким образом можно создать временный текстовый файл со случайным именем (язык VBScript)?

(1) F=FSO.CreateTextFile(FSO.GetTempName, true)

(2) Set F=FSO.CreateTextFile(FSO.GetTempName, true)

(3) Set F=FSO.CreateTextFile(FSO.GetRandomName, true)

С помощью какого метода можно имитировать нажатия клавиш в активном окне приложения Windows?

(1) метод с данной функциональностью в WSH отсутствует

(2) метод SendKeys объекта WshShell

(3) метод PutKeys объекта WshShell

Каким образом из сценария на языке JScript провести связывание с корневым объектом класса Namespace для провайдера службы каталогов Windows NT?

(1) var objNamespace = GetObject("WinNT:");

(2) var objNamespace = new ActiveXObject("WinNT:");

(3) var objNamespace = GetObject("LDAP:");

Какие из приведенных ниже элементов могут содержаться внутри элемента <runtime> в схеме WS XML?

(1) <named>

(2) <unnamed>

(3) <arguments>

Какое средство автоматизации предлагает собственную объектную модель?

(1) Cmd.exe

(2) Windows PowerShell

(3) WSH

Какой символ используется для задания имени локального компьютера в пути к объектам WMI?

(1) *

(2) . (точка)

(3) $

Как можно узнать, доступен ли для выполнения определенный метод объекта WMI?

(1) все методы, объявленные в объектной модели WMI, доступны для выполнения

(2) нужно проверить у данного метода наличие и значение квалификатора Implemented

(3) нужно проверить у данного метода наличие и значение квалификатора Realised

Какой программный идентификатор (ProgID) имеет объект SWbemLocator?

(1) WbemScripting.SWbemLocator

(2) WMIScripting.SWbemLocator

(3) WMIScript.SWbemLocator

Какой запрос на языке WQL позволит получить набор всех служб с ручным режимом запуска?

(1) SELECT * FROM Win32_Service WHERE StartMode ='Manual'

(2) SELECT * FROM Win32_Service WHERE Mode ='Manual'

(3) SELECT * FROM Service WHERE StartMode ='Manual'

Какая команда WMIC позволяет работать с экземплярами классов WMI напрямую, без использования псевдонимов?

(1) CLASS

(2) WMI_PATH

(3) PATH

Пусть требуется узнать букву последнего логического диска на компьютере \Comp1. Какие команды позволят это сделать?

(1) /NODE:COMP1 BOOTCONFIG GET LastDrive

(2) /NODE:COMP1 BOOTCONFIG LIST LastDrive

(3) /NODE:COMP1 BOOTCONFIG SHOW LastDrive

Какая из команд не будет автоматически дополнена до подходящего командлета (Start-Service) после нажатия клавиши <Tab>?

(1) Start-

(2) Start

(3) Start-S

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

(1) dir c: | where {$_.mode -notmatch "d"} | ft name, length, lastaccesstime

(2) dir c: | where {$_.mode -notmatch "d"} | fl name, length, lastaccesstime

(3) dir c: | where {$_.mode -notmatch "d"} | fc name, length, lastaccesstime

Какая команда позволит увидеть свойства и методы, имеющиеся у главного объекта сервера автоматизации Internet Explorer?

(1) New-Object -ComObject InternetExplorer.Application | Get-Member

(2) New-Object InternetExplorer.Application | Get-Member

(3) Create-Object -ComObject InternetExplorer.Application | Get-Member

Требуется найти и сохранить в переменной $m суммарный размер файлов с расширением mp3, хранящихся в каталоге C:Music и всех его подкаталогах. Какие команды решают эту задачу?

(1) $m = 0; foreach ($f in dir -recurse c:music* -include *.mp3) { $m += $f.length }

(2) $m = 0; foreach ($f in dir -recurse c:music* -exclude *.mp3) { $m += $f.length }

(3) $m = 0; ForEach-Object ($f in dir -recurse c:music* -include *.mp3) { $m += $f.length }

Что выведется на экран в результате выполнения команды: echo 1111 > c:klop.txt & type c:klop.txt > nul && echo 2222 ?

(1) ничего не выведется

(2) строка 2222

(3) строки 1111 и 2222

Какой командой можно приостановить работу пакетного файла?

(1) stop

(2) pause

(3) wait

Какое расширение имеет файл параметров для сценариев WSH?

Каким образом можно из сценария создать экземпляр внешнего объекта-сервера автоматизации?

(1) с помощью метода WScript.CreateObject

(2) с помощью функции CreateObject языкаVBScript

(3) с помощью оператора new языка JScript

Пусть FSO – экземпляр объекта FileSystemObject. Каким образом можно удалить файл C:1.txt (язык VBScript)?

(1) FSO. EraseFile "C:1.txt"

(2) FSO.DeleteFile "C:1.txt"

(3) FSO.Delete "C:1.txt"

Каким образом в сценарии WSH можно сымитировать нажатие клавиши <Enter> в активном окне приложения Windows?

(1) этого из сценария WSH сделать нельзя

(2) с помощью вызова метода SendKeys объекта WshShell с параметром «~»

(3) с помощью вызова метода SendKeys объекта WshShell с параметром «Enter»

Какой метод используется для записи в базу данных учетных записей информации о новом пользователе?

(1) метод SetInfo объекта User

(2) метод PutInfo объекта User

(3) метод Apply объекта User

Можно ли в сценарии с разметкой XML использовать константы, определенные во внешних COM-объектах, обращаясь к ним по имени?

(1) нельзя, именованные константы необходимо определять в сценарии явно

(2) можно, предварительно установив связь с библиотекой типов нужных объектов с помощью элемента <reference>

(3) можно, предварительно подключив нужный объект с помощью элемента <object>

Можно ли в Windows использовать стандартные Unix-утилиты?

(1) да, после установки пакета Services for Unix

(2) да, Unix-утилиты поддерживаются по умолчанию

(3) нельзя

Каким образом задается путь к объекту WMI, соответствующему процессу calc.exe, запущенному на компьютере \comp1?

(1) \comp1CIMV2:Win32_Process.Name="calc.exe"

(2) \comp1Applications:Win32_Process.Name="calc.exe"

(3) \comp1CIMV2:Win32_ProcessName"calc.exe"

Какая стандартная утилита Windows позволяет работать с объектной моделью WMI?

(1) regedit.exe

(2) wmimgmt.msc

(3) wbemtest.exe

Каким образом из сценария на языке VBScript можно подключиться к пространству имен CIMV2 на локальном компьютере?

(1) Set objService = GetObject("WinMgmts:\.RootCIMV2")

(2) Set objService = GetObject("WinMgmts:RootCIMV2")

(3) Set objService = GetObject("WINMGMTS:\.RootCIMV2")

Какой запрос на языке WQL позволит получить набор всех процессов, начинающихся на букву «F»?

(1) SELECT * FROM Win32_Process WHERE Name LIKE 'F*'

(2) SELECT * FROM Win32_Process WHERE Name LIKE 'F%'

(3) SELECT * FROM Win32_Process WHERE Name LIKE 'F_'

Какая команда WMIC используется для выполнения методов классов и объектов WMI?

Допустим, что на локальном компьютере служба сервера (Lanmanserver) отключена. С помощью какой команды WMIC можно изменить режим запуска данной службы на автоматический?

(1) SERVICE WHERE (Name="Lanmanserver") SET StartMode="Auto"

(2) PATH Win32_Service WHERE (Name="Lanmanserver") SET StartMode="Auto"

(3) этого сделать нельзя, свойство StartMode псевдонима SERVICE доступны только для чтения

Требуется вывести в текстовый файл C:RunningServices.txt информацию о всех службах, работающих на компьютере (имя, отображаемое имя и состояние). Какие команды решают эту задачу?

(1) Get-Service | where {$_.Status -like "Run*"} | ft name, displayname, status > C:RunningServices.txt

(2) Get-Service | where {$_.Status -like "Run*"} | ft name, displayname, status | Out-File C:RunningServices.txt

(3) Get-Service | where {$_.Status -like "Run*"} | ft name, displayname, status | Write-File C:RunningServices.txt

Какая команда позволит увидеть свойства и методы, имеющиеся у статического класса System.Environment?

(1) System.Environment | Get-Member -Static

(2) [System.Environment] | Get-Member -Static

(3) [System.Environment] | Get-Member

Какая политика выполнения устанавливается в PowerShell по умолчанию?

(1) Restricted

(2) AllSigned

(3) RemoteSigned

Какими командами можно изменить расширения на js для файлов, находящихся в текущем каталоге, имеющих расширение vbs и имя которых состоит только из одного или двух символов?

(1) ren ??.vbs ??.js

(2) ren ??.vbs *.js

(3) ren *.vbs *.js

(4) move ??.vbs *.js

С помощью какого варианта команды if можно проверить наличие определенного файла?

(1) if exist …

(2) if defined …

(3) if errorlevel …

Какое расширение может иметь файл со сценарием на языке VBScript?

Какой программный идентификатор (ProgID) имеет объект WshShell?

(1) WScript.Shell

(2) WScript.WshShell

(3) WScript.WinShell

Пусть FSO – экземпляр объекта FileSystemObject. Каким образом можно файл C:1.txt переименовать (переместить) в файл D:2.txt (язык VBScript)?

(1) FSO.MoveFile "C:1.txt"; "D:2.txt"

(2) FSO.MoveFile("C:1.txt", "D:2.txt")

(3) Необходимы два оператора:

FSO.CopyFile «C:1.txt», «D:2.txt»FSO.DeleteFile «C:1.txt»

Какой объект является корневым в объектной модели Microsoft Word?

(1) Word

(2) Application

(3) Selection

Пусть objUser – экземпляр объекта User, соответствующий определенному пользователю. Каким образом изменить пароль этого пользователя на «11111111» (язык JScript)?

(1) objUser.SetPassword("11111111")

(2) objUser.Password="11111111";

(3) objUser.PutPassword("11111111");

Какой элемент схемы WS XML позволяет подключить к сценарию код из внешнего файла?

(1) элемент <script> с атрибутом src

(2) элемент <script> с атрибутом filename

(3) к сценарию с разметкой XML нельзя подключить внешний файл с другим сценарием

Какие из средств автоматизации поддерживают работу в интерактивном режиме?

(1) WSH

(2) WMIC

(3) Windows PowerShell

Допустим, что используя стандартные средства Windows, определенный пользователь не может перезагрузить локальный компьютер (не имеет соответствующих прав). Сможет ли он перезагрузить компьютер с помощью WMI?

(1) да, если он имеет соответствующие права на уровне пространств имен WMI локальной машины

(2) нет

(3) да, только нужно перезагружать с удаленной машины и иметь соответствующие права на уровне пространств имен WMI

Какая утилита из пакета WMI Tools позволяет создать фильтр событий WMI?

(1) WMI Event Registration Tool

(2) WMI CIM Studio

(3) WMI Event Viewer

Каким образом из сценария на языке VBScript можно подключиться к пространству имен CIMV2 на локальном компьютере?

(1) Set objService = GetObject("WinMgmts:\.RootCIMV2")

(2) Set objService = GetObject("WinMgmts:RootCIMV2")

(3) Set objService = GetObject("WINMGMTS:\.RootCIMV2")

С помощью какого метода WMI можно принудительно завершить работу определенного процесса?

(1) Win32_Process.Terminate()

(2) Win32_Process.Kill()

(3) Win32_Process.Delete()

Какая команда WMIC используется для получения значений определенных свойств объектов WMI?

(1) SHOW

(2) GET

(3) SELECT

Какая команда принудительно завершит все процессы, имена которых начинаются на букву «F»?

(1) PROCESS WHERE (Name LIKE "F%") CALL Terminate

(2) PROCESS WHERE (Name LIKE "F%") CALL Kill

(3) PROCESS WHERE (Name="F%") CALL Terminate

Какая из команд выведет список файлов и подкаталогов корневого каталога диска C:?

(1) Get-ChildItem c:

(2) dir c:

(3) ls c:

С помощью какой команды можно вывести на принтер, используемый в системе по умолчанию, список запущенных процессов, упорядоченный по затраченному процессорному времени?

(1) Get-Process | Sort-Object cpu -Descending | Out-Printer

(2) Get-Process | Sort-Object cpu -Descending > Printer

(3) ls | sort cpu –Desc | Out-Printer

Какая команда позволит увидеть значение свойства CurrentDirectory статического класса System.Environment?

(1) [System.Environment]::CurrentDirectory

(2) [System.Environment].CurrentDirectory

(3) [System.Environment]:CurrentDirectory

С помощью какой команды можно получить информацию о названиях доступных политик выполнения?

(1) Get-Help Get-ExecutionPolicy -Full

(2) Get-Help Set-ExecutionPolicy -Full

(3) Get-Help about_signing

Требуется сформировать файл doc_info.txt со списком всех файлов с расширением doc, находящихся в папке «C:Мои документы» и всех ее подпапках. Какой командой можно это сделать?

(1) dir /s /b C:Мои документы*.doc > doc_info.txt

(2) dir /b "C:Мои документы*.doc" > doc_info.txt

(3) dir /s /b "C:Мои документы*.doc" > doc_info.txt

Какой из указанных ниже операторов командного файла выведет на экран список всех папок в корне на диске D:?

(1) for /d %%f in (D:*.*) do echo %f

(2) for /d %%f in (D:*.*) do echo %%f

(3) for /r %%f in (D:*.*) do echo %%f

Какой цикл позволяет напрямую перебирать элементы коллекций в языке VBScript?

(1) For Each … Next

(2) Do … Loop

(3) While … Wend

Каким образом на языке VBScript можно создать объект-коллецию всех аргументов командной строки запущенного сценария?

(1) Set objArgs = WScript.Arguments

(2) Set objArgs = CreateObject("WScript.WshArguments")

(3) Set objArgs = CreateObject("WScript.Arguments")

Пусть в папке C:Folder1 хранится файл 1.txt. К какому результату приведет выполнение в сценарии на языке VBScript команды FSO.DeleteFolder "C:Folder1", если FSO – экземпляр объекта FileSystemObject?

(1) файл 1.txt будет удален, папка C:Folder1 останется

(2) папка C:Folder1 будет удалена вместе со всеми своими файлами

(3) возникнет ошибка, нельзя удалять непустую папку

Какой объект является корневым в объектной модели Microsoft Excel?

(1) Excel

(2) Application

(3) Workbook

Пусть в одном файле с разметкй XML задан сценарии на языках VBScript и JScript. Можно ли из VBScript-кода вызвать функцию, определенную на языке JScript?

(1) да, но только если VBScript- и JScript-код расположены внутри одного задания (элемента <job>)

(2) нет, нельзя

(3) да, даже если VBScript- и JScript-код расположены внутри разных заданий (элементов <job>)

Какие версии операционной системы Windows поддерживают сервер сценариев WSH?

(1) Windows 2000 и выше

(2) все 32-разрядные версии Windows

(3) Windows NT и выше

Из каких основных компонентов состоит ядро WMI?

(1) управляемые ресурсы, библиотека поддержки сценариев WMI, управляющие программы

(2) библиотека поддержки сценариев WMI, репозиторий CIM, управляющие программы

(3) провайдеры WMI, менеджер объектов CIM, репозиторий CIM

К какой группе принадлежит класс Win32_Process?

(1) системный класс

(2) класс общей модели

(3) класс модели расширения

Какой компонент операционной системы отвечает за обращение к объектам WMI из сценариев WSH?

(1) библиотека поддержки сценариев WMI (wbemdisp.dll)

(2) провайдер подсистемы Win32 (wmiprov.dll)

(3) оболочка WMIC (wmic.exe)

Какой класс WMI позволяет выключить удаленный компьютер?

(1) Win32_OperatingSystem

(2) Win32_SystemSetting

(3) Win32_ComputerSystem

С помощью какой команды можно завершить сеанс работы в WMIC?

(1) LOGOUT

(2) EXIT

(3) QUIT

Какие форматы вывода поддерживает WMIC по умолчанию?

(1) HTML-файлы

(2) таблицы Microsoft Excel

(3) XML-файлы

Какая команда позволяет увидеть список всех доступных командлетов?

(1) Get_Command

(2) Get-Command

(3) GetCommand

Требуется узнать, какие методы имеют объекты, возвращаемые командлетом с псевдонимом dir. Какая команда позволяет сделать это?

(1) Get-Member -MemberType Method | dir

(2) dir | gm -MemberType Method

(3) dir | Get Member -MemberType Property

Требуется получить текстовый файл C:root_class.txt со списком имен всех классов WMI, зарегистрированных на локальном компьютере в пространстве имен Root. Список должен быть упорядочен по алфавиту. Какие команды решают эту задачу?

(1) gwmi -namespace root -list | sort name | ft name > c:root_class.txt

(2) gwmi -namespace root | sort name | ft name | out_file c:root_class.txt

(3) Get-WmiObject -Namespace Root -List | Sort-Object name | Format-Table name > c:root_class.txt

Какое действие по умолчанию выполнит операционная система, если в Проводнике Windows дважды щелкнуть мышью на файле с расширением ps1?

(1) запустит сценарий PowerShell

(2) ничего не произойдет

(3) откроет сценарий PowerShell для редактирования в Блокноте Windows

Как назывался файл командного интерпретатора в Windows 98?

(1) command.com

(2) cmd.exe

(3) win.com

Можно ли в командных файлах пользоваться внутренними командами интерпретатора Cmd.exe и каким образом?

(1) да, нужно просто указать требуемую команду

(2) да, но для вызова внутренней команды нужно запускать новую копию командного интерпретатора

(3) нет, нельзя

Какое имя имеет сервер сценариев WSH для графического режима?

(1) cscript.exe

(2) wscript.exe

(3) cmd.exe

Каким образом в сценарии создается экземпляр объекта WScript?

(1) создается автоматически

(2) с помощью функции CreateObject языка VBScript

(3) с помощью оператора new языка JScript

Каким образом в сценарии на языке VBScript можно создать экземпляр объекта FileSystemObject?

(1) Set FSO = WScript.CreateObject("Scripting.FileSystemObject")

(2) Set FSO = CreateObject("Scripting.FileSystemObject")

(3) Set FSO = WScript.CreateObject("WScript.FileSystemObject")

С помощью какого метода можно запустить новый независимый процесс в сценарии WSH?

(1) метод Run объекта WshShell

(2) метод Exec объекта WshShell

(3) метод AppActivate объекта WshShell

Какой провайдер ADSI используется для доступа к службе каталогов Windows Active Directory?

(1) LDAP

(2) WinNT

(3) NDS

Какой из указанных ниже элементов входит в схему WS XML?

(1) <script>

(2) <header>

(3) <data>

Какие средства позволяют напрямую обращаться к объектам .NET?

(1) оболочка WMIC

(2) сценарии WSH

(3) оболочка Windows PowerShell

Какие из перечисленных ниже функций должен выполнять менеджер объектов CIMOM?

(1) обработка событий WMI

(2) доступ к удаленной машине с инфраструктурой WMI

(3) обеспечение безопасности при работе с WMI

Как можно узнать, доступно ли определенное свойство объекта WMI для изменения с помощью метода Put_()?

(1) все свойства объектов WMI доступны только для чтения, изменять их нельзя

(2) нужно проверить у данного свойства наличие и значение квалификатора Write

(3) нужно проверить у данного свойства наличие и значение квалификатора Edit

Какой объект библиотеки поддержки сценариев WMI позволяет удалять экземпляры классов в определенном пространстве имен WMI?

(1) SWbemLocator

(2) SWbemServices

(3) SWbemObject

Какие дополнительные привилегии нужно указывать при подключении к подсистеме WMI для принудительного завершения сеанса пользователя на удаленной машине?

(1) RemoteShutdown

(2) дополнительных привилегий указывать не нужно

(3) Shutdown

Допустим, что нам необходимо подключиться к подсистеме WMI на удаленной рабочей станции \Comp1. Какой глобальный параметр WMIC следует для этого использовать?

(1) /NODE:Comp1

(2) /HOST:Comp1

(3) /COMP:Comp1

С помощью какой команды можно сформировать файл C:s.htm с несколькими HTML-таблицами, содержащими краткие сведения о всех службах, зарегистрированных на локальном компьютере (одна таблица для каждой службы)?

(1) /OUTPUT:C:s.htm SERVICE LIST BRIEF /FORMAT:HTABLE

(2) /OUTPUT:C:s.htm SERVICE LIST BRIEF /FORMAT:HFORM

(3) /OUTPUT:C:s.htm SERVICE LIST /FORMAT:HFORM

Какая команда позволит увидеть, какому командлету соответствует псевдоним cls?

(1) Get-Command cls

(2) Get-Alias cls

(3) Get-Definition cls

Какая из команд выведет список всех подкаталогов корневого каталога диска C:?

(1) dir c: | where-object {$_.mode -match "d"}

(2) dir c: | where {$_.mode -match "d"}

(3) ls c: | where-object {$_.mode -match "d"}

Какая команда позволяет увидеть дату установки операционной системы на локальном компьютере?

(1) (gwmi win32_operatingsystem).installdate

(2) {gwmi win32_operatingsystem}.installdate

(3) $os=gwmi win32_operatingsystem; $os.installdate

Пусть $a=3. Какая из команд при выполнении выдаст сообщение "Значение переменной a равно 3"?

(1) if ($a -gt 2){write-host "Значение переменной a равно $a"}

(2) if ($a>2){write-host "Значение переменной a равно $a"}

(3) if ($a -gt 2){write-host 'Значение переменной a равно $a'}

Какой командой интерпретатора Cmd.exe можно создать файл xcopy_help.txt с описанием всех параметров команды XCOPY?

(1) xcopy -help > xcopy_help.txt

(2) xcopy /? > xcopy_help.txt

(3) xcopy /? & xcopy_help.txt

(4) xcopy /? | xcopy_help.txt

Какой смысл в командном файле имеет параметр %0 ?

(1) имя запускаемого файла

(2) первый параметр командной строки

(3) последний параметр командной строки

С помощью какой команды можно в консольном режиме подавить вывод на экран из сценариев сообщений об ошибках?

(1) cscript.exe //I

(2) cscript.exe //B

(3) cscript.exe //S

Какой из объектов WSH позволяет получить доступ к специальным папкам Windows?

(1) WshEnvironment

(2) WshSpecialFolders

(3) WScript

Пусть D – экземпляр объекта Drive, соответствующий логическому диску D:. В сценарии выполняется следующая строка (язык VBScript): n=D.FreeSpace/(1024*1024). Чему после этого равно значение переменной n?

(1) объем свободного места на диске D: в килобайтах

(2) объем свободного места на диске D: в мегабайтах

(3) объем свободного места на диске D: в гигабайтах

Пусть objCalc – экземпляр объекта WshScriptExec, соответствующий запущенному дочернему процессу calc.exe (Калькулятор Windows). С помощью какой команды на языке VBScript можно завершить работу данного экземпляра Калькулятора?

(1) objCalc.Terminate

(2) objCalc.Quit

(3) objCalc.Kill

Какая из приведенных ниже строк ADsPath должна использоваться для связывания с локальной группой Group1 на рабочей станции Comp1 с операционной системой Windows XP?

(1) WinNT://Comp1/Group1

(2) WinNT://Comp1/Group1, group

(3) WinNT://Comp1, Group1, group

В каких случаях в сценарии может отсутствовать элемент <package>?

(1) сценарий содержит единственное задание

(2) в сценарии описаны несколько заданий, но все они написаны на одном языке

(3) элемент <package> необходимо указывать во всех сценариях

Можно ли написать сценарий WSH на языке Perl?

(1) нет

(2) да, Perl поддерживается по умолчанию

(3) да, но требуется установка специального модуля поддержки Perl

Файлами какого типа представлены провайдеры WMI?

(1) исполняемые файлы (exe)

(2) элементы управления (ocx)

(3) динамические библиотеки (dll)

Допустим, что класс WMI имеет квалификатор SupportsDelete со значением True. Что это означает?

(1) класс поддерживает операцию удаления экземпляров

(2) класс является динамическим

(3) класс допускает удаление существующих свойств

Предположим, что вы зарегистрированы в системе под учетной записью User1 и вам необходимо из сценария WSH подключиться к пространству имен WMI на удаленной машине от имени учетной записи SuperAdmin. Какой вариант подключения следует выбрать?

(1) с помощью метода ConnectServer объекта SWbemLocator

(2) с помощью моникера WMI

Какой класс WMI позволяет узнать дату и время последней загрузки операционной системы?

(1) Win32_OperatingSystem

(2) Win32_SystemSetting

(3) Win32_ComputerSystem

Какая команда позволяет удаленно перезагрузить рабочую станцию \Comp1?

(1) /NODE:COMP1 OS WHERE(CSNAME="COMP1") CALL Win32ShutDown 2

(2) /NODE:COMP1 OS CALL Win32ShutDown 2

(3) /NODE:COMP1 OS WHERE(CSNAME="COMP1") CALL Win32ShutDown 0

Каким образом можно вывести детальную справочную информацию по командлету Get-Process?

(1) help Get-Process -full

(2) Get-Help Get-Process -full

(3) Get-Help Get-Process

Требуется получить упорядоченный по размеру список файлов из корневого каталога диска C:, размер которых больше 1 килобайта. Вверху списка должен быть самый большой файл. Какие команды решают эту задачу?

(1) dir c: | where {$_.length -gt 1024} | sort-object length -desc

(2) dir c: | where {$_.length -gt 1024} | sort length

(3) dir c: | where {$_.length>1024} | sort-object length -desc

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

(1) Get-WmiObject -Query 'select * from Win32_Service where StartMode="Auto"' | Format-Table Name, DisplayName, State

(2) gwmi -query 'select * from win32_service where StartMode="Auto"' | ft name, displayname, state

(3) gwmi win32_service -filter 'StartMode="Auto"' | ft name, displayname, state

Пусть $a=3. Какая из команд при выполнении выдаст ровно одно сообщение "Значение переменной a равно 2"?

(1) while($a -ge 3){$a--; Write-Host "Значение переменной a равно $a"}

(2) while($a -eq 3){$a--; Write-Host "Значение переменной a равно $a"}

(3) while($a -ge 2){$a--; Write-Host "Значение переменной a равно $a"}

Пусть текущим каталогом является C:folder1folder2folder3, а в каталоге folder2 имеется еще один подкаталог folder4. Какими командами можно переместиться в каталог folder4?

(1) cd c:folder1folder2folder4

(2) cd ..folder4

(3) cd .folder4

(4) cd c:folder1folder2folder4

Пусть значением переменной %SystemRoot% является строка "C:Windows" (без кавычек). Какое значение будет иметь переменная s после выполнения в пакетном файле команды set s=%SystemRoot:~-3% ?

Какие языки поддерживает WSH по умолчанию (без установки дополнительных модулей)?

(1) C#

(2) JScript

(3) Java

Какой из объектов WSH позволяет протоколировать действия в журнале событий Windows?

(1) WshShell

(2) WshEnvironment

(3) WScript

Пусть FSO – экземпляр объекта FileSystemObject. Каким образом можно создать текстовый файл с именем «Мой файл.txt» (язык VBScript)?

(1) Set F=FSO.CreateTextFile("Мой файл.txt", true)

(2) F=FSO.CreateTextFile("Мой файл.txt", true)

(3) Set F=FSO.CreateFile("Мой файл.txt", true)

С помощью какого метода можно имитировать нажатия клавиш в текущем сеансе командной строки?

(1) имитировать нажатия клавиш можно только для приложений Windows

(2) метод SendKeys объекта WshShell

(3) метод PutKeys объекта WshShell

Каким образом из сценария на языке VBScript провести связывание с корневым объектом класса Namespace для провайдера службы каталогов Windows NT?

(1) Set objNamespace = GetObject("WinNT:")

(2) Set objNamespace = CreateObject("WinNT:")

(3) Set objNamespace = GetObject("LDAP:")

Какие теги могут использоваться для документирования сценария с разметкой XML?

(1) <description>

(2) <info>

(3) <example>

Можно ли написать сценарий WSH на языке Python?

(1) нет

(2) да, Python поддерживается по умолчанию

(3) да, но только после установки модуля поддержки Python

Какой уровень вложенности может иметь пространство имен CIM?

(1) один

(2) два

(3) произвольный

Допустим, что у определенного метода WMI отсутствует квалификатор Implemented. Что это означает?

(1) данный метод пока не реализован в провайдере

(2) данный метод нельзя вызывать в экземплярах класса

(3) данный метод можно выполнять только на локальной машине

Каким образом из сценария на языке VBScript создать экземпляр объекта SWbemLocator?

(1) Set objLocator = CreateObject("WbemScripting.SWbemLocator")

(2) Set objLocator = CreateObject("WMIScripting.SWbemLocator")

(3) Set objLocator = CreateObject("WMIScript.SWbemLocator")

Пусть в сценарии на языке VBScript присутствует строка Set objWMIService = GetObject("WinMgmts:RootCIMV2). Каким образом в этом сценарии получить коллекцию служб, запущенных на локальном компьютере и имеющих ручной режим запуска?

(1)

Set colServices = objWMIService.ExecQuery _
(«SELECT * FROM Win32_Service WHERE StartMode = ‘Manual'» )

(2)

colServices = objWMIService.ExecQuery _
(«SELECT * FROM Win32_Service WHERE StartMode = ‘Manual'» )

(3)

Set colServices = objWMIService.ExecQuery _
(«SELECT * FROM Service WHERE StartMode = ‘Manual'» )

Какая команда WMIC позволяет создавать новые экземпляры классов WMI напрямую, без использования псевдонимов?

(1) CLASS

(2) WMI_PATH

(3) PATH

Пусть требуется узнать дату установки операционной системы на компьютере \Comp1. Какая команда позволят это сделать?

(1) /NODE:COMP1 OS LIST InstallDate

(2) /NODE:COMP1 OS GET InstallDate

(3) /NODE:COMP1 OS SHOW InstallDate

Какое расширение должны иметь файлы, содержащие сценарии PowerShell?

Требуется вывести в виде списка всю доступную информацию о подкаталогах корневого каталога диска C:. Какие команды решают эту задачу?

(1) dir c: | where {$_.mode -match "d"} | fl *

(2) dir c: | where {$_.mode -match "d"} | ft *

(3) dir c: | where {$_.mode -match "d"} | Format-List *

Какая команда позволит увидеть свойства, имеющиеся у главного объекта сервера автоматизации Internet Explorer?

(1) New-Object -ComObject InternetExplorer.Application | Get-Member -MemberType Property

(2) New-Object InternetExplorer.Application | Get-Member -MemberType Property

(3) Create-Object -ComObject InternetExplorer.Application | Get-Member -MemberType Property

Требуется найти и сохранить в переменной $m суммарный размер файлов с расширением doc, хранящихся в каталоге C:Docs и всех его подкаталогах. Какие команды решают эту задачу?

(1) $m = 0; foreach ($f in dir -recurse c:docs* -include *.doc) { $m += $f.length }

(2) $m = 0; for ($f in dir -recurse c:docs* -include *.doc) { $m += $f.length }

(3) $m = 0; ForEach-Object ($f in dir -recurse c:docs* -include *.doc) { $m += $f.length }

Что выведется на экран в результате выполнения команды: echo 1111 > c:klop.txt & type c:klop.txt > nul || echo 2222 ?

(1) ничего не выведется

(2) строка 2222

(3) строки 1111 и 2222

Какой символ позволяет отключить дублирование отдельной строки в командном файле?

Имеется сценарий script.vbs. Какое имя будет иметь файл с параметрами WSH для этого сценария?

(1) script.ws

(2) script.wsh

(3) script.ini

Какой из методов объекта WScript позволяет принудительно завершить работу сценария?

(1) Quit

(2) Exit

(3) End

Какой метод объекта FileSystemObject позволяет удалять файлы?

(1) DeleteFile

(2) EraseFile

(3) Delete

Каким образом в сценарии WSH можно сымитировать нажатие клавиши <Enter> в текущем сеансе командной строки?

(1) с помощью вызова метода SendKeys объекта WshShell с параметром "{Enter}"

(2) с помощью вызова метода SendKeys объекта WshShell с параметром «+»

(3) с помощью вызова метода SendKeys объекта WshShell с параметром "/Enter"/

Какой метод используется для записи в базу данных учетных записей информации о новой группе?

(1) метод PutInfo объекта Group

(2) метод SetInfo объекта Group

(3) метод Apply объекта Group

Какой тег должен присутствовать в сценарии с разметкой XML, чтобы из этого сценария можно было пользоваться константами объекта FileSystemObject без их предварительного объявления в сценарии?

(1) <reference object="Scripting.FileSystemObject"/>

(2) <object id="fso" progid="Scripting.FileSystemObject"/>

(3) из сценария с разметкой XML нельзя пользоваться константами внешних объектов

Какие средства позволяют управлять приложениями-серверами автоматизации?

(1) оболочка Windows PowerShell

(2) сценарии WSH

(3) оболочка Cmd.exe

Каким образом задается путь к объекту WMI, соответствующему службе Alerter, работающей на компьютере \comp1?

(1) \comp1WMI:Win32_ Service.Name="Alerter"

(2) \comp1CIMV2:Win32_Service.Name="Alerter"

(3) \comp1CIMV2:Win32_Service"Alerter"

С помощью какой стандартной утилиты можно запустить процесс на удаленной машине, используя методы WMI?

(1) regedit.exe

(2) wmimgmt.msc

(3) wbemtest.exe

Каким образом из сценария на языке VBScript можно подключиться к пространству имен CIMV2 на компьютере \Comp1?

(1) Set objService = GetObject("WinMgmts:\Comp1RootCIMV2")

(2) Set objService = CreateObject("WinMgmts:\Comp1RootCIMV2")

(3) Set objService = GetObject("WINMGMTS:\Comp1RootCIMV2")

Пусть в сценарии на языке VBScript присутствует строка Set objWMIService = GetObject("WinMgmts:RootCIMV2). Каким образом в этом сценарии получить коллекцию процессов, запущенных на локальном компьютере и начинающихся на букву «F»?

(1) Set colProcesses = objService.ExecQuery("SELECT * FROM Win32_Process WHERE Name LIKE 'F*'")

(2) Set colProcesses = objService.ExecQuery("SELECT * FROM Win32_Process WHERE Name LIKE 'F%'")

(3) Set colProcesses = objService.ExecQuery("SELECT * FROM Win32_Process WHERE Name LIKE 'F_'")

С помощью какой команды можно создать новый экземпляр класса Win32_Process (запустить новый процесс) с именем Notepad.exe?

(1) PROCESS DO Notepad.exe

(2) PROCESS RUN Notepad.exe

(3) PROCESS CALL Create Notepad.exe

Допустим, что на локальном компьютере служба сервера (Lanmanserver) стартует автоматически при загрузке операционной системы. С помощью какой команды WMIC можно отключить данную службу?

(1) SERVICE WHERE (Name="Lanmanserver") SET StartMode="Disabled"

(2) PATH Win32_Service WHERE (Name="Lanmanserver") SET StartMode="Disabled"

(3) этого сделать нельзя, свойство StartMode псевдонима SERVICE доступны только для чтения

Какой псевдоним используется для командлета Get-ChildItem в целях совместимости имени с ОС Unix?

Требуется вывести в текстовый файл C:StoppedServices.txt информацию о всех остановленных службах (имя, отображаемое имя и состояние). Какие команды решают эту задачу?

(1) Get-Service | where {$_.Status -like "Stop*"} | ft name, displayname, status > C:StoppedServices.txt

(2) Get-Service | where {$_.Status -like " Stop*"} | ft name, displayname, status < Out-File C:StoppedServices.txt

(3) Get-Service | where {$_.Status -like " Stop*"} | ft name, displayname, status | Write-File C:StoppedServices.txt

Какая команда позволит увидеть свойства, имеющиеся у статического класса System.Environment?

(1) System.Environment | Get-Member -Static -MemberType Property

(2) [System.Environment] | Get-Member –Static -MemberType Property

(3) [System.Environment] | Get-Member -MemberType Property

Какой командлет позволяет узнать текущую политику выполнения?

(1) Get-ExecutionPolicy

(2) Go-ExecutionPolicy

(3) Set-ExecutionPolicy

Пусть в текущем каталоге на диске C: хранятся файлы с расширением vbs. Какими командами можно переместить эти файлы в каталог E:folder1 (с удалением первоначальных файлов)?

(1) ren *.vbs e:folder1

(2) move *.vbs e:folder1

(3) сopy *.vbs e:folder1

(4) copy *.vbs e:folder1 & del *.vbs

С помощью какого варианта команды if можно проверить наличие определенной переменной среды?

(1) if exists …

(2) if defined …

(3) if errorlevel …

Какое расширение может иметь файл со сценарием на языке JScript?

Какой программный идентификатор (ProgID) имеет объект WshNetwork?

(1) WScript.WshNetwork

(2) WScript.Network

(3) WScript.WinNetwork

С помощью какого метода объекта FileSystemObject можно файл C:1.txt переименовать (переместить) в файл D:2.txt?

(1) MoveFile

(2) Move

(3) такого метода нет (нельзя одной командой переместить файл на другой раздел)

Какой программный идентификатор (ProgID) имеет корневой (главный) объект в объектной модели Microsoft Word?

(1) Word.Application

(2) Word.Server

(3) Word.Selection

Какой метод или свойство используются для изменения пароля пользователя?

(1) метод PutPassword объекта User

(2) метод SetPassword объекта User

(3) свойство Password объекта User

Пусть файл со сценарием на языке JScript имеет имя lib.js. Каким образом подключить этот файл к сценарию с разметкой XML?

(1) <script language="JScript" filename="lib.js"/>

(2) <script language="JScript" data-src="lib.js"/>

(3) к сценарию с разметкой XML нельзя подключить внешний файл с другим сценарием

Какие из средств автоматизации являются оболочками командной строки?

(1) Cmd.exe

(2) WSH

(3) Windows PowerShell

Где хранятся записи контроля доступа к пространствам имен WMI?

(1) в репозитории WMI

(2) в системном реестре Windows

(3) в конфигурационном файле

Какую утилиту из пакета WMI Tools можно использовать в качестве постоянного потребителя событий WMI?

(1) WMI Event Registration Tool

(2) WMI CIM Studio

(3) WMI Event Viewer

Каким образом из сценария на языке VBScript можно подключиться к пространству имен CIMV2 на компьютере \Comp1?

(1) Set objService = GetObject("WinMgmts:\Comp1RootCIMV2")

(2) Set objService = CreateObject("WinMgmts:\Comp1RootCIMV2")

(3) Set objService = GetObject("WINMGMTS:\Comp1RootCIMV2")

Пусть коллекция colProcesses содержит экземпляры класса Win32_Process, отобранные по некоторому WQL-запросу. Каким образом принудительно завершить работу всех процессов, соответствующих этим экземплярам (язык VBScript)?

(1)

For Each objProcess in colProcesses
objProcess.Terminate()
Next

(2)

For Each objProcess in colProcesses
objProcess.Kill()
Next

(3)

For Each objProcess in colProcesses
objProcess.Delete()
Next

С помощью какой команды можно увидеть имена всех процессов, запущенных в системе, и пути к исполняемым файлам, соответствующим этим процессам?

(1) PROCESS SHOW Name, ExecutablePath

(2) PROCESS GET Name, ExecutablePath

(3) PROCESS SELECT Name, ExecutablePath

Каким образом можно с помощью WMIC принудительно завершить все запущенные экземпляры браузера Internet Explorer на локальной машине?

(1) PROCESS WHERE Name="iexplore.exe" CALL Kill

(2) PROCESS WHERE Name="iexplore.exe" CALL Terminate

(3) PROCESS WHERE Name="iexplore.exe" CALL Stop

Какая из команд очистит экран консоли?

(1) Clear-Host

(2) clear

(3) cls

С помощью какой команды можно вывести на принтер с именем «HP2200» список запущенных процессов, упорядоченный по затраченному процессорному времени?

(1) Get-Process | Sort-Object cpu -Descending | Out-Printer -Name "HP2200"

(2) Get-Process | Sort-Object cpu -Descending > Printer "HP2200"

(3) ls | sort cpu –Desc-Process | Out-Printer "HP2200"

Какая команда позволит увидеть значение свойства CommandLine статического класса System.Environment?

(1) [System.Environment]::CommandLine

(2) [System.Environment].CommandLine

(3) [System.Environment]:CommandLine

Какую команду нужно выполнить, чтобы разрешить запуск локальных сценариев без цифровой подписи?

(1) Set-ExecutionPolicy RemoteSigned

(2) Set-ExecutionPolicy AllSigned

(3) Set-ExecutionPolicy Restricted

(4) Set-ExecutionPolicy Unrestricted

Требуется сформировать файл hidden _info.txt со списком всех скрытых файлов, находящихся в папке «C:Мои документы» и всех ее подпапках. Какой командой можно это сделать?

(1) dir /s /a:h "C:Мои документы*.*" > hidden_info.txt

(2) dir /a:h "C:Мои документы*.*" > hidden_info.txt

(3) dir /s /a:h C:Мои документы*.* > hidden_info.txt

Какой из указанных ниже операторов командного файла выведет на экран имена всех переменных среды?

(1) for /f "delims==" %%i in ('set') do echo %%i

(2) for /f "delims==" %%i in ("set") do echo %%i

(3) for /f "delims==" %%i in (set) do echo %%i

Какой объект необходимо использовать в языке JScript для перебора элементов коллекций?

(1) Array

(2) Enumerator

(3) Dictionary

Пусть объект WshShell в сценарии на языке VBScript создан следующим образом: Set WshShell=WScript.CreateObject("WScript.Shell"). Каким образом создать объект-коллекцию WshFldrs, содержащую пути ко всем специальным папкам Windows?

(1) WshFldrs = WshShell.SpecialFolders

(2) Set WshFldrs = WshShell.SpecialFolders

(3) Set WshFldrs = WScript.CreateObject("WshShell.SpecialFolders")

С помощью каких методов можно удалить непустую папку?

(1) метод DeleteFolder объекта FileSystemObject

(2) метод Delete объекта Folder

(3) нельзя удалять непустую папку

Каким образом из сценария на языке VBScript установить связь с сервером автоматизации Microsoft Excel?

(1) Set XL=WScript.CreateObject("Excel.Application")

(2) Set XL=WScript.CreateObject("Excel.Server")

(3) Set XL=WScript.CreateObject("Excel.Workbook")

Какой метод или свойство позволяют получить коллецию всех пользователей определенной группы?

(1) метод GetMembers соответствующего объекта Group

(2) метод Members соответствующего объекта Group

(3) свойство Members соответствующего объекта Group

В языке VBScript поддерживается функция InputBox, выводящее диалоговое графическое окно. Можно ли эту функцию вызывать напрямую в JScript-коде?

(1) нет, нельзя

(2) можно, если JScript-код поместить в сценарий с разметкой XML

(3) можно, если перед именем функции указать префикс VBScript

Какие версии операционной системы Windows поддерживают оболочку PowerShell?

(1) Windows XP SP2 и выше

(2) все 32-разрядные версии Windows

(3) Windows 2000 и выше

Какие части составляют архитектуру WMI?

(1) управляемые ресурсы, библиотека поддержки сценариев WMI, управляющие программы

(2) управляемые ресурсы, ядро WMI, управляющие программы

(3) провайдеры WMI, менеджер объектов CIM, репозиторий CIM

Какая библиотека отвечает за поддержку объектов-серверов автоматизации, позволяющих из сценария WSH работать с классами и объектами пространства имен WMI?

(1) winmgmtr.dll

(2) wbemdisp.dll

(3) wmiprov.dll

Какой класс WMI позволяет принудительно завершить сеанс работы пользователя?

(1) Win32_OperatingSystem

(2) Win32_SystemSetting

(3) Win32_ComputerSystem

Какая команда позволяет завершить сеанс работы в WMIC?

(1) LOGOUT

(2) LOGOFF

(3) QUIT

Какие форматы вывода поддерживает WMIC по умолчанию?

(1) HTML-файлы

(2) текстовые файлы с разделителями (CSV-файлы)

(3) XML-файлы

Какая команда позволяет увидеть список всех командлетов, в названии которых содержится глагол Set?

(1) GetCommand Set*

(2) Get_Command Set*

(3) Get-Command Set*

Требуется узнать, какие свойства и методы имеют объекты, возвращаемые командлетом с псевдонимом dir. Какая команда позволяет сделать это?

(1) Get-Member | dir

(2) dir | gm

(3) dir | Get-Member

Требуется получить текстовый файл C:default.txt со списком имен всех классов WMI, зарегистрированных на локальном компьютере в пространстве имен RootDefault. Список должен быть упорядочен по алфавиту. Какие команды решают эту задачу?

(1) Get-WmiObject -namespace rootdefault -list | Sort-Object name | Format-Table name > c:default.txt

(2) gwmi -namespace rootdefault -list | sort name | ft name > c:default.txt

(3) gwmi -namespace rootdefault | sort name | ft name | out-file c:default.txt

Предположим, что мы работаем в оболочке PowerShell интерактивно и в текущем каталоге имеется сценарий script.ps1. Какая команда запустит этот сценарий на выполнение?

(1) script.ps1

(2) .script.ps1

(3) .script

С помощью каких символов можно перенаправить выходной поток команды во внешний файл с сохранением прежнего содержимого этого файла?

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

(1) не выполнится ни одна команда из файла

(2) выполнится семь первых команд, после чего выполнение файла прервется

(3) выполнятся все команды, кроме восьмой

Какие из указанных программ являются серверами сценариев WSH?

(1) cscript.exe

(2) wscript.exe

(3) cmd.exe

Какой метод позволяет считать строку из стандартного входного потока?

(1) WScript.StdIn.ReadLine

(2) WScript.StdIn.InputLine

(3) WScript.StdIn.ReadStr

Каким образом в сценарии на языке JScript можно создать экземпляр объекта FileSystemObject?

(1) var FSO = WScript.CreateObject("Scripting.FileSystemObject");

(2) var FSO = new ActiveXObject("Scripting.FileSystemObject");

(3) var FSO = WScript.CreateObject("WScript.FileSystemObject");

С помощью какого метода можно запустить новый дочерний процесс в сценарии WSH?

(1) метод goRun объекта WshShell

(2) метод Exec объекта WshShell

(3) метод newAppActivate объекта WshShell

Какой провайдер ADSI используется для доступа к базе данных локальных учетных записей на рабочей станции Windows?

(1) LDAP

(2) WinNT

(3) NDS

Какие из указанных ниже элементов входят в схему WS XML?

(1) <reference>

(2) <description>

(3) <subject>

Какие средства позволяют обращаться к объектам WMI непосредственно из командной строки?

(1) оболочка WMIC

(2) оболочка Windows PowerShell

(3) интерпретатор Cmd.exe

За выполнение каких задач отвечает репозиторий CIM?

(1) обработка событий WMI

(2) хранение экземпляров классов информационной модели CIM

(3) регистрация информации о провайдерах WMI

Методы какого объекта библиотеки поддержки сценариев WMI позволяют подключиться к пространству имен WMI?

(1) SWbemObject

(2) SWbemServices

(3) SWbemLocator

Какие дополнительные привилегии нужно указывать при подключении к подсистеме WMI для перезагрузки удаленного компьютера?

(1) RemoteShutdown

(2) дополнительных привилегий указывать не нужно

(3) Shutdown

Допустим, что нам необходимо выполнять команды WMIC на нескольких компьютерах, список которых хранится в файле C:list_comp.txt. Какой глобальный параметр WMIC следует для этого использовать?

(1) /NODE:@C:list_comp.txt

(2) /HOST:@C:list_comp.txt

(3) /COMP:@C:list_comp.txt

С помощью какой команды можно сформировать файл C:s.htm с несколькими HTML-таблицами, содержащими полные сведения (все свойства) о всех службах, зарегистрированных на локальном компьютере (одна таблица для каждой службы)?

(1) /OUTPUT:C:s.htm SERVICE LIST BRIEF /FORMAT:HTABLE

(2) /OUTPUT:C:s.htm SERVICE LIST BRIEF /FORMAT:HFORM

(3) /OUTPUT:C:s.htm SERVICE LIST /FORMAT:HFORM

Какая команда позволит увидеть, какому командлету соответствует псевдоним copy?

(1) Get-Command copy

(2) Get-Alias copy

(3) Show-Alias copy

Какая из команд выведет список всех подкаталогов корневого каталога диска C:, начинающихся на букву «W»?

(1) dir c: | where {($_.mode -match "d") -and ($_.Name -match "w*")}

(2) dir c: | where {($_.mode -match "d") and ($_.Name -like "w*")}

(3) dir c: | where {($_.mode -match "d") -and ($_.Name -like "w*")}

Какая команда позволяет увидеть дату установки операционной системы на компьютере c IP-адресом 10.169.1.204?

(1) (gwmi -comp 10.169.1.204 win32_operatingsystem).installdate

(2) {gwmi os-computername 10.169.1.204 win32_operatingsystem}.installdate

(3) $os=gwmi -computername 10.169.1.204 win32_operatingsystem; $os.installdate

Пусть $a=3. Какая из команд при выполнении выдаст сообщение "Значение переменной a равно 3"?

(1) if ($a -le 3){write-host "Значение переменной a равно $a"}

(2) if ($a<=3){write-host "Значение переменной a равно $a"}

(3) if ($a -le 3){write-host 'Значение переменной a равно $a'}

Какой командой интерпретатора Cmd.exe можно создать файл Dir_Help.txt с описанием команды DIR?

(1) dir -? | Dir_Help.txt

(2) dir -? > Dir_Help.txt

(3) dir /? > Dir_Help.txt

(4) dir /? & Dir_Help.txt

С помощью какого оператора можно выделить имя файла из первого параметра командной строки?

(1) %~Pi

(2) %~Ni

(3) %~Di

Какая команда запускает сценарий 1.vbs в текстовом режиме без вывода информации о версии и разработчике WSH?

(1) cscript.exe //nologo 1.vbs

(2) wscript.exe //nologo 1.vbs

(3) cscript.exe //logo 1.vbs

Какой из объектов WSH позволяет запускать новые процессы?

(1) WScript

(2) WshShell

(3) WshEnvironment

Пусть D – экземпляр объекта Drive, соответствующий логическому диску D:. В сценарии выполняется следующая строка (язык VBScript): n=D.TotalSize/(1024*1024*1024). Чему после этого равно значение переменной n?

(1) общий объем диска D: в килобайтах

(2) общий объем диска D: в мегабайтах

(3) общий объем диска D: в гигабайтах

Пусть objCalc – экземпляр объекта WshScriptExec, соответствующий запущенному дочернему процессу. Каким образом внутри сценария можно узнать, продолжает ли работать данный процесс?

(1) если objCalc.Status=1, то процесс продолжает работать

(2) если objCalc.Status=0, то процесс продолжает работать

(3) если objCalc.Status=-1, то процесс продолжает работать

Каким образом из сценария на языке VBScript провести связывание с локальной группой Group1 на рабочей станции Comp1 с операционной системой Windows XP?

(1) Set objGroup = GetObject("WinNT://Comp1/Group1")

(2) Set objGroup = GetObject("WinNT://Comp1/Group1, group")

(3) Set objGroup = GetObject("WinNT://Comp1, Group1, group")

Может ли в сценарии с разметкой XML отсутствовать элемент <package>?

(1) нет, элемент <package> необходимо указывать во всех сценариях

(2) да, если весь код в сценарии написан на одном и том же языке

(3) да, если сценарий содержит единственное задание

Какие языки можно использовать для написания сценариев PowerShell?

(1) Microsoft VBScript

(2) собственный язык Windows PowerShell

(3) Microsoft C#

Какими файлами поддерживается репозиторий CIM в Windows XP?

(1) index.btr

(2) objects.data

(3) winmgmt.exe

Допустим, что класс WMI имеет квалификатор SupportsUpdate со значением True. Что это означает?

(1) класс поддерживает операцию изменения (обновления) экземпляров

(2) класс является динамическим

(3) класс допускает изменение имен существующих свойств

Каким образом на локальной машине можно подключиться к пространству имен WMI от имени учетной записи, отличной от текущей учетной записи?

(1) с помощью метода ConnectServer объекта SWbemLocator

(2) с помощью моникера WMI

(3) на локальной машине подключение к WMI всегда производится от имени текущей учетной записи

Какой класс WMI позволяет узнать серийный номер операционной системы?

(1) Win32_OperatingSystem

(2) Win32_SystemSetting

(3) Win32_ComputerSystem

Какой глобальный параметр позволяет сохранить во внешнем XML-файле c:wmic_out.xml историю команд WMIC?

(1) /APPEND:c:wmic_out.xml

(2) /OUTPUT:c:wmic_out.xml

(3) /RECORD:c:wmic_out.xml

Какая команда позволяет принудительно завершить сеанс работы пользователя на рабочей станции \Comp1?

(1) /NODE:COMP1 OS WHERE(CSNAME="COMP1") CALL Win32ShutDown 0

(2) /NODE:COMP1 OS CALL Win32ShutDown 0

(3) /NODE:COMP1 OS WHERE(CSNAME="COMP1") CALL Win32ShutDown 1

Какая команда позволяет увидеть примеры использования командлета Get-Process?

(1) Get-Process -?

(2) Get-Help Get-Process -full

(3) Get-Help Get-Process -Detailed

Какая из команд выведет список всех подкаталогов и файлов из корневого каталога диска C:, упорядоченный по времени последнего обращения к ним?

(1) dir c: | sort LastAccessTime

(2) dir c: | sort-object LastAccessTime

(3) dir c: | sort LastWriteTime

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

(1) Get-WmiObject -Query 'select * from Win32_Service where StartMode="Manual"' | Format-Table Name, DisplayName, State

(2) gwmi -query 'select * from win32_service where StartMode="Manual"' | ft name, displayname, state

(3) gwmi win32_service -filter 'StartMode="Manual"' | ft name, displayname, state

Пусть $a=3. Какая из команд при выполнении выдаст ровно одно сообщение "Значение переменной a равно 3"?

(1) do{Write-Host "Значение переменной a равно $a";$a++}while($a -le 3)

(2) do{Write-Host 'Значение переменной a равно $a';$a++}while($a -le 3)

(3) do{Write-Host "Значение переменной a равно $a";$a++}while($a<=3)

Пусть текущим каталогом является C:folder1folder2folder3. Какой командой можно удалить файл 123.txt в каталоге folder1?

(1) del c:folder1123.txt

(2) del c:folder1123.txt

(3) del ....123.txt

(4) del ..123.txt

Пусть значением переменной %SystemRoot% является строка "C:Windows" (без кавычек). Какое значение будет иметь переменная s после выполнения в пакетном файле команды set s=%SystemRoot:C:=D:% ?

(1) C:Windows

(2) D:

(3) D:Windows

Какие языки поддерживает WSH по умолчанию (без установки дополнительных модулей)?

(1) Perl

(2) VBA

(3) VBScript

Какой из объектов WSH позволяет выводить информацию на экран или в диалоговое окно?

(1) WshShell

(2) WshEnvironment

(3) WScript

Пусть FSO – экземпляр объекта FileSystemObject. Каким образом можно создать временный текстовый файл со случайным именем (язык VBScript)?

(1) Set F=FSO.OpenTextFile(FSO.GetTempName, true)

(2) Set F=FSO.CreateTextFile(GetTempName, true)

(3) Set F=FSO.CreateTextFile(FSO.GetTempName, true)

Какие возможности имеются в WSH для имитации нажатия клавиш в активном окне приложения Windows?

(1) данная функциональность в WSH отсутствует

(2) метод Echo объекта WScript

(3) метод SendKeys объекта WshShell

Каким образом из сценария на языке VBScript провести связывание с корневым объектом класса Namespace для провайдера службы каталогов Windows Active Directory?

(1) Set objNamespace = GetObject("WinNT:")

(2) Set objNamespace = GetObject("LDAP:")

(3) Set objNamespace = CreateObject("LDAP:")

Каким образом можно вывести краткое описание и примеры запуска определенного сценария с разметкой XML?

(1) при запуске сценария указать после его имени ключ /?

(2) внутри сценария вызвать метод WScript.Arguments.ShowUsage

(3) внутри сценария вызвать метод WScript.Arguments.ShowDescription

Какие средства позволяют обращаться к объектам COM непосредственно из командной строки?

(1) сценарии WSH

(2) оболочка Windows PowerShell

(3) интерпретатор Cmd.exe

Сколько дочерних классов может иметь тот или иной класс в пространстве имен CIM?

(1) произвольное количество

(2) только один

(3) ни одного, пространство имен CIM имеет только один уровень в глубину

Допустим, что метод WMI имеет квалификаторы Implemented и Static со значением True. Что это означает?

(1) данный метод реализован в провайдере, однако его нельзя вызывать из экземпляров класса

(2) данный метод используется для создания экземпляров класса

(3) данный метод пока не реализован в провайдере

Каким образом из сценария на языке JScript создать экземпляр объекта SWbemLocator?

(1) objLocator = new ActiveXObject("WbemScripting.SWbemLocator");

(2) objLocator = new ActiveXObject("WMIScripting.SWbemLocator");

(3) objLocator = new ActiveXObject("WMIScript.SWbemLocator");

Каким образом в сценарии получить коллекцию служб, запущенных на локальном компьютере и имеющих ручной режим запуска?

(1)

Set objWMIService = GetObject(«WinMgmts:RootCIMV2)
Set colServices = objWMIService.ExecQuery _
(«SELECT * FROM Win32_Service WHERE StartMode = ‘Manual'» )

(2)

Set objWMIService = GetObject(«WinMgmts:RootCIMV2)
colServices = objWMIService.ExecQuery _
(«SELECT * FROM Win32_Service WHERE StartMode = ‘Manual'» )

(3)

Set colServices = objWMIService.ExecQuery _
(«SELECT * FROM Service WHERE StartMode = ‘Manual'» )

Каким образом можно, не прибегая к псевдонимам WMIC, увидеть информацию о всех свойствах и методах класса Win32_Service?

(1) CLASS Win32_Service

(2) WMI_PATH Win32_Service

(3) PATH Win32_Service

Пусть требуется узнать серийный номер операционной системы на компьютере \Comp1. Какие команды позволят это сделать?

(1) /NODE:COMP1 OS LIST SerialNumber

(2) /NODE:COMP1 OS GET SerialNumber

(3) /NODE:COMP1 OS SHOW SerialNumber

Какой тип команд PowerShell реализуется в виде динамических библиотек?

(1) функции

(2) сценарии

(3) командлеты

Требуется вывести в виде списка всю доступную информация о файлах и подкаталогах корневого каталога диска C:. Какие команды решают эту задачу?

(1) dir c: | fl *

(2) dir c: | ft *

(3) dir c: | Format-List *

Какая команда позволит увидеть методы, имеющиеся у главного объекта сервера автоматизации Internet Explorer?

(1) New-Object -ComObject InternetExplorer.Application | Get-Member -MemberType Method

(2) New-Object InternetExplorer.Application | Get-Member -MemberType Method

(3) Create-Object -ComObject InternetExplorer.Application | Get-Member -MemberType Method

Требуется найти и сохранить в переменной $m суммарный размер файлов с расширением avi, хранящихся в каталоге C:Video и всех его подкаталогах. Какие команды решают эту задачу?

(1) $m = 0; dir -recurse c:video* -include *.avi | foreach { $m += $_.length }

(2) $m = 0; dir -recurse c:video* -include *.avi | ForEach-Object { $m += $_.length }

(3) $m = 0; ForEach-Object ($f in dir -recurse c:video* -include *.avi) { $m += $f.length }

Что выведется на экран в результате выполнения команды: echo 1111 > c:klop.txt & type c:klop.txt > nul & echo 2222 ?

(1) ничего не выведется

(2) строка 2222

(3) строки 1111 и 2222

С помощью какого оператора можно завершить работу командного файла?

(1) call :eof

(2) goto :end

(3) goto :eof

Имеется сценарий script.vbs. Какое имя будет иметь файл с параметрами WSH для этого сценария?

(1) myscript.wsh

(2) script.ws

(3) script.wsh

Какой из методов позволяет вывести сообщение в диалоговое окно?

(1) WScript.StdOut.WriteLine

(2) WScript.StdOut.Write

(3) WScript.Echo

Какой метод объекта FileSystemObject позволяет удалять папки?

(1) DeleteFolder

(2) EraseFolder

(3) Delete

Пусть objUser – экземпляр объекта User, соответствующий новому пользователю. Каким образом записать в базу данных учетных записей информации об этом пользователе (язык VBScript)?

(1) objUser.SetInfo

(2) objUser.PutInfo

(3) objUser.Apply

К константам каких внешних объектов можно обращаться по их имени из сценария с разметкой XML?

(1) к константам любых объектов, подключенных с помощью элемента <object>

(2) к константам, описанным в библиотеке типов соответствующего объекта (связь с библиотекой типов должна быть установлена с помощью элемента <reference>)

(3) из сценария с разметкой XML нельзя пользоваться константами внешних объектов

Какие средства позволяют управлять серверами автоматизации в интерактивном режиме?

(1) оболочка Windows PowerShell

(2) сценарии WSH

(3) оболочка Cmd.exe

Каким образом задается путь к объекту WMI, соответствующему службе Messenger, работающей на компьютере \comp1?

(1) \comp1WMI:Win32_ Service.Name="Messenger"

(2) \comp1CIMV2:Win32_Service.Name="Messenger"

(3) \comp1CIMV2:Win32_Service"Messenger"

С помощью какой стандартной утилиты можно остановить службу на удаленной машине, используя методы WMI?

(1) regedit.exe

(2) wmimgmt.msc

(3) wbemtest.exe

Какой из приведенных ниже моникеров WMI задает путь к объекту, соответствующему службе Messenger, запущенной на локальном компьютере?

(1) "WinMgmts:\.RootCIMV2:Win32_Service.Name='Messenger'"

(2) "WinMgmts:RootCIMV2:Win32_Service.Name='Messenger'"

(3) "WinMgmts:\.RootCIMV2Win32_Service.Name='Messenger'"

Каким образом в сценарии получить коллекцию процессов, запущенных на локальном компьютере и начинающихся на букву «F»?

(1)

Set objService = GetObject(«WinMgmts:RootCIMV2»)
Set colProcesses = objService.ExecQuery(«SELECT * FROM Win32_Process WHERE Name LIKE ‘F*'»)

(2)

Set objService = GetObject(«WinMgmts:RootCIMV2»)
Set colProcesses = objService.ExecQuery(«SELECT * FROM Win32_Process WHERE Name LIKE ‘F%'»)

(3)

Set objService = GetObject(«WinMgmts:RootCIMV2»)
Set colProcesses = objService.ExecQuery(«SELECT * FROM Win32_Process WHERE Name LIKE ‘F_'»)

С помощью какой команды можно создать новый экземпляр класса Win32_Process (запустить новый процесс) с именем Notepad.exe?

(1) CLASS Win32_Process DO CREATE Notepad.exe

(2) CLASS Win32_Process CALL CREATE Notepad.exe

(3) PROCESS CALL CREATE Notepad.exe

Допустим, что на локальном компьютере служба сервера (Lanmanserver) запускается вручную. С помощью какой команды WMIC можно отключить данную службу?

(1) SERVICE WHERE (Name="Lanmanserver") SET StartMode="Disabled"

(2) PATH Win32_Service WHERE (Name="Lanmanserver") SET StartMode="Disabled"

(3) этого сделать нельзя, свойство StartMode псевдонима SERVICE доступны только для чтения

Какой псевдоним используется для командлета Get-ChildItem в целях совместимости имени с оболочкой Cmd.exe?

Требуется вывести в текстовый файл в формате ASCII C:RunningServices.txt информацию о всех службах, работающих на компьютере (имя, отображаемое имя и состояние). Какие команды решают эту задачу?

(1) Get-Service | where {$_.Status -like "Run*"} | ft name, displayname, status > C:RunningServices.txt

(2) Get-Service | where {$_.Status -like "Run*"} | ft name, displayname, status | Out-File C:RunningServices.txt

(3) Get-Service | where {$_.Status -like "Run*"} | ft name, displayname, status | Out-File C:RunningServices.txt -Encoding ASCII

Какая команда позволит увидеть методы, имеющиеся у статического класса System.Environment?

(1) System.Environment | Get-Member -Static -MemberType Method

(2) [System.Environment] | Get-Member –Static -MemberType Method

(3) [System.Environment] | Get-Member -MemberType Method

Какой командлет позволяет установить нужную политику выполнения?

(1) Set-ExecutionPolicy

(2) Get-ExecutionPolicy

(3) Put-ExecutionPolicy

Пусть в текущем каталоге имеются текстовые файлы 1.txt и 2.txt. Требуется объединить эти два файла в файл 3.txt, причем строки результирующего файла 3.txt должны быть отсортированы по алфавиту. Какой командой можно это сделать?

(1) copy 1.txt + 2.txt temp.txt & sort temp.txt > 3.txt & del temp.txt

(2) copy 1.txt + 2.txt 3.txt & sort 3.txt > 3.txt

(3) sort 1.txt > 3.txt & sort 2.txt >> 3.txt

С помощью какого варианта команды if можно проанализировать код выхода вызванной программы?

(1) if exists …

(2) if defined …

(3) if errorlevel …

Какие из имен являются допустимыми для файла со сценарием на языке VBScript?

(1) myscript.vb

(2) сценарий.vbs

(3) сценарий.bas

В каком свойстве хранится полный путь к каталогу, откуда был запущен сценарий?

(1) WshShell.CurrentDirectory

(2) WScript.Path

(3) WScript.ScriptFullName

С помощью какого метода объекта FileSystemObject можно папку C:Folder1 переименовать в папку D:Folder2?

(1) MoveFolder

(2) такого метода нет

(3) Move

Каким образом из сценария на языке VBScript установить связь с сервером автоматизации Microsoft Word?

(1) Set WA=WScript.CreateObject("Word.Application")

(2) Set WA=WScript.CreateObject("Word.Server")

(3) Set WA=WScript.CreateObject("Word.Selection")

Пусть objUser – экземпляр объекта User, соответствующий определенному пользователю. Каким образом изменить пароль этого пользователя на «11111111» (язык VBScript)?

(1) objUser.SetPassword "11111111"

(2) objUser.Password="11111111"

(3) objUser.PutPassword "11111111"

Пусть файл со сценарием на языке VBScript имеет имя lib.vbs. Каким образом подключить этот файл к сценарию с разметкой XML?

(1) к сценарию с разметкой XML нельзя подключить внешний файл с другим сценарием

(2) <script language="VBScript" filename="lib.vbs"/>

(3) <script language="VBScript" data-src="lib.vbs"/>

Какие средства автоматизации имеют встроенную справочную систему?

(1) интерпретатор Cmd.exe

(2) WSH

(3) Windows PowerShell

Какое разрешение безопасности должен иметь пользователь для доступа к пространству имен WMI на удаленном компьютере?

(1) Включить учетную запись (Enable Account)

(2) Прочесть безопасность (Read Security)

(3) Включить удаленно (Remote Enable)

С помощью каких утилит из пакета WMI Tools можно вызывать методы классов и объектов WMI?

(1) WMI Event Registration Tool

(2) WMI CIM Studio

(3) WMI Object Browser

Какой из приведенных ниже моникеров WMI нужно использовать для подключения к пространству имен CIMV2 на рабочей станции \Comp1 с дополнительными привилегиями на выключение и удаленное выключение компьютера?

(1) "WinMgmts: {(Shutdown,RemoteShutdown)}!\Comp1RootCIMV2"

(2) "WinMgmts: {Shutdown,RemoteShutdown}!\Comp1RootCIMV2"

(3) "WinMgmts: {(!Shutdown,!RemoteShutdown)}!\Comp1RootCIMV2"

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

(1)

Set objService = GetObject(«WinMgmts:RootCIMV2»)
Set colProcesses = objService.ExecQuery(«SELECT * FROM Win32_Process WHERE Name LIKE ‘F%'»)
For Each objProcess in colProcesses
objProcess.Terminate()
Next

(2)

Set objService = GetObject(«WinMgmts:RootCIMV2»)
Set colProcesses = objService.ExecQuery(«SELECT * FROM Win32_Process WHERE Name LIKE ‘F%'»)
For Each objProcess in colProcesses
objProcess.Kill()
Next

(3)

Set objService = GetObject(«WinMgmts:RootCIMV2»)
Set colProcesses = objService.ExecQuery(«SELECT * FROM Win32_Process WHERE Name LIKE ‘F%'»)
For Each objProcess in colProcesses
objProcess.Delete()
Next

С помощью какой команды можно вывести имена всех процессов, запущенных в системе, и пути к исполняемым файлам, соответствующим этим процессам в формате CSV (значения свойств разделены запятыми)?

(1) PROCESS SHOW Name, ExecutablePath /FORMAT:CSV

(2) PROCESS GET Name, ExecutablePath /FORMAT:CSV

(3) PROCESS SELECT Name, ExecutablePath /FORMAT:CSV

Каким образом можно с помощью WMIC принудительно завершить все запущенные экземпляры браузера Internet Explorer на рабочей станции \Comp1?

(1) /NODE:Comp1 PROCESS WHERE Name="iexplore.exe" CALL Kill

(2) /NODE:Comp1 PROCESS WHERE Name="iexplore.exe" CALL Terminate

(3) /NODE:Comp1 PROCESS WHERE Name="iexplore.exe" CALL Stop

Предположим, что текущим каталогом является C:Temp. Какая из команд сделает текущим корневой каталог диска C:?

(1) cd

(2) Set-Location

(3) sl

Какой командлет в конвейере позволяет подавить вывод предыдущей команды?

(1) Out-Nil

(2) Out-Null

(3) Write-Null

Какая команда позволит увидеть значение свойства MachineName статического класса System.Environment?

(1) [System.Environment]::MachineName

(2) [System.Environment].MachineName

(3) [System.Environment]:MachineName

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

(1) Set-ExecutionPolicy RemoteSigned

(2) Set-ExecutionPolicy AllSigned

(3) Set-ExecutionPolicy Restricted

Требуется сформировать файл ro _info.txt со списком всех файлов, имеющих атрибут «Только для чтения», которые находятся в папке «C:Мои документы» и всех ее подпапках. Какой командой можно это сделать?

(1) dir /s /a:r "C:Мои документы*.*" > ro_info.txt

(2) dir /a:r "C:Мои документы*.*" > ro_info.txt

(3) dir /s /a:r C:Мои документы*.* > ro_info.txt

Какой из языков позволяет напрямую из сценариев вызывать методы объектов WMI?

Пусть объект WshShell в сценарии на языке VBScript создан следующим образом: Set WshShell=WScript.CreateObject("WScript.Shell"). Каким образом создать объект-коллекцию WshEnv, содержащую все переменные среды?

(1) Set WshEnv = WshShell.Environment

(2) WshEnv = WshShell.Environment

(3) Set WshEnv = WScript.CreateObject("WshShell.Environment ")

С помощью каких методов можно удалить непустую папку?

(1) метод DeleteFolder объекта FileSystemObject

(2) метод Delete объекта Folder

(3) нельзя удалять непустую папку

Какой программный идентификатор (ProgID) имеет корневой (главный) объект в объектной модели Microsoft Excel?

(1) Excel.Workbook

(2) Excel.Server

(3) Excel.Application

Пусть objUser – экземпляр объекта User, соответствующий определенному пользователю. Каким образом изменить пароль этого пользователя на «11111111» (язык VBScript)?

(1) objUser.SetPassword "11111111"

(2) objUser.Password="11111111"

(3) objUser.PutPassword "11111111"

В языке VBScript поддерживается функция InputBox, выводящее диалоговое графическое окно. Можно ли данную функциональность использовать в JScript-коде?

(1) можно, вызывая в JScript-коде внутри сценария с разметкой XML функцию InputBox напрямую

(2) нет, нельзя

(3) можно, поместив JScript-код в сценарий с разметкой XML и создав в этом сценарии функцию на языке VBScript, внутри которой будет вызываться функция InputBox

К какой группе принадлежит классCIM_LogicalFile?

(1) системный класс

(2) класс общей модели

(3) класс модели расширения

Главная / Операционные системы /
Командная строка и сценарии Windows / Тест 1

Упражнение 1:


Номер 1

В каких версиях операционной системы Windows можно пользоваться командными файлами?

Ответ:

(1) во всех версиях Windows 

(2) в Windows NT и выше 

(3) в Windows XP и выше 


Номер 2

Какие версии операционной системы Windows поддерживают сервер сценариев WSH?

Ответ:

(1) Windows 2000 и выше 

(2) все 32-разрядные версии Windows 

(3) Windows NT и выше 


Номер 3

Какие версии операционной системы Windows поддерживают оболочку PowerShell?

Ответ:

(1) Windows XP SP2 и выше 

(2) все 32-разрядные версии Windows 

(3) Windows 2000 и выше 


Упражнение 2:


Номер 1

Какие средства позволяют напрямую обращаться к объектам WMI?

Ответ:

(1) оболочка WMIC 

(2) сценарии WSH 

(3) интерпретатор Cmd.exe 


Номер 2

Какие средства позволяют напрямую обращаться к объектам .NET?

Ответ:

(1) оболочка WMIC 

(2) сценарии WSH 

(3) оболочка Windows PowerShell 


Номер 3

Какие средства позволяют обращаться к объектам WMI непосредственно из командной строки?

Ответ:

(1) оболочка WMIC 

(2) оболочка Windows PowerShell 

(3) интерпретатор Cmd.exe 


Упражнение 3:


Номер 1

Какие языки можно использовать для написания сценариев WSH?

Ответ:

(1) Microsoft VBScript 

(2) Microsoft JScript 

(3) Microsoft C# 


Номер 2

Можно ли написать сценарий WSH на языке Perl?

Ответ:

(1) нет 

(2) да, Perl поддерживается по умолчанию 

(3) да, но требуется установка специального модуля поддержки Perl 


Номер 3

Какие языки можно использовать для написания сценариев PowerShell?

Ответ:

(1) Microsoft VBScript 

(2) собственный язык Windows PowerShell 

(3) Microsoft C# 


Упражнение 4:


Номер 1

Какое средство автоматизации предлагает собственную объектную модель?

Ответ:

(1) Cmd.exe 

(2) Windows PowerShell 

(3) WSH 


Номер 2

Можно ли написать сценарий WSH на языке Python?

Ответ:

(1) нет 

(2) да, Python поддерживается по умолчанию 

(3) да, но только после установки модуля поддержки Python 


Номер 3

Какие средства позволяют обращаться к объектам COM непосредственно из командной строки?

Ответ:

(1) сценарии WSH 

(2) оболочка Windows PowerShell 

(3) интерпретатор Cmd.exe 


Упражнение 5:


Номер 1

Можно ли в Windows использовать стандартные Unix-утилиты?

Ответ:

(1) да, после установки пакета Services for Unix  

(2) да, Unix-утилиты поддерживаются по умолчанию 

(3) нельзя 


Номер 2

Какие средства позволяют управлять приложениями-серверами автоматизации?

Ответ:

(1) оболочка Windows PowerShell 

(2) сценарии WSH 

(3) оболочка Cmd.exe 


Номер 3

Какие средства позволяют управлять серверами автоматизации в интерактивном режиме?

Ответ:

(1) оболочка Windows PowerShell 

(2) сценарии WSH 

(3) оболочка Cmd.exe 


Упражнение 6:


Номер 1

Какие из средств автоматизации поддерживают работу в интерактивном режиме?

Ответ:

(1) WSH 

(2) WMIC  

(3) Windows PowerShell 


Номер 2

Какие из средств автоматизации являются оболочками командной строки?

Ответ:

(1) Cmd.exe 

(2) WSH  

(3) Windows PowerShell 


Номер 3

Какие средства автоматизации имеют встроенную справочную систему?

Ответ:

(1) интерпретатор Cmd.exe 

(2) WSH 

(3) Windows PowerShell 


Какие из имен являются допустимыми для файла со сценарием на языке VBScript?

Перейти

Какие средства позволяют обращаться к объектам WMI непосредственно из командной строки?

Перейти

Какой метод используется для записи в базу данных учетных записей информации о новой группе?

Перейти

К константам каких внешних объектов можно обращаться по их имени из сценария с разметкой XML?

Перейти

Какое имя имеет сервер сценариев WSH для графического режима?

Перейти

Какой смысл в командном файле имеет параметр %0 ?

Перейти

Какие дополнительные привилегии нужно указывать при подключении к подсистеме WMI для принудительного завершения сеанса пользователя на удаленной машине?

Перейти

Какой псевдоним используется для командлета Get-ChildItem в целях совместимости имени с ОС Unix?

Перейти

Какой уровень вложенности может иметь пространство имен CIM?

Перейти

Какой программный идентификатор (ProgID) имеет объект SWbemLocator?

Перейти

Можно ли в Windows использовать стандартные Unix-утилиты?

Перейти

Какая команда позволяет удаленно перезагрузить рабочую станцию \Comp1?

Перейти

Пусть в текущем каталоге имеются текстовые файлы 1.txt и 2.txt. Требуется объединить эти два файла в файл 3.txt, причем строки результирующего файла 3.txt должны быть отсортированы по алфавиту. Какой командой можно это сделать?

Перейти

Каким образом в сценарии получить коллекцию служб, запущенных на локальном компьютере и имеющих ручной режим запуска?

Перейти

Какая команда WMIC используется для выполнения методов классов и объектов WMI?

Перейти

Какой символ позволяет отключить дублирование отдельной строки в командном файле?

Перейти

Пусть в папке C:Folder1 хранится файл 1.txt. К какому результату приведет выполнение в сценарии на языке VBScript команды FSO.DeleteFolder «C:Folder1», если FSO – экземпляр объекта FileSystemObject?

Перейти

Каким образом можно с помощью WMIC принудительно завершить все запущенные экземпляры браузера Internet Explorer на рабочей станции \Comp1?

Перейти

Пусть FSO – экземпляр объекта FileSystemObject. Каким образом можно файл C:1.txt переименовать (переместить) в файл D:2.txt (язык VBScript)?

Перейти

Пусть D – экземпляр объекта Drive, соответствующий логическому диску D:. В сценарии выполняется следующая строка (язык VBScript): n=D.TotalSize/(1024*1024*1024). Чему после этого равно значение переменной n?

Перейти

Какие из указанных ниже элементов входят в схему WS XML?

Перейти

Какая команда позволит увидеть свойства, имеющиеся у статического класса System.Environment?

Перейти

Какой метод объекта FileSystemObject позволяет удалять папки?

Перейти

Какой из указанных ниже операторов командного файла выведет на экран имена всех переменных среды?

Перейти

Какой программный идентификатор (ProgID) имеет корневой (главный) объект в объектной модели Microsoft Word?

Перейти

Каким образом на языке VBScript можно создать объект-коллецию всех аргументов командной строки запущенного сценария?

Перейти

Какая команда позволит увидеть значение свойства CommandLine статического класса System.Environment?

Перейти

Какой из методов объекта WScript позволяет принудительно завершить работу сценария?

Перейти

Какая команда позволяет увидеть список всех командлетов, в названии которых содержится глагол Set?

Перейти

С помощью какого метода можно запустить новый дочерний процесс в сценарии WSH?

Перейти

Какие версии операционной системы Windows поддерживают сервер сценариев WSH?

Перейти

Какие языки можно использовать для написания сценариев WSH?

Перейти

Можно ли написать сценарий WSH на языке Python?

Перейти

Какие средства позволяют управлять серверами автоматизации в интерактивном режиме?

Перейти

Какие из средств автоматизации являются оболочками командной строки?

Перейти

Как назывался файл командного интерпретатора в Windows 98?

Перейти

Какой командой интерпретатора Cmd.exe можно создать файл xcopy_help.txt с описанием всех параметров команды XCOPY?

Перейти

Пусть текущим каталогом является C:folder1folder2folder3, а в каталоге folder2 имеется еще один подкаталог folder4. Какими командами можно переместиться в каталог folder4?

Перейти

Что выведется на экран в результате выполнения команды: echo 1111 > c:klop.txt & type c:klop.txt > nul || echo 2222 ?

Перейти

Какими командами можно изменить расширения на js для файлов, находящихся в текущем каталоге, имеющих расширение vbs и имя которых состоит только из одного или двух символов?

Перейти

Требуется сформировать файл hidden _info.txt со списком всех скрытых файлов, находящихся в папке «C:Мои документы» и всех ее подпапках. Какой командой можно это сделать?

Перейти

Можно ли в командных файлах пользоваться внутренними командами интерпретатора Cmd.exe и каким образом?

Перейти

Сколько параметров командной строки можно обработать в пакетном файле?

Перейти

Пусть значением переменной %SystemRoot% является строка «C:Windows» (без кавычек). Какое значение будет иметь переменная s после выполнения в пакетном файле команды set s=%SystemRoot:~0,3% ?

Перейти

Какой командой можно приостановить работу пакетного файла?

Перейти

С помощью какого варианта команды if можно проанализировать код выхода вызванной программы?

Перейти

Какой из указанных ниже операторов командного файла выведет на экран список всех папок в корне на диске D:?

Перейти

Какие из указанных программ являются серверами сценариев WSH?

Перейти

С помощью какой команды можно в консольном режиме подавить вывод на экран из сценариев сообщений об ошибках?

Перейти

Какие языки поддерживает WSH по умолчанию (без установки дополнительных модулей)?

Перейти

Какое расширение имеет файл параметров для сценариев WSH?

Перейти

Какое расширение может иметь файл со сценарием на языке JScript?

Перейти

Какой из языков позволяет напрямую из сценариев вызывать методы объектов WMI?

Перейти

Каким образом в сценарии создается экземпляр объекта WScript?

Перейти

Какой из объектов WSH позволяет получить доступ к специальным папкам Windows?

Перейти

Какой из объектов WSH позволяет выводить информацию на экран или в диалоговое окно?

Перейти

Каким образом можно из сценария создать экземпляр внешнего объекта-сервера автоматизации?

Перейти

Какой программный идентификатор (ProgID) имеет объект WshNetwork?

Перейти

Пусть объект WshShell в сценарии на языке VBScript создан следующим образом: Set WshShell=WScript.CreateObject(«WScript.Shell»). Каким образом создать объект-коллекцию WshFldrs, содержащую пути ко всем специальным папкам Windows?

Перейти

Каким образом в сценарии на языке VBScript можно создать экземпляр объекта FileSystemObject?

Перейти

Пусть FSO – экземпляр объекта FileSystemObject. Каким образом можно создать текстовый файл с именем «Мой файл.txt» (язык VBScript)?

Перейти

С помощью какого метода объекта FileSystemObject можно файл C:1.txt переименовать (переместить) в файл D:2.txt?

Перейти

С помощью каких методов можно запустить новый процесс в сценарии WSH?

Перейти

С помощью какого метода можно завершить работу запущенного дочернего процесса?

Перейти

Какие возможности имеются в WSH для имитации нажатия клавиш в активном окне приложения Windows?

Перейти

Каким образом в сценарии WSH можно сымитировать нажатие клавиши <Enter> в активном окне приложения Windows?

Перейти

Каким образом из сценария на языке VBScript установить связь с сервером автоматизации Microsoft Word?

Перейти

Какой программный идентификатор (ProgID) имеет корневой (главный) объект в объектной модели Microsoft Excel?

Перейти

Какой провайдер ADSI используется для доступа к службе каталогов Windows Active Directory?

Перейти

Какая из приведенных ниже строк ADsPath должна использоваться для связывания с локальной группой Group1 на рабочей станции Comp1 с операционной системой Windows XP?

Перейти

Каким образом из сценария на языке JScript провести связывание с корневым объектом класса Namespace для провайдера службы каталогов Windows NT?

Перейти

Пусть objUser – экземпляр объекта User, соответствующий новому пользователю. Каким образом записать в базу данных учетных записей информации об этом пользователе (язык VBScript)?

Перейти

Пусть objUser – экземпляр объекта User, соответствующий определенному пользователю. Каким образом изменить пароль этого пользователя на «11111111» (язык VBScript)?

Перейти

Пусть objUser – экземпляр объекта User, соответствующий определенному пользователю. Каким образом изменить пароль этого пользователя на «11111111» (язык VBScript)?

Перейти

Какой из указанных ниже элементов входит в схему WS XML?

Перейти

Может ли в сценарии с разметкой XML отсутствовать элемент <package>?

Перейти

Каким образом можно вывести краткое описание и примеры запуска определенного сценария с разметкой XML?

Перейти

Пусть файл со сценарием на языке VBScript имеет имя lib.vbs. Каким образом подключить этот файл к сценарию с разметкой XML?

Перейти

В языке VBScript поддерживается функция InputBox, выводящее диалоговое графическое окно. Можно ли данную функциональность использовать в JScript-коде?

Перейти

Какими основными компонентами можно представить общую структуру WMI?

Перейти

Какие из перечисленных ниже функций должен выполнять менеджер объектов CIMOM?

Перейти

Какими файлами поддерживается репозиторий CIM в Windows XP?

Перейти

Каким образом задается путь к объекту WMI, соответствующему службе Alerter, работающей на компьютере \comp1?

Перейти

Какое разрешение безопасности должен иметь пользователь для доступа к пространству имен WMI на удаленном компьютере?

Перейти

К какой группе принадлежит класс Win32_Process?

Перейти

Можно ли изменять значения свойств объектов WMI?

Перейти

Допустим, что класс WMI имеет квалификатор SupportsCreate со значением True. Что это означает?

Перейти

Допустим, что у определенного метода WMI отсутствует квалификатор Implemented. Что это означает?

Перейти

Какая стандартная утилита Windows позволяет работать с объектной моделью WMI?

Перейти

С помощью каких утилит из пакета WMI Tools можно вызывать методы классов и объектов WMI?

Перейти

Какой компонент операционной системы отвечает за обращение к объектам WMI из сценариев WSH?

Перейти

Методы какого объекта библиотеки поддержки сценариев WMI позволяют подключиться к пространству имен WMI?

Перейти

Предположим, что вы зарегистрированы в системе под учетной записью User1 и вам необходимо из сценария WSH подключиться к пространству имен WMI на удаленной машине от имени учетной записи SuperAdmin. Какой вариант подключения следует выбрать?

Перейти

Каким образом из сценария на языке JScript создать экземпляр объекта SWbemLocator?

Перейти

Какой из приведенных ниже моникеров WMI задает путь к объекту, соответствующему службе Messenger, запущенной на локальном компьютере?

Перейти

Каким образом из сценария на языке VBScript можно подключиться к пространству имен CIMV2 на компьютере \Comp1?

Перейти

Какой класс WMI позволяет перезагрузить удаленный компьютер?

Перейти

Какой класс WMI позволяет узнать серийный номер операционной системы?

Перейти

Какой запрос на языке WQL позволит получить набор всех процессов, начинающихся на букву «F»?

Перейти

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

Перейти

Какая команда WMIC позволяет выйти из этой оболочки?

Перейти

Допустим, что нам необходимо выполнять команды WMIC на нескольких компьютерах, список которых хранится в файле C:list_comp.txt. Какой глобальный параметр WMIC следует для этого использовать?

Перейти

Какой глобальный параметр позволяет перенаправить вывод всех команд WMIC во внешний текстовый файл c:wmic_out.txt (без дублирования выводимой информации на экране)?

Перейти

Какая команда WMIC позволяет работать с экземплярами классов WMI напрямую, без использования псевдонимов?

Перейти

С помощью какой команды можно увидеть имена всех процессов, запущенных в системе, и пути к исполняемым файлам, соответствующим этим процессам?

Перейти

Какие форматы вывода поддерживает WMIC по умолчанию?

Перейти

С помощью какой команды можно сформировать файл C:s.htm с несколькими HTML-таблицами, содержащими полные сведения (все свойства) о всех службах, зарегистрированных на локальном компьютере (одна таблица для каждой службы)?

Перейти

Какая команда позволяет удаленно выключить рабочую станцию \Comp1?

Перейти

Пусть требуется узнать букву последнего логического диска на компьютере \Comp1. Какие команды позволят это сделать?

Перейти

Допустим, что на локальном компьютере служба сервера (Lanmanserver) отключена. С помощью какой команды WMIC можно изменить режим запуска данной службы на автоматический?

Перейти

Какая команда позволяет увидеть список всех доступных командлетов?

Перейти

Какая команда позволит увидеть, какому командлету соответствует псевдоним cls?

Перейти

Какая команда позволяет увидеть примеры использования командлета Get-Process?

Перейти

Какое расширение должны иметь файлы, содержащие сценарии PowerShell?

Перейти

Какой псевдоним используется для командлета Get-ChildItem в целях совместимости имени с оболочкой Cmd.exe?

Перейти

Предположим, что текущим каталогом является C:Temp. Какая из команд сделает текущим корневой каталог диска C:?

Перейти

Требуется узнать, какие свойства имеют объекты, возвращаемые командлетом с псевдонимом dir. Какая команда позволяет сделать это?

Перейти

Какая из команд выведет список файлов из корневого каталога диска C:, размер которых больше 1 килобайта?

Перейти

Требуется получить упорядоченный по размеру список файлов из корневого каталога диска C:, размер которых больше 1 килобайта. Вверху списка должен быть самый маленький файл. Какие команды решают эту задачу?

Перейти

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

Перейти

Требуется вывести в текстовый файл в формате ASCII C:RunningServices.txt информацию о всех службах, работающих на компьютере (имя, отображаемое имя и состояние). Какие команды решают эту задачу?

Перейти

Какой командлет в конвейере позволяет подавить вывод предыдущей команды?

Перейти

Требуется получить текстовый файл C:root_class.txt со списком имен всех классов WMI, зарегистрированных на локальном компьютере в пространстве имен Root. Список должен быть упорядочен по алфавиту. Какие команды решают эту задачу?

Перейти

Какая команда позволяет увидеть дату установки операционной системы на компьютере c IP-адресом 10.169.1.204?

Перейти

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

Перейти

Какая команда позволит увидеть методы, имеющиеся у главного объекта сервера автоматизации Internet Explorer?

Перейти

Какая команда позволит увидеть свойства и методы, имеющиеся у статического класса System.Environment?

Перейти

Какая команда позволит увидеть значение свойства MachineName статического класса System.Environment?

Перейти

Предположим, что мы работаем в оболочке PowerShell интерактивно и в текущем каталоге имеется сценарий script.ps1. Какая команда запустит этот сценарий на выполнение?

Перейти

Пусть $a=3. Какая из команд при выполнении выдаст сообщение «Значение переменной a равно 3»?

Перейти

Пусть $a=3. Какая из команд при выполнении выдаст ровно одно сообщение «Значение переменной a равно 3»?

Перейти

Требуется найти и сохранить в переменной $m суммарный размер файлов с расширением doc, хранящихся в каталоге C:Docs и всех его подкаталогах. Какие команды решают эту задачу?

Перейти

Какой командлет позволяет установить нужную политику выполнения?

Перейти

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

Перейти

С помощью какого оператора можно выделить имя файла из первого параметра командной строки?

Перейти

Требуется узнать, какие методы имеют объекты, возвращаемые командлетом с псевдонимом dir. Какая команда позволяет сделать это?

Перейти

Какой командой интерпретатора Cmd.exe можно создать файл Dir_Help.txt с описанием команды DIR?

Перейти

Каким образом из сценария на языке VBScript установить связь с сервером автоматизации Microsoft Excel?

Перейти

Какая из команд очистит экран консоли?

Перейти

Имеется сценарий script.vbs. Какое имя будет иметь файл с параметрами WSH для этого сценария?

Перейти

Какой элемент схемы WS XML позволяет подключить к сценарию код из внешнего файла?

Перейти

Каким файлом реализована библиотека поддержки сценариев WMI?

Перейти

С помощью какой команды можно создать новый экземпляр класса Win32_Process (запустить новый процесс) с именем Notepad.exe?

Перейти

Какой метод или свойство используются для изменения пароля пользователя?

Перейти

Какая команда принудительно завершит все процессы, имена которых начинаются на букву «F»?

Перейти

С помощью какого оператора можно завершить работу командного файла?

Перейти

Требуется найти и сохранить в переменной $m суммарный размер файлов с расширением mp3, хранящихся в каталоге C:Music и всех его подкаталогах. Какие команды решают эту задачу?

Перейти

Какая команда WMIC позволяет создавать новые экземпляры классов WMI напрямую, без использования псевдонимов?

Перейти

Какие из перечисленных ниже функций должен выполнять менеджер объектов CIMOM?

Перейти

Пусть значением переменной %SystemRoot% является строка «C:Windows» (без кавычек). Какое значение будет иметь переменная s после выполнения в пакетном файле команды set s=%SystemRoot:~-3% ?

Перейти

Какой метод объекта FileSystemObject позволяет удалять файлы?

Перейти

С помощью какого варианта команды if можно проверить наличие определенной переменной среды?

Перейти

К какому типу относится класс Win32_Process?

Перейти

Какая из команд выведет список всех подкаталогов и файлов из корневого каталога диска C:, упорядоченный по времени последнего обращения к ним?

Перейти

Пусть $a=3. Какая из команд при выполнении выдаст сообщение «Значение переменной a равно 3»?

Перейти

Каким образом из сценария на языке VBScript провести связывание с корневым объектом класса Namespace для провайдера службы каталогов Windows NT?

Перейти

Требуется сформировать файл doc_info.txt со списком всех файлов с расширением doc, находящихся в папке «C:Мои документы» и всех ее подпапках. Какой командой можно это сделать?

Перейти

Требуется найти и сохранить в переменной $m суммарный размер файлов с расширением avi, хранящихся в каталоге C:Video и всех его подкаталогах. Какие команды решают эту задачу?

Перейти

Какое имя имеет сервер сценариев WSH для консольного режима?

Перейти

С помощью какой команды можно создать новый экземпляр класса Win32_Process (запустить новый процесс) с именем Notepad.exe?

Перейти

Какие части составляют архитектуру WMI?

Перейти

Какие форматы вывода поддерживает WMIC по умолчанию?

Перейти

С помощью какой команды можно получить информацию о названиях доступных политик выполнения?

Перейти

Какие средства позволяют напрямую обращаться к объектам .NET?

Перейти

Можно ли написать сценарий WSH на языке Perl?

Перейти

Какое средство автоматизации предлагает собственную объектную модель?

Перейти

Пусть текущим каталогом является C:folder1folder2folder3. Каким командами можно переместиться в корневой каталог диска C?

Перейти

Что выведется на экран в результате выполнения команды: echo 1111 > c:klop.txt & type c:klop.txt > nul && echo 2222 ?

Перейти

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

Перейти

Какое расширение может иметь файл со сценарием на языке VBScript?

Перейти

Какой цикл позволяет напрямую перебирать элементы коллекций в языке VBScript?

Перейти

Какой из объектов WSH позволяет получить доступ к переменным среды?

Перейти

Какой из объектов WSH позволяет создавать ярлыки для программ и документов?

Перейти

В каком свойстве хранится полный путь к каталогу, откуда был запущен сценарий?

Перейти

Пусть D – экземпляр объекта Drive, соответствующий логическому диску D:. В сценарии выполняется следующая строка (язык VBScript): n=D.TotalSize/(1024*1024). Чему после этого равно значение переменной n?

Перейти

С помощью каких методов можно удалить непустую папку?

Перейти

Пусть objCalc – экземпляр объекта WshScriptExec, соответствующий запущенному дочернему процессу calc.exe (Калькулятор Windows). С помощью какой команды на языке VBScript можно завершить работу данного экземпляра Калькулятора?

Перейти

Какой объект является корневым в объектной модели Microsoft Excel?

Перейти

Каким образом из сценария на языке VBScript провести связывание с локальной группой Group1 на рабочей станции Comp1 с операционной системой Windows XP?

Перейти

В каких случаях в сценарии может отсутствовать элемент <package>?

Перейти

Какой тег должен присутствовать в сценарии с разметкой XML, чтобы из этого сценария можно было пользоваться константами объекта FileSystemObject без их предварительного объявления в сценарии?

Перейти

В языке VBScript поддерживается функция InputBox, выводящее диалоговое графическое окно. Можно ли эту функцию вызывать напрямую в JScript-коде?

Перейти

Файлами какого типа представлены провайдеры WMI?

Перейти

Каким образом задается путь к объекту WMI, соответствующему службе Messenger, работающей на компьютере \comp1?

Перейти

Где хранятся записи контроля доступа к пространствам имен WMI?

Перейти

К какой группе принадлежит классCIM_LogicalFile?

Перейти

Как можно узнать, доступно ли определенное свойство объекта WMI для изменения с помощью метода Put_()?

Перейти

Допустим, что метод WMI имеет квалификаторы Implemented и Static со значением True. Что это означает?

Перейти

С помощью какой стандартной утилиты можно запустить процесс на удаленной машине, используя методы WMI?

Перейти

Какую утилиту из пакета WMI Tools можно использовать в качестве постоянного потребителя событий WMI?

Перейти

Какая библиотека отвечает за поддержку объектов-серверов автоматизации, позволяющих из сценария WSH работать с классами и объектами пространства имен WMI?

Перейти

Каким образом на локальной машине можно подключиться к пространству имен WMI от имени учетной записи, отличной от текущей учетной записи?

Перейти

Какие дополнительные привилегии нужно указывать при подключении к подсистеме WMI для перезагрузки удаленного компьютера?

Перейти

Какой класс WMI позволяет узнать дату установки операционной системы?

Перейти

Пусть в сценарии на языке VBScript присутствует строка Set objWMIService = GetObject(«WinMgmts:RootCIMV2). Каким образом в этом сценарии получить коллекцию служб, запущенных на локальном компьютере и имеющих ручной режим запуска?

Перейти

С помощью какого метода WMI можно принудительно завершить работу определенного процесса?

Перейти

Какая команда позволяет завершить сеанс работы в WMIC?

Перейти

Допустим, что нам необходимо подключиться к подсистеме WMI на удаленной рабочей станции \Comp1. Какой глобальный параметр WMIC следует для этого использовать?

Перейти

Пусть требуется узнать серийный номер операционной системы на компьютере \Comp1. Какие команды позволят это сделать?

Перейти

Допустим, что на локальном компьютере служба сервера (Lanmanserver) стартует автоматически при загрузке операционной системы. С помощью какой команды WMIC можно отключить данную службу?

Перейти

Какое из имен не соответствует шаблону наименования командлетов?

Перейти

Какая команда позволит увидеть, какому командлету соответствует псевдоним dir?

Перейти

Каким образом можно вывести краткую справку по командлету Get-Process?

Перейти

Какая из команд не будет автоматически дополнена до подходящего командлета (Start-Service) после нажатия клавиши <Tab>?

Перейти

Требуется узнать, какие свойства и методы имеют объекты, возвращаемые командлетом с псевдонимом dir. Какая команда позволяет сделать это?

Перейти

Какая из команд выведет список всех подкаталогов корневого каталога диска C:, начинающихся на букву «W»?

Перейти

Требуется вывести в виде списка всю доступную информация о файлах и подкаталогах корневого каталога диска C:. Какие команды решают эту задачу?

Перейти

Требуется получить текстовый файл C:cimv2.txt со списком имен всех классов WMI, зарегистрированных на локальном компьютере в пространстве имен RootCIMV2. Список должен быть упорядочен по алфавиту. Какие команды решают эту задачу?

Перейти

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

Перейти

Какая команда позволит увидеть свойства, имеющиеся у главного объекта сервера автоматизации Internet Explorer?

Перейти

Какая команда позволит увидеть методы, имеющиеся у статического класса System.Environment?

Перейти

Какая команда позволит увидеть значение свойства CurrentDirectory статического класса System.Environment?

Перейти

Какое расширение должны иметь сценарии PowerShell?

Перейти

Какая политика выполнения устанавливается в PowerShell по умолчанию?

Перейти

Какую команду нужно выполнить, чтобы разрешить запуск локальных сценариев без цифровой подписи?

Перейти

Какой метод или свойство позволяют получить коллецию всех пользователей определенной группы?

Перейти

Какие версии операционной системы Windows поддерживают оболочку PowerShell?

Перейти

В каком каталоге в Windows XP хранится файл cmd.exe?

Перейти

Каким образом из сценария на языке VBScript провести связывание с корневым объектом класса Namespace для провайдера службы каталогов Windows Active Directory?

Перейти

Какая из приведенных ниже строк ADsPath должна использоваться для связывания с локальным пользователем Ivanov на рабочей станции Comp1 с операционной системой Windows XP?

Перейти

Какой из методов позволяет вывести сообщение в диалоговое окно?

Перейти

Какая из приведенных ниже строк связывания может использоваться в службе каталогов Windows Active Directory?

Перейти

Какой режим выполнения будет установлен по умолчанию для сценариев WSH после выполнения команды cscript.exe //H:CScript?

Перейти

Каким образом можно вывести детальную справочную информацию по командлету Get-Process?

Перейти

Какой программный идентификатор (ProgID) имеет объект WshShell?

Перейти

Какой метод используется для записи в базу данных учетных записей информации о новом пользователе?

Перейти

Какие из указанных ниже элементов входят в схему WS XML?

Перейти

Каким образом можно с помощью WMIC принудительно завершить все запущенные экземпляры браузера Internet Explorer на локальной машине?

Перейти

Какие средства позволяют обращаться к объектам COM непосредственно из командной строки?

Перейти

С помощью какого метода можно имитировать нажатия клавиш в текущем сеансе командной строки?

Перейти

Какой символ используется для задания имени локального компьютера в пути к объектам WMI?

Перейти

Какое действие по умолчанию выполнит операционная система, если в Проводнике Windows дважды щелкнуть мышью на файле с расширением ps1?

Перейти

В каких версиях операционной системы Windows можно пользоваться командными файлами?

Перейти

Какие средства позволяют напрямую обращаться к объектам WMI?

Перейти

Какие средства автоматизации имеют встроенную справочную систему?

Перейти

Пусть в текущем каталоге на диске C: хранятся файлы с расширением vbs. Какими командами можно переместить эти файлы в каталог E:folder1 (с удалением первоначальных файлов)?

Перейти

Требуется сформировать файл ro _info.txt со списком всех файлов, имеющих атрибут «Только для чтения», которые находятся в папке «C:Мои документы» и всех ее подпапках. Какой командой можно это сделать?

Перейти

Какое расширение могут иметь командные файлы?

Перейти

Какой из объектов WSH позволяет протоколировать действия в журнале событий Windows?

Перейти

Пусть объект WshShell в сценарии на языке VBScript создан следующим образом: Set WshShell=WScript.CreateObject(«WScript.Shell»). Каким образом создать объект-коллекцию WshEnv, содержащую все переменные среды?

Перейти

Какой программный идентификатор (ProgID) имеет объект FileSystemObject?

Перейти

Пусть D – экземпляр объекта Drive, соответствующий логическому диску D:. В сценарии выполняется следующая строка (язык VBScript): n=D.FreeSpace/(1024*1024). Чему после этого равно значение переменной n?

Перейти

Пусть FSO – экземпляр объекта FileSystemObject. Каким образом можно создать временный текстовый файл со случайным именем (язык VBScript)?

Перейти

С помощью каких методов можно удалить непустую папку?

Перейти

Пусть objUser – экземпляр объекта User, соответствующий определенному пользователю. Каким образом изменить пароль этого пользователя на «11111111» (язык JScript)?

Перейти

В каких случаях в сценарии необходимо использовать элемент <package>?

Перейти

Какие теги могут использоваться для документирования сценария с разметкой XML?

Перейти

Можно ли в сценарии с разметкой XML использовать константы, определенные во внешних COM-объектах, обращаясь к ним по имени?

Перейти

За выполнение каких задач отвечает репозиторий CIM?

Перейти

Как можно узнать, доступен ли для выполнения определенный метод объекта WMI?

Перейти

Какая утилита из пакета WMI Tools позволяет создать фильтр событий WMI?

Перейти

Каким образом из сценария на языке VBScript создать экземпляр объекта SWbemLocator?

Перейти

Каким образом из сценария на языке VBScript можно подключиться к пространству имен CIMV2 на локальном компьютере?

Перейти

Какой из приведенных ниже моникеров WMI нужно использовать для подключения к пространству имен CIMV2 на рабочей станции \Comp1 с дополнительными привилегиями на выключение и удаленное выключение компьютера?

Перейти

Какой класс WMI позволяет принудительно завершить сеанс работы пользователя?

Перейти

Какие дополнительные привилегии нужно указывать при подключении к подсистеме WMI для перезагрузки локального компьютера?

Перейти

Какой запрос на языке WQL позволит получить набор всех служб с ручным режимом запуска?

Перейти

Пусть в сценарии на языке VBScript присутствует строка Set objWMIService = GetObject(«WinMgmts:RootCIMV2). Каким образом в этом сценарии получить коллекцию процессов, запущенных на локальном компьютере и начинающихся на букву «F»?

Перейти

Пусть коллекция colProcesses содержит экземпляры класса Win32_Process, отобранные по некоторому WQL-запросу. Каким образом принудительно завершить работу всех процессов, соответствующих этим экземплярам (язык VBScript)?

Перейти

Какой глобальный параметр позволяет сохранить во внешнем XML-файле c:wmic_out.xml историю команд WMIC?

Перейти

Каким образом можно, не прибегая к псевдонимам WMIC, увидеть информацию о всех свойствах и методах класса Win32_Service?

Перейти

Какие форматы вывода поддерживает WMIC по умолчанию?

Перейти

Пусть требуется узнать дату установки операционной системы на компьютере \Comp1. Какая команда позволят это сделать?

Перейти

Требуется получить упорядоченный по размеру список файлов из корневого каталога диска C:, размер которых больше 1 килобайта. Вверху списка должен быть самый большой файл. Какие команды решают эту задачу?

Перейти

Требуется вывести в виде списка всю доступную информацию о подкаталогах корневого каталога диска C:. Какие команды решают эту задачу?

Перейти

Требуется вывести в текстовый файл C:StoppedServices.txt информацию о всех остановленных службах (имя, отображаемое имя и состояние). Какие команды решают эту задачу?

Перейти

С помощью какой команды можно вывести на принтер с именем «HP2200» список запущенных процессов, упорядоченный по затраченному процессорному времени?

Перейти

Требуется получить текстовый файл C:default.txt со списком имен всех классов WMI, зарегистрированных на локальном компьютере в пространстве имен RootDefault. Список должен быть упорядочен по алфавиту. Какие команды решают эту задачу?

Перейти

Какая команда позволяет увидеть дату установки операционной системы на локальном компьютере?

Перейти

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

Перейти

Какая команда позволит увидеть свойства и методы, имеющиеся у главного объекта сервера автоматизации Internet Explorer?

Перейти

Пусть $a=3. Какая из команд при выполнении выдаст сообщение «Значение переменной a равно 3»?

Перейти

Пусть $a=3. Какая из команд при выполнении выдаст ровно одно сообщение «Значение переменной a равно 2»?

Перейти

Какие языки поддерживает WSH по умолчанию (без установки дополнительных модулей)?

Перейти

Какой объект библиотеки поддержки сценариев WMI позволяет подключиться к пространству имен WMI на локальной или удаленной машине?

Перейти

Какая из команд выведет список файлов и подкаталогов корневого каталога диска C:?

Перейти

С помощью какой команды можно сформировать файл C:s.htm с несколькими HTML-таблицами, содержащими краткие сведения о всех службах, зарегистрированных на локальном компьютере (одна таблица для каждой службы)?

Перейти

Какой класс WMI позволяет выключить удаленный компьютер?

Перейти

Пусть файл со сценарием на языке JScript имеет имя lib.js. Каким образом подключить этот файл к сценарию с разметкой XML?

Перейти

Какая команда WMIC используется для получения значений определенных свойств объектов WMI?

Перейти

С помощью каких символов можно перенаправить выходной поток команды во внешний файл с сохранением прежнего содержимого этого файла?

Перейти

Что выведется на экран в результате выполнения команды: echo 1111 > c:klop.txt & type c:klop.txt > nul & echo 2222 ?

Перейти

Какой метод позволяет считать строку из стандартного входного потока?

Перейти

Пусть FSO – экземпляр объекта FileSystemObject. Каким образом можно удалить файл C:1.txt (язык VBScript)?

Перейти

С помощью какого метода объекта FileSystemObject можно папку C:Folder1 переименовать в папку D:Folder2?

Перейти

С помощью какого метода можно запустить новый независимый процесс в сценарии WSH?

Перейти

Пусть objCalc – экземпляр объекта WshScriptExec, соответствующий запущенному дочернему процессу. Каким образом внутри сценария можно узнать, продолжает ли работать данный процесс?

Перейти

С помощью какого метода можно имитировать нажатия клавиш в активном окне приложения Windows?

Перейти

Какой провайдер ADSI используется для доступа к базе данных локальных учетных записей на рабочей станции Windows?

Перейти

Каким образом задается путь к объекту WMI, соответствующему процессу calc.exe, запущенному на компьютере \comp1?

Перейти

Допустим, что используя стандартные средства Windows, определенный пользователь не может перезагрузить локальный компьютер (не имеет соответствующих прав). Сможет ли он перезагрузить компьютер с помощью WMI?

Перейти

С помощью какой стандартной утилиты можно остановить службу на удаленной машине, используя методы WMI?

Перейти

Какой класс WMI позволяет узнать дату и время последней загрузки операционной системы?

Перейти

Каким образом в сценарии получить коллекцию процессов, запущенных на локальном компьютере и начинающихся на букву «F»?

Перейти

С помощью какой команды можно завершить сеанс работы в WMIC?

Перейти

Допустим, что на локальном компьютере служба сервера (Lanmanserver) запускается вручную. С помощью какой команды WMIC можно отключить данную службу?

Перейти

Какая команда позволит увидеть, какому командлету соответствует псевдоним copy?

Перейти

Какая из команд выведет список всех подкаталогов корневого каталога диска C:?

Перейти

Какой из объектов WSH позволяет запускать новые процессы?

Перейти

Каким образом из сценария на языке VBScript можно подключиться к пространству имен CIMV2 на компьютере \Comp1?

Перейти

Пусть в одном файле с разметкй XML задан сценарии на языках VBScript и JScript. Можно ли из VBScript-кода вызвать функцию, определенную на языке JScript?

Перейти

Какой объект библиотеки поддержки сценариев WMI позволяет удалять экземпляры классов в определенном пространстве имен WMI?

Перейти

Какие средства позволяют управлять приложениями-серверами автоматизации?

Перейти

Какие из средств автоматизации поддерживают работу в интерактивном режиме?

Перейти

Какой командой интерпретатора Cmd.exe можно создать файл Dir_Help.txt с описанием команды DIR?

Перейти

Какой из объектов WSH позволяет получить доступ к стандартным потокам ввода/вывода (StdIn/StdOut)?

Перейти

Каким образом в сценарии на языке JScript можно создать экземпляр объекта FileSystemObject?

Перейти

Каким образом в сценарии WSH можно сымитировать нажатие клавиши <Enter> в текущем сеансе командной строки?

Перейти

Допустим, что класс WMI имеет квалификатор SupportsUpdate со значением True. Что это означает?

Перейти

Каким образом из сценария на языке VBScript можно подключиться к пространству имен CIMV2 на локальном компьютере?

Перейти

С помощью какой команды можно вывести имена всех процессов, запущенных в системе, и пути к исполняемым файлам, соответствующим этим процессам в формате CSV (значения свойств разделены запятыми)?

Перейти

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

Перейти

Какой объект является корневым в объектной модели Microsoft Word?

Перейти

Пусть $a=3. Какая из команд при выполнении выдаст ровно одно сообщение «Значение переменной a равно 4»?

Перейти

Допустим, что класс WMI имеет квалификатор SupportsDelete со значением True. Что это означает?

Перейти

Какая команда позволяет принудительно завершить сеанс работы пользователя на рабочей станции \Comp1?

Перейти

Какой объект необходимо использовать в языке JScript для перебора элементов коллекций?

Перейти

Требуется вывести в текстовый файл C:RunningServices.txt информацию о всех службах, работающих на компьютере (имя, отображаемое имя и состояние). Какие команды решают эту задачу?

Перейти

Какие языки можно использовать для написания сценариев PowerShell?

Перейти

Какая команда запускает сценарий 1.vbs в текстовом режиме без вывода информации о версии и разработчике WSH?

Перейти

Какой глобальный параметр позволяет обращаться из оболочки WMIC к пространству имен WMI на удаленном компьютере?

Перейти

Какой исполняемый файл обеспечивает функциональность менеджера CIMOM?

Перейти

С помощью какой команды можно вывести на принтер, используемый в системе по умолчанию, список запущенных процессов, упорядоченный по затраченному процессорному времени?

Перейти

Из каких основных компонентов состоит ядро WMI?

Перейти

Какой язык поддерживает WSH по умолчанию (без установки дополнительных модулей)?

Перейти

Имеется сценарий script.vbs. Какое имя будет иметь файл с параметрами WSH для этого сценария?

Перейти

Какие из приведенных ниже элементов могут содержаться внутри элемента <runtime> в схеме WS XML?

Перейти

Сколько дочерних классов может иметь тот или иной класс в пространстве имен CIM?

Перейти

Каким образом из сценария WSH можно подключиться к определенному пространству имен WMI?

Перейти

С помощью какой команды можно сформировать файл C:s.htm с одной HTML-таблицей, содержащей краткие сведения о всех службах, зарегистрированных на локальном компьютере?

Перейти

Какой командлет позволяет узнать текущую политику выполнения?

Перейти

Какой тип команд PowerShell реализуется в виде динамических библиотек?

Перейти

С помощью какого варианта команды if можно проверить наличие определенного файла?

Перейти

Пусть текущим каталогом является C:folder1folder2folder3. Какой командой можно удалить файл 123.txt в каталоге folder1?

Перейти

Пусть FSO – экземпляр объекта FileSystemObject. Каким образом можно создать временный текстовый файл со случайным именем (язык VBScript)?

Перейти

Пусть значением переменной %SystemRoot% является строка «C:Windows» (без кавычек). Какое значение будет иметь переменная s после выполнения в пакетном файле команды set s=%SystemRoot:C:=D:% ?

Перейти

Пожалуй, многие знают, что Windows начиная с версии 98 имеет по умолчанию в своем составе Windows Script Host (WSH), который позволяет исполнять скрипты на языках VBScript и JScript, но далеко не каждый хотя бы раз пользовался этой возможностью. В этой статье я приведу примеры полезных сниппетов и скриптов для WSH и попробую убедить вас в том, что вещь это действительно стоящая. Я также расскажу об очень занимательных и полезных возможностях WSH, о которых практически никто не знает, и информацию о которых в интернете найти весьма непросто.

Для начала немного о языках, поддерживающихся WSH. JScript — это, по сути, JavaScript с несколько измененной объектной моделью (например, в нем нет объекта window, как в браузерах, зато добавлен объект WScript, позволяющий взаимодействовать со средой, в которой исполняется скрипт). VBScript базируется на синтаксисе и возможностях Visual Basic 6 (и, возможно, более ранних версий). Оба языка имеют приблизительно одинаковые возможности. Кроме того, можно установить и другие языки для WSH, например, PerlScript, который, как вы уже догадались, базируется на Perl’е. Для этого следует воспользоваться, например, инсталлятором ActiveState Perl:

В Windows по умолчанию расширение файла .js ассоциировано с JScript-скриптами, .vbs — с VBScript. При установке PerlScript появляется ассоциация .pls — с PerlScript-скриптами. Скрипты js и vbs можно закодировать с помощью утилиты от Microsoft screnc.exe, получив на выходе файл с расширением .jse или .vbe, соответственно. К сожалению, такое кодирование защитит лишь от неопытных пользователей — множество раскодировщиков можно найти в Google. Кроме того, при закодировании бывают проблемы с русским текстом.

Еще одной замечательной особенностью WSH является то, что он позволяет комбинировать все установленные в системе скриптовые языки в одном файле с расширением .wsf. Например, VBScript предоставляет функцию, отображающую окошко для ввода текста (InputBox), и она вам очень нужна, но скрипт свой вы пишете на JScript, который такой функцией не располагает. Решается проблема очень просто — создать файл wsf со следующим содержанием:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<?xml version=«1.0» encoding=«windows-1251»?>

<job id=«MyTestJob»>

    <script language=«VBScript»>

    <![CDATA[

        Function WSHInputBox(Message, Title, Value)

            WSHInputBox = InputBox(Message, Title, Value)

        End Function

    ]]>

    </script>

    <script language=«JScript»>

    <![CDATA[

      //Ваш код на JS

      var name = WSHInputBox(«Введите ваше имя:», «Запрос», «Вася Пупкин»);

      WScript.Echo(«Имя: « + name);

    ]]>

    </script>

</job>

Таким же образом можно скомбинировать, например, JScript и PerlScript, если PerlScript у вас установлен:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<?xml version=«1.0» encoding=«windows-1251»?>

<job id=«MyTestJob»>

    <script language=«PerlScript»>

    <![CDATA[

      use strict;

      our $WScript;

      use LWP::UserAgent;

      sub do_request

      {

        my $lwp = new LWP::UserAgent;

        my $response = $lwp->get($_[0]);

        if($response->is_success)

        {

          return $response->headers->as_string;

        }

        else

        {

          return $response->error_as_HTML;

        }

      }

    ]]>

    </script>

    <script language=«JScript»>

    <![CDATA[

      WScript.Echo(do_request(«http://ya.ru»));

    ]]>

    </script>

</job>

Небольшое отступление — расскажу о запуске скриптов для WSH. По двойному клику мышкой они по умолчанию запускаются с помощью программы wscript.exe. В этом случае все вызовы WScript.Echo транслируются в обычные messagebox’ы. Если вы используете скрипт для автоматизации какого-либо процесса, например, сборки какого-либо проекта, и желаете выводить множество сообщений, то следует скрипт запускать с помощью программы cscript.exe, которая обращения к WScript.Echo транслирует в выводы в консоль. Запустить скрипт в консольном варианте можно, создав bat-файл с примерно таким содержимым:

@echo off

cscript my_script.wsf [параметры]

pause

Можно также кликнуть на файле скрипта и вызвать меню «Open with command prompt».

Возможно, я кого-то удивлю, если скажу, что из скриптов для WSH можно с легкостью использовать классы .NET! Приведу пример на JScript (js-файл):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

function vote_form()

{

  //Создаем объект формы и всякие контролы

  this.form = WScript.CreateObject(«System.Windows.Forms.Form»);

  this.radioButton1 = WScript.CreateObject(«System.Windows.Forms.RadioButton»);

  this.radioButton2 = WScript.CreateObject(«System.Windows.Forms.RadioButton»);

  this.radioButton3 = WScript.CreateObject(«System.Windows.Forms.RadioButton»);

  this.radioButton4 = WScript.CreateObject(«System.Windows.Forms.RadioButton»);

  this.button1 = WScript.CreateObject(«System.Windows.Forms.Button»);

  this.button2 = WScript.CreateObject(«System.Windows.Forms.Button»);

  this.linkLabel1 = WScript.CreateObject(«System.Windows.Forms.LinkLabel»);

  //Настраиваем контролы

  with(this.radioButton1)

  {

    Parent = this.form;

    Checked = true;

    Left = 12;

    Top = 12;

    Width = 110;

    Height = 17;

    TabStop = true;

    Text = «VBScript»;

  }

  with(this.radioButton2)

  {

    Parent = this.form;

    Left = 12;

    Top = 35;

    Width = 110;

    Height = 17;

    TabStop = true;

    Text = «JScript»;

  }

  with(this.radioButton3)

  {

    Parent = this.form;

    Left = 12;

    Top = 58;

    Width = 110;

    Height = 17;

    TabStop = true;

    Text = «PerlScript»;

  }

  with(this.radioButton4)

  {

    Parent = this.form;

    Left = 12;

    Top = 81;

    Width = 110;

    Height = 17;

    TabStop = true;

    Text = «Единая Россия»;

  }

  with(this.button1)

  {

    Parent = this.form;

    Left = 12;

    Top = 112;

    Width = 85;

    Height = 23;

    Text = «Да!»;

    DialogResult = 1;

  }

  with(this.button2)

  {

    Parent = this.form;

    Left = 125;

    Top = 112;

    Width = 85;

    Height = 23;

    Text = «Идите вы!»;

    DialogResult = 0;

  }

  with(this.linkLabel1)

  {

    Parent = this.form;

    Left = 167;

    Top = 9;

    Width = 45;

    Height = 15;

    Text = «kaimi.io»;

  }

  //настраиваем форму

  with(this.form)

  {

    Width = 222;

    Height = 125;

    Text = «Какой язык вам больше по душе?»;

    AutoSize = true;

    FormBorderStyle = 5; //FixedToolWindow

    CancelButton = this.button1;

    CancelButton = this.button2;

  }

  //Отобразить форму и вернуть true, если пользователь нажал на первую кнопку

  this.show = function()

  {

    this.form.ShowDialog();

    return this.form.DialogResult == 1;

  };

  //Получить выбранный результат (см. выше, на форме 4 radio button’а)

  this.result = function()

  {

    if(this.radioButton1.Checked)

      return this.radioButton1.Text;

    else if(this.radioButton2.Checked)

      return this.radioButton2.Text;

    else if(this.radioButton3.Checked)

      return this.radioButton3.Text;

    else if(this.radioButton4.Checked)

      return this.radioButton4.Text;

  };

};

//Создаем форму

var my_form = new vote_form;

//Предлагаем пользователю сделать выбор

while(true)

{

  if(my_form.show())

  {

    WScript.Echo(«Вы выбрали: « + my_form.result());

    break;

  }

  else

  {

    WScript.Echo(«Ну как же так, надо же выбрать!»);

  }

}

Выполнив этот скрипт, увидим такую форму:

И все это создано с помощью .NET-классов! Есть, правда, в этом некоторые сложности. Во-первых, я не нашел путей для взаимодействия с делегатами, которые используются при обработке событий в .NET. Во-вторых, не существует способа вызвать через CreateObject конструктор COM-объекта, принимающий параметры (это относится не только к .NET, кстати). В-третьих, по умолчанию в скриптах доступны лишь некоторые .NET-сборки и классы:

System.Collections.Queue
System.Collections.Stack
System.Collections.ArrayList
System.Collections.SortedList
System.Collections.Hashtable
System.IO.StringWriter
System.IO.MemoryStream
System.Text.StringBuilder
System.Random

С другой стороны, опубликовать .NET-сборку, чтобы она стала доступной через COM-интерфейсы (которые и используются в WSH), совсем несложно. Если вышеприведенный скрипт с Windows Forms у вас не заработал (что, скорее всего, так и есть), наберите в консоли команду:

%WINDIR%Microsoft.NETFrameworkv2.0.50727RegAsm.exe System.Windows.Forms.dll /codebase

либо, если вы пользуетесь 64-битной операционной системой, то

%WINDIR%Microsoft.NETFramework64v2.0.50727RegAsm.exe System.Windows.Forms.dll /codebase

Эта команда опубликует сборку System.Windows.Forms и она станет доступной через COM-интерфейсы, после чего вы сможете использовать классы из нее в скриптах. К сожалению, не все сборки можно зарегистрировать, а только те, которые имеют аттрибут ComVisible=true (если такой аттрибут у сборки есть, об этом говорится на соответствующих страницах с описанием сборки в MSDN).

Для отмены регистрации сборки выполните приведенную выше команду с ключом /unregister.

Что еще следует знать при использовании .NET-сборок? Часто классы в .NET имеют перегруженные функции с одинаковыми именами и разными типами и количеством параметров. Как вызывать их? Ведь переменные в скриптах практически не типизируются! Все очень просто. Например, возьмем класс System.Random. Он уже зарегистрирован по умолчанию и доступен из WSH. Но он имеет три метода с именем Next. Как вызвать нужный? .NET маппит имена одинаковых методов следующим образом: первый с конца в таблице методов имеет имя Next (в данном случае), следующий — Next_2, далее — Next_3. Где увидеть эту таблицу с правильным порядком функций? Например, в ildasm’е:

Здесь я открыл сборку mscorlib.dll из %WINDIR%Microsoft.NETFramework64v2.0.50727, после чего зашел в неймспейс System и нашел класс Random в нем. Теперь ясно — если мы хотим воспользоваться методом Next, предоставляющим возможность указать минимальное и максимальное значение при генерации рандома, то следует вызвать Next_2 (так как этот метод второй с конца в списке методов Next, смотрите скриншот выше):

var random = WScript.CreateObject(«System.Random»);

WScript.Echo(random.Next_2(10, 20)); //выводим рандомное число в диапазоне от 10 до 20

Еще одной из интересных возможностей скриптов для WSH является поддержка drag-drop’а. На файлы .js, .vbs, .jse, .vbe, .wsf можно перетаскивать другие файлы, и их имена будут доступны через WScript.Arguments.

Итак, подведем итоги. Чем же примечательно написание скриптов на JScript, VBscript или PerlScript? Почему это лучше и проще bat-файлов или PowerShell’а?

[+] Вы сами выбираете знакомый любимый синтаксис. Предпочитаете JavaScript — пишите на нем, обожаете Visual Basic — тогда VBScript для вас!
[+] Вы можете комбинировать эти языки в одном скрипте, тем самым дополняя возможности одного языка фичами другого.
[+] Вам доступны все стандартные особенности выбранного языка. Поддержка выполнения внешних программ, работа с текстовыми и двоичными файлами, регулярные выражения и многое другое прилагается. Поддержка работы с файлами по маске, с сетевыми путями (samba, например) — тоже.
[+] Вы можете использовать множество зарегистрированных COM-классов.
[+] Вы можете использовать многие COM-Visible .NET-сборки.
[+] Вы можете работать с WMI, так как он доступен через COM.
[+] Имеется полная поддержка Unicode, достаточно сохранить файл как Unicode Little Endian.

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

Сейчас мне остается лишь привести несколько полезных сниппетов, которые пригодятся вам, если вы решите использовать WSH для написания скриптов, производящих автоматическую сборку проектов/парсинг/работу с файлами и т.д. Для примера я буду использовать свой любимый JScript, потому что он имеет наиболее привычный синтаксис и будет понятен большинству из вас. Кроме того, в JScript удобно перехватывать исключения, которые могут быть выброшены функциями COM-классов и объекта WScript, с помощью try-catch. Можно и самим бросать исключения (это штатная возможность языка JavaScript, и, разумеется, она есть в JScript).

1. Работаем с файловой системой.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

var fso = WScript.CreateObject(«Scripting.FileSystemObject»); //Создаем объект, позволяющий работать с файловой системой

fso.CopyFile(«xx.txt», «yy.txt»); //копируем xx.txt в yy.txt

fso.CopyFile(«C:\Test\*.exe», «C:\test2\»); //копируем все exe-файлы из C:Test в C:test2

fso.DeleteFile(«xx.txt»); //Удаляем xx.txt

fso.DeleteFile(«*.*»); //Удаляем все файлы из текущей папки

if(!fso.FolderExists(«C:\Temp123»))

  fso.CreateFolder(«C:\Temp123»); //Создаем папку, если она не существует

//Перечисляем имена всех подпапок на диске C:

var folder = fso.GetFolder(«C:\»);

if(folder)

{

  var it = new Enumerator(folder.SubFolders);

  for(; !it.atEnd(); it.moveNext())

    WScript.Echo(it.item().path);

}

2. Работаем с переменными окружения.

var shell = WScript.CreateObject(«WScript.Shell»);

WScript.Echo(shell.ExpandEnvironmentStrings(«Windows folder: %WINDIR%»)); //Получаем значение переменной окружения

//Проверяем, установлена ли переменная окружения

var check = «%VS100COMNTOOLS%»;

if(shell.ExpandEnvironmentStrings(check) != check)

  WScript.Echo(«У вас установлена Visual Studio 2010!»);

else

  WScript.Echo(«У вас нет Visual Studio 2010 :(«);

3. Выполнение внешних программ.

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

try

{

  var shell = WScript.CreateObject(«WScript.Shell»);

  var ret = shell.Run(«calc.exe», 1, true); //Выполняем calc.exe

  WScript.Echo(«Код возврата: « + ret);

}

catch(error)

{

  WScript.Echo(«Код ошибки: « + error.number + «n» + error.description);

}

Выполнение внешней программы с перехватом ее вывода:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

try

{

  var shell = WScript.CreateObject(«WScript.Shell»);

  var exec = shell.Exec(«find.exe /?»); //Выполняем find.exe с параметром

  while(exec.Status == 0) //Ждем окончания выполнения команды

    WScript.Sleep(100);

  if(exec.ExitCode != 0) //Если произошла ошибка (обычно все консольные программы в случае ошибки возвращают ненулевое значение, но не всегда)

    throw new Error(exec.ExitCode, «Cannot execute command!»);

  var output = «»;

  if(!exec.StdOut.AtEndOfStream)

    output = exec.StdOut.ReadAll(); //Перехватываем вывод выполненной программы

  WScript.Echo(«FIND.EXE help:nn» + output);

}

catch(error)

{

  WScript.Echo(«Код ошибки: « + error.number + «n» + error.description);

}

Можно также вводить какие-либо данные в программу через Exec.StdIn.

4. Работаем с реестром Windows.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

var shell = WScript.CreateObject(«WScript.Shell»);

//Создаем в ветке HKCUSoftware каталог Test123WScriptTest.

//Обратите внимание на то, что в конце пути я указал обратный слеш

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

shell.RegWrite(«HKCU\Software\Test123\WScriptTest\», 1, «REG_BINARY»);

//Создаем в этом каталоге строковое значение

shell.RegWrite(«HKCU\Software\Test123\WScriptTest\myvalue», «xyz», «REG_SZ»);

//Меняем значение тем же вызовом

shell.RegWrite(«HKCU\Software\Test123\WScriptTest\myvalue», «12345», «REG_SZ»);

//Читаем записанное значение

WScript.Echo(«Записанное значение: « + shell.RegRead(«HKCU\Software\Test123\WScriptTest\myvalue»));

//Так как нельзя удалить каталог в реестре с вложенными каталогами,

//удаляем сначала вложенный

shell.RegDelete(«HKCU\Software\Test123\WScriptTest\»);

//А затем внешний

shell.RegDelete(«HKCU\Software\Test123\»);

5. Работаем с WMI.

Перечисляем все вложенные ключи реестра в заданной ветке:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

//Необходимые константы для доступа к реестру

var HKEY_CLASSES_ROOT = 0x80000000;

var HKEY_CURRENT_USER = 0x80000001;

var HKEY_LOCAL_MACHINE = 0x80000002;

var HKEY_USERS  = 0x80000003;

var HKEY_CURRENT_CONFIG = 0x80000005;

var locator = WScript.CreateObject(«WbemScripting.SWbemLocator»);

//Подключимся к WMI локального компьютера

var server_conn = locator.ConnectServer(null, «root\default»);

//Получим доступ к реестру

var registry = server_conn.Get(«StdRegProv»);

//Получим метод перечисления ключей

var method = registry.Methods_.Item(«EnumKey»);

//Зададим параметры для вызова метода

var input_params = method.InParameters.SpawnInstance_();

input_params.hDefKey = HKEY_CURRENT_USER;

//Будем перечислять все ключи в этой ветке реестра

input_params.sSubKeyName = «Software\Microsoft\Windows\CurrentVersion\»;

//Выполняем метод перечисления ключей

var output = registry.ExecMethod_(method.Name, input_params);

var subkeys = output.sNames.toArray();

//Выводим полученные значения

for(var key in subkeys)

  WScript.Echo(subkeys[key]);

Такую вещь на VBScript можно сделать гораздо проще, как ни странно:

const HKEY_CLASSES_ROOT = &H80000000

const HKEY_CURRENT_USER = &H80000001

const HKEY_LOCAL_MACHINE = &H80000002

const HKEY_USERS  = &H80000003

const HKEY_CURRENT_CONFIG = &H80000005

‘Получили доступ к локальному реестру через WMI

Set registry = GetObject(«winmgmts:{impersonationLevel=impersonate}!\.rootdefault:StdRegProv»)

Перечислили имена ключей

registry.EnumKey HKEY_CURRENT_USER, «SoftwareMicrosoftWindowsCurrentVersion», key_names

‘Вывели их

For i = 0 To UBound(key_names)

  WScript.Echo key_names(i)

Next

Выполнение запроса WMI (в этом примере — вывод всех аккаунтов на компьютере):

//Подключились к WMI локального компьютера («.»)

var root = GetObject(«winmgmts:\\.\root\cimv2»);

//Выполнили запрос на получение всех локальных аккаунтов на компьютере

var items = root.ExecQuery(«SELECT * FROM Win32_Account where LocalAccount = true and SIDType = 1»);

//Вывели их имена и описания

for(var it = new Enumerator(items); !it.atEnd(); it.moveNext())

  WScript.Echo(it.item().Name + » — « + it.item().Description);

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

Для дальнейшего изучения могу посоветовать MSDN (там есть множество документации по WSH, и, конечно же, .NET и WMI), и Google (примеров скриптов для WSH там несчетное количество). Удачи в изучении!


Форум программистов Vingrad

Модераторы: ginnie, korob2001

Поиск:

Ответ в темуСоздание новой темы
Создание опроса
> perl + wsh, есть ли модуль для подключения объектов 

:(

   

Опции темы

burakov
Дата 27.5.2009, 09:16 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет

Добрый день…

часто в интернете натыкаешься на следующее

Цитата
Во-первых, VBScript и JScript — это полноценные алгоритмические языки, имеющие встроенные функции и методы для обработки символьных строк, выполнения математических операций, обработки исключительных ситуаций и т. д.; 

кроме того, для написания сценариев WSH может использоваться любой другой язык сценариев (например, широко распространенный в Unix-системах Perl), для которого установлен соответствующий модуль поддержки.

попытался найти на http://ppm.activestate.com/
ничего не нашел

Может ли перл работать со встроенными в  WSH Объектами, функциями и всяко разно?
и с помощью какого МОДУЛЯ ПОДДЕРЖКИ ? smile (лучше бы конечно какой нибудь примерчик)

———————

Нотный архив http://libnote.ru скачать ноты бесплатно

PM MAIL   Вверх
KSURi
Дата 27.5.2009, 09:47 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 5
Всего: 27

Почти все (а может и все) встроенные механизмы автоматизации Windows доступны через OLE интерфейсы.

Код

my $wsh = Win32::OLE->new('WScript.Shell');
# ...

———————

Died at Life.pl line 21

PM Jabber   Вверх
burakov
Дата 27.5.2009, 15:34 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет

Почему то не работает 
$wsh -> Sleep (800); 

Почему???

Если вставить perlовый sleep 1;
то работает, но секунда много как сделать задержку меньшую…
Спасибо.

Код

use strict;
use warnings;
use Win32::OLE;

my @str = (1..10);

my $wsh = Win32::OLE->new ('WScript.Shell'); 
$wsh -> Run ('Notepad', 1);
$wsh -> AppActivate ('Безымянный - Блокнот');
$wsh -> Sleep (800); 

foreach (@str) {
    $wsh -> Sleep (800); 
    $wsh -> SendKeys ("$_"); 
}

Это сообщение отредактировал(а) burakov — 27.5.2009, 15:47

———————

Нотный архив http://libnote.ru скачать ноты бесплатно

PM MAIL   Вверх
shamber
Дата 27.5.2009, 15:48 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Эксперт
***

Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 1
Всего: 18

burakov, Time::HiRes?

PM MAIL Jabber   Вверх
burakov
Дата 27.5.2009, 16:20 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет

Да Time::HiRes помог…

и все таки отчего не работает $wsh -> Sleep (800)?

Пытается задержать не тот интерпретатор?

Спасибо.

Это сообщение отредактировал(а) burakov — 27.5.2009, 16:35

———————

Нотный архив http://libnote.ru скачать ноты бесплатно

PM MAIL   Вверх
KSURi
Дата 27.5.2009, 21:43 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 5
Всего: 27

burakov, для таких задач лучше наверное VB[SA] подойдет)

———————

Died at Life.pl line 21

PM Jabber   Вверх



















Ответ в темуСоздание новой темы
Создание опроса
Правила форума «Perl: Системное программирование»
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O’REILLY, The source for Perl
  • Справочное руководство «Установка perl-модулей», можно скачать здесь

  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »

Компонент 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

Рубрика:

Программирование / 
Автоматизация

  | Дополнительные материалы

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

АНДРЕЙ БИРЮКОВ

Управляем серверами в реальном времени с помощью WSH-сценариев

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

Вместо предисловия

На тему использования различных сценариев в задачах системного администрирования уже написана масса всевозможных статей. Особенно это касается Linux/UNIX-операционных систем, обладающих мощными языками сценариев, которые позволяют выполнять большое количество различных административных задач.

А что же Windows? В Windows имеется WSH – Windows Script Host, это основной инструмент для всех административных сценариев, поскольку все административные сценарии выполняются внутри WSH. Сценарии WSH можно писать на языках Jscript .NET, VBScript, Perl, Python и REXX. В данной статье все примеры сценариев приводятся на VBScript.

Документация по WSH предлагает использовать сценарии преимущественно для сбора информации о системе, работы с файловой системой или изменении различных системных настроек. Однако сегодня мы поговорим об использовании сценариев для автоматизированного мониторинга и управления Windows-серверами.

Постановка задачи

Причина, по которой возникла необходимость в написании сценария для автоматизированного управления Windows-серверами, довольно проста, особенно в свете недавних проблем с подачей электропитания. У заказчика имелось несколько серверов Windows 2003, и требовалось организовать бесперебойное электропитание на основе APC UPS. В комплекте с UPS поставлялось программное обеспечение, в состав которого входил агент для взаимодействия с UPS. Один из серверов подключался к источнику бесперебойного питания через COM-порт и на этом сервере был установлен агент, который в случае отключения питания должен был корректно завершить работу сервера. А вот на остальных серверах такой агент без подключения к источнику через СОМ-порт не работал, и следовательно, эти сервера в случае исчезновения питания проработали бы ровно столько, насколько хватило бы заряда аккумулятора, а потом просто отключатся, что, очевидно, совсем не хорошо. Компания-производитель предлагает в качестве решения проблемы приобрести специальное оборудование, проще говоря, СОМ-свитч, однако в силу ряда причин нас подобный вариант не устроил.

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

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

Читаем журнал событий (Event Log)

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

Рисунок 1. Журнал событий Event Log, содержащий сообщения от агента источника бесперебойного питания

Рисунок 1. Журнал событий Event Log, содержащий сообщения от агента источника бесперебойного питания

При отключении питания в журнале событий появляется сообщение следующего вида (см. рис. 2).

Рисунок 2. Сообщение об отключении основного питания

Рисунок 2. Сообщение об отключении основного питания

При восстановлении питания агент создаст в журнале событий следующее сообщение (см. рис. 3).

Рисунок 3. Сообщение о восстановлении основного питания

Рисунок 3. Сообщение о восстановлении основного питания

Итак, мы определили, как выглядят сообщения, отправляемые агентом источника бесперебойного питания. В журнале событий нам необходимо искать сообщения с полем Description вида: «UPS On Battery» или «Utility Power Restored», которые будут сигнализировать о потере питания и его восстановлении соответственно.

Реализация поиска данных сообщений в журнале событий может выглядеть, например, вот так:

Листинг 1. Поиск сообщений в журнале событий

Option Explicit

Dim objWMI, objItem ‘ Objects // Объявляем переменные

Dim strComputer

Dim  intRecordNum, intRec, colLoggedEvents

Dim strAdmin, strAdmin2, i, intrecordNum2, iteration

‘ WMI Core Section

// Сервер, на котором выполняется сценарий

strComputer=»127.0.0.1″

Set objWMI = GetObject(«winmgmts:» _

& «{impersonationLevel=impersonate}!\» _

& strComputer & «rootcimv2»)

iteration=2 // счетчик итераций

// искомые строки – отключение питания

strAdmin = «UPS On Battery»

// искомые строки – восстановление питания

strAdmin2 = «Utility Power Restored»

Do While 1=1 // цикл бесконечный

    // запрос по журналу событий. Раздел Applications

    Set colLoggedEvents = objWMI.ExecQuery («Select * from Win32_NTLogEvent Where Logfile = ‘Application'» )

    // счетчики записей

    intRecordNum=0 // счетчик найденных записей

    intRec=0 // счетчик всех записей

    intRecordNum2=0

       For Each objItem in colLoggedEvents

           // ищем первое вхождение записи

           // на отключение

           If intRecordNum=0 Then

           If InStr(1,objItem.message,strAdmin,1) Then intRecordNum = intRec+1

           End If

           // ищем первое вхождение записи

           // на восстановление

           If intRecordNum2=0 Then

           If InStr(1,objItem.message,strAdmin2,1) Then intRecordNum2 = intRec +1

           End If

           intRec=intrec+1

           // если все нашли, выходим из цикла

           If intRecordNum>0 AND intrecordNum2>0 Then Exit For

       Next

       / если не нашли записей об отключении,

       // то и записи о восстановлении не нужны

       If intrecordNum=0 Then intRecordNum2=0

       If iteration=0 Then    

       shutdown 

       // а здесь будет находиться ссылка на процедуру

       // отключения питания на других серверах

       End If

       If intrecordNum<intrecordNum2  Then

           iteration=iteration-1

       End If

       If intrecordNum2=0  Then

           If intRecordNum>0 Then iteration=iteration-1

       End If

    loop

WScript.Sleep 10000 // Задержка перед следующей итерацией

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

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

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

Также следует обратить внимание на последнюю команду сценария, которая определяет период бездействия цикла перед выполнением итерации, в миллисекундах. Указанный в листинге интервал в десять секунд на практике скорее всего окажется крайне мал. Опыт показывает, что интервал должен быть не менее минуты, так как уже в течении одной минуты любой источник бесперебойного питания просто обязан держать напряжение. К тому же поиск по всему журналу событий может отнимать довольно значительные ресурсы системы. Для борьбы с этим можно рекомендовать понизить приоритет процесса со «среднего» на «ниже среднего».

Вообще читателю, искушенному в программировании, алгоритм, приведенный в Листинге 1, может показаться немного странным и нуждающимся в доработке. Такое мнение будет вполне справедливо, так как, составляя алгоритм, я, основываясь на своем опыте, сделал ряд допущений, тем самым существенно его упростив и сделав более удобочитаемым, не в ущерб качеству. Но, возможно, в вашем конкретном случае потребуется что-либо доработать или исправить. Однако продолжим, следующим этапом у нас будет процедура отключения питания.

Отключаем сервера

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

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

Листинг 2. Процедура отключения питания

Sub Shutdown

On Error Resume Next // если ошибка, переходим к следующему

Dim arrComputers, objLocator

Dim login, password, domain

// Перечисляем имена серверов, которые должны быть выключены

 arrComputers = Array(«Computer1″,»Computer2″,»Computer3»)

login=»operator» // учетная запись с правом на shutdown

password=»password» // пароль

domain=»TEST» // домен

For Each strComputer In arrComputers

    Set objLocator = CreateObject(«WbemScripting.SWbemLocator»)

    Set objWMIService = objLocator.ConnectServer(strComputer, «rootcimv2», login, password, domain)

    Set colOperatingSystems = objWMIService.ExecQuery («Select * from Win32_OperatingSystem»)

    For Each objOperatingSystem in colOperatingSystems

           // непосредственно shutdown

           ObjOperatingSystem.Shutdown(1)

    Next

    // после отключения уведомим администратора

    sendmail(strComputer)     

Next

WScript.Quit // сценарий завершает свою работу

End Sub

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

Также в тексте мы встречаем упоминание о процедуре отправки сообщений администратору или службе технической поддержки. В качестве параметра данной процедуре передается имя отключенного сервера.

Рассмотрим процесс отправки уведомлений более подробно.

Отправляем уведомления

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

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

Итак, обосновав необходимость отправки уведомления, приступим к описанию практической реализации. Современные технологии связи позволяют различные способы уведомления администратора о различных событиях в сети. Например, мне приходилось слышать о системе, которая в случае возникновения внештатной ситуации звонила админу по заранее заданному телефону и проигрывала mp3-файл, содержавший голосовую информацию. Но в такие крайности мы вдаваться не будем – отправим уведомление при помощи электронной почты. В принципе, с помощью того метода, который будет описан далее, наверняка можно отправлять и ICQ-сообщения и даже SMS (хотя из-за различных ограничений, введенных операторами сотовой связи, это сделать будет крайне затруднительно).

Раньше для отправки сообщений посредством сценариев Windows использовался почтовый клиент Outlook. При этом применялся сценарий следующего вида:

Листинг 3. Отправка письма с помощью Outlook

Dim OutlookObject, OutMail

Set OutlookObject = CreateObject(«Outlook.Application»)

Set OutMail = OutlookObject.CreateItem(0)

OutMail.to = «test@test.ru»

OutMail.Subject = «Тема сообщения»

OutMail.Body = «Тело сообщения»

OutMail.Send

Рисунок 4. Запрос на отправку сообщения

Рисунок 4. Запрос на отправку сообщения

К тому же практически любой антивирус заблокирует работу сценария.

По понятным причинам нас это совершенно не устраивает. Но существует другой способ отправки почтовых сообщений сценарием. Данная процедура была найдена мной в MSDN [1].

Листинг 4. Отправка письма

// Получаем в качестве параметра имя сервера

Sub sendmail(server)

// Инициализируем переменные

Dim iMsg

Dim iConf

Dim Flds

Dim str

Const cdoSendUsingPickup = 1

Set iMsg = CreateObject(«CDO.Message»)

Set iConf = CreateObject(«CDO.Configuration»)

// Подготавливаем поля для отправки по SMTP

Set Flds = iConf.Fields

With Flds

    .Item(«http://schemas.microsoft.com/cdo/configuration/sendusing») = cdoSendUsingPickup

    .Item(«http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory») = «c:inetpubmailrootpickup»

    .Update

End With

// Непосредственно текст сообщения

str= «Уважаемый администратор. Сервер  » & server & » был отключен «& Now &» в связи с потерей электропитания. «

// заполоняем все поля сообщения

With iMsg

    Set .Configuration = iConf

    .To = «admin@server.com»  // Поле «Кому»

    .From = «ups@example.com» // Поле «От кого»

    // Тема письма

    .Subject = «Отключение питания на сервере » & server 

    .HTMLBody = str

    .Send

End With

// Очищаем переменные

Set iMsg = Nothing

Set iConf = Nothing

Set Flds = Nothing

End Sub

Данная процедура отправит письмо по указанному адресу. В результате получателю придет сообщение примерно следующего содержания:

Уважаемый администратор. Сервер  MyServer  был отключен 01.10.2005 23:03:31 в связи с потерей электропитания.

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

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

Также хотелось бы обратить ваше внимание еще на один щекотливый момент. В случае восстановления питания необходимо снова включить отключенные сервера. Для этого прежде всего надо в BIOS каждого из серверов установить свойство «Wake Up On LAN  ON». Я не думаю, что это может создать какие-то трудности в повседневной работе хотя бы потому, что сервера должны быть всегда включены, их не выключают на ночь. Теперь нам необходимо создать какой-либо трафик с помощью нашего сценария. Сделать это можно с помощью фрагмента одной из процедур, описанной ранее. Далее приводится фрагмент Листинга 1, в котором при обнаружении сообщения о восстановлении питания вызывается процедура WakeUp, осуществляющая пинг каждого из серверов (Листинг 6 соответственно). Обратите внимание на использованный в Листинге 6 метод Run. С помощью него можно выполнить любую команду, причем (как показано в Листинге 6) это делается в режиме hide. Если в вашем случае необходимо видимое окно, просто в качестве второго параметра для метода Run укажите единицу. Более подробное описание данного метода и его параметров можно найти в [1].

Листинг 5. Добавление вызова процедуры Wakeup в сценарий Листинга 1

……………..

// Ищем первое вхождение записи на восстановление

If intRecordNum2=0 Then

If InStr(1,objItem.message,strAdmin2,1)  Then intRecordNum2 = intRec +1

WakeUp

End If

…………..

Листинг 6. Процедура WakeUp

Sub WakeUp

On Error Resume Next // если ошибка, переходим к следующему

Dim arrComputers

Dim WshShell, str

// Перечисляем имена серверов, которые должны быть выключены

arrComputers = Array(«Computer1″,»Computer2″,»Computer3»)

Set WshShell = CreateObject(«WScript.Shell»)

For Each strComputer In arrComputers

    str=»ping «& strComputer

    //запускаем в режиме hide

    Return = WshShell.Run(str, 0)

Next

End Sub

Заключение

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

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

Ссылка:

  1. http://msdn.microsoft.com – содержит много примеров с исходными текстами сценариев.

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Хост сценариев Windows (WSH)

Windows Script Host Icon.png
Другие имена Хост сценариев Windows
Разработчики) Microsoft
Стабильный выпуск

5.812

Операционная система Майкрософт Виндоус
Тип Техника автоматизации

В Microsoft Хост сценариев Windows (WSH) (ранее назывался Хост сценариев Windows) — это технология автоматизации для Майкрософт Виндоус операционные системы который обеспечивает возможности написания сценариев, сопоставимые с пакетные файлы, но с более широким набором поддерживаемых функций. Этот инструмент был впервые представлен в Windows 95 после сборки 950a на установочных дисках в качестве дополнительной установки, настраиваемой и устанавливаемой с помощью Панель управления, а затем стандартный компонент Windows 98 (сборка 1111) и последующих версий и Windows NT 4.0 Build 1381 и посредством пакета обновления 4. WSH также является средством автоматизации для Internet Explorer через установленные движки WSH начиная с IE версии 3.0; в это время VBScript стал средством автоматизации для Microsoft Outlook 97.[1] WSH также является необязательной установкой, предоставляемой с движком VBScript и JScript для Windows CE 3.0 и ниже, а также некоторые сторонние движки, включая Rexx и другие формы Basic также доступны.[2][3][4]

Он не зависит от языка, так как может использовать разные Активные сценарии языковые движки. По умолчанию он интерпретирует и запускает простой текст JScript (Файлы .JS и .JSE) и VBScript (Файлы .VBS и .VBE).

Пользователи могут устанавливать разные скриптовые движки чтобы они могли писать сценарии на других языках, например PerlScript. Независимый от языка расширение имени файла Также можно использовать WSF. Преимущество Файл сценария Windows (.WSF) заключается в том, что он позволяет использовать несколько сценариев («заданий»), а также комбинацию языков сценариев в одном файле.

Движки WSH включают различные реализации для Rexx, БАЗОВЫЙ, Perl, Рубин, Tcl, PHP, JavaScript, Delphi, Python, XSLT, и другие языки.

Windows Script Host распространяется и устанавливается по умолчанию на Windows 98 и более поздние версии Windows. Он также устанавливается, если Internet Explorer 5 (или более поздняя версия) установлена. Начиная с Windows 2000, Windows Script Host стал доступен для использования со сценариями входа пользователей.

использование

Windows Script Host может использоваться для различных целей, включая сценарии входа в систему, администрирование и общую автоматизацию. Microsoft описывает это как инструмент администрирования.[5] WSH предоставляет среду для запуска сценариев — он вызывает соответствующий механизм сценариев и предоставляет набор служб и объектов, с которыми сценарий может работать.[5] Эти скрипты можно запускать в GUI Режим (WScript.exe) или в режиме командной строки (CScript.exe) или из COM-объекта (wshom.ocx), предлагая пользователю гибкость для интерактивных или неинтерактивных сценариев.[6] Инструментарий управления Windows также можно использовать сценарии таким образом.

WSH, механизмы и связанные с ними функции также перечислены как объекты, к которым можно получить доступ, создать скрипт и запросить его с помощью VBA и обозреватели объектов Visual Studio, а также для аналогичных инструментов, таких как различные отладчики сценариев, например Отладчик скриптов Microsoft, и редакторы.

WSH реализует объектная модель который предоставляет набор Компонентная объектная модель (COM) интерфейсы.[7] Таким образом, в дополнение к ASP, IIS, Internet Explorer, CScript и WScript, WSH можно использовать для автоматизации и взаимодействия с любым приложением Windows с COM и другими открытыми объектами, такими как использование PerlScript для запроса Microsoft Access различными способами, включая различные ODBC двигатели и SQL, ooRexxScript для создания макросов Rexx в Майкрософт Эксель, Quattro Pro, Microsoft Word, Lotus Notes и тому подобное, XLNT скрипт, чтобы получить переменные среды и распечатать их в новом TextPad документ, VBA функциональность Microsoft Office, Открытый офис (а также Python и другие устанавливаемые языки макросов) и Corel WordPerfect Office отдельно от двигателей WSH, хотя Outlook 97 использует VBScript а не VBA в качестве макроязыка.[8]

Python в виде ActiveState PythonScript может использоваться для автоматизации и запроса данных в SecureCRT, как и в случае с другими языками с установленными движками, например PerlScript, ooRexxScript, PHPScript, RubyScript, LuaScript, XLNT и так далее. Одно заметное исключение: Покрасочная мастерская Pro, который может быть автоматизирован в Python с помощью интерпретатора макросов в самой программе PSP, а не с использованием механизма PythonScript WSH или внешней реализации Python, такой как интерпретаторы Python, поставляемые с Unix программные пакеты для эмуляции и интеграции или другие автономные реализации Python и др.[9][10] в качестве промежуточного и действительно может быть запрограммирован таким образом даже в отсутствие какой-либо сторонней установки Python; То же самое и с программируемым Rexx эмулятором терминала Passport.[11] В SecureCRT эмулятор терминала, SecureFX FTP-клиент и связанные с ним клиентские и серверные программы от Van Dyke в текущих версиях автоматизированы с помощью WSH, поэтому можно использовать любой язык с установленным механизмом; программное обеспечение поставляется с примерами VBScript, JScript и PerlScript.

Начиная с самых последних выпусков и возвращаясь к ряду версий, возможность программирования 4NT / Принять командование в последних реализациях (посредством «@REXX» и аналогичных для Perl, Python, Tcl, Ruby, Lua, VBScript, JScript и т.п. и т. д.) обычно используется движок WSH.[12] В ZOC Эмулятор терминала получает возможность программирования на Rexx с помощью внешнего интерпретатора, один из которых поставляется вместе с программой, а альтернативные интерпретаторы Rexx могут быть указаны в конфигурации программы.[13][14] MKS Toolkit предоставляет PScript, механизм WSH в дополнение к стандартному интерпретатору Perl perl.exe, который поставляется с пакетом.

VBScript, JScript и некоторые сторонние движки имеют возможность создавать и выполнять скрипты в закодированном формате, который предотвращает редактирование с помощью текстового редактора; расширения файлов для этих закодированных сценариев — .vbe, .jse и другие файлы того же типа.

Если не указано иное, любой механизм сценариев WSH может использоваться с различными пакетами программного обеспечения сервера Windows для создания сценариев CGI. Текущие версии стандартных механизмов WSH и все или большинство сторонних механизмов также имеют возможности сокетов; В качестве сценария CGI или иначе PerlScript является выбором многих программистов для этой цели, а VBScript и различные движки на основе Rexx также оцениваются как достаточно мощные с точки зрения возможности подключения и обработки текста, чтобы также быть полезными. Это также относится к доступу к файлам и их обработке — самые ранние механизмы WSH для VBScript и JScript этого не делают, поскольку базовый язык этого не делал,[15] в то время как PerlScript, ooRexxScript и другие имеют это с самого начала.

WinWrap Basic, SaxBasic и другие похожи на Visual Basic для приложений. Эти инструменты используются для добавления возможностей сценариев и макросов в разрабатываемое программное обеспечение и могут быть найдены в более ранних версиях Host Explorer Например. Таким же образом можно использовать и многие другие языки. Другие языки, используемые для написания сценариев программ, включают Rexx, Tcl, Perl, Python, Ruby и другие языки, которые содержат методы для управления объектами в операционной системе, а также в программах электронных таблиц и баз данных.[16] Единственным исключением является то, что Zoc эмулятор терминала управляется Rexx интерпретатор, поставляемый с пакетом, или другой интерпретатор, указанный пользователем; это также относится к эмулятору паспорта.

VBScript — это макроязык в Microsoft Outlook 97, в то время как WordBasic используется для Word до 6, Powerpoint и других инструментов. В Excel до 5.0 используется Visual Basic 5.0. В будущих версиях Office 2000 для всех компонентов используется настоящий Visual Basic для приложений 6.0. Другие компоненты используют Visual Basic для приложений. OpenOffice использует Visual Basic, Python и некоторые другие в качестве языков макросов, и другие могут быть добавлены. LotusScript очень тесно связан с VBA и используется для Lotus Notes и Lotus SmartSuite, который включает Lotus Word Pro (текущий потомок Ami Pro ), Lotus подход, Lotus FastSite, Лотос 1-2-3, & c, а чистый VBA, лицензированный у Microsoft, используется в таких продуктах Corel, как WordPerfect, Парадокс, Quattro Pro и т. д.

К любому языку сценариев, установленному в Windows, можно получить доступ с помощью внешних средств PerlScript, PythonScript, VBScript, а другие доступные механизмы можно использовать для доступа к базам данных (Lotus Notes, Microsoft Access, База данных Oracle, Paradox) и электронные таблицы (Microsoft Excel, Lotus 1-2-3, Quattro Pro) и другие инструменты, такие как текстовые процессоры, эмуляторы терминала, командные оболочки и т. Д. Это можно сделать с помощью WSH, поэтому можно использовать любой язык, если есть установленный движок.

В последних версиях Взять командование В расширенной командной строке и инструментах команда «скрипт», вводимая в командной строке, выдает список установленных в данный момент ядер, по одному в строку и, следовательно, с разделителями CR-LF.[17][18][19]

Примеры

Первый пример очень прост; это показывает некоторые VBScript который использует корневой COM-объект WSH «WScript» для отображения сообщения с кнопкой «ОК». После запуска этого сценария будет вызван механизм CScript или WScript и предоставлена ​​среда выполнения.

Содержание файла hello0.vbs

WScript.Эхо "Привет, мир"WScript.Покидать

Программирование WSH также может использовать JScript язык.

Содержание файла hello1.js

WSH.Эхо("Привет, мир");WSH.Покидать();

Или код можно смешать в одном WSF файл, например VBScript и JScript, или любой другой:

Содержание файла hello2.wsf

<job><сценарий язык =«VBScript»>  MsgBox "привет, мир (от В.Б.)"</script><сценарий язык ="JScript">  WSH.echo ("привет мир (от js)");</script></job>

Проблемы безопасности

Приложения и процессы Windows можно автоматизировать с помощью сценария в Windows Script Host. Для использования этой способности могут быть написаны вирусы и вредоносное ПО. Таким образом, некоторые предлагают отключить его из соображений безопасности.[20] В качестве альтернативы антивирусные программы могут предлагать функции для управления .vbs и другими скриптами, которые выполняются в среде WSH.

Начиная с версии 5.6 WSH, скрипты могут быть с цифровой подписью программно с помощью Scripting.Signer объект в самом скрипте при условии действительного свидетельство присутствует в системе. В качестве альтернативы в командной строке можно использовать инструмент кодирования знаков из Platform SDK, который был расширен для поддержки типов файлов WSH.[21]

Используя Политики ограниченного использования программ В Windows XP система может быть сконфигурирована для выполнения только тех сценариев, которые хранятся в надежных расположениях, имеют известный хэш MD5 или подписаны цифровой подписью надежного издателя, что предотвращает выполнение ненадежных сценариев.[22]

Доступные скриптовые движки

Примечание: По определению, все эти скриптовые движки могут использоваться в CGI программирование под Windows с любым количеством программ и настроек, что означает, что файлы исходного кода для сценария, используемого на сервере для целей CGI, могут иметь другие расширения файлов, такие как .cgi и так далее. Вышеупомянутая способность Windows Script Host запускать сценарий с несколькими языками в файлах с расширением .wsh. Расширенный HTML и XML также добавить к дополнительным возможностям при работе со скриптами для использования в сети, как и Активные серверные страницы и так далее. Более того, Windows сценарии оболочки и скрипты, написанные в оболочках с расширенными возможностями, такими как TCC, 4NT и т. д. и оболочки Unix в рамках программного обеспечения для взаимодействия, такого как Набор инструментов MKS в них также могут быть встроены скрипты.

Название двигателя Реализован язык сценариев Базовый язык Расширения файлов Доступность Произведено Положение дел Дата первого выпуска Закодированные скрипты Примечания
VBScript Microsoft VBScript Microsoft Visual Basic .vbs Установлен по умолчанию Microsoft установка по умолчанию 1999 Да, .vbe Скрипт хоста Windows по умолчанию
JScript Microsoft JScript ECMAScript .js Установлен по умолчанию Microsoft установка по умолчанию 1999 Да, .jse Хост java-скрипта по умолчанию
WinWrap Basic WinWrap Basic Базовый .wwb В основной установке WWB Полярная инженерия Стандартный функционал WWB; Использует как .NET, так и COM 2004 да
PerlScript Perl Perl 5 .pls с ActiveState Perl ActiveState Открытый исходный код 1999 Как сообщается, да
PScript Perl Perl 5, функциональность CGI .p, .ps с MKS Toolkit МКС Коммерческий 2001
XBScript xBase Scripting Engine xBase (Машинка для стрижки ) .xbs, .prg Машинка для стрижки с программным обеспечением XBScript Коммерческий
LotusScript WSH LotusScript Microsoft Visual Basic (q.v.) .nsf Сторонняя загрузка Служба поддержки Plus Бесплатное ПО 2001
RexxScript Rexx Rexx .rxs, .rx, .rex С некоторыми реализациями Rexx Разные Бесплатное ПО 1998
ooRexxScript Открыть объект REXX REXX .rxs с Open Object Rexx или бесплатно от третьих лиц Команда Open Object Rexx Открытый исходный код
PythonScript Python Python .pys SourceForge и ActivePython Проект Pywin32 Открытый исходный код
TclScript Tcl / Tk Tcl / Tk .tcls SourceForge ActiveState или третье лицо Открытый исходный код
ActivePHPScript PHP PHP .phps с PHP Команда PHP Открытый исходный код
PHPScript PHP PHP .phps с PHP Команда PHP Открытый исходный код Более ранняя версия ActivePHPScript
RubyScript Рубин Рубин .rbs с дистрибутивом Ruby Рубиновая команда Открытый исходный код да
XLNTScript XLNT DCL .xcs с XLNT Advanced Systems Concepts, Inc. Коммерческий 1997 An OpenVMS DCL -на основе многоцелевого скриптового приложения для Windows
LuaScript Lua Lua .lua с Lua Организация Lua Открытый исходный код
Объект REXX двигатель Объект REXX Rexx .rex, .rxs с IBM Object REXX IBM Коммерческий 2002
XML Engine XML разбор Расширенный HTML, XML .xml со многими реализациями XML Эльфийские данные де-факто установка по умолчанию 2000 Macintosh тоже
Двигатель Kixtart WSH Kixtart KixTart, MS-DOS, Windows 95. Оболочки Windows NT .kix с KixStart Microsoft Нидерланды Наборы ресурсов Windows и другие ресурсы 1996 Загрузите с сайта Microsoft или другого источника, также известного как KixStart32
NullScript NullScript Нулевой язык .ns с NullScript Организация NullScript Наборы ресурсов Windows и другие ресурсы 1999
ForthScript Четвертый Четвертый .fth, другие Четвертый DMOZ Открытый исходный код
Haskell Сценарий Haskell Haskell * .hsk (предварительные), другие бесплатная загрузка Открытый исходный код
Двигатель XSLT WSH XSLT XSLT .xslt бесплатная загрузка Открытый исходный код
Движок CobolScript WSH Кобол Кобол .cbl. .cob, .cb Fujitsu Cobol 3 — бесплатно для использования в образовательных целях Бесплатное коммерческое ПО от Fujitsu с бесплатным компилятором для преподавателей и т. Д. Проприетарный
Движок сценариев Delphi Delphi Delphi, вариант Pascal .dlp, .del,. В некоторых дистрибутивах или наборах ресурсов Delphi Коммерческий 2003
DMDScript DMDScript D, значительное увеличение C .dmd DMD Distributions, скачать Бесплатное ПО Доступно в Интернете 2014 DMD
C # скрипт C # Microsoft C # .NET .cs. .c #, другие Исходный код доступен Открытый исходный код, ведется активная разработка неясно 2013
Малый скриптовый движок C C К (K&R, Ansi) .c, другие Различные места, проверьте в Интернете Бесплатное ПО 2009
JavaScript WSH Engine JavaScript /Ява Java и варианты .java, .j, jva, другие Со многими реализациями JavaScript Sun / Другие Java-организации Бесплатное ПО
Возьмите под свой контроль двигатель WSH 4NT /Взять командование TCC, текущая версия 4NT п .btm, .cmd, bat, другие Проверить программное обеспечение JP Программное обеспечение JP Проприетарный 2015 Ранняя разработка
92Script WSH Engine ТИ-89 / 92 + / Вояджер 200 TI-Basic Калькулятор TI-Basic 0,92 барс Сайт Project Web / FTP Различные независимые программисты Экспериментальный, с открытым исходным кодом 2014 «возможный» Beta Q4 2015 для главного двигателя; графическая функциональность (92Script / Tk) тогда или позже
48Script WSH Engine HP-48 Встроенный язык программирования семейства калькуляторов Язык программирования HP 48, дальний родственник Forth, Basic, Lisp .48s Сайт Project Web / FTP Различные независимые программисты Экспериментальный 2015 Планируется По состоянию на 30.09.2015. Язык имеет Лисп, Бейсик, Форт и другие влияния.
Сценарий Фортрана Фортран Фортран 77 .for, .ftn. f77, f90, f95 Разные Разные Экспериментальная проверка концепции, академические упражнения, условно-бесплатная, коммерческая, с открытым исходным кодом. 2000
Паскальскрипт Object Pascal Паскаль 7 .pas, .ops, другое Object Pascal RemObjects Бесплатное ПО 2001 Может также использоваться напрямую с Delphi
Lisp WSH Engine Лисп Лисп .lisp, .lsp Различные инструменты Lisp AutoLisp и другие Бесплатное или условно-бесплатное ПО
БЕСЕН ECMA-JavaScript Java и варианты .bes, .bsn, другие SourceForge BESEN Организация Открытый исходный код 2011
Двигатели ECMAScript WSH Java и варианты Разные Разные Разные Разные Экспериментальное, бесплатное, с открытым исходным кодом, условно-бесплатное, проприетарное, коммерческое ПО 2005 Существует множество реализаций ECMAScript, но не все имеют движки WSH.
Двигатель CFXScript WSH Встроенный язык программирования Casio CFX-9850 и FX Calculator Язык программирования калькулятора Casio, портированный на различные операционные системы как CFW .cfxb Сайты Project Web / FTP независимые программисты Экспериментальный 2015 Планируется[23] По состоянию на 30.09.2015. В языке есть элементы Basic, Forth, Fortran и другие.
Механизм SharpCalcScript WSH Графические калькуляторы Sharp на встроенном языке программирования Sharp S-Basic, портированный на windows как NeusSFortran .scsb Сайты Project Web / FTP независимые программисты Экспериментальный 2015 Планируется По состоянию на 30.09.2015. Также включает в себя язык S-Basic карманных компьютеров Sharp.

Были предложения создать движки для других языков, таких как LotusScript, SaxBasic, BasicScript, KiXtart, awk, трепать, csh и другие оболочки Unix, 4NT, cmd.exe (оболочка Windows NT), Windows PowerShell, DCL, C, C ++, Фортран и другие.[24]Язык XLNT[25] основан на DCL и предоставляет очень большое подмножество языка вместе с дополнительными командами и операторами, а программное обеспечение можно использовать тремя способами: механизм WSH (* .xcs), интерпретатор консоли (* .xlnt) и как сервер. и движок CGI на стороне клиента (* .xgi).[26]

Когда сервер реализует CGI, такой как Windows Internet Information Server, порты Apache и другие, могут использоваться все или большинство механизмов; наиболее часто используются VBScript, JScript, PythonScript, PerlScript, ActivePHPScript и ooRexxScript. Программа MKS Toolkit PScript также запускает Perl. Командные оболочки, такие как cmd.exe, 4NT, ksh, и языки сценариев с обработкой строк и, желательно, с функциями сокета, также могут использоваться для сценариев CGI; скомпилированные языки, такие как C ++, Visual Basic и Java, также могут использоваться таким образом. Все интерпретаторы Perl, ooRexx, PHP и более поздние версии VBScript и JScript могут использовать для этого сокеты для TCP / IP и обычно UDP и другие протоколы.

История версий

Версия для Windows Поставляется с версией WSH Последняя распространяемая версия
Windows 95 Нет (отдельно распространяемый) 5.6
Windows NT 4.0 Нет (отдельно распространяемый) 5.6
Windows NT Сервер 4.0 Нет (отдельно распространяемый) 5.6
Windows CE 3.0 1.0 (дополнительная установка на установочный диск) 2.0
Windows 98 1.0 5.6
Второе издание Windows 98 1.0 5.6
Windows 2000 2.0 (также называемый WSH 5.1) 5.7
Windows 2000 Сервер 2.0 (также называемый WSH 5.1) 5.7
Windows 2000 SP3, SP4 и SP5 5.6 5.7
Windows Me 2.0 (также называемый WSH 5.1) 5.6
Windows XP 5.6 5.7
Windows XP SP3 5.7 Непригодный
Windows Server 2003 5.6 5.7
Виндоус виста 5.7 Непригодный
Windows Server 2008 5.7 Непригодный
Windows 7 5.8 Непригодный
Windows Server 2008 R2 5.8 Непригодный
Windows 8 5.8 Непригодный
Windows Server 2012 5.8 Непригодный
Windows 10 5.812 Непригодный
Windows Server 2016 5.812 Непригодный

Распространяемая версия WSH версии 5.6 может быть установлена ​​в Windows 95/98 / Me и Windows NT 4.0 / 2000. WSH 5.7 можно загрузить для Windows 2000, Windows XP и Windows Server 2003. Недавно[когда? ]распространяемые версии для старых операционных систем (Windows 9x и Windows NT 4.0) больше не доступны в Центре загрузки Microsoft.

Начиная с Windows XP с пакетом обновления 3, выпуск 5.7 не требуется, так как он включен, и с тех пор новые версии включаются в новые версии Windows.

Смотрите также

  • JScript .NET

Рекомендации

  1. ^ • MSDN, «Windows Scripting Host» и «VBScript»
  2. ^ MSDN, апрельское издание 2000 г., «Windows Scripting Host»
  3. ^ Библия VBScript (1999)
  4. ^ Пакет ресурсов Windows 2000 Server (документация
  5. ^ а б «Что такое WSH?». msdn.microsoft.com. В архиве из оригинала 7 января 2018 г.. Получено 30 апреля 2018.
  6. ^ «Основы Windows Script Host». msdn.microsoft.com. В архиве с оригинала 8 августа 2017 г.. Получено 30 апреля 2018.
  7. ^ «Объектная модель хоста сценария Windows». msdn.microsoft.com. В архиве с оригинала 8 августа 2017 г.. Получено 30 апреля 2018.
  8. ^ MSDN «VBA»
  9. ^ Руководство пользователя Paint Shop Pro 8
  10. ^ Paint Shop Pro 8 справка, «Автоматизация»
  11. ^ основной файл справки, Паспорт для Windows
  12. ^ Документация Take Command 18.00 бумажная копия документации и файл справки
  13. ^ Zoc v 6.0 справка
  14. ^ Zoc 5.0 печатное руководство
  15. ^ Документация MSDN
  16. ^ Библии для Windows Office 97 и 2000 (Wiley)
  17. ^ Документация Take Command версии 18.00
  18. ^ Сайт JP Software Take Command-4NT-4Dos-4OS / 2, доска объявлений
  19. ^ Take Command 18.00 помощь
  20. ^ «Norman — антивирусное и защитное программное обеспечение для дома и бизнеса». AVG.com. В архиве из оригинала 21 февраля 2006 г.. Получено 30 апреля 2018.
  21. ^ LLC), Тара Мейер (Aquent. «Обеспечение безопасного опыта». msdn.microsoft.com. В архиве с оригинала 10 ноября 2017 г.. Получено 30 апреля 2018.
  22. ^ Windows Script Host 5.6 обеспечивает интеграцию с Windows XP, безопасность и новую объектную модель В архиве 2008-02-18 в Wayback Machine
  23. ^ CasioCalc.com, сообщения от 15.09.2016
  24. ^ «Архивная копия». В архиве из оригинала 21.03.2015. Получено 2015-03-12.CS1 maint: заархивированная копия как заголовок (связь)
  25. ^ Файл справки ASCI html
  26. ^ Сайт ASCI

внешняя ссылка

  • VBScript мертв?, isvbscriptdead.com
  • Учебник по WSH в Microsoft TechNet — Начать работу с WSH
  • WSH дома в MSDN
  • Ссылка WSH
  • Документация по Windows Script 5.6
  • Примечания к выпуску Windows Script 5.7
  • Консоль WSH Shell — сторонняя оболочка для WSH и VBScript

Аннотация: Обсуждаются назначение и основные свойства сервера сценариев Windows Script Host (WSH). Описываются консольный и графический режимы работы сценариев WSH. Затрагиваются вопросы выбора языка для написания сценариев WSH

Сервер сценариев WSH. Языки сценариев VBScript и JScript

В двух предыдущих лекциях был рассмотрен язык командных файлов (язык командной оболочки), который в качестве инструмента для автоматизации работы поддерживается во всех версиях Windows. Однако с помощью командного интерпретатора cmd.exe трудно написать какую-либо сложную программу-сценарий (script): отсутствует полноценная интерактивность, нельзя напрямую работать с рабочим столом Windows и системным реестром и т. д.

Для исправления этой ситуации компанией Microsoft был разработан сервер сценариев Windows Script Host (WSH), с помощью которого можно выполнять сценарии, написанные, в принципе, на любом языке (при условии, что для этого языка установлен соответствующий модуль (scripting engine), поддерживающий технологию ActiveX Scripting). В качестве стандартных языков поддерживаются Visual Basic Script Edition (VBScript) и JScript.

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

Возможности технологии ActiveX

Напомним, что в Windows с самого начала для обеспечения обмена данными между приложениями была разработана технология связывания и внедрения объектов (Object Linking and Embedding, OLE). Вначале технология OLE использовалась для создания составных документов, а затем для решения более общей задачи — предоставления приложениями друг другу собственных функций (служб) и правильного использования этих функций. Технология, позволяющая одному приложению (клиенту автоматизации) вызывать функции другого приложения (сервера автоматизации) была названа OLE Automation. В основе OLE и OLE Automation лежит разработанная Microsoft базовая «компонентная» технология Component Object Model (COM). В общих словах, компонентное программное обеспечение — это способ разработки программ, при котором используются технологии создания программных модулей, подобные технологиям, применяемым для разработки аппаратных средств. Сложные элементные схемы собираются из стандартизированных микросхем, которые имеют четко определенные документированные функции. Разработчик может эффективно пользоваться такими микросхемами, не задумываясь об их внутренней структуре. В программных компонентах, написанных на каком-либо языке программирования, детали реализации используемых алгоритмов также скрыты внутри компонента (объекта), а на поверхности находятся общедоступные интерфейсы, которыми могут пользоваться и другие приложения, написанные на том же или другом языке.

В настоящее время термин OLE используется только по историческим причинам. Вместо него Microsoft с 1996 года использует новый термин — ActiveX, первоначально обозначавший WWW (World Wide Web) компоненты (объекты), созданные на базе технологии COM.

Технология ActiveX длительное время являлась ключевой в продуктах Microsoft. Наиболее полное воплощение она нашла в программах Microsoft Office, Internet Explorer, Internet Information Service (IIS). В эти продукты для управления соответствующими объектами автоматизации были встроены интерпретаторы специальных языков сценариев: VBScript (используется в Microsoft Office, Internet Explorer, IIS) и JScript (используется в Internet Explorer, IIS). Однако непосредственно в операционной системе, вне этих продуктов, выполнять сценарии, написанные на VBScript или JScript, было нельзя.

Сервер сценариев WSH является мощным инструментом, предоставляющим единый интерфейс (объектную модель) для специализированных языков (VBScript, JScript, PerlScript, REXX, TCL, Python и т. п.), которые, в свою очередь, позволяют использовать любые внешние объекты ActiveX. С помощью WSH сценарии могут быть выполнены непосредственно в операционной системе Windows, без встраивания в HTML-страницы.

Назначение и основные свойства WSH

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

Перечислим только наиболее очевидные задачи, для автоматизации которых прекрасно подходят сценарии WSH.

  • Организация резервного копирования на сетевой сервер файлов с локальной машины, которые отбираются по какому-либо критерию.
  • Быстрое изменение конфигурации рабочего стола Windows в зависимости от задач, выполняемых пользователем.
  • Автоматический запуск программ Microsoft Office, создание там сложных составных документов, распечатка этих документов и закрытие приложений.
  • Управление работой приложений, не являющихся серверами автоматизации, с помощью посылки в эти приложения нажатий клавиш.
  • Подключение и отключение сетевых ресурсов (дисков и принтеров).
  • Создание сложных сценариев регистрации для пользователей.
  • Выполнение задач администрирования локальной сети (например, добавление или удаление пользователей).

Создание и запуск простейших сценариев WSH

Простейший WSH-сценарий, написанный на языке JScript или VBScript — это обычный текстовый файл с расширением js или vbs соответственно, создать его можно в любом текстовом редакторе, способном сохранять документы в формате «Только текст».

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

В качестве первого примера создадим JScript-сценарий, выводящий на экран диалоговое окно с надписью «Привет!». Для этого достаточно c помощью, например, стандартного Блокнота Windows (notepad.exe) создать файл First.js, содержащий всего одну строку:

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

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

/*******************************************************************/
/* Имя: First.js                                                   */
/* Язык: JScript                                                   */
/* Описание: Вывод на экран приветствия                            */
/*******************************************************************/

На языке VBScript то же самое выглядит следующим образом:

'*******************************************************************
' Имя: First.vbs
' Язык: VBScript
' Описание: Вывод на экран приветствия
'*******************************************************************

Для запуска сценариев WSH существует несколько способов.

Запуск сценария из командной строки в консольном режиме

Можно выполнить сценарий из командной строки с помощью консольной версии WSH cscript.exe. Например, чтобы запустить сценарий, записанный в файле C:ScriptFirst.js, нужно загрузить командное окно и выполнить в нем команду

cscript C:ScriptFirst.js

В результате выполнения этого сценария в командное окно выведется строка «Привет!» (рис. 4.1)

Запуск сценария из командной строки в графическом режиме

Сценарий можно выполнить из командной строки с помощью (оконной) графической версии WSH wscript.exe. Для нашего примера в этом случае нужно выполнить команду

wscript C:ScriptFirst.js

Тогда в результате выполнения сценария на экране появится нужное нам диалоговое окно (рис. 4.2).

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

Понравилась статья? Поделить с друзьями:
  • Можно ли написать заявление об увольнении перед новогодними праздниками
  • Можно ли написать заявление на увольнение на новогодние праздники
  • Можно ли написать заявление на увольнение во время новогодних праздников
  • Можно ли вязать на праздник казанской иконы божией
  • Можно ли вязать на праздник иконы казанской божьей матери

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии