Андрей Попов - Windows Script Host для Windows 2000/XP
- Название:Windows Script Host для Windows 2000/XP
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2004
- Город:Санкт-Петербург
- ISBN:5-94157-197-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание
В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.
Windows Script Host для Windows 2000/XP - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
'********************************************************************
' Имя: MapResources.vbs
' Язык: VBScript
' Описание: Отключение и подключение сетевых дисков и принтеров
'********************************************************************
Option Explicit
' Объявляем переменные
Dim WshNetwork,Drive,NetPath,Port,NetPrinter
Drive="K:" ' Буква диска
NetPath="\\RS_NT_Server\d" ' Сетевой путь для подключения диска
Port="LPT1" ' Название локального порта
' Сетевой путь для подключения принтера
NetPrinter="\\104_Stepankova\HP"
' Создаем объект WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")
' Создаем объект WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
On Error Resume Next ' Включаем обработку ошибок времени выполнения
'************* Отключение сетевого диска ***********************
' Отключаем сетевой диск
WshNetwork.RemoveNetworkDrive Drive
If Err.Number<>0 Then
Mess="Ошибка при отключении диска " & Drive & vbCrLf & _
"Код ошибки: " & e.number & vbCrLf &+ _
"Описание: " & e.description
WshShell.Popup Mess,0,"Отключение сетевого диска",vbCritical
Else
' Все в порядке
Mess="Диск " & Drive & " отключен успешно"
WshShell.Popup Mess,0,"Отключение сетевого диска",vbInformation
End If
'************* Подключение сетевого диска ***********************
' Подключаем сетевой диск
WshNetwork.MapNetworkDrive Drive,NetPath
If Err.Number<>0 Then
Mess="Ошибка при подключении диска " & Drive & " к " & NetPath &_
"Код ошибки: " & e.number & "Описание: " & e.description
WshShell.Popup Mess,0,"Подключение сетевого диска",vbCritical
Else
' Все в порядке
Mess="Диск " & Drive & " успешно подключен к " & NetPath
WshShell.Popup Mess,0,"Подключение сетевого диска",vbInformation
End If
'************* Освобождение локального порта ***********************
' Разрываем связь с сетевым принтером
WshNetwork.RemovePrinterConnection Port
If Err.Number<>0 Then
Mess="Ошибка при отключении порта " & Port & "Код ошибки: " &_
e.number & "Описание: " & e.description
WshShell.Popup Mess,0,"Отключение порта от сетевого ресурса",vbCritical
Else
' Все в порядке
Mess="Порт " & Port & " отключен успешно"
WshShell.Popup Mess,0,"Отключение порта от сетевого ресурса",_
vbInformation
End If
'***** Подключение локального порта к сетевому принтеру *********
' Подключаем сетевой принтер к локальному порту
WshNetwork.AddPrinterConnection Port,NetPrinter
If Err.Number<>0 Then
Mess="Ошибка при переназначении порта " & Port & " на " & NetPrinter &_
"Код ошибки: " & e.number & "Описание: " & e.description
WshShell.Popup Mess,0,"Подключение порта к сетевому ресурсу",vbCritical
Else
' Все в порядке
Mess="Порт " & Port & " успешно подключен к " & NetPrinter
WshShell.Popup Mess,0,"Подключение порта к сетевому ресурсу",
vbInformation
End If
'************* Конец *********************************************
Запуск сценариев на удаленных машинах. Контроль за ходом выполнения таких сценариев
Начиная с версии 5.6 сценарии WSH можно запускать не только на локальной машине, но и на других компьютерах, имеющихся в сети (это может быть очень удобно для централизованного администрирования удаленных рабочих станций).
Такие WSH-сценарии называются удаленными сценариями (remote scripts). При этом файл со сценарием может находиться либо на локальной машине, либо на общедоступном сетевом ресурсе. На жесткий диск удаленной машины файл сценария копироваться не будет — вместо этого текст сценария по коммуникационному протоколу DCOM — Distributed СОМ (распределенный СОМ) передается непосредственно в память процесса, запускаемого на этой машине.
Естественно, такой механизм запуска сценариев является весьма мощным средством удаленного администрирования, однако он также может быть использован для быстрого и практически незаметного распространения по сети вирусов. Поэтому при использовании удаленных сценариев WSH предусмотрены довольно строгие меры безопасности.
Во-первых, и на локальной и на удаленной машинах должны быть установлены операционные системы Windows NT (SP 3)/Windows 2000/Windows ХР (системы Windows 95/98/ME не поддерживаются).
Во-вторых, пользователь, который запускает сценарий, должен входить в группу локальных администраторов на той машине, где должен выполняться сценарий.
В-третьих, удаленная машина должна быть предварительно настроена для выполнения удаленных сценариев (по умолчанию после первоначальной установки выполнение таких сценариев запрещено). Для этого необходимо записать 1 в следующий параметр системного реестра:
HKLM\Software\Microsoft\Windows Script Host\Settings\Remote
(А)
(если этот параметр не существует, его нужно создать). Если значением этого параметра является 0, то это означает, что выполнение удаленных сценариев на машине запрещено.
Для того чтобы разрешить выполнение удаленных сценариев на уровне пользователя, необходимо создать параметр
HKCU\Software\Microsoft\Windows Script Host\Settings\Remote
(Б)
и также записать в него 1. Если значением этого параметра является 0, то это означает, что выполнение удаленных сценариев для текущего пользователя запрещено.
Также при настройке режима выполнения удаленных сценариев нужно проверить значение параметра
HKLM\Software\Microsoft\Windows Script Host\Settings\IgnoreUserSettings
(В)
Если значением этого параметра является 1, то параметр (Б)игнорируется и проверяется только значение параметра (А). Если же значением параметра (В)является 0, то WSH сначала проверяет параметр (Б)и только в случае его отсутствия принимается во внимание значение параметра (А).
Если удаленные сценарии нужно выполнять на машине с операционной системой Windows ХР, то на этой машине нужно перерегистрировать сервер wscript.exe с помощью следующей команды:
wscript.exe -regserver
Удаленные сценарии всегда запускаются с помощью сервера wscript.exe, причем в этих сценариях не поддерживается вывод на экран удаленного компьютера никаких элементов пользовательского интерфейса (не выводятся даже диалоговые окна с сообщениями о возникающих в ходе выполнения ошибках). Другими словами, в удаленных сценариях по умолчанию нельзя использовать методы WScript.Echo
или WshShell.Popup
(это может привести к непредсказуемым результатам).
Интервал:
Закладка: