10
программ дистанционного управления из Microsoft Windows Resource Kit
Даррен Мар-Элиа
Я нисколько не сомневаюсь, что все
системные администраторы – и особенно те, чьему попечению доверены
сотни и тысячи удаленных систем, в своей повседневной работе
постоянно обращаются к служебным программам из Microsoft Windows
2000 Server Resource Kit или Microsoft Windows NT Server 4.0
Resource Kit. Обо всем многообразии представленных в этих пакетах
полезных средств администрирования в одной статье рассказать
невозможно, поэтому я отобрала 10 инструментов, которыми пользуюсь
чаще всего, – пять для среды Windows 2000 и пять для Windows NT 4.0.
К помощи этих утилит я прибегаю
постоянно в процессе управления своей сетью, включающей как Windows
2000, так и NT-системы. Я покажу, как применяется каждая из
программ, имея при этом в виду использование Microsoft Windows 2000
Server Resource Kit Supplement One и Microsoft Windows NT Server 4.0
Resource Kit Supplement 4; впрочем, почти все описываемые программы
входят в состав базовых версий данных пакетов.
И еще одно замечание перед тем, как
мы перейдем к образу инструментальных средств: отдельные компоненты
комплекта Windows 2000 Server были существенно переработаны. Часть
из этих новых средств функционирует только в среде Windows 2000, а
часть с таким же успехом выполняется под NT 4.0. Кстати, ни одно из
описанных в данной статье средств Windows 2000 не работает под NT,
хотя, повторяю, другие утилиты Windows 2000 могут функционировать и
там. Иначе говоря, если кому-то приглянется еще какое-либо средство
из комплекта ресурсов Windows 2000 и захочется использовать его в
системе NT, обязательно нужно проверить это средство на обратную
совместимость. Возможно, оно окажется универсальным.
Пять утилит для Windows 2000
Некоторые из представленных ниже
программ обеспечивают управление такими новыми средствами Windows
2000, как Windows Installer и Group Policy. Не во всех инструментах
комплекта ресурсов Windows 2000 возможность выполнения той или иной
функции на удаленных машинах реализована в явном виде. Однако
существует целый ряд приемов, которые позволяют задействовать
локальные утилиты в качестве дистанционных. Например, с помощью
таких средств, как Rcmd и Rconsole, можно устанавливать на системах
Windows 2000 оболочку для удаленного управления системой. Установив
такую оболочку, администратор получает возможность передать копию
утилиты на удаленную машину и запускать ее дистанционно.
1. Addiag.
Утилита Addiag.exe представляет собой многофункциональное средство
диагностики, предоставляющее информацию о приложениях рабочей
станции или сервера, установленных с применением технологии Windows
Installer. Кроме того, с помощью Addiag.exe администратор
определяет, является ли текущий сеанс работы сеансом Server Terminal
Services. В зависимости от заданных параметров Addiag может
предоставлять информацию, группируя ее по пользователям или по
машинам. Кроме того, программа сообщает администратору о записях
журнала регистрации событий, относящихся к работе службы установки
ПО для данной групповой политики. Поскольку работать с групповыми
политиками сложно, утилита Addiag представляет собой бесценное
средство мониторинга состояния рабочей станции, к которой
применяются заданные администратором политики установки программного
обеспечения.
создает журнальный файл для рабочей
станции из домена Windows 2000 и выполняет настройку программ в
соответствии с заданной групповой политикой. Ключ /verbose:true
означает, что требуется подробный отчет. Ключ /user:false
предписывает системе применять политику к машине, а не к
пользователю. Применение ключа /test требует наличия строки,
состоящей из разделенных запятыми ключевых слов, которые обозначают
набор тестов. Тест Info собирает информацию общего характера, такую,
как имя рабочей станции, на которой выполняется команда, а также имя
и идентификатор SID зарегистрированного пользователя. В результате
выполнения теста ServerApps администратор получает список прикладных
программ, установленных с использованием групповой политики. В ходе
ADHistory система выполняет опрос реестра для выявления номера
версии последнего из примененных к данной машине объектов Group
Policy Object (GPO). Тест MSILinks производит опрос оболочки Windows
Explorer и выясняет, сопровождалась ли установка ПО размещением
ярлыков на рабочем столе, а если да, то каких именно. Тест EventDump
отбирает все относящиеся к программным средствам регистрационные
записи журнала приложений, а тест Check определяет, содержит ли
установленное на локальной рабочей станции ПО все указанные GPO
компоненты.
В тех случаях, когда запрашивается
большое количество данных (и особенно если выполняется тест
Event-Dump, а в журнале регистрации содержится множество записей,
относящихся к установке программных компонентов), утилита Addiag.exe
выполняется медленно. Полученные данные я рекомендую сохранять в
отдельных файлах, иначе можно упустить из виду какую-нибудь запись.
С помощью программы Addiag можно
также выставлять и сбрасывать несколько флажков реестра, управляющих
уровнем отладки внутри операционной системы. Например, команда
addiag /trace: MSIIOn
предписывает системе выполнять
подробные регистрационные записи в файлы msinnnn.log. Прикладная
программа Windows Installer генерирует эти регистрационные файлы в
папке \%temp% в тех случаях, когда с ее помощью в системе
устанавливается новое приложение. А для того, чтобы в
регистрационном журнале приложений генерировались подробные записи
об установке ПО, нужно ввести команду
addiag /trace:AppMgmtOn
Правда, для выполнения этой команды
требуется проделать некоторую подготовительную работу. На машине,
где она будет выполняться, следует создать раздел реестра
HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\ Windows NT\CurrentVersion\Diagnostics.
2. Gpresult.
Утилита Gpresult.exe тоже связана с Group Policy. Эту служебную
программу можно назвать версией Resultant Set of Policies (RSoP)
«для бедных»: как и RSoP, она показывает, какие групповые политики
применяются для пользователя, зарегистрировавшегося на машине, на
которой выполняется команда. Кроме того, Gpresult извещает
администратора о том, какие узлы функциональности объекта GPO
(скажем, защита данных, установка ПО, административные шаблоны)
выполняются на данном компьютере. В режиме отображения подробных
сообщений утилита представляет дополнительные данные: например,
сведения о том, какие записи реестра модифицирует та или иная
политика использования административных шаблонов, а также о том,
развертывание каких приложений предусматривает та или иная политика
установки ПО.
Для запуска команды достаточно ввести
в командной строке ее имя
gpresult
Если добавить к имени ключ /v,
команда будет выполняться в режиме verbose с отображением подробных
сообщений; с ключом /s она переходит в режим superverbose, т. е.
предоставляет пользователю максимально возможный объем данных. По
умолчанию при отображении сведений, касающихся GPO, утилита
Gpresult.exe группирует их либо по пользователям, либо по
компьютерам. Если использовать команду с ключом /u, будет выводиться
информация, связанная с пользователем, с ключом /c – с компьютером.
На Экране 1 показано, как выглядят данные, отображаемые утилитой
Gpresult.exe. Кстати, следует иметь в виду, что при перечислении
групп, к которым принадлежит выполняющий команду пользователь,
утилита Gpresult указывает группы только того домена, в котором
выполняется команда. Членство пользователя в группах за пределами
локального домена программа не отражает – даже в тех случаях, когда
это может повлиять на обработку данных GPO.
Экран 1. Информация о
примененных к пользователю GPO в Windows 2000.
3. Inuse.
Известно, что модернизация прикладной программы на
рабочей станции возможна даже в том случае, когда пользователь,
зарегистрированный в системе, работает с данным приложением;
загвоздка лишь в том, что в процессе модернизации невозможна замена
используемых файлов, например библиотеки DLL. Так вот, утилита Inuse
позволяет задействовать встроенную функцию системы, которая
обеспечивает замену таких файлов при последующей перезагрузке.
Inuse.exe вызывается следующим образом:
Inuse /y
Ключ /y подавляет вывод программой
Inuse.exe каких-либо запросов на подтверждение. Обратите внимание на
такую особенность: хотя фактически замена файлов осуществляется
только в ходе последующей загрузки системы, утилита Inuse
регистрирует операцию замены сразу, изменяя значение в параметре
реестра HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\ Control\SessionManager\Pending-File
RenameOperations. При этом нужно отметить, что Inuse не вступает в
конфликт со средством защиты файлов Windows File Protection (WFP) и
не осуществляет замены созданных Microsoft системных файлов Windows
2000, защищенных механизмом WFP.
4. Moveuser.
При перемещении учетных записей пользователей в новый домен могут
возникнуть трудности, связанные с параллельным перемещением профилей
пользователей; особенно это касается тех случаев, когда речь идет о
перемещении учетных записей в филиалах для нескольких компьютеров,
на которых профиль пользователя кэшируется. Профиль пользователя
Windows 2000 связан с идентификатором SID пользователя или группы.
Когда администратор создает для пользователя новую учетную запись в
другом домене, идентификатор SID последнего изменяется, и этот
пользователь теряет доступ к своему профилю. Но с помощью входящей в
комплект ресурсов утилиты Moveuser.exe проблема решается просто.
Данная утилита изменяет зафиксированные права доступа на файл
профиля ntuser.dat и тем самым обеспечивает возможность работы с ним
под новой учетной записью.
Синтаксис команды Moveuser таков:
moveuser
/c
Программа Moveuser.exe предписывает
системе установить соответствие между первоначальным профилем
пользователя, который кэширован на рабочей станции workstationA, и
его новой учетной записью, созданной администратором в новом домене.
Понятно, что сначала нужно создать новую учетную запись и лишь затем
выполнять команду Moveuser. При желании администратор может
отступить от традиционной схемы domain\user и воспользоваться именем
в формате user principal name (UPN), т. е. сформировать запись типа
user@mydomain.tld.
В фоновом режиме Moveuser
модифицирует раздел реестра HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows
NT\ CurrentVersion\ProfileList. В результате изменяется
идентификатор SID, ассоциированный со старым профилем пользователя,
и открывается возможность доступа к новому профилю пользователя из
новой учетной записи. Ключ /c позволяет применить команду к
удаленной машине. Кроме того, утилита модифицирует права доступа на
ntuser.dat для обеспечения доступа нового пользователя к текущему
профилю пользователя. Иными словами, когда этот пользователь
регистрируется на рабочей станции work-stationA с новой учетной
записью, он получает профиль, идентичный тому, который был у него в
старом домене.
Наряду с этим программа Moveuser.exe
может перемещать профиль локальной учетной записи пользователя (т.
е. записи, сделанной не в домене, а на одной из рабочих станций или
в базе SAM одиночного сервера). При выполнении этой операции
необходимо использовать ключ /k, который блокирует удаление
локальной учетной записи после перемещения соответствующего профиля.
Утилита Moveuser сопоставима с другой служебной программой – User
State Migration Tool (USMT), однако нужно иметь в виду, что эти
утилиты предназначены для разных задач. Программа USMT позволяет
сохранять относящиеся к пользователю и компьютеру разделы реестра и
восстанавливать их в ситуациях, когда пользователь переходит на
новую машину и получает новый профиль.
5. Rpcdump.
Чтобы определить, подключен ли к сети тот или иной сервер либо
рабочая станция, многие администраторы применяют тестирование с
использованием команды ping. Такой метод тестирования прекрасно
подходит для выполнения базовых диагностических процедур (скажем,
для поиска соединений и для замеров задержек при обмене информацией
по сети), но его применение сопряжено с рядом ограничений. Механизм
работы ping основан на использовании протокола Internet Control
Message Protocol (ICMP). Он позволяет выяснить, готово ли к работе
то или иное сетевое устройство, но не дает возможности судить о том,
установлена ли на этом устройстве определенная служба и работает ли
она в данный момент. Наконец, при тестировании с помощью ping
возможна еще одна проблема – в том случае, когда тестируемое
устройство находится под прикрытием средств сетевой защиты, ибо
многие средства защиты блокируют передачу пакетов ICMP. Допустим,
ответ на запрос не поступил. Почему? Из-за блокады трафика со
стороны брандмауэра? Или из-за неполадок в удаленном устройстве? К
сожалению, эти вопросы остаются без ответа.
Утилита Rpcdump позволяет
администратору опрашивать интересующие его устройства и определять,
готовы ли они к «общению» средствами указанного протокола, причем
опрос выполняется с помощью этого же протокола. Данная программа
неоценима в ситуациях, когда приходится выяснять причины
неисправности удаленных систем, которые перестали реагировать на
запросы. Утилита предусматривает использование как низкоуровневых
сетевых протоколов, таких, как TCP, UDP, IPX и SPX, так и протоколов
более высокого сеансового и прикладного уровней – NetBIOS over TCP/IP
(NetBT), Net-BEUI, Microsoft Message Queue Services (MSMQ), а также
именованных каналов (named pipes). С помощью программы Rpcdump можно
определить, через какие порты удаленный сервер готов принимать
сигналы и какие порты обеспечивают прохождение трафика сквозь
средства сетевой защиты.
В команде
rpcdump /s servera /v /i
ключ /s используется для указания
имени удаленного сервера (в данном случае это имя «servera»),
который мы собираемся тестировать. Ключ /v предписывает системе
выдавать полные ответы, а ключ /i будет воспринят программой Rpcdump
как требование опросить все конечные точки (т. е. службы), имеющиеся
на устройстве servera. Иначе говоря, применение ключа /i приведет к
тому, что утилита проверит все порты устройства servera и сообщит
администратору обо всех портах, прослушива