SpayniX Web Portal

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Работа с утилитой диагностики контроллера домена DCDIAG (Полная версия)

E-mail Печать PDF
(1 Проголосовало)

Контроллеры домена составляют основу практически любой сети Windows. В конце концов, если ваши контроллеры домена не работают, то и Active Directory тоже не работает. Если не работает Active Directory, то пользователи не могут входить в систему, групповые политики не могут использоваться, и множество прочих функций становится недоступным. К счастью, Windows поставляется с инструментом, который можно использовать для поддержания надежной работы контроллеров домена. Этот инструмент называется утилитой диагностики контроллеров домена (Domain Controller Diagnostic Utility). В этой статье я покажу вам, как использовать данный инструмент для осуществления базовых задач обслуживания и диагностики ваших контроллеров домена.

Прежде чем начать

Утилита Domain Controller Diagnostic Utility является частью Windows вот уже несколько лет. В целях написания данной статьи я буду работать с версией этой утилиты, которая идет с Windows Server 2008. Большинство, если не все функции, о которых я буду говорить, также есть в версии Windows Server 2003 SP1. DCDIAG существовала еще до Windows Server 2003 SP1, но многие команды, доступные сегодня, были впервые представлены в Windows Server 2003 SP1.

 

К утилите Domain Controller Diagnostic Utility можно получить доступ, выполнив команду DCDIAG из интерпретатора команд Windows.

Запуск утилиты Domain Controller Diagnostic Utility

Если вы хотите все упростить, можно запустить утилиту Domain Controller Diagnostic Utility путем ввода команды DCDIAG в окне интерпретатора команд Windows Command Prompt. После этого утилита выполнит ряд тестов на контроллере домена, к которому вы подключены. Примеры этих тестов приведены на рисунке A.

Рисунок A: Утилита Domain Controller Diagnostic Utility выполняет ряд тестов на контроллере домена
Рисунок A: Утилита Domain Controller Diagnostic Utility выполняет ряд тестов на контроллере домена

Простой ввод команды DCDIAG выполняет работу, но это было бы неудачной идеей, если бы в статье я предложил бы вам просто выполнить команду и все. В утилите Domain Controller Diagnostic Utility сокрыто гораздо больше возможностей, чем кажется на первый взгляд. Прежде чем вы сможете по достоинству оценить возможности инструмента, вам нужно познакомиться с некоторыми опциональными параметрами, которые можно использовать совместно с командой DCDIAG. Если вы посмотрите на рисунок B, то увидите, что синтаксис команды DCDIAG слишком длинный даже для того, чтобы войти в один снимок экрана. Как и в большинстве случаев со сложными вещами, синтаксис команды не столь сложен, как может показаться на первый взгляд. Когда вы поймете, как работает команда, ее использование станет для вас довольно простым.

Рисунок B: Синтаксис команды DCDIAG настолько длинный, что не входит в снимок экрана
Рисунок B: Синтаксис команды DCDIAG настолько длинный, что не входит в снимок экрана

Разбор синтаксиса

Как видно из вышеприведенного рисунка, базовый синтаксис команды DCDIAG выглядит так:

dcdiag.exe /s:<Directory Server>[:<LDAP Port>] [/u:<Domain>\<Username>
/p:*|<Password>|""]
           [/hqv] [/n:<Naming Context>] [/f:<Log>] [/x:XMLLog.xml]
           [/skip:<Test>] [/test:<Test>]

Хотя снимок экрана, показанный на рисунке B, перечисляет, что делает каждый из переключателей команды, это объяснение немного расплывчатое. Учитывая это, я попытаюсь вам предоставить более понятное объяснение того, что делает каждый переключатель команды.

/H

Если вы выполните команду DCDIAG с параметром /H, она просто отобразит синтаксис команды DCDIAG, как показано на рисунке B. Если вы тщательнее посмотрите на рисунок, вы заметите, что можно также использовать переключатель /? для отображения синтаксиса команды.

/S

Параметр /S позволяет вам указывать домашний сервер. По сути это означает, что можно использовать параметр /S для указания имени контроллера домена, на котором вы хотите выполнить команду DCDIAG. Как вы, возможно, помните, когда я выполнил команду DCDIAG на рисунке A, мне не пришлось указывать домашний сервер. Если вы не укажите домашний сервер, то утилита DCDIAG просто выберет один автоматически.

Есть пара случаев, в которых выбранный домашний сервер будет игнорироваться. Тесты DCPROMO и Register In DNS выполняются локально, а не на контроллерах домена. Таким образом, если вы попытаетесь указать домашний сервер для этих тестов, он будет проигнорирован. Я расскажу об этих тестах позже.

/N

Параметр /N позволяет указывать контекст именования домена. Если вы не знакомы с этим термином, скажу, что каждый домен представляется контекстом именования доменов. Контекст именования доменов содержит такие объекты домена, как пользователи, группы, компьютеры и т.д. Вам не нужно указывать контекст именования домена, но если вы захотите использовать его, вы можете ввести NetBIOS, DNS (полное доменное имя - fully qualified domain name), или DN форму.

/U

Если вы вошли в систему не от имени учетной записи администратора домена, который тестируете, вам придется предоставить команде DCDIAG набор мандатов администратора, которыми она сможет воспользоваться. Как вы, несомненно, знаете, административные мандаты обычно состоят из имени пользователя и пароля. Переключатель /U используется для указания имени пользователя. Поскольку вы вводите имя учетной записи с разрешениями администратора домена, вам придется вводить имя пользователя в формате domain\username.

/P

Другой параметр, используемый для ввода набора мандатов, представляет собой переключатель /P. Как вы, вероятно, поняли, за параметром /P вводится пароль учетной записи, которую вы указали в переключателе /U.

/A

Active Directory часто группируется в сайты. Сайт, как правило, представляет собой сочетание контроллеров домена, которые имеют надежное высокоскоростное подключение между собой. Например, если организация расположена в двух разных помещениях, соединенных между собой посредством сети WAN, каждое из помещений будет настроено на работу в качестве отдельного сайта, поскольку компьютеры в помещении объединены в общую локальную сеть LAN, но между помещениями нет такого LAN соединения.

Если ваша организация поделена на сайты, то вам будет интересен переключатель /A. Использование этого параметра заставляет команду DCDIAG тестировать все контроллеры домена в текущем сайте.

/E

Параметр /E сходен с /A переключателем, за исключением того, что он заставляет команду DCDIAG тестировать не только текущие контроллеры домена, а все предприятие.

/Q

Как вы уже видели, результат команды DCDIAG довольно длинный. В таком объемном результате легко пропустить отчеты об ошибках. Если с вами такое случилось, можно воспользоваться параметром /Q для выполнения команды DCDIAG в тихом режиме (Quiet mode), который заставит команду выводить только список ошибок.

/V

Переключатель /V представляет собой что-то вроде параметра, обратного переключателю /Q. Если параметр /Q уменьшает размер результатов, то переключатель /V увеличивает его. В этом случае вы получаете более подробную информацию о проблеме, которую пытаетесь исправить.

/I

Иногда команда DCDIAG создает бессмысленные отчеты об ошибках, которые могут сбивать с толку менее опытных администраторов. Если это случается, можно воспользоваться переключателем /I, чтобы заставить команду DCDIAG убрать неважные отчеты об ошибках.

Заключение

В этой статье я представил вам основы команд, используемых в утилите Domain Controller Diagnostic Utility. Во второй части мы продолжим обсуждение, и я покажу вам, как использовать дополнительные параметры команды, и как выполнять определенные тесты.

 

Работа с утилитой диагностики контроллера домена (часть 2)

В первой части этой серии статей я говорил о том, что если вам нужно диагностировать проблемы с контроллером домена, можно просто ввести команду DCDIAG, или использовать любой из множества различных доступных переключателей командной строки в качестве способа тестирования определенных интересующих вас свойств контроллера домена с помощью утилиты. В предыдущей части я начал показывать вам некоторые переключатели командной строки, однако осталось еще несколько переключателей, которые я бы хотел продемонстрировать вам. В этой части я расскажу о некоторых дополнительных переключателях и постепенно перейду к некоторым отдельным тестам, которые можно выполнить.

/C

Я уже говорил о том, что можно просто запустить команду DCDIAG без каких-либо переключателей и утилита диагностики контроллера домена выполнить весь ряд тестов на вашем контроллере домена. Но даже в этом случае есть ряд тестов, которые утилита диагностики способна выполнить, однако она этого не будет делать по умолчанию.

Если вы не совсем уверены, что происходит с вашим контроллером домена, я рекомендую выполнить команду DCDIAG с параметром /C. Это заставит команду DCDIAG выполнить полномасштабный ряд тестов. Утилита диагностики контроллера домена выполнит все известные ей тесты, за исключением тестов DCPROMO и RegisterInDNS, о которых я расскажу позже.

Следует учитывать, что запуск полномасштабного ряда тестов займет достаточно длительное время на выполнение. Если вы знаете, что нет необходимости в выполнении определенных тестов, то можно использовать переключатель /C совместно с переключателем /SKIP. Просто добавьте двоеточие и название теста, который хотите пропустить, к переключателю /SKIP, и указанный тест будет пропущен из полного сканирования.

/F

В начале первой части я показывал вам, как выглядит запуск команды DCDIAG без указания каких-либо переключателей. Как вы, возможно, помните, текст результатов довольно объемный. Конечно когда я создавал снимок результатов, я просто выполнял стандартный ряд тестов на своем здоровом контроллере домена. Результаты выполнения этой команды могут быть гораздо длиннее, если вы укажите дополнительные тесты или если определенные тесты обнаружат проблемы на указанном контроллере домена.

В некоторых случаях чтение результатов теста с монитора может быть непрактичным. DCDIAG может выдавать данные гораздо быстрее, чем вы их читаете. Именно здесь на помощь приходит параметр /F. Переключатель /F дает вам возможность записи результатов в файл лога. Таким образом, вы можете не спеша в свое удовольствие читать результаты. Но что более важно, у вас будет постоянная копия результатов, к которой вы всегда сможете обратиться.

Чтобы использовать переключатель /F просто добавьте двоеточие и укажите путь и имя файла лога, который хотите создать. Например, если вы хотите создать лог под названием TEST.LOG, то нужно ввести DCDIAG /F:TEST.LOG. Следует учитывать, что когда вы используете /F переключатель, данные полностью перенаправляются в файл лога. Это означает, что результаты теста вообще не будут отображаться в окне утилиты. При выполнении операций с участием нескольких тестов может показаться, что сервер заблокирован во время их выполнения.

/FIX

Все указанные мною переключатели пока что носили диагностический характер. При их использовании команда DCDIAG выполняет свои тесты определенным образом, но в любом случае она лишь выдает отчеты о результатах. Она не пытается исправить какие бы то ни было проблемы.

Если утилита DCDIAG выдает отчет о какой-либо проблеме, можно попытаться исправить ее с помощью переключателя /FIX. Хотя этот переключатель прост в том, что он не требует от вас ввода каких-либо дополнительных атрибутов, есть несколько важных моментов, о которых вам нужно знать во время использования этого переключателя.

Прежде чем использовать этот переключатель, важно вспомнить, что вы на самом деле пытаетесь сделать. Вы говорите автоматизированной утилите внести изменения в ваш контроллер домена, что зачастую означает, что вы вслепую изменяете Active Directory. Утилита диагностики контроллера домена создана таким образом, что когда вы используете переключатель /FIX, она лишь выполняет исправления, которые считает безопасными. Но даже в этом случае, простой факт того, что использование этого переключателя включает внесения изменений в контроллер домена вслепую, заставляет меня рекомендовать вам крайне осторожное использование этого переключателя. Переключатель /FIX создан с учетном безопасности, но всякий раз при работе с такими сложными вещами, как контроллер домена, что-нибудь может пойти не так.

Учитывая это, я рекомендую никогда не указывать параметр /FIX во время первого запуска команды DCDIAG. Вместо этого нужно выполнить свои тесты и затратить время на оценку его результатов, прежде чем пытаться использовать переключатель /FIX. Если вы все же решили использовать переключатель /FIX, я рекомендую сначала выполнить полную резервную копию состояния системы на целевом контроллере домена.

Если вы хотите оградить себя от неприятностей, то перед попыткой исправления контроллера домена с помощью данного переключателя вам нужно установить запасной Windows ПК и настроить его в качестве контроллера домена. Когда все готово, дождитесь окончания процесса репликации, затем отключите машину и выньте вилку из розетки. В этом случае у вас будет здоровый контроллер домена, который можно будет использовать для восстановления своей Active Directory, если что-то пойдет не так во время процесса исправления.

/TEST

Последний переключатель, о котором я хочу рассказать, это переключатель /TEST. Все приведенные мною до этого момента переключатели управляют тем, как ведет себя утилита диагностики во время выполнения тестов. Вы также видели, что утилита выполняет полный ряд тестов по умолчанию, но можно использовать переключатели /C или /SKIP для выполнения или пропуска определенных тестов.

Я хочу сказать, что до настоящего времени мы предполагали выполнение нескольких тестов. Однако вовсе необязательно выполнять ряд тестов. Переключатель /TEST позволяет вам указывать имя отдельного теста, который в хотите выполнить. Просто добавьте двоеточие и название теста к переключателю /TEST.

Следует помнить, что нельзя использовать переключатель /TEST для выполнения нескольких тестов. Ну и очевидным является тот факт, что переключатель /TEST не может использоваться с переключателем /SKIP, поскольку они являются взаимоисключающими элементами.

Заключение

В этой части я показал вам некоторые дополнительные переключатели, которые можно использовать с утилитой диагностики контроллеров домена. В следующей части мы поговорим об отдельных тестах, которые можно выполнять.

 

Работа с утилитой диагностики контроллеров домена (часть 3)

Надеюсь, к настоящему моменту, вы понимаете, что утилита Domain Controller Diagnostic Utility имеет множество различий, которые вы можете использовать для настройки утилиты на работу, соответствующую требованиям вашей ситуации. Теперь, когда я рассказал о переключателях командной строки, я хочу обратить внимание на отдельные тесты, которые способна выполнить эта утилита.

Advertising

Первый тест, который можно выполнить, это тест advertising. Этот тест выполняет проверку с целью выяснения того, открывает ли себя каждый агент Directory System Agent. Если агент Directory System Agent обнаруживается (advertised), то тест отображает контроллер домена, как имеющий возможности Directory System Agent.

Если вы не знакомы с понятием агента системной директории (Directory System Agent), скажу, что Directory System Agent (сокращенно DSA) по сути представляет собой набор нескольких служб и процессов, запущенных на контроллере домена. Его задачей является обеспечение доступа к базе данных Active Directory Database. DSA является субкомпонентом Local System Authority (LSA). Причина, по которой он включает несколько служб и процессов, заключается в том, что он обеспечивает различные механизмы, посредством которых клиенты могут получать доступ к нему.

Возможно, самым известным из таких механизмов является протокол Light Weight Directory Access Protocol, известный как LDAP. LDAP представляет собой протокол, через который большинство последних версий ОС Windows опрашивают Active Directory. Более старые клиенты все еще требуют доступ к DSA, но обычно делают это через диспетчера учетных записей Security Account Manager (SAM). Это не единственный механизм, через который клиенты получают доступ к DSA. Например, Microsoft Exchange взаимодействует с DSA, используя RPC вызовы на основе MAPI. DSAs также взаимодействуют друг с другом, используя вызов удаленных процедур.

CheckSDRefDom

Этот конкретный тест проверяет все ваши разделы директорий приложений на предмет наличия соответствующих эталонных доменов дескрипторов безопасности. Полагаю, что этот конкретный тест будет бессмысленным для любого, кто не является экспертом в области Active Directory. Поэтому уделю немного времени тому, чтобы пояснить, что собой представляет данный тест.

Как, я уверен, вы знаете, каждый объект в Active Directory содержит дескриптор безопасности. Задачей дескрипторов безопасности является обслуживание списка информации контроля доступа. Обычно, встроенный дескриптор работает нормально, обслуживая записи о том, кто к чему имеет доступ. Проблема возникает, если организация начинает использовать разделы директории приложений (ранее известные как Active Directory Application Mode или ADAM). Причина заключается в том, что разделы директории приложений не зависят от доменов. На самом деле можно создать раздел директории приложений, а затем копировать этот раздел на другие контроллеры домена в различных доменах. Из-за этой проблемы, Windows назначает эталонный домен дескрипторов безопасности для каждого раздела директории приложений, когда таковой создается.

Эталонный домен дескрипторов безопасности говорит разделу директории приложений, какое имя домена использовать, когда необходимо ввести значение домена в дескриптор безопасности. Windows содержит множество правил для определения того, какое имя домена использовать. Говоря простым языком, если вы создаете новый раздел директории приложений, который не является дочерним разделом любого другого раздела, а эталонный домен дескриптора безопасности использует корневой домен леса в качестве имени домена, используемого для различных дескрипторов безопасности. Если раздел директории приложений является дочерним для другого объекта, то он получает эталонный домен дескрипторов безопасности своего родительского объекта.

CheckSecurityError

Следующий тест, о котором я расскажу, это тест Check Security Error. В отличие от предыдущего теста, о котором я говорил, тест Check Security Error не запускается по умолчанию. Если вы хотите выполнить этот тест, вам придется указать его вручную в команде DCDIAG.

Когда вы выполняете этот тест, DCDIAG обнаруживает любые ошибки, связанные с безопасностью, а также ошибки, которые могут быть потенциально связаны с безопасностью, и затем пытается диагностировать проблему. Есть один необязательный параметр, который можно использовать с этим переключателем. Переключатель /ReplSource позволяет указывать конкретный домен, на котором нужно выполнить тест. Можно использовать любой контроллер домена, независимо от статуса его ошибки или от того, является ли он текущим партнером. Просто введите название теста (CheckSecurityError), добавьте параметр /ReplSource, двоеточие и название контроллера домена, который хотите протестировать.

Подключение (Connectivity)

Тест Connectivity является одним из наиболее полезных тестов. На самом деле, этот тест так важен, что DCDIAG даже не позволяет его пропустить. Если вы запускаете DCDIAG с параметрами по умолчанию, тест Connectivity выполняется автоматически.

Данный тест проверяет контроллер домена на предмет регистрации в DNS. Он также проверяет возможность выполнения эхо-запроса (ping) на каждом контроллере домена, и возможность создания LDAP и RDP подключения.

CrossRefValidation

Честно говоря, я не смог найти достаточно документации по данному тесту. Могу лишь сказать, что этот тест ищет перекрестные ссылки (cross references), которые недействительны. Если вы получаете ошибку подтверждения перекрестной ссылки, проблему можно решить, используя ADSI edit для удаления конфликтного объекта.

Я также хочу сказать, что если вы используете ADSI edit некорректно, вы можете уничтожить вашу Active Directory. Поэтому я бы порекомендовал сделать полную резервную копию состояния системы контроллера домена, прежде чем вносить изменения с помощью ADSI.

CutOffServers

И последним тестом в этой статье будет Cut off Servers. Основная идея этого теста заключается в том, что в большинстве случаев у контроллеров доменов есть один или более партнеров репликации. Если партнер репликации контроллера домена не работает, то контроллер домена не сможет обновляться с помощью обновлений Active Directory, а DCDIAG выдаст отчет об ошибке Cut off Servers.

Хитрость исправления такого рода ошибок заключается в том, что вам нужно выяснить, какими партнерами репликации были контроллеры домена. Действительный способ варьируется в различных версиях Windows, но в Windows Server 2003 вы можете просмотреть партнеров репликации в консоли Active Directory Site and Services.

Когда дерево консоли откроется, разверните вкладку Сайт (Site), чтобы отобразить список сайтов в Active Directory. Далее, дважды нажмите на сайте, в котором расположен интересующий вас контроллер домена. Затем разверните папку Серверы, за ней папку с названием, соответствующим имени интересующего вас контроллера домена. Наконец, дважды нажмите на вкладке NTDSSettings, и Windows отобразит список всех объектов подключения. В этом списке будут отображены партнеры репликации в колонке From Server.

Заключение

В этой статье я начал рассказывать о некоторых тестах, которые можно выполнять, используя утилиту DCDIAG. В следующей части этой серии статей мы продолжим разговор об отдельных тестах.

 

Работа с утилитой диагностики контроллера домена (часть 4)

DCPROMO

Некоторые тесты, доступные в Domain Controller Diagnostic Utility, являются немного непонятными, если не сказать больше. Однако в отличие от этих тестов тест DCPROMO очень даже полезен. Он создан для проверки готовности сервера, прежде чем делать его контроллером домена. Перевод сервера в контроллеры домена является довольно простым делом. Просто вводите команду DCPROMO, несколько раз нажимаете Далее и все. Но даже несмотря на это, за свой многолетний опыт я создавал сотни контроллеров домена, и во многих случаях возникали трудности из-за каких-либо непредвиденных моментов. Лично я предпочитаю знать наперед, готов ли сервер к тому, чтобы стать контроллером домена или нет, а уж затем пытаться перевести его в разряд контроллеров домена, столкнуться с непредвиденными ситуациями и выяснить их причину. Конечно, если все же процесс перевода сервера в разряд контроллеров домена заканчивается неудачно, всегда можно воспользоваться тестом DCPROMO после этого, чтобы выяснить причину неудачи.

Если вы намерены использовать тест DCPROMO, то с ним вам придется использовать как минимум два переключателя командной строки. Первым переключателем будет /DNSDomain. Необходимо использовать этот параметр, чтобы указать утилите диагностики контроллера домена, контроллером какого домена будет сделан этот сервер.

Вслед за переключателем /DNSDomain необходимо указать второй переключатель, который скажет утилите Domain Controller Diagnostic Utility о ваших намерениях на счет сервера. К примеру, если сервер будет контроллером домена в новом лесу, то его нужно тестировать не так, как если бы он был дополнительным контроллером домена в существующем домене.

Переключатели, говорящие утилите диагностики о том, как новый контроллер домена будет вписываться в существующую структуру Active Directory, в большей степени говорят сами за себя. Это переключатели:

/NewForest
/NewTree
/ChildDomain
/ReplicaDC

К примеру, если вы хотите использовать сервер в качестве дополнительного контроллера домена в существующем домене под названием Contoso.com, то полный синтаксис команды должен быть следующим:

DCDIAG /test:DCPROMO /DNSDomain:Contoso /ReplicaDC

Я хочу предупредить, что если используется переключатель /NewTree, то необходимо использовать третий параметр под названием /ForestRoot. Поставьте вслед за параметром /ForestRoot двоеточие и имя корневого домена (/ForestRoot:Contoso.com)

DNS

Утилита диагностики контроллера домена может восприниматься в качестве механизма выполнения диагностических тестов на контроллерах доменов. Но даже в этом случае, данная утилита со всем набором тестов создана для помощи в диагностировании проблем, связанных с DNS серверами. Это не должно восприниматься, как нечто из ряда вон выходящее. В конце концов, Active Directory полностью полагается на службы доменных имен (Domain Name Services), и первый контроллер домена в лесу обычно настраивается в качестве DNS сервера.

DNS тест представляет собой несколько отдельных тестов, каждый из которых можно выполнить по отдельности. Если вы выполните DNS тест, не указывая никаких дополнительных переключателей, то утилита Domain Controller Diagnostic Utility выполнит все тесты кроме одного. Пропускаемый тест предназначен для разрешения внешних доменных имен. Чуть позже я подробнее расскажу об этом тесте. Но прежде, я хочу предоставить вам список тестов, выполняемых при запуске команды DNS без каких-либо дополнительных переключателей. На рисунке A показано, как выглядят некоторые тесты DNS по умолчанию во время их выполнения.

Рисунок A
Имя тестаПереключатель для выполнения теста вручнуюОписание теста
Базовый диагностический тест /DNSBasic Это базовый диагностический тест, выполняемый всякий раз при запуске DNS теста. Этот тест нельзя пропустить, независимо от того, какие переключатели командной строки используются.
Тест ретрансляторов и указателей маршрута (Forwarder and root hint test) /DNSForwarders Этот тест проверяет ретрансляторы и указатели маршрута сервера DNS.
Тест делегирования (Delegation test) /DNSDelegation Этот тест проверяет делегирование сервера DNS
Тест динамического обновления /DNSDynamicUpdate Этот тест используется для просмотра того, за какую часть DNS пространства имен ответственен DNS сервер.
Тест регистрации записей (Record Registration Test) /DNSRecordRegistration Этот проверяет возможность регистрации записей на DNS сервере.
Рисунок B: Вот как выглядит тест DNS, выполняемый по умолчанию
Рисунок B: Вот как выглядит тест DNS, выполняемый по умолчанию

Я уже говорил, что единственным тестом, не выполняемым по умолчанию во время выполнения DNS теста, является тест разрешения внешних имен. Есть несколько переключателей, которые можно использовать при выполнении данного теста.

Можно использовать переключатель /DNAAll. Этот переключатель дает команду утилите Domain Controller Diagnostic Utility на выполнение всех тестов, связанных с DNS, включая тест разрешения внешних имен. Полный синтаксис этой команды будет таким:

DCDIAG /TEST:DNS /DNSAll

У вас также есть возможность вызвать тест разрешения внешних имен отдельно, а не выполнять все тесты DNS в утилите Domain Controller Diagnostic Utility. Если вы хотите вызвать тест разрешения внешних имен отдельно, нужно указать параметр /DNSResolveExtName.

Если вам интересно, то данный тест предпринимает попытки разрешения доменных имен Microsoft.com. Однако вы можете указать другое имя внешнего домена для разрешения, указав параметр /DNSInternetName в сочетании с именем, которое вы хотите разрешить.

SysVolCheck

Одним из простейших тестов, которые можно выполнить в Domain Controller Diagnostic Utility, является тест SysVolCheck. Этот тест выполняет некоторые базовые тесты разделов Active Directory, включая DNS зоны лесов, DNS зоны доменов, схему, раздел конфигурации и прочие разделы домена. Тест SysVolCheck в действии показан на рисунке C.

Рисунок C
Рисунок C

Тест SysVolCheck выполняет некоторые тесты инициализации подключения, а затем проверяет различные разделы Active Directory.

FrsEvent

Последним тестом, о котором я хотел рассказать в этой статье, является тест FRSEvent. В Windows аббревиатура FRS означает File Replication Service (служба репликации файлов). Данный тест проверяет службу репликации файлов на предмет рабочих ошибок. Это очень важно, поскольку если FRS работает некорректно, контроллеры домена перестают синхронизироваться, что может препятствовать должному применению политик, пока проблема не будет устранена.

Заключение

В этой статье мы обсудили некоторые тесты, которые можно выполнить с помощью утилиты диагностики контроллеров домена. В следующей части этой серии статей я покажу вам еще несколько тестов.

 

Работа с утилитой диагностики контроллеров домена (часть 5)

Введение

Предыдущую часть мы завершили на разговоре о некоторых отдельных тестах, которые можно выполнить с помощью утилиты Domain Controller Diagnostic Utility. Хотя я рассказал уже о многих тестах, есть еще масса тестов, которые вы можете выполнить. В этой части мы продолжим разговор о тестах, которые можно выполнить с помощью утилиты Domain Controller Diagnostic Utility.

Locator Check

Тест Locator Check является одним из важнейших тестов, которые можно выполнить с помощью DCDIAG. Как вы, вероятно, знаете, Active Directory назначает различные роли Flexible Single Master Operations (FSMO) Roles определенным контроллерам домена в лесу. Глобальные роли FSMO изначально назначаются первому контроллеру домена в лесу. Есть также некоторые роли FSMO доменного уровня, которые назначаются по умолчанию первому контроллеру домена в каждом домене.

Тест Locator Check выполняет проверку, чтобы убедиться, что серверы, которым присвоены глобальные роли FSMO, известны, и что эти серверы можно обнаружить. Более того, он позволяет проверить, что серверы с глобальными ролями FSMO отвечают на запросы.

Выполнение этого тест не представляет сложностей. Вам лишь нужно ввести следующую команду:

DCDIAG /TEST:LocatorCheck

Конечно это лишь простейший пример выполнения данного теста. Здесь есть возможность указать определенный контроллер домена и набор мандатов аутентификации, как и для других тестов.

Intersite

В зависимости от топологии Active Directory тест Intersite может тоже быть очень важным. Когда вы выполняете тест Intersite, утилита диагностики выполняет ряд проверок на предмет различных проблем с сервером-плацдармом (bridgehead), которые могут препятствовать репликации информации Active Directory между различными границами сайта.

Синтаксис выполнения теста intersite практически идентичен синтаксису выполнения теста locator. Если вы хотите выполнить тест intersite, просто введите команду:

DCDIAG /Test:Intersite

Тест KCCEvent

Еще одним тестом, связанным с репликацией, является KCCEvent. Этот тест используется для проверки того, что Knowledge Consistency Checker (KCC) функционирует, и что он завершает работу без каких-либо ошибок. Выполнить этот тест можно с помощью следующей команды:

DCDIAG /Test:KCCEvent

Тест KnowsofRoleHolders

Тест Knows of Role Holders позволяет проверить, знает ли агент Directory Service Agent, какие роли Flexible Single Operations Master Roles присвоены различным серверам. Если вы хотите выполнить быстрый тест, вам лишь нужно ввести команду:

DCDIAG /Test:KnowsOfRoleHolders

Хотя этот тест обычно справляется со своей задачей, вам иногда необходимо проверить, какие контроллеры домена по мнению агента Directory Service содержат роли. Если вы хотите определить отдельные серверы, то вам нужно будет запустить тест в подробном режиме (verbose mode). Для этого введите команду:

DCDIAG /Test:KnowsofRoleHolders /v

Тест Machine Account

В среде Active Directory серверы и рабочие станции присоединены к домену. В результате такого процесса присоединения создается учетная запись машины. Как и учетная запись пользователя, машинная учетная запись имеет соответствующий пароль и ряд прочих атрибутов, предназначенных для идентификации отдельной машины. Если учетная запись машины повреждается или перестает синхронизироваться с Active Directory, то соответствующая машина не сможет подключиться к домену. К счастью есть тест, который можно использовать для проверки целостности учетной записи машины контроллера домена. Вы можете выполнить этот тест с помощью следующей команды:

DCDIAG /Test:MachineAccount

За все годы существования Active Directory, я столкнулся лишь с несколькими ситуациями, в которых проблемы с учетными записями машины не давали этим машинам корректно работать. В большинстве этих случаев проблема была вызвана тем, что пароль учетной записи машины переставал синхронизироваться с паролем учетной записи машины, который хранился в базе данных Active Directory.

Если в учетной записи машины все же возникает проблема, есть пара необязательных ключей, которые можно использоваться для исправления проблемы. Одним ключом является /FixMachineAccount, который восстанавливает различные признаки учетной записи. Если это не помогает решить проблему, то вы всегда можете попробовать повторно создать учетную запись машины с помощью ключа /RecreateMachineAccount.

Тест Naming Context Security Descriptors

Одним из неясных тестов является проверка корректности дескрипторов безопасности контекста именования. Если дескрипторы безопасности недействительны, то репликация может дать сбой. Можно выполнить данный тест с помощью команды:

DCDIAG /Test:NCSecDesc

NetLogons

Подобный тест, связанный с репликацией, представляет собой NetLogons. Он позволяет проверить наличие ошибок в репликации из-за недействительных привилегий входа (logon privileges). Для выполнения теста используется следующая команда:

DCDIAG /Test:NetLogons

Тест Objects Replicated

Еще одним важным тестом, связанным с процессом репликации, является тест Objects Replicated. Этот тест изначально используется для проверки того, что учетные записи машин реплицированы на всех контроллерах домена, но его можно использовать для проверки репликации других типов объектов.

Для использования этого теста вам нужно знать отличительное имя (distinguished name - DN) объекта, который вы хотите проверить. Если искомый объект не является учетной записью машины, то вам также нужно знать контекст именования этого объекта. Синтаксис этого теста может выглядеть следующим образом:

DCDiag /Test:ObjectsReplicated /ObjectDN:<object’s distinguished name> /N:<object’s naming context>

Тест Outbound Secure Channels

Будучи машинами, хранящими пользовательские пароли и прочие параметры безопасности, контроллеры домена представляют собой наиболее уязвимые серверы в сети. По этой причине компания Microsoft настроила контроллеры домена на взаимодействие друг с другом по защищенным каналам во всех возможных случаях. Это не позволяет использовать анализаторы пакетов в целях кражи информации Active Directory во время ее репликации с одного контроллера домена на другой.

По определению, защищенный канал представляет собой аутентифицированное RPC соединение между машинами в домене с созданными контекстом безопасности, используемыми для подписей и шифрования RPC пакетов.

Таким образом, ни для кого не должно быть секретом, что утилита Domain Controller Diagnostic Utility предоставляет тест для проверки исходящих защищенных каналов. Это один из тех тестов, которые не выполняются по умолчанию, поэтому вам придется запускать его вручную. Синтаксис выглядит следующим образом:

DCDIAG /Test:OutboundSecureChannels /TestDomain:<yourdomain>

Обычно, этот тест будет проверять контроллеры домена в текущем сайте. Можно заставить тест проверять внешние сайты путем добавления ключа /NoRestriction.

Заключение

В этой статье мы рассмотрели несколько тестов, которые можно выполнить на контроллерах домена с помощью утилиты Domain Controller Diagnostic Utility. Хотите, верьте – хотите, нет, но мы еще не закончили. Я хочу рассказать еще о нескольких тестах. В следующей части цикла мы рассмотрим оставшиеся тесты.

 

Работа с утилитой диагностики контроллеров домена (часть 6)

Введение

Итак, в этой серии статей я уже показал достаточно большое количество разнообразных тестов, которые можно выполнить на контроллерах домена с помощью утилиты Domain Controller Diagnostic Utility. Однако осталось еще несколько тестов, которые я хотел бы обсудить. Эта часть будет заключительной частью, и в ней мы рассмотрим оставшиеся тесты.

Регистрация в DNS

Если вы работаете с Windows уже некоторое время, уверен, что вы знаете о том, что Active Directory полностью зависит от служб DNS, и что каждый узел в вашей сети требует Host (A) записи в DNS сервере вашей организации. Однако многие не осознают, что при создании первого домена в лесу, есть присущие домену DNS записи, которые создаются в папке DomainDnsZones. Эта папка расположена в зоне прямого поиска (Forward Lookup Zones) в каталоге вашего домена.

Каталог DomainDnsZones содержит записи для каждого контроллера домена. Без этих записей прочие серверы в сети не смогут обнаружить ресурсы каталогов контроллера домена. Поэтому необходимо, чтобы каждый контроллер домена был зарегистрирован в DNS. Именно здесь на помощь придет Register in DNS тест. Этот тест проверяет, что контроллер домена способен зарегистрировать запись локатора сервера директорий

Тест Register in DNS можно выполнить путем ввода следующей команды:

DCDIAG /Test:RegisterInDns /DnsDomain:<Active Directory Domain DNS Name>

Например, если ваш домен носит название Contoso.com, команда будет выглядеть следующим образом:

DCDIAG /Test:RegisterInDns /DnsDomain:Contoso.com

Репликации

Как, я уверен, вы знаете, Windows 2000 Server и каждая последующая версия сервера Windows Server использует доменную модель multimaster. Это означает, что каждый контроллер домена имеет свою собственную копию в базе данных Active Directory, и обновления можно выполнять непосредственно для любой из этих копий. Когда осуществляется обновление базы данных Active Directory, то оно реплицируется на другие контроллеры домена.

Тест Replications проверяет выполнение эти обновлений в нескольких промежутках времени. Если процесс обновления происходит с сильными задержками, то контроллеры домена не синхронизируются в течение длительного времени, и возникает большая вероятность конфликтов.

Можно выполнить тест Replications путем ввода следующей команды:

DCDIAG /TEST:Replications

RID Manager

Всякий раз, когда вы создаете новый объект Active Directory, такой как пользователь или группа, Windows присваивает ему уникальный идентификатор безопасности (Security Identifier - SID). Этот SID состоит из SID домена, который является общим для всех объектов в домене, и родственного идентификатора (RID), который будет уникальным для каждого объекта в домене. Мастер RID обеспечивает каждый контроллер домена в домене пулом идентификаторов RID, которые они смогут использовать при создании новых объектов. Когда пул заканчивается, контроллер домена издает запрос мастеру RID на дополнительные RID. Если контроллер домена не может подключиться к мастеру RID Master, то никакие дополнительные объекты создаваться не будут, поскольку пул RID истощен.

Тест RID Manager позволяет вам проверять способность контроллера домена к определению и подключению к RID Master, а также проверять, что RID Master содержит правильную информацию. Этот тест выполняется путем выполнения следующей команды:

DCDIAG /Test:RidManager

Services

В Windows Server 2008, Active Directory теперь считается службой в диспетчере управления службами (Service Control Manager). Как вы, вероятно, догадались, Active Directory немного сложнее, чем может показаться на первый взгляд. Служба Active Directory Domain Service имеет ряд зависимых служб, некоторые из которых включают DNS Server (если он имеется на сервере), Kerberos Key Distribution Center, Intersite Messaging и File Replication Service.

Можно использовать тест Services для проверки того, что служба Active Directory Domain Service и все поддерживающие ее службы запущены. Для этого нужно выполнить команду:

DCDIAG /Test:Services

System Log

Как сказано в документации Microsoft, тест System Log проверяет систему на наличие генерированных ошибок. Звучит так, словно этот тест производит анализ логов системных событий на выявление ошибок. Возможно, он делает это на каком-то уровне, но при выполнении этого теста получается другое.

При выполнении теста system log, утилита Domain Controller Diagnostic Utility начинает с определения домашнего сервера и леса Active Directory. Затем она выполняет тестирование подключения, тест system log (который, как я могу лишь предположить, выполняет поиск критических событий в журнале регистрации событий), и ряд тестов разделов на различных разделах Active Directory Partitions (ForestDnsZones, DomainDnsZones, Schema, Configuration, и т.д.)

Этот тест можно выполнить, используя следующую команду:

DCDIAG /Test:SystemLog

Топология

Windows Server использует агента Directory System Agent (DSA) для предоставления доступа к хранилищу данных. Directory Service Agent состоит из различных процессов и служб, которые обеспечивают доступ. DSA является частью подсистемы Local System Authority и обычно доступен посредством протокола LDAP.

Когда используется несколько контроллеров домена, каждый контроллер домена должен иметь информацию топологии, которая связывает его с другими DSA. Тест Topology проверяет, что к сгенерированной Windows топологии подключены все DSA.

Важным моментом здесь является то, что тест Topology является одним из немногих, которые не запускаются по умолчанию. Его нужно выполнять вручную. Для этого используется следующая команда:

DCDIAG /Test:Topology

Verify References

Тест Verify References проверяет, что системные ссылки, требуемые для службы репликации файлов (File Replication Service), и общая инфраструктура репликации не повреждены. Для выполнения теста нужно воспользоваться следующей командой:

DCDIAG /Test:VerifyReferences

Verify Enterprise References

Тест Verify Enterprise References очень похож на тест Verify References, который я только что описал. Как и Verify References, этот тест проверяет целостность ссылок, необходимых для службы репликации файлов и общей инфраструктуры репликации. Что отличает этот тест от предыдущего, так это то, что он проверяет ссылки службы репликации и общую инфраструктуру репликации на всех контроллерах домена всего предприятия.

Это еще один из тех тестов, который не выполняется по умолчанию, поэтому его нужно выполнять вручную посредством следующей команды:

DCDIAG /Test:VerifyEnterpriseReferences

Verify Replicas

Тест Verify Replicas так же не выполняется по умолчанию, и его нужно запускать вручную. Основной идеей этого теста является то, что Windows позволяет вам создавать разделы директорий приложений, и эти разделы могут реплицироваться на другие серверы. Этот тест позволяет вам проверять, что все копии серверов содержат корректные копии. Можно выполнить этот тест с помощью следующей команды:

DCDIAG /Test:VerifyReplicas

Заключение

Как вы видели, утилита диагностики контроллеров домена может выполнять множество тестов. На мой взгляд, DCDIAG является одной из самых недооцениваемых инструментов диагностирования, которые когда-либо были созданы компанией Microsoft.

 

Источник: www.redline-software.com

Автор: Брайн Позей (Brien Posey)

Обновлено 07.03.2013 11:20  

Добавить комментарий



Анти-спам: выполните задание
network monitoring tool


Поиск

Информация о профиле

Application afterLoad: 0.003 seconds, 0.52 MB
Application afterInitialise: 0.110 seconds, 3.13 MB
Application afterRoute: 0.127 seconds, 3.68 MB
Application afterDispatch: 0.321 seconds, 8.80 MB
Application afterRender: 0.582 seconds, 9.94 MB