Итак, приступим к изучению этой проблемы.
У многих IT – инженеров, которые работают в больших и малых компаниях, имеются компьютеры с операционной системой Windows 7, 8.1 и т.п. и все эти компьютеры подключены к доменной сети (DC).
Данная проблема происходит из-за того, что сетевой протокол Kerberos не может синхронизироваться и пройти аутентификацию с компьютером (The trust relationship between this workstation and the primary domain failed), который подключен к домену. Тогда мы можем увидеть такую ошибку (см. фото ниже).
После чего мы ищем стороннюю программу, скачиваем ее, создаем загрузочную флешку и локального админа, далее логируемся через него и выходим с домена, добавляем компьютер в Workgroup-у и потом обратно подключаем этот компьютер к домену.
Используя Windows Batch scripting, я хочу создать bat file и автоматизировать процесс создания и добавления локального админа. Единственное, что нам будет необходимо, так это после создания данного файла запустить его.
Открываем наш текстовой редактор, вписываем команду, которая показана внизу.
net user admin Ww123456 /add /active:yes
WMIC USERACCOUNT WHERE "Name='admin'" SET PasswordExpires=FALSE
net localgroup Administrators admin /add
net localgroup Users admin /delete
netsh advfirewall set allprofiles state off
Пройдем все команды по пунктам для устранения неясных моментов.
• net user admin (вместо слова админ Вы можете добавить любое имя, которое Вас устраивает, по умолчанию ставится administrator, в моем случае это admin).
Далее мы видем пароль, который я там поставил Ww123456(Вы можете поставить любой запоминающийся для Вас пароль).
После мы видем /add /active:yes –добавить и активировать: ДА
• WMIC USERACCOUNT WHERE «Name='admin'» SET PasswordExpires=FALSE – данная команда означает, что админ, который добавляется, имел постоянный пароль без срока действия (см. картинку ниже).
• Третий и четвертый пункт связаны между собой тем, что по умолчанию, когда создается локальный админ в пункте Member Of стоит Users (см. фото). Нам он не нужен (Users), потому что мы создаем полноправного администратора для нашей ОС. Поэтому четвертая команда — net localgroup Users admin /delete – удаляет Users, а предыдущая команда — net localgroup Administrators admin /add, добавляет администратора (см. фото).
• Последняя команда- netsh advfirewall set allprofiles state off, отключает брандмаузер Windows-a.
Иногда, чтобы установить какую-либо программу или дать какую-либо команду в Windows-e необходимо отключить firewall (После запуска скрипта Вы можете ввести команду- netsh advfirewall set allprofiles state on и включить его заново. У меня по умолчанию стоит off, так как я использую сторонний брандмаузер. Данный момент на усмотрение каждого лично).
Далее идем к нашему блокноту, нажимаем File, save as… (сохранить как...) вводим имя нашего скрипта( в моем случае: localadmin).Затем ставим точку (.) и пишем формат скрипта bat. Выбираем место, где сохранить данную запись и нажимаем save. Более детально показано на картинке.
Получается вот такой скрипт (см. фото).
Данный скрипт при запуске необходимо открывать от имени администратора:
• Нажимаем правую кнопку мыши и Run as administrator (см. фото).
После запуска скрипта у Вас должно появиться вот такое окошко (см. фото).
Если по каким-либо причинам выйдет ошибка, то в 90% таких случаев это связано с тем, что у Вас образ с которого Вы установили Windows, имеет нелицензионный характер, какие-либо repack или т.п. Скачивайте и используйте лицензионный и проверенный софт.
После удачного добавления локального админа, Вы можете этот скрипт запустить на всех рабочих машинах в Вашем офисе, в которых установлена ОС Windows.
Если у Вас когда-нибудь появится такая ошибка: The trust relationship between this workstation and the primary domain failed- Вам нужно будет только сделать switch user и где логин написать.\admin (запомните! В начале до слеша ставится точка!), далее внизу вводите пароль, который Вы добавили в Ваш скрипт (в моем случае: Ww123456). После этого Вы заходите на рабочую ОС.
Осталось снять наш компьютер с домена и добавить в Workgroup-у. Вместо Workgroup-а вписываем любую букву (см. фото).
Далее вводится пароль администратора домена и компьютер просит нас о перезагрузке.
После перезагрузки ещё раз заходим под нашим локальным админом и дальше уже добавляем компьютер к нашему домену. Система в очередной раз требует перезагрузиться и Вуаля! Наш User опять может подключиться к домену без всяких проблем!
P.S – Данная система работает также для серверной части Windows, однако если Вы будете писать такой скрипт для серверов после отключения брандмаузера необходимо будет включить его еще раз (до — netsh advfirewall set allprofiles state off, после netsh advfirewall set allprofiles state on).
Благодарю за внимание!
Комментарии (36)
AcidVenom
24.01.2017 19:36Вместо вывода из/ввода в домен используйте Идентификацию (Network ID на картинке). То же самое, но быстрее.
Shaz
24.01.2017 20:03На сколько помню, такая пробема может возникать по причине истечения срока действия билета kerberos для ПК.
Особенно если этот ПК долгое время был неактивен. Один из вариантов решения — увеличить через GPO срок жизни этих билетов.
shadiman
24.01.2017 20:25Восстанавление связи рабочей машины с доменом возможно также через PowerShell, посмотрите далее по ссылке https://m.youtube.com/watch?v=3M-UwCWUPdw.
Taciturn
24.01.2017 21:43+4Есть что-то ужасное в том, чтобы снимать видео про ввод «Test-ComputerSecureChannel -Repair» в консоли PowerShell.
shadiman
24.01.2017 21:54Если человек тратит свое время, чтобы поделиться знаниями с кем-нибудь, то в этом нет ничего зазорного и ужасного, знания лишними не бывают! А для тех кто знает, повторение-мать учения.
Taciturn
24.01.2017 21:57+2Я к тому что в виде текста такая информация намного удобнее чем видео на две минуты.
osipov_dv
24.01.2017 21:06+1а зачем было отключать локального админа? Если не делать эту глупость, то проблема решается за 1 минуту и 1 перезагрузку.
shadiman
24.01.2017 21:27Если имеется ввиду администратор, которого Вы видите на фото, то это был тестовый компьютер для написания данного поста. Из-за этого он был отключен.
Focushift
24.01.2017 22:19Вообще-то, с семерки и выше, локальный администратор всегда залочен, его надо вручную разблокировать.
4mz
25.01.2017 12:03Вообще да, builtin Администратор залочен, но что мешает групповыми политиками добавлять локальную учетку, к пример Admin и добавлять её в группу локальных администраторов и, таким образом, иметь локальную учетку с админскими правами даже на случай вылета компа из домена?
P.S. Хотя то, что я описал — тоже костыль, LAPS в данном случае самое верное решение.
LoadRunner
25.01.2017 13:12Вообще-то, с восьмёрки и выше первая учётная запись во время установки ОС создаётся с админскими правами.
navion
25.01.2017 13:15Поэтому при ручной установке её надо убивать сразу после ввода в домен.
LoadRunner
25.01.2017 13:50А есть причина это делать? Администратор сам задаёт как имя, так и пароль для этой учётной записи.
navion
25.01.2017 14:12Чтобы не оставалось административной учётки с одинаковым паролем (или вообще без него) на куче компьютеров.
Даже если случится чудо и хелпдеск начнёт придумывать сложный пароль для каждой установки, то их учёт превратится в ад с неминуемыми ошибками. Зачем рисковать при наличии простого и удобного решения?osipov_dv
25.01.2017 17:35Ставить систему руками и придумывать пароль вообще моветон. Создал образ и задал админу сложный пароль, и никаких проблем. А вся эта шизофрения с LAPS, отключением локальных учеток и прочее, к безопасности не имеет никакого отношения, если нет шифрования жесткого диска. 99% компаний это не нужно, а оставшийся процент умеет и знает что делать.
navion
25.01.2017 19:25Моветон использовать один пароль более чем для одного объекта, а вектор атаки тут вполне реальный: стоит зайти под локальным админом на зараженную машину и малварь захватит всю сеть.
osipov_dv
25.01.2017 20:25А если зайти под доменным админом, этого не произойдет? ну-ну
navion
26.01.2017 00:00nltest обычно не нужны нужны доменные реквизиты, а для включения в домен не обязательно быть админом домена.
yarosroman
25.01.2017 02:06+2В домене локального админа через командный файл создавать? Это как гланды колоноскопом смотреть. Учите групповые политики
xSeries
25.01.2017 10:48+1Итак, приступим к изучению этой проблемы.
Спасибо за статью, но у вас в ней отсутствует именно изучение проблемы, подобными костылями пользуется большенство Windows-админов, ящитаю. Хотелось бы узнать почему такая проблема возникает и предотвратить подобные ситуации в будущем.
sviato_slav
25.01.2017 19:10+1Тоже частовато встечаюсь с этой проблеммой. Есть простой способ восстановить учетную запись компьютера. Если на компьютере, который вылетел с домена, есть незаблокированный локальный администратор, то можно запустить следующую команду на произвольном компьютере:
wmic /NODE:ip_address/user:"ip_address\local_admin" /password:"local_admin_password" process call create "cmd.exe /C Netdom resetpwd /Server:domaincontroller /UserD:domain_admin /PasswordD:domain_password"
где ip_address — ip адресс компьютера, который вылетел с домена,
local_admin — локальный администратор,
local_admin_password — пароль локального администратора,
domaincontroller — fqdn контроллера домена
domain_admin — администратор домена,
domain_password — пароль администратора домена.
При этом не требуется даже перезагрузка компьютера.
k3NGuru
Вместо того чтоб найти причину проблемы, приходится делать костыль.
У нас тоже такая проблема, решается путём отключения интернет кабеля/адаптера wifi (если он выключается физически). После пользователь заходит под своей учётной записью.
Тогда уже выводишь / вводишь обратно в домен- ребут и все проблема решена.
Но все же хочется узнать почему такое происходит и как вылечить данную проблему
rub_ak
У нас такое бывало, после восстановления системы.
cagami
очень часто такое происходит из-за долго отсутствия клиента offline (восстановление системы как пример) если я правильно помню 60ть дней
shadiman
Это происходит из-за истечения срока Kerberos ticket-a. Shaz правильно написал об этом. И еще можно восстанавливат, через PowerShell как показано далее по ссылке — https://m.youtube.com/watch?v=3M-UwCWUPdw
navion
Understanding and Detecting Secure Channel Problems
sviato_slav
Мое видение причины проблемы.
Каждый компьютер в домене имеет пароль(пароль есть не только у пользователя), который переодически меняется(это происходит автоматически). Если пароль на компьютере по какой либо причине не совпадает с паролем в базе Active Directory, наблюдается сбой доверительных отношений. Чаще всего это происходит при восстановлении системы. Видимо при восстановлении системы пароль компьютера откатывается к предыдущему значению, которое не совпадает с текущем паролем в Active Directory, что и обуславливает проблему.