Андрей Попов - 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 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
/* Имя: Logon.js */
/* Язык: JScript */
/* Описание: Сценарий входа, позволяющий выбирать программы для */
/* автозагрузки */
/*******************************************************************/
//Объявляем переменные
var
FSO, //Экземпляр объекта FileSystemObject
WshShell, //Экземпляр объекта WshShell
WshFldrs, //Экземпляр объекта WshSpecialFolders
PathStartup, //Путь к папке выборочной автозагрузки
Folder, //Экземпляр объекта Folder для папки
//выборочной автозагрузки
Files, //Коллекция файлов в папке выборочной автозагрузки
File, //Экземпляр объекта File для ярлыка в папке
//выборочной автозагрузки
Res, //Результат нажатия кнопок в диалоговых окнах
IsRunAll; //Логический флаг, указывающий, надо ли запустить
//сразу все программы из автозагрузки
//Инициализируем константы для диалоговых окон
var vbYesNo=4,vbQuestion=32,vbYes=6,vbOkOnly=0,vbMinimizedFocus=2;
//Создаем объект WshShell
WshShell=WScript.CreateObject("Wscript.Shell");
//Создаем объект WshSpecialFolders
WshFldrs=WshShell.SpecialFolders;
//Определяем путь к папке выборочной автозагрузки
PathStartup=WshFldrs.item("AllUsersStartMenu")+"\\Выборочная автозагрузка\\";
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Создаем объект Folder для папки выборочной автозагрузки
Folder=FSO.GetFolder(PathStartup);
//Создаем коллекцию файлов каталога выборочной автозагрузки
Files=new Enumerator(Folder.Files);
//Выводим запрос на запуск сразу всех программ
Res=WshShell.Popup("Запустить сразу все программы?",0,
"Выборочная автозагрузка",vbQuestion+vbYesNo);
//Определяем, нажата ли кнопка Да
IsRunAll=(Res==vbYes);
//Цикл по всем файлам каталога выборочной автозагрузки
while (!Files.atEnd()) {
//Создаем объект File для текущего элемента коллекции
File=Files.item();
//Обнуляем переменную Res
Res=0;
if (!IsRunAll) //Программы нужно запускать по одной
//Выводим запрос на запуск одной программы
Res=WshShell.Popup("Запустить "+File.Name+"?",0,
"Выборочная автозагрузка",vbQuestion+vbYesNo);
if ((IsRunAll) || (Res==vbYes))
//Запускаем текущую программу в минимизированном окне
WshShell.Run("\""+File.Path+"\"",vbMinimizedFocus);
//Переходим к следующему файлу в коллекции
Files.moveNext();
}
/************* Конец *********************************************/
Резервное копирование документов пользователя при окончании сеанса работы
Для каждого пользователя Windows ХР в каталоге Documents and Settings автоматически создается личная папка, имя которой совпадает с именем этого пользователя. В подкаталоге "Мои документы" (My Documents) этой папки по умолчанию сохраняются все созданные пользователем документы. Для того чтобы всегда иметь резервную копию документов пользователей, можно написать универсальный сценарий выхода, в котором будет происходить копирование всех файлов и подкаталогов из пользовательского каталога "Мои документы" в другой каталог с именем пользователя. В нашем примере резервные копии документов будут сохраняться в каталоге D:\Backup, т.е. при выходе пользователя Popov все его документы скопируются в каталог D:\Backup\Popov, а при выходе пользователя Kazakov — в каталог D:\Backup\Kazakov.
Самым быстрым решением поставленной задачи является создание командного файла Logoff.bat (листинг 11.11) и назначение его в качестве сценария выхода для всех пользователей. Результат работы этого пакетного файла будет виден в командном окне (рис. 11.20).
@ECHO OFF
REM Имя: Logoff.bat
REM Описание: BAT-файл, выполняющий резервное копирование
REM документов пользователя
ECHO Окончание сеанса пользователя %UserName%.
ECHO.
ECHO Начинаем копирование документов в каталог D:\Backup\%UserName%...
XCOPY /C /D /E /I /Y "%HomeDrive%%HomePath%\Мои документы" D:\Backup\%UserName%
ECHO.
ECHO Копирование документов завершено.
PAUSE
Как мы видим, вся работа файла Logoff.bat заключается в вызове команды XCOPY
для нужных каталогов:
XCOPY /С /D /Е /I /Y "%HomeDrive%%HomePath%\Мои документы" "D:\Backup\%UserName%"

Рис. 11.20.Результат работы сценария выхода Logoff.bat для пользователя Popov
Здесь для XCOPY
указаны несколько ключей, которые позволяют:
□ не прерывать копирование при возникновении ошибки (ключ /С
);
□ копировать только те файлы, которые были изменены (ключ /D
);
□ копировать все подкаталоги, включая пустые (ключ /Е
);
□ создавать, при необходимости, каталог, в который производится копирование (ключ /I
);
□ перезаписывать файлы без подтверждения пользователя (ключ /Y).
Подробнее о ключах команды XCOPY
можно узнать из встроенной справки для этой команды. Для вывода этой справки на экран необходимо в командном окне запустить XCOPY
с ключом /?
; для вывода справки в текстовый файл нужно воспользоваться символом перенаправления вывода ' >
', например: XCOPY /? > spr.txt
.
Пути к каталогу, где хранятся документы пользователя, и к каталогу, в который будет производиться копирование, формируются с помощью переменных среды %HomeDir%
, %HomePath%
и %UserName%
. Описание этих и некоторых других переменных среды, которые определены в Windows, приведено в табл. 11.2.
Таблица 11.2.Переменные среды, полезные для использования в сценариях входа/выхода
Переменная | Описание |
---|---|
%COMSPEC% |
Путь к командному интерпретатору |
%HOMEDIR% |
Буква переопределенного диска на компьютере пользователя, которая ссылается на сетевой ресурс, содержащий личный каталог пользователя |
%HOMEDRIVE% |
Локальный, либо перенаправленный диск, на котором расположен личный каталог |
%HOMEPATH% |
Путь к личному каталогу |
%HOMESHARE% |
Имя каталога общего доступа, включающее личный каталог и локальный, либо переопределенный диск |
%OS% |
Операционная система, управляющая рабочей станцией |
%PROCESSOR_ARCHITECTURE% |
Архитектура процессора (например, х86) рабочей станции пользователя |
%SYSTEMDRIVE% |
Диск, на котором находится системный каталог Windows |
%SYSTEMROOT% |
Путь к системному каталогу Windows |
%PROCESSOR_LEVEL% |
Тип процессора рабочей станции пользователя |
%TEMP% |
Путь к каталогу для хранения временных файлов |
%USERDOMAIN% |
Домен, в котором зарегистрирован пользователь |
%USERNAME% |
Имя, под которым регистрировался при входе в сеть пользователь |
Так как имена каталогов, присутствующих в команде XCOPY, могут содержать пробелы, эти имена взяты в кавычки.
Читать дальшеИнтервал:
Закладка: