Андрей Попов - 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 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
WshShell.RegDelete(Root+Key);
WshShell.Popup("Раздел\n"+Root+Key+" удален!",0,
"Работа с реестром",vbInformation+vbOkOnly);
}
/************* Конец *********************************************/
Реализация того же сценария на языке VBScript приведена в листинге 2.45.
'********************************************************************
' Имя: Registry.vbs
' Язык: VBScript
' Описание: Работа с системным реестром
'********************************************************************
Option Explicit
'Объявляем переменные
Dim WshShell,Root,Key,Res,SValue,ValueName,SRegValue
Root="HKEY_CURRENT_USER" 'Корневой ключ
Key="\ExampleKey\" 'Новый ключ
ValueName="ExampleValue" 'Имя нового параметра
SValue="Value from WSH" 'Значение нового параметра
'Создаем объект WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
'Запрос на создание нового ключа
Res=WshShell.Popup("Создать ключ" & vbCrLf & Root & Key & "?",0,_
"Работа с реестром",vbQuestion+vbYesNo)
If Res=vbYes Then 'Нажата кнопка Да
'Записываем новый ключ
WshShell.RegWrite Root & Key, ""
WshShell.Popup "Ключ" & vbCrLf & Root & Key & " создан!",0,_
"Работа с реестром",vbInformation+vbOkOnly
End If
'Запрос на запись нового параметра
Res=WshShell.Popup("Записать параметр" & vbCrLf & Root & Key & _
ValueName & "?",0,"Работа с реестром",vbQuestion+vbYesNo)
If Res=vbYes Then 'Нажата кнопка Да
'Записываем новый строковый параметр
WshShell.RegWrite Root & Key & ValueName,SValue,"REG_SZ"
WshShell.Popup "Параметр" & vbCrLf & Root & Key & _
ValueName & " записан!",0,"Работа с реестром",vbInformation+vbOkOnly
'Считываем значение созданного параметра
SRegValue=WshShell.RegRead(Root & Key & ValueName)
'Выводим на экран полученное значение
WshShell.Popup Root & Key & ValueName & "=" & SRegValue,0,_
"Работа с реестром",vbInformation+vbOkOnly
End If
'Запрос на удаление параметра
Res=WshShell.Popup("Удалить параметр" & vbCrLf & Root & Key & _
ValueName & "?",0,"Работа с реестром",vbQuestion+vbYesNo)
If Res=vbYes Then 'Нажата кнопка Да
'Удаляем параметр
WshShell.RegDelete Root & Key & ValueName
WshShell.Popup "Параметр" & vbCrLf & Root & Key & _
ValueName & " удален!",0,"Работа с реестром",vbInformation+vbOkOnly
End If
'Запрос на удаление раздела
Res=WshShell.Popup("Удалить раздел" & vbCrLf & Root & Key & _
"?",0,"Работа с реестром",vbQuestion+vbYesNo)
If Res=vbYes Then 'Нажата кнопка Да
'Удаляем раздел
WshShell.RegDelete Root & Key
WshShell.Popup "Раздел" & vbCrLf & Root & Key & " удален!",0,_
"Работа с реестром",vbInformation+vbOkOnly
End If
'************* Конец *********************************************
Работа с ресурсами локальной сети
Стандартным объектом, позволяющим выполнять типовые операции с локальной сетью, является WshNetwork
. С помощью этого объекта можно:
□ узнать сетевое имя компьютера, имя текущего пользователя и название домена, в котором он зарегистрировался;
□ получить список всех сетевых дисков и всех сетевых принтеров, подключенных к рабочей станции;
□ подключить или отключить сетевой диск и принтер;
□ установить сетевой принтер в качестве принтера, используемого по умолчанию.
Для решения более сложных задач, связанных с администрированием локальной сети, можно применять имеющиеся в Windows ХР технологии ADSI — Active Directory Service Interface и WMI — Windows Management Instrumentation.
Определение имен рабочей станции, пользователя и домена
Для того чтобы из сценария узнать имя текущего пользователя, домена и компьютера в сети, можно использовать соответствующие свойства объекта WshNetwork
: UserName
, Domain
и ComputerName
. Примеры сценариев на языках JScript и VBScript, которые выводят на экран такую информацию, приведены в листингах 2.46 и 2.47.
/********************************************************************/
/* Имя: NetworkParam.js */
/* Язык: JScript */
/* Описание: Вывод сетевых параметров станции */
/********************************************************************/
var WshNetwork,s; //Объявляем переменные
//Создаем объект WshNetwork
WshNetwork = WScript.CreateObject("WScript.Network");
s="Сетевые параметры станции:\n\n";
//Выводим на экран свойства ComputerName, UserName и UserDomain
s+="Имя машины: "+WshNetwork.ComputerName+"\n";
s+="Имя пользователя: "+WshNetwork.UserName+"\n";
s+="Домен: "+WshNetwork.UserDomain;
WScript.Echo(s);
/************* Конец *********************************************/
'********************************************************************
' Имя: NetworkParam.vbs
' Язык: VBScript
' Описание: Вывод сетевых параметров станции
'********************************************************************
Option Explicit
Dim WshNetwork,s,NetwDrives,i,NetwPrinters ' Объявляем переменные
' Создаем объект WshNetwork
Set WshNetwork = WScript.CreateObject("WScript.Network")
s="Сетевые параметры станции:" & vbCrLf & vbCrLf
' Выводим на экран свойства ComputerName, UserName и UserDomain
s=s & "Имя машины: " & WshNetwork.ComputerName & vbCrLf
s= s & "Имя пользователя: " & WshNetwork.UserName & vbCrLf
s= s & "Домен: " & WshNetwork.UserDomain
WScript.Echo s
'************* Конец *********************************************
Получение списка подключенных сетевых дисков и принтеров
У объекта WshNetwork
имеются методы EnumNetworkDrives
и EnumPrinterConnections
, с помощью которых можно создать коллекции, содержащие, соответственно, сведения о всех подключенных к локальной станции сетевых дисках и сетевых принтерах. Эти коллекции устроены следующим образом: первым элементом является буква диска или название порта, вторым — сетевое имя ресурса, с которым связан этот диск или принтер. Та же последовательность сохраняется для всех элементов коллекции.
В листингах 2.48 и 2.49 приведены сценарии на языках JScript и VBScript соответственно, в которых на экран выводятся диалоговые окна, содержащие информацию о сетевых дисках и сетевых принтерах, подключенных к рабочей станции (рис. 2.22).
Читать дальшеИнтервал:
Закладка: