АЛЕКСАНДР ШИБЕНКО
Чудо-юдо Resource Kit
В многолетнем споре между приверженцами Linux и сторонниками Windows первые в качестве одного из аргументов часто утверждают, что большинство задач по управлению производимыми компанией Microsoft ОС невозможно выполнить без графического интерфейса, и администратор фактически становится его заложником. Что ж, доля истины в этом есть, но целиком согласиться с ним можно, только если забыть (или не знать) о том, что в дополнение к операционным системам «парни из Редмонда» уже давно выпускают Resource Kit, включающие комплект отпечатанной документации и набор утилит.
Что же такое Windows 2000 Resource Kit? Это семь томов документации и установочный CD. После инсталляции пакета, а она необходима, если нужна его полная функциональность, на жестком диске появляется занимающий почти 60 Мб каталог C:Program FilesResource Kit. Он содержит электронные версии вышеупомянутых семи книг и еще четырех справочников, руководство и документацию по утилитам, а также сами утилиты общим числом около трехсот. Выражаясь языком Хрюна Моржова: «Внушает»...
Описывать здесь каждую утилиту в отдельности не имеет смысла. Имеющаяся документация достаточно подробна, кроме синтаксиса, хорошо структурирована, содержит еще и примеры. В зависимости от решаемых задач утилиты в ней разделены на следующие основные группы:
- Утилиты управления компьютером (computer manage-ment tools). Сюда входят инструменты для работы с реестром, для управления сервисами и процессами и для обработки журналов событий.
- Утилиты для развервертывания системы (deployment tools). Типичный представитель утилит этой группы – небезызвестная sysprep.exe.
- Диагностические средства (diagnostic tools). Это несколько утилит по отображению информации о распределении так называемой «кучи», snmp-монитор, компилятор MIB и ряд других.
- Утилиты для работы с файлами и дисками (file and disk tools). Основные представители этой группы – разнообразные средства для копирования.
- Инструментарий для Internet Information Service (IIS tools). Здесь можно найти сканер безопасности, стресс-тест для веб-сервера и предопределенные шаблоны безопасности для его конфигурирования.
- Утилиты управления сетью (network monitor tools). Большая часть утилит этой группы позволяет из командной строки управлять пользователями и группами и выполнять другие администраторские задачи на локальном и удаленном компьютерах.
- Утилиты оценки производительности (performance tools). Их назначение понятно и без комментариев.
Кроме этих, достаточно представительных групп, существует еще несколько, объединяющих всего по нескольку утилит:
- утилиты отладки (debugging tools);
- утилиты рабочего стола (desktop tools);
- утилиты для Internet Explorer (IE tools);
- утилиты безопасности (security tools).
Многие утилиты позволяют получать информацию или выполнять какие-либо действия не только на локальном компьютере, но и при наличии соответствующих прав, на удаленном. Так, c помощью команды вида:
netsvc /list REMOTESERVER
можно получить список запущенных сервисов на компьютере REMOTESERVER, а команда:
shutdown REMOTESERVER /r
его перезагрузит. Даже этой информации достаточно для того, чтобы понять, какие возможности открываются перед системными администраторами и каким мощным потенциалом обладают эти средства. Усилия, затраченные на их освоение, с лихвой окупятся за счет так любимой и ценимой юниксоидами автоматизации многих рутинных задач. Правда, для полноценной обработки информации крайне желательно, а может, даже и необходимо использовать дополнительный инструментарий вроде Excel или Access.
В завершение приведем примеры из реальной практики. Наверняка во многих организациях руководство спрашивает у системного администратора, кто из пользователей на каких принтерах и в каких количествах распечатывает документы. Для решения воспользуемся входящей в группу диагностических средств утилитой dumpel, позволяющей обрабатывать журналы событий:
dumpel -f pr.txt -l system -m print -e 10
В данном случае из системного журнала (ключ -l system) выбираются события «печать» (ключ -m print) с кодом, соответствующим постановке задания в очередь печати (ключ -e 10) и помещаются в текстовый файл pr.txt. Каждая строка файла соответствует одному заданию. Как видно, здесь присутствует и имя пользователя, и название принтера, и количество напечатанных страниц (последнее число в строке). Наиболее простым способом получения требуемого отчета мне представляется написание макроса в Excel. Приводить его здесь, пожалуй, не стоит. Для умеющего программировать человека сделать это не составит большого труда, а новичку подобную задачу вполне можно рекомендовать в качестве имеющего прикладное значение практикума.
И еще один пример. Однажды возникла необходимость после перезагрузки компьютера копировать на него с сервера некий каталог, в свою очередь, содержащий подкаталоги и файлы. Но необходимо было получить «зеркальную копию» серверного каталога за исключением пустых подкаталогов. Для этого был написан следующий командный файл, который вызывался штатным планировщиком задач по событию «загрузка системы» от имени администратора:
@echo off
sleep 60
now.exe > c:logcopy.log
net use m: serverackup /user:oper 123
if errorlevel 1 echo net use error >> c:logcopy.log
robocopy.exe m:daily d:archive /log:c:log c.log /np /mir /s
if errorlevel 1 echo robocopy error >> c:logcopy.log
Утилиты now.exe, sleep.exe и robocopy.exe входят в состав Resource Kit. Now.exe выдает в стандартный вывод текущую дату и время. Sleep.exe нужна для того, чтобы подключить каталог сервера после того, как запустятся все необходимые службы и сервисы. Иначе команда net use может просто не выполниться. Ну а требуемую величину задержки можно подобрать опытным путем. И наконец, зеркальное копирование (ключ /mir) с помощью robocopy.exe содержимого каталога m:daily в d:archive. При этом если d:archive содержит каталоги и файлы, не имеющие аналогов в m:daily, они будут удалены. Ключ /s запрещает копировать пустые каталоги, а /np подавляет вывод на экран информации о ходе копирования. Ключ /log:c:log c.log, надеюсь, понятен без комментариев.
На самом деле robocopy.exe обладает широкими возможностями, включая копирование разрешений NTFS, что может оказаться весьма полезным.