Windows Active Directory provides very useful enterprise user management capabilities. Powershell is a new scripting language provides for Microsoft Operating systems. Get-ADUser is a very useful command or commandlet which can be used to list Active Directory users in different ways.
Поиск неактивных компьютеров в Active Directory
Как найти устаревшие учетные записи компьютеров
В решении нашей задачи мы будем использовать разные средства, как графические, так и консольные, в виде скриптов на Powershell, но обо всем по порядку.
Через оснастку active directory пользователи и компьютеры
Через ADUC можно получить список компьютер, по такому значению как последнее время изменения, которое по дате совпадает с параметром последнего логирования компьютера в Active Directory. Открываем active directory пользователи и компьютеры. Выбираем пункт сохраненные запросы и нажимаем создать запрос.
У вас откроется поле с созданием нового запроса к Active Directory. Задаем ему название, далее через кнопку обзор выбираем организационное подразделение, на которое следует натравить запрос, можете оставить и корень. Далее нажимаете кнопку запрос.
На вкладке пользователи выбираем пункт «Число дней со времени последнего входа в систему», я ставлю 60 дней, так как считаю, что таких командировок нет и компьютер уже точно не присутствует в локальной сети, и нет смысла хранения его учетной записи в базе контроллера домена.
Все, все параметры заданы и можно строить запрос к базе данных AD.
На выходе я получил список неактивных компьютеров в своей локальной сети, я называю их призраками. Они появляются, либо с поломкой техники, либо из-за халатности администратора. Простой пример системный администратор взял компьютер pyatilistnik01, для переустановки системы, в итоге при попытке ввода его в домен, он получает ошибку, о том, что такой компьютер уже есть и забивает на это, вводя другое имя, либо оставляет имя с генерируемое при установке системы, вида DESKTOP-4BA9AP5. В таких случаях помогает корпоративный стандарт именования компьютеров и автоматическое переименование на основании этих политик.
Зайдя в свойства любого компьютера, перейдите на вкладку объект, и посмотрите поле, изменен, оно будет совпадать по дате с полем LastLogonDate. В итоге я вижу, что данный компьютер не появлялся в сети с 14 ноября 2016 года, что дает мне мысли, о его удалении из базы .
Как видите, хоть этот метод и графический, но не совсем удобный в плане автоматизации, так как подразумевает кучу ручной работы. К сожалению, выделив все компьютеры вы не сможете их отключить за один клик, вывод делаем все то же самое на powershell.
Через Powershell
За, что я люблю Poweshell, так это за его огромные возможности, у него для Active Directory отдельный модуль с командлетами, позволяющими производить большое количество манипуляций. Сразу приведу готовый код, который ищет компьютеры, от которых не было вестей 120 дней и выводит все это дело в тестовый файл с датой последнего обращения.
$date_with_offset= (Get-Date).AddDays (-120) Get-ADComputer -Properties LastLogonDate -Filter {LastLogonDate -lt $date_with_offset } | Sort LastLogonDate | FT Name, LastLogonDate -AutoSize | Out-File c:\Script\
Замечательно список мы с вами научились получать, и вы можете посмотреть время последнего обращения компьютера к контроллеру домена. Идем дальше, теперь я хочу, чтобы данные компьютеры были выключены в Active Directory и были перемещены в отведенную под это дело OU. Вот пример кода.
$date_with_offset= (Get-Date).AddDays (-120)$comps = Get-ADComputer -Properties LastLogonDate -Filter {LastLogonDate -lt $date_with_offset } | Sort LastLogonDateforeach ($comp in $comps) {set-adcomputer $ -enabled $false; move-adobject -identity $comp -targetpath «ou=Мск Л. рабочие станции на удаление,ou=Местоположение,dc=msk,dc=contoso,dc=com»}Get-ADComputer -Properties LastLogonDate -Filter {LastLogonDate -lt $date_with_offset } | Sort LastLogonDate | FT Name, LastLogonDate -AutoSize | Out-File c:\Script\
Тут все отключенные компьютеры будут перемещаться в организационное подразделение Мск Л. рабочие станции на удаление. И далее я сделал, вывод в txt файл, чтобы видеть, какие именно учетные записи были отключены.
Далее вы этот скрипт можете повесить на контроллеры домена, через групповую политику и выполнять хотя бы раз в месяц. Я лично такие компьютеры через неделю удаляю.
Скачать готовый скрипт поиска неактивных компьютеров
Полезные ключи командлета Get-ADComputer
Что вам еще может пригодиться у команды Get-ADComputer, это больше для себя подсказка. Напоминаю, чтобы им воспользоваться, нужно загрузить модуль Active Directory, через команду
- Get-ADComputer: Find Computer Details …
- Active Directory через PowerShell …
- retrieve computer last logon date …
- Active Directory через PowerShell …
- retrieve computer last logon date …
Import-Module activedirectory
Теперь можно получить справку по команду Get-ADComputer, через команду:
Get-Help Get-ADComputer
Как видите, у команды очень много ключей и богатые возможности.
Я очень часто ее использую, когда мне нужно получить о компьютерной учетной записи максимальное количество данных, вот пример.
Get-ADComputer -Identity DESKTOP-2C4R0V6
В данном выводе команды вы увидите основные значения:
- DistinguishedName
- SID > кто не вкурсе что такое SID, то смотрите по ссылке.
- DNSHostName
Если вам вдруг не хватает данных, то вы можете вывести все доступные поля.
Get-ADComputer -Identity DESKTOP-2C4R0V6 -Properties *
Если хотите вывести конкретные поля, то выполните вот такую конструкцию, через | перечисляются нужные поля
Get-ADComputer -identity DESKTOP-2C4R0V6 -Properties * | FT Name, LastLogonDate -Autosize
Выше я писал уже, о том как сделать вывод всех компьютеров по параметрам, но тут то же продублирую в более простом виде. В качестве значений, так же можете указывать, все что вам нужно.
Get-ADComputer -Filter * -Properties * | FT Name, LastLogonDate -Autosize
Выберем все компьютеры с операционной системой Windows 10
Get-ADComputer -Filter { OperatingSystem -Like ‘*Windows 10*’ } -Properties OperatingSystem | Select Name, OperatingSystem | Format-Table -AutoSize | Out-File C:\Script\server_
На выходе получаем файл со списком компьютеров.
Надеюсь вы поняли принцип поиска неактивных компьютеров в вашей локальной сети, и уверен, что вы сможете сами подобрать дополнительные сценарии использования powershell для себя.
Взято от сюда
Установка и настройка Active Directory
Теперь перейдем непосредственно к настройке Active Directory на примере Windows Server 2008 (на других версиях процедура идентична):
- Первым делом нужно присвоить статический IP компьютеру с установленным Windows Server Нужно перейти в меню “Пуск” — “Панель управления”, найти пункт “Сетевые подключения”, кликнуть правой кнопкой мыши (ПКМ) по имеющемуся подключению к сети и выбрать “Свойства”.
- В открывшемся окне выбрать “Протокол Интернета версии 4” и снова кликнуть на “Свойства”.
- Заполнить поля следующим образом: IP-адрес – DNS – 127.0.0.1.
Нажать на кнопку “ОК”. Стоит заметить, что подобные значения не обязательны. Можно использовать IP адрес и DNS из своей сети.
- Далее нужно зайти в меню “Пуск”, выбрать “Администрирование” и “Диспетчер сервера”.
- Перейти к пункту “Роли”, выбрать поле “Добавить роли”.
- Выбрать пункт “Доменные службы Active Directory” дважды нажать “Далее”, а после “Установить”.
- Дождаться окончания установки.
- Открыть меню “Пуск”-“Выполнить”. В поле ввести
- Кликнуть “Далее”.
- Выбрать пункт “Создать новый домен в новом лесу” и снова нажать “Далее”.
- В следующем окне ввести название, нажать “Далее”.
- Выбрать режим совместимости (Windows Server 2008).
- В следующем окне оставить все по умолчанию.
- Запустится окно конфигурацииDNS. Поскольку на сервере он не использовался до этого, делегирование создано не было.
- Выбрать директорию для установки.
- После этого шага нужно задать пароль администрирования.
Для надежности пароль должен соответствовать таким требованиям:
- Содержать цифры.
- При желании, содержать спецсимволы.
- Включать в себя прописные и заглавные буквы латинского алфавита.
После того как AD завершит процесс настройки компонентов, необходимо перезагрузить сервер.
- Следующий шаг – настройкаDHCP. Для этого нужно снова зайти в “Диспетчер сервера”, нажать “Добавить роль”. Выбрать пункт “DHCP-сервер”. Система начнет поиск активных сетевых адаптеров и произойдет автоматическое добавление IP-адресов.
- Прописать статический адрес.
- Указать адрес DNS.
- Далее, выбрать “WINS не требуется”.
- Настроить DHCP.
- Если IPv6 не используется, отключить ее.
- Далее, выбрать учетную запись, с которой будет происходить управление. Нажать на кнопку “Установить”, дождаться завершения конфигурации.
Настройка завершена, оснастка и роль установлены в систему. Установить AD можно только на Windows семейства Server, обычные версии, например 7 или 10, могут позволить установить только консоль управления.
Работа с компьютером
Windows PowerShell позволяет выполнять административные задачи для операционной системы и компьютера в целом, например, перезапустить операционную систему или переименовать компьютер.
- Restart-Computer – командлет перезапускает операционную систему (перезагружает компьютер );
- Stop-Computer – выключает компьютер;
- Rename-Computer – переименовывает компьютер;
- Checkpoint-Computer — создает точку восстановления системы на локальном компьютере;
- Restore-Computer — запускает восстановление системы на локальном компьютере;
- Disable-ComputerRestore — отключает функцию восстановления системы на указанном диске файловой системы;
- Enable-ComputerRestore — включает функцию восстановления системы на указанном диске файловой системы;
- Remove-Computer — удаляет локальный компьютер из домена;
- Get-EventLog – выводит информацию о событиях в журнале событий, или список журналов событий на локальном или удаленном компьютере;
- Clear-EventLog — удаляет записи из указанных журналов событий.
Обновление офисного пакета и операционной системы
Обновления программ для печати, таких как «Ворд» и «Ексель» не будет лишним в нашей ситуации. А установка последних обновлений для ОС должна стать привычным делом пользователя. Но ее можно настроить и на автоматическую работу. Как показывает практика, отсутствие критических пакетов обновлений часто бывает причиной недоступности службы «Актив Директори».
- Для обновления «Microsoft Office» откройте документ Word или Excel. Перейдите в меню «Файл» и в конце найдите ярлык «Спавка», а потом нажмите на «Проверить наличие обновлений». Следуйте инструкциям мастера установки.
- Для настройки обновлений самой «Виндовс» в панели управления найдите раздел «Центр обновлений». Зайдите туда и выполните поиск новых пакетов. При наличии таких произведите их инсталляцию.