10 программ дистанционного управления из Resource Kit
Я нисколько не сомневаюсь, что все системные администраторы - и особенно те, чьему попечению доверены сотни и тысячи удаленных систем, в своей повседневной работе постоянно обращаются к служебным программам из Microsoft Windows 2000 Server Resource K
Даррен Мар-Элиа
В фоновом режиме Moveuser модифицирует раздел реестра HKEY_LOCAL_MACHINE SOFTWAREMicrosoftWindows NT CurrentVersionProfileList. В результате изменяется идентификатор 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 и сообщит администратору обо всех портах, прослушиваемых сервером.
Программа Rpcdump может работать с указанными администратором протоколами, например с именованными каналами. Именованные каналы - это разработанные для среды Windows протоколы прикладного уровня, применяемые для передачи сообщений по сетям Windows. Команда
rpcdump /s servera /v /p ncacn_np
запрашивает сервер о наличии конечных точек, готовых к приему сообщений по именованным каналам. В данном примере вместо ключа /i используется ключ /p, который воспринимается утилитой как требование проверить только указанную конечную точку. За ключом /p следует выражение nccacn_np - это имя протокола именованных каналов.
Ключ /p означает, что запрос будет касаться только одного протокола. Если этот протокол не установлен на целевом устройстве, утилита Rpcdump выведет сообщение об ошибке «ERROR: RrpcNetworrkIsProtseqValid: (Tthe RPC protocol sequence is not supported)». Если же протокол установлен, но не инициализирован на данном стандартном порте, команда выполняется успешно, но не возвращает какой-либо информации о конечной точке. Рассматриваемая программа может опрашивать как системы NT 4.0, так и компьютеры с Windows 2000.
Пять утилит для Windows NT 4.0
Администраторы сетей NT 4.0, обычно используют как программы из комплекта ресурсов, так и утилиты независимых поставщиков. Ниже приводится описание средств комплекта ресурсов, которыми я пользуюсь чаще всего в процессе управления крупной сетью NT 4.0.
1. Getsid. Getsid.exe - довольно простая утилита. Она возвращает идентификаторы безопасности SID двух указанных администратором учетных записей пользователей и сообщает, идентичны ли они. Getsid выполняется как на локальных, так и на удаленных машинах и очень помогает в тех случаях, когда требуется сопоставить идентификаторы SID на локальной и удаленной машинах.
При выполнении программы Getsid нужно указать имена двух учетных записей. Если нужно установить идентификатор SID только для одной учетной записи, проще всего - дважды указать одно и то же имя. Синтаксис для запуска команды Getsid таков:
getsid
Я обычно использую утилиту Getsid для того, чтобы определить, обладает ли уникальным идентификатором SID рабочая станция NT 4.0, к которой применяется пакет клонирования дисков (скажем, Ghost фирмы Symantec или Drive Image компании PowerQuest). Здесь уместно напомнить, как в системе NT 4.0 создаются идентификаторы SID для учетных записей пользователей. Система попросту конкатенирует SID машины и относительный идентификатор Relative Identifier (RID). К примеру, в SID-идентификаторе S-1-5-21-971243749-1317886497-1329147602-500 все знаки, за исключением последней группы цифр (500), - это SID машины. А последняя группа цифр - это RID, и надо сказать, что «500» - это широко известный RID-идентификатор; ОС всегда присваивает его учетной записи администратора того или иного устройства. Когда SID-идентификаторы исходной и целевой машин совпадают, все встроенные учетные записи и многие учетные записи, созданные пользователями в клонированной машине, имеют тот же SID, что и соответствующая учетная запись на исходной машине. А поскольку для определения прав доступа к таким ресурсам, как файлы и принтеры, в NT применяются не имена пользователей, а идентификаторы SID, наличие на различных машинах одинаковых идентификаторов SID учетных записей может вызвать серьезные проблемы, связанные с управлением доступом.
Чтобы этого не произошло, поставщики программных средств клонирования разработали специальные утилиты модификации идентификаторов SID, которые, как правило, запускаются после выполнения программы клонирования. Утилита модификации генерирует на машине-клоне уникальный SID-идентификатор. Любопытно, что к числу поставщиков присоединилась и Microsoft: специалисты компании разработали утилиту Sysprep, генерирующую уникальные идентификаторы.
Getsid позволяет администратору убедиться в том, что модификация SID на клонированной рабочей станции выполнена успешно, и полученный идентификатор отличается от того, который был присвоен исходной рабочей станции. Команда
сравнивает идентификаторы учетных записей администратора на двух машинах NT. На Экране 2 показано, как может выглядеть сообщение, которое система выводит после выполнения команды Getsid.
Экран 2. Результаты работы утилиты Getsid.
В Windows 2000 реализована концепция администратора доступа (security principal), которому присваивается несколько идентификаторов SID. Однако версия утилиты Getsid, включенная в набор ресурсов Windows 2000, как и версия для NT, возвращает для каждого пользователя только первичный идентификатор SID.
2. Nltest. Nltest - универсальная служебная программа, которая используется для выявления неполадок, связанных с доверительными отношениями и учетными записями машин в доменах NT 4.0. С ее помощью администратор может опрашивать удаленные рабочие станции и серверы и даже выполнять на них дистанционную настройку.
Утилита Nltest обращается за информацией к службе Netlogon, которая устанавливается на рабочих станциях и серверах NT. Служба Netlogon отвечает за работу безопасных каналов связи между компьютерами и серверами внутри домена и между контроллерами доменов (domain controllers, DCs) внутри группы доменов, связанных доверительными отношениями. При использовании программы Nltest.exe допускается применение более чем 20 ключей, но я хочу остановиться лишь на нескольких основных.
С помощью Nltest.exe администратор определяет, какой контроллер домена локальная или удаленная рабочая станция (либо сервер) использует для организации безопасного канала связи с доменом. Дело в том, что именно этот контроллер домена применяется для регистрации пользователей, которые входят в систему через данную рабочую станцию. Поэтому информация о нем важна для решения проблем, связанных с регистрацией. А если администратор знает, какой контроллер домена обрабатывает запросы машины на регистрацию, он может ограничить поиски неполадок каналом связи между ней и этим контроллером домена.
Команда, позволяющая определить контроллер домена, ответственный за работу безопасного канала связи «компьютер-домен» формулируется так: