Удалить имя компьютера из ad
Пользовательские учетные записи одни из самых популярных объектов в AD. Они нужны для аутентификации и авторизации на рабочих компьютерах и во многих сервисах, интегрированных с AD. Решение различных проблем связанных с УЗ пользователей, а так же управление ими является одной из главных рутин для администраторов и специалистов хелпдеска. Данное руководство поможет вам сделать это несколькими способами. Чтобы управлять УЗ пользователей, необходимо войти на контроллер домена или сервер или устройство с установленными средствами удаленного администрирования сервера (RSAT) для Active Directory Domain Services.
Для того чтобы не было ошибок доступа, нам нужен аккаунт администратора домена или группы операторов учетных записей (Account Operators group), либо УЗ, которая делегирована на создание пользовательских объектов в домене или в нужной нам организационной единице (OU), которую мы будем использовать для хранения аккаунтов.
Как создать учетную запись пользователя
Давайте создадим учетную запись пользователя AD несколькими способами.
Создание учетной записи пользователя с помощью ADUC
- Бесплатное тестирование
- Лицензия Windows Server в подарок
- ЦОД в Амстердаме
Запустите Active Directory Users and Computers (dsa.msc).
Перейдите в нужную вам OU (organizational unit) или контейнер. На панели задач нажмите на значок New User, или щелкните правой кнопкой мыши пустое место в главном окне и выберите New -> User из меню, или щелкните правой кнопкой по выбранному вами OU или контейнеру и выберите New -> User.
Появится окно New Object - User, укажите параметры для вашего пользователя:
- Full Name, введите полное имя в поле Full Name или введите отдельно фамилию и имя в поля First Name и Last Name.
- User logon name - Имя логина пользователя, данный параметр создаст атрибут userPrincipalName и атрибут sAMAccountName, которые пользователь будет вводить при входе в систему.
Нажмите Next и укажите Пароль, затем наберите его во втором поле и отметьте нужные настройки, обычно для нового пользователя нужно отметить "User must change password at next logon"(Пользователь должен сменить пароль при следующем входе).
Нажмите Next и Finish. Поздравляем, учетная запись пользователя успешно создана!
Создание УЗ пользователя с помощью cmd.exe
Используйте следующую команду с необходимыми параметрами для создания объекта пользователя в контейнере "Users", имя пользователя в примере будет GSoul:
dsadd.exe user "CN=GSoul,CN=Users,DC=office,DC=local" -upn GSoul@office.local -fn "Gordon" -ln "Soul" -display "Gordon Soul" -pwd "P@&&W0rd"
Создание учетной записи пользователя с помощью Windows PowerShell
Запустите следующий код PowerShell с правами администратора:
Import-Module ActiveDirectory
New-ADUser -Name FRobinson -Path "CN=Users,DC=office,DC=local" -GivenName "Frank" -Surname "Robinson" -sAMAccountName FRobinson
Как удалить учетную запись пользователя
Для того чтобы удалить пользователя из Active Directory, используйте один из следующих методов. Обратите внимание, что это не приведет к полному удалению УЗ, если у вас настроена корзина AD Recycle Bin.
Удаление учетной записи пользователя с помощью Active Directory Users and Computers
Чтобы удалить пользователя из домена, откройте Active Directory Users and Computers (dsa.msc).
Нажмите на меню View, включите Advanced Features. Перейдите в OU или контейнер, где находится объект пользователя, который вы собираетесь удалить. В меню Action выберите Find.
В поле Name введите имя пользователя, которого вы хотите удалить, и нажмите кнопку "Find now". В списке результатов поиска выберите нужного пользователя.
Щелкните правой кнопкой мыши на пользователя и выберите из списка пункт "Delete", а затем "Yes".
Удаление учетной записи пользователя с помощью командной строки
Следующая команда удаляет пользователя "GSoul" из контейнера “Users” из домена office.local:
dsrm.exe "CN=Gregory Soul,CN=Users,DC=office,DC=local"
Удаление учетной записи пользователя с помощью Windows PowerShell
Используйте следующий PowerShell код для удаления пользователя из AD, синтаксис для примера использован такой же, как и в примере выше:
Import-Module ActiveDirectory
Remove-ADUser -Identity "CN=GSoul,CN=Users,DC=office,DC=local"
Постановка задачи
В компаниях, где есть техническая поддержка пользователей, ее инженеры очень часто подключаются удаленно к компьютерам сотрудников для устранения всевозможных проблем. Чаще всего используются программы TeamViewer, встроенный помощник Windows или Dameware. Но для того, чтобы подключиться вам необходимо знать имя компьютера. Понятно, что можно каждый раз просить пользователя посмотреть его либо в окне системы или же на рабочем столе, если у вас выводится информация с помощью BGinfo. Но проще и правильнее всегда эту информацию иметь в базе Active Directory.
Поэтому мы сделаем так, что при локальном входе в компьютер, информация, о его DNS-имени будет автоматически записана в нужное нам поле. Это удобно и можно легко эту информацию выдергивать в любую программу, которая умеет работать с Active Directory, например SCCM.
Необходимо с помощью VBS скрипта записывать имя компьютера на котором пользователь произвел локальный вход, но игнорировать подключения к удаленному рабочему столу, например на терминальные сервера.
Реализация задачи
Делать мы все будет с помощью вот такого простенького скрипта.
Set objSysInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & strUserDN)
Давайте с вами пробежимся по каждой из строчек кода.
Вы вместо атрибута "Pager" можете подставлять любой, посмотреть атрибуты можно через редактор в Active Directory. Далее создаете текстовый документ и сохраняете его с расширением vbs.
Если не хотите сами создавать файл vbs, то можете скачать готовый скрипт добавления имени компьютера в нужный атрибут пользователя
Создание политики во время входа в систему
Файл со скриптом у меня готов. Открываем оснастку "Управление групповой политикой". Выбираем нужное организационное подразделение к которому мы будем применять политику, в моем случае, это контейнер "Users", поэтому политику я буду применять на самый корень домена root.pyatilistnik.org. Кликаем по нему правым кликом и из контекстного меню выбираем пункт "Создать объект групповой политики в этом домене и связать его".
Задаем имя для нашей политики.
Далее нам необходимо изменить и настроить нашу политику. Для этого щелкаем по ней правым кликом и выбираем "Изменить".
Переходим по пути:
У вас откроется окно с вкладкой "Сценарии" и "Сценарии PowerShell". Нас будет интересовать первая вкладка, нажимаем кнопку "Добавить".
Через кнопку "Обзор" вам нужно будет выбрать ваш файл vbs. Я вам советую его скопировать в сетевую папку с политикой, либо в сетевую шару, где файл будет доступен для всех.
В итоге у вас должно появиться вот так, если скриптов более одного, то можно выставлять их позиции при применении. Начинаем тестирование. У меня есть тестовая учетная запись Барбоскина Геннадия, в оснастке ADUC она у меня лежит в контейнере "Users". Поле пейджер пустое.
Пробуем залогиниться Геннадием на рабочей станции с Windows 10 с именем W10-CL01. После входа на компьютер, проверяем свойство "Пейджер" у данного пользователя. Как видим, все прописалось.
Пробуем подключиться к еще одному компьютеру с Windows 10 под именем W10-CL02. Видим, что атрибут в AD изменил свое значение на имя второго компьютера.
Как найти устаревшие учетные записи компьютеров
В решении нашей задачи мы будем использовать разные средства, как графические, так и консольные, в виде скриптов на Powershell, но обо всем по порядку.
Через оснастку active directory пользователи и компьютеры
Через ADUC можно получить список компьютер, по такому значению как последнее время изменения, которое по дате совпадает с параметром последнего логирования компьютера в Active Directory. Открываем active directory пользователи и компьютеры. Выбираем пункт сохраненные запросы и нажимаем создать запрос.
У вас откроется поле с созданием нового запроса к Active Directory. Задаем ему название, далее через кнопку обзор выбираем организационное подразделение, на которое следует натравить запрос, можете оставить и корень. Далее нажимаете кнопку запрос.
На вкладке пользователи выбираем пункт "Число дней со времени последнего входа в систему", я ставлю 60 дней, так как считаю, что таких командировок нет и компьютер уже точно не присутствует в локальной сети, и нет смысла хранения его учетной записи в базе контроллера домена.
Все, все параметры заданы и можно строить запрос к базе данных AD.
На выходе я получил список неактивных компьютеров в своей локальной сети, я называю их призраками. Они появляются, либо с поломкой техники, либо из-за халатности администратора. Простой пример системный администратор взял компьютер pyatilistnik01, для переустановки системы, в итоге при попытке ввода его в домен, он получает ошибку, о том, что такой компьютер уже есть и забивает на это, вводя другое имя, либо оставляет имя с генерируемое при установке системы, вида DESKTOP-4BA9AP5. В таких случаях помогает корпоративный стандарт именования компьютеров и автоматическое переименование на основании этих политик.
Зайдя в свойства любого компьютера, перейдите на вкладку объект, и посмотрите поле, изменен, оно будет совпадать по дате с полем LastLogonDate. В итоге я вижу, что данный компьютер не появлялся в сети с 14 ноября 2016 года, что дает мне мысли, о его удалении из базы NTDS.dit.
Как видите, хоть этот метод и графический, но не совсем удобный в плане автоматизации, так как подразумевает кучу ручной работы. К сожалению, выделив все компьютеры вы не сможете их отключить за один клик, вывод делаем все то же самое на powershell.
Через Powershell
За, что я люблю Poweshell, так это за его огромные возможности, у него для Active Directory отдельный модуль с командлетами, позволяющими производить большое количество манипуляций. Сразу приведу готовый код, который ищет компьютеры, от которых не было вестей 120 дней и выводит все это дело в тестовый файл с датой последнего обращения.
$date_with_offset= (Get-Date).AddDays(-120)
Get-ADComputer -Properties LastLogonDate -Filter | Sort LastLogonDate | FT Name, LastLogonDate -AutoSize | Out-File c:\Script\services.txt
Замечательно список мы с вами научились получать, и вы можете посмотреть время последнего обращения компьютера к контроллеру домена. Идем дальше, теперь я хочу, чтобы данные компьютеры были выключены в Active Directory и были перемещены в отведенную под это дело OU. Вот пример кода.
$date_with_offset= (Get-Date).AddDays(-120)
$comps = Get-ADComputer -Properties LastLogonDate -Filter | Sort LastLogonDate
foreach ($comp in $comps)
Get-ADComputer -Properties LastLogonDate -Filter | Sort LastLogonDate | FT Name, LastLogonDate -AutoSize | Out-File c:\Script\services.txt
Тут все отключенные компьютеры будут перемещаться в организационное подразделение Мск Л. рабочие станции на удаление. И далее я сделал, вывод в txt файл, чтобы видеть, какие именно учетные записи были отключены.
Далее вы этот скрипт можете повесить на контроллеры домена, через групповую политику и выполнять хотя бы раз в месяц. Я лично такие компьютеры через неделю удаляю.
Полезные ключи командлета Get-ADComputer
Что вам еще может пригодиться у команды Get-ADComputer, это больше для себя подсказка. Напоминаю, чтобы им воспользоваться, нужно загрузить модуль Active Directory, через команду
Теперь можно получить справку по команду Get-ADComputer, через команду:
Как видите, у команды очень много ключей и богатые возможности.
Я очень часто ее использую, когда мне нужно получить о компьютерной учетной записи максимальное количество данных, вот пример.
В данном выводе команды вы увидите основные значения:
- DistinguishedName
- SID >кто не вкурсе что такое SID, то смотрите по ссылке.
- DNSHostName
Если вам вдруг не хватает данных, то вы можете вывести все доступные поля.
Если хотите вывести конкретные поля, то выполните вот такую конструкцию, через | перечисляются нужные поля
Выше я писал уже, о том как сделать вывод всех компьютеров по параметрам, но тут то же продублирую в более простом виде. В качестве значений, так же можете указывать, все что вам нужно.
Выберем все компьютеры с операционной системой Windows 10
Get-ADComputer -Filter < OperatingSystem -Like '*Windows 10*' >-Properties OperatingSystem | Select Name, OperatingSystem | Format-Table -AutoSize | Out-File C:\Script\server_system.txt
На выходе получаем файл со списком компьютеров.
Надеюсь вы поняли принцип поиска неактивных компьютеров в вашей локальной сети, и уверен, что вы сможете сами подобрать дополнительные сценарии использования powershell для себя.
Учетные записи компьютеров представляют собой устройства, подключенные к AD. Они хранятся в базе данных AD после того, как их подключат к домену. Это необходимо для применения к ним различных GPO и отслеживания их обновлений, если у вас установлен WSUS. И что еще более важно, это нужно для установки безопасной аутентификации для пользователей, входящих в Windows.
Чтобы управлять компьютерами, вам нужны права администратора домена, оператора учетной записи (Account Operators) или делегированные права на OU в котором хранятся компьютеры. Управлять можно с рабочей станции с установленными инструментами RSAT или на контроллере домена.
Как создать учетную запись компьютера в AD
Давайте создадим учетную запись компьютера, используя несколько методов. Эта учетная запись может быть использована для присоединения к ней устройства.
Создание учетной записи компьютера с помощью ADUC
Запустите ADUC (dsa.msc).
Перейдите к OU, в которой вы хотите хранить такие объекты, щелкните правой кнопкой мыши на этой OU -> New-> Computer:
Или вы можете сделать это, нажав на Action -> New -> Computer.
В окне New Object – Computer введите имя компьютера и имя pre Windows 2000 в соответствии с вашей политикой именования. Выберите, какая группа может ввести эту машину в домен и нажмите OK.
Поздравляю учетная запись компьютера создана!
Создание учетной записи компьютера с помощью ADAC
Запустите ADAC(dsac.exe), щелкните правой кнопкой мыши на имени домена, выберите New->Computer. Появится окно Create Computer, где вам нужно ввести имя компьютера, имя NetBIOS, в соответствии с вашей политикой именования. Укажите OU, где вы хотите хранить компьютер, нажав на Change. Вы также можете указать, какая группа может ввести этот компьютер в домен и защитить его от удаления. В конце нажмите OK.
Создание учетной записи компьютера с помощью Cmd.exe
Для этой задачи нам необходимо использовать dsadd.exe. Используйте следующую команду для создания объекта компьютера в Active Directory:
dsadd.exe computer "CN=WKS033,CN=Computers,DC=office,DC=local"
Создание учетной записи компьютера с помощью PowerShell
Используйте следующие строки кода PowerShell для создания учетной записи компьютера с именем "WKS033" в домене office.local.
Import-Module ActiveDirectory
New-ADComputer -Name "WKS033" -sAMAccountName " WKS033" -Path "CN=Computers,DC=office,DC=local"
Как удалить учетную запись компьютера в AD
Важно периодически удалять старые компьютеры из домена, чтобы избежать беспорядка в отчетах WSUS и применения политик GPO. Существует несколько способов добиться этого.
Удаление учетной записи компьютера из AD с помощью ADUC
Запустите ADUC (dsa.msc).
Перейдите в OU, содержащую нужные компьютеры, в меню Action выберите Find. Введите имя компьютера в поле Name и нажмите Find now. В результате поиска, щелкните правой кнопкой мыши на компьютере, который вы хотите удалить и выберете опцию Delete.
Нажмите Yes в окне подтверждения. Если после этого вы получите следующую ошибку:
Снова щелкните на компьютер правой кнопкой мыши, перейдите в Properties -> Object снимите флажок "“Protect object from accidental deletion" и выполните операцию удаления снова.
Удаление учетной записи компьютера из AD с помощью ADAC
Запустите ADAC (dsac.exe). Переключите левую панель в Tree view и выделите нужную OU. Введите имя компьютера в панели Filter и нажмите Enter. Выберите компьютер для удаления в результатах поиска, щелкните его правой кнопкой мыши и выберите Delete. Нажмите Yes для подтверждения.
Щелкните правой кнопкой мыши на учетную запись компьютера ->Properties и снимите флажок " Protect from accidental deletion".
После этого повторите процесс удаления.
Удаление учетной записи компьютера из AD с помощью cmd.exe
Для этой задачи нам понадобится dsrm.exe. Используйте его со следующими параметрами для удаления учетной записи компьютера, в нашем случае это WKS033.
Удаление учетной записи компьютера из AD с помощью Windows PowerShell
Эту задачу также можно легко выполнить с помощью Powershell, вот код для удаления учетной записи компьютера. В нашем примере имя компьютера WKS033
Import-Module ActiveDirectory
Remove-ADComputer -Identity "CN=WKS033,CN=Computers,DC=office,DC=local"
Учетные записи компьютеров представляют собой устройства, подключенные к AD. Они хранятся в базе данных AD после подключения к домену. Это необходимо для применения к ним различных GPO и отслеживания их обновлений, если у вас установлен WSUS. И что еще более важно – настроить безопасную аутентификацию для пользователей, при входе в систему Windows.
Для того чтобы присоединить рабочую станцию к домену, устройство должно находиться в одной сети с контроллерами домена. Также можно присоединить устройство через VPN. В этом случае устройство должно иметь возможность зарезолвить имя среды AD. DHCP может в этом помочь, но вы также можете сделать это, добавив информацию о домене в файл hosts.
Как присоединить компьютер к домену
Присоединить компьютер к домену можно тремя различными способами, давайте рассмотрим, как это сделать на практике.
Присоединение к домену с помощью графического интерфейса
Для того чтобы присоединить Windows server к AD, выполните следующие действия:
В окне " Member of Domain " введите имя домена в поле " Member of Domain" и нажмите OK. Введите учетные данные администратора домена и трижды нажмите OK.
Нажмите Close, а затем Restart Now. Поздравляем, ваша рабочая станция присоединилась к домену!
Присоединение к домену с помощью Windows PowerShell
Самый простой способ добавить устройство на базе Windows в Active Directory - это Powershell и команда Add-Computer:
Как переименовать учетную запись компьютера
Переименование компьютера - довольно простая задача, которую можно выполнить тремя различными способами.
Переименование компьютера в настройках
В Windows Server это можно сделать аналогично введению в домен, но в этот раз мы сделаем это немного по-другому.
Нажмите правой кнопкой мыши кнопку Пуск или одновременно нажмите кнопку Пуск на клавиатуре и клавишу X, выберите пункт System. Нажмите на Rename this PC и введите новое имя устройства в соответствии с политикой именования.
Нажмите Next, введите учетные данные администратора домена, если ваш компьютер уже находится в домене, а затем перезагрузите сервер. После перезапуска у вас будет сервер с новым именем.
Переименование компьютера с помощью Cmd.exe
Переименование компьютера в командной строке - простая задача, просто введите следующий код на целевом компьютере:
netdom.exe renamecomputer localhost /newname WKS033 /reboot
Переименование компьютера с помощью Windows PowerShell
Windows PowerShell позволяет переименовать компьютер за считанные секунды, набрав две короткие команды на целевой машине:
Читайте также: