поиск старых рабочих станций в Acitve Directory

Проблема старых рабочих станций в AD

 

Как происходит типичный процесс обеспечения нового сотрудника рабочей станцией:

  1. Со склада достается рабочая станция
  2. На рабочую станцию устанавливается операционная система и все необходимое ПО
  3. Рабочая станция заводится в домен по неким именем, подозрительно похожим на фамилию пользователя
  4. Запись о рабочей станции в структуре AD перемещается в необходимый OU
  5. Рабочая станция устанавливается на рабочее место нового сотрудника

Какие типовые сценарии обычно выполняются при увольнении сотрудника:

  1. Рабочая станция уволенного сотрудника передается на склад, а содержимое жесткого диска ждет одна из следующих судеб:
    • Все необходимые документы переносятся на общеизвестный общий сетевой ресурс, доступ к папке, содержащей перенесенные документы дается для сотрудника, который принимает дела
    • Все необходимые документы переносятся непосредственно на рабочую станцию сотрудника, принимающего дела увольняющегося коллеги
  2. Рабочая станция уволенного сотрудника не передается на склад, а вместо этого:
    • Переименовывается в соответствии с чем-то, подозрительно похожим на фамилию уже нового пользователя
    • Не переименовывается по причине халатного отношению к работе или по простой забывчивости

Таким образом, при солидном парке ПК и ненулевой текучести кадров, с течением времени в Active Directory накапливается масса записей о рабочих станциях, в точном статусе которых уже не уверен никто.

А выход на самом деле достаточно прост и изящен. Учетная запись рабочей станции с точки зрения каталога AD несильно отличается от учетной записи пользователя. То есть, в свойствах записи есть замечательное поле штампа времени последнего входа в домен. Более того, учетная запись компьютера для аутентификации в домене тоже использует пароль, который обязан автоматически меняться в соответствии с установленными политиками безопасности (по умолчанию, период равен 60 дням).
В базовом же комплекте средств администрирования AD уже есть замечательные консольные утилиты, как нельзя лучше подходящие для наших целей:

  • dsquery — выводит список объектов AD, соответствующих заданному критерию
  • dsmod — изменяет заданные атрибуты объекта
  • dsmove — перемещает объект в рамках AD
  • dsrm — удаляет текущий объект или полностью дерево дочерних объектов
  • dsadd и dsget нам сейчас не понадобятся

Предположим, мы администрируем домен libertine.su. Итак, выполнив в командной строке простую команду

60973e317a2041_

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

60973e317a2042_

Мы также можем вывести список из компьютеров, которые не заходили в домен в течении заданного числа недель. Да, именно недель и об этом необходимо помнить, во избежании непонимания происходящего Description: ;). Как и о том, что, увы, команда работает только, если домен находится в 2003 native режиме.

Итак, выясним, какие компьютеры из OU Sales не регистрировались в домене за последние 7 недель:

60973e317a2043_

Ок, мы выяснили. А что же с этим делать дальше? Логика подсказывает, что можно просто удалить. В принципе, без проблем. Но можно их сначала сделать неактивными. Для этого мы используем соответствующие утилиты командной строки. А найденные компьютеры из dsquery передадим туда при помощи механизма туннелирования команд (символ конвейера в командной строке).

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

60973e317a2044_

Что, у нас не получилось? Все правильно! Параметры в виде полных путей к найденным компьютерам, во вторую часть необходимо передавать по одной, а не сразу весь список.

Можно, конечно, написать глупый cmd файл, примерно такого содержания:

60973e317a2045_

Таким образом мы в бесконечном цикле последовательно изменим атрибут каждой из находимых рабочих станций.

Но это как-то бесконечно некрасиво. Поэтому мы лучше напишем в этом файле следующую конструкцию:

60973e317a2046_

Первая и третья строка на вкус. Лично мне такое поведение нравится больше.

Теперь предлагаю переместить все выключенные записи компьютеров домена в одну единую OU под именем disabled old computers. Создаем эту OU при помощи командной строки или оснастки Active Directory Users and Computers.

А теперь создаем еще один cmd файл:

60973e317a2047_

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

Да, поскольку я обещал упомянуть утилиту dsrm в контексте управления записями рабочих станций, я ее упоминаю: если создать следующий cmd файл:

60973e317a2048_

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

Работа с корзиной Active Directory

Случайное удаление объектов Active Directory — это обычное дело при работе с доменными службами Active Directory (AD DS) и службами Active Directory облегченного доступа к каталогам (AD LDS).

В доменах Active Directory под управлением Windows Server 2008 случайно удаленные объекты можно восстанавливать по архивным копиям AD DS, созданным с помощью системы архивации данных Windows Server. Можно использовать команду заслуживающего доверия восстановления ntdsutil, чтобы пометить объекты как заслуживающие доверия, чтобы гарантировать репликацию восстановленных данных в домене. Работа корзины Active Directory в Windows Server 2008 R2 основана на существующей инфраструктуре реанимации отметок полного удаления, расширяет возможности по сохранению и восстановлению случайно удаляемых объектов Active Directory.

Корзина Active Directory в Windows Server 2008 R2 позволяет минимизировать время простоя службы каталогов. Ее можно использовать для сохранения и полного восстановления случайно удаленных объектов Active Directory без необходимости восстановления данных Active Directory из архивов, перезапуска доменных служб Active Directory или контроллеров домена.

Назначение корзины Active Directory

Если корзина Active Directory включена, все ссылочные и нессылочные атрибуты удаленных объектов сохраняются, а объекты полностью восстанавливаются в том же логически согласованном состоянии, в котором они находились непосредственно перед удалением. Например, восстановленные учетные записи пользователя автоматически восстанавливают все членства в группах и соответствующие права доступа, которыми они обладали внутри и вне доменов в момент перед удалением. Корзина Active Directory применяется для сред AD DS и AD LDS.

Что следует принять во внимание?

  • По умолчанию корзина Active Directory отключена. Чтобы включить ее, сначала необходимо поднять уровень работы леса в среде AD DS или AD LDS до Windows Server 2008 R2. Это в свою очередь приводит к тому, что все контроллеры доменов в лесу или все серверы, на которых размещаются экземпляры набора конфигурации AD LDS, будут работать под управлением Windows Server 2008 R2.
  • Процесс включения корзины Active Directory в Windows Server 2008 R2 необратим. После включения корзины Active Directory для конкретной среды отключить ее будет нельзя.

Новая функциональность корзины Active Directory

На следующей схеме показан жизненный цикл нового объекта Active Directory в Windows Server 2008 R2, когда корзина Active Directory включена.

Требования к корзине ActiveDirectory.

Перед включением корзины Active Directory в среде доменных служб Active Directory (AD DS) следует выполнить приведенные далее действия:
1. Корзина Active Directory работает только с Windows Server 2008 R2;
2. Необходимо поднять режим леса до Windows Server 2008 R2

Как включить корзину в ActiveDirectory?

Существует множество источников, где пошагово описано, как включить корзину AD. Я провел много времени, чтобы запустить корзину, руководствуясь тремя источниками. Потом, систематизировав все полученные мною знания, я решил написать эту статью. Очень важный момент, если что-то не получается – пользуйтесь справкой PowerShell и командлетом get-help.

Например,get-help Enable-ADOptionalFeature -examples

Шаг 1.
Поднимаем режим леса до Windows Server 2008 R2:
1. Запускаем МодульActiveDirectoryдля WindowsPowerShell и выбераем команду Запуск от имени администратора (Пуск -> Администрирование -> Модуль Active Directory для Windows PowerShell).
2. В командной строке ActiveDirectorymoduleforWindowsPowerShell вводим следующую команду и нажимаем клавишу ВВОД:

60973e317e4309_

Вместо “имя_домена”, вводим имя своего домена.

Например, чтобы установить в качестве режима работы леса, в моем случае, idpo.stgau.net Windows Server 2008 R2, введите следующую команду и нажмите клавишу ВВОД:

60973e317e43010_

И следом выводится подтверждение:

Подтверждение
Вы действительно хотите выполнить это действие?

Выполнение операции «
Set» над целевым объектом
«CN
=Partitions,CN=Configuration,DC=support,DC=net».
[Y
] Да – Y[A] Да для всех – A[N] Нет – N[L] Нет для всех – L
[S
] Приостановить – S[?] Справка (значением по умолчанию является «Y»):

Выбираем параметр «Да для всех», достаточно ввести: А

Для получения дополнительных сведений о командлете Set-ADForestMode в командной строке Set-ADForestMode –Identity имя_домена -ForestMode Windows2008R2ForestSet-ADForestMode –Identity support.net -ForestMode Windows2008R2ForestActiveDirectorymodulefor введите Windows, а затем нажмите клавишу ВВОД.

Примечание: Чтобы повысить режим работы набора конфигураций служб Active Directory облегченного доступа к каталогам, можно использовать командлет Set-ADObject. Например, чтобы повысить режим работы набора конфигураций служб Active Directory облегченного доступа к каталогам на локальном сервере AD LDS, когда имя раздела каталога конфигурации AD LDS имеет значение CN=Configuration,CN={32E430E4-42D3-4663-BCA7-5F5DFDC898}, используется следующий командлет:

60973e317e43018_

Шаг 2.

Включение корзины Active Directory

1. Запускаем Модуль Active Directory для Windows PowerShell и выбираем команду Запуск от имени администратора (Пуск -> Администрирование -> Модуль Active Directory для Windows PowerShell).

2. В командной строке Active Directory module for Windows PowerShell вводим следующую команду и нажимаем клавишу ВВОД:

60973e317e43019_

Вместо “name”, вводим имя своего сервера контроллера домена.

Приведу пример:

60973e317e43020_

И следом выводится подтверждение:

Подтверждение
Вы действительно хотите выполнить это действие?

Выполнение операции «Set
» над целевым объектом
«CN
=Partitions,CN=Configuration,DC=idpo,DC=stgau,DC=net».
[Y
] Да – Y[A] Да для всех – A[N] Нет – N[L] Нет для всех – L
[S
] Приостановить – S[?] Справка (значением по умолчанию является «Y»):

Выбираем параметр «Да для всех», достаточно ввести: А

Для получения дополнительных сведений о командлете Enable-ADOptionalFeature в командной строке PowerShellGet-HelpSet-ADForestModeSet-ADObject -Identity ‘CN=Partitions,CN=Configuration,CN={32E430E4-42D3-4663-BCA7-5F5DFDC898}’ -Replace @{‘msds-Behavior-Version’=4} -Server localhost:50000Enable-ADOptionalFeature -Identity ‘Recycler Bin Feature’ -Scope ForestOrConfigurationSet -Target ‘имя_домена’ server “name”Enable-ADOptionalFeature -Identity ‘Recycler Bin Feature’ -Scope ForestOrConfigurationSet -Target ‘support.net’ server test_adActive введите Directory, а затем нажмите клавишу ВВОД.

Примечание: Для включения корзины Active Directory в среде AD LDS можно также использовать командлет Enable-ADOptionalFeature. Например, чтобы включить корзину Active Directory на локальном сервере AD LDS, когда различающееся имя раздела каталога конфигураций AD LDS имеет значение CN=Configuration,CN={372A5A3F-6ABE-4AFD-82DE-4A84D2A10E81}, используется следующий командлет:

60973e317e43028_

Ну вот и все, корзина включена, теперь можно поговорить о восстановлении удаленных объектов.

Восстановление удаленного объекта Active Directory

Рекомендую восстанавливать удаленный объект Active Directory с помощью командлетов Get-ADObject и Restore-ADObject модуля Active Directory для Windows PowerShell.

1. Запускаем МодульActiveDirectoryдля WindowsPowerShell и выбираем команду Запуск от имени администратора (Пуск -> Администрирование -> Модуль Active Directory для Windows PowerShell).

2. В командной строке Active Directory module for Windows PowerShell введите следующую команду и нажмите клавишу ВВОД:

60973e317e43029_

Дальше вам будет предложено ввести фильтр. Вводим:

60973e317e43030_

далее вы увидите список всех пользователей домена, в то числе и удаленных. Находим необходимого удаленного пользователя и копируем его GUID.

Вот пример удаленного пользователя:

Deleted : True
DistinguishedName : CN=Victor Vic. GorlovADEL:78cfe915-3255-4509-8dcd-33ad195d5161,CN=Deleted Objects,DC=support,DC=net
Name : Victor Vic. Gorlov
DEL:78cfe915-3255-4509-8dcd-33ad195d5161
ObjectClass : user
ObjectGUID : 78cfe915-3255-4509-8dcd-33ad195d5161

И теперь приступаем к восстановлению. Для этого введите в командной строке Active Directory module for Windows PowerShell:

60973e317e43031_

Опять же будет предложено ввести фильтр, вводим:

60973e317e43032_

Вместо GUID, вставляем скопированный GUID пользователя.

Например, чтобы восстановить случайно удаленный объект: пользователя по его GUID“78cfe915-3255-4509-8dcd-33ad195d5161”, введите следующую команду и нажмите клавишу ВВОД:

60973e317e43033_

Затем вводим фильтр:

60973e317e43034_

и, вуаля, удаленный пользователь восcтановлен. Чтобы проверить, вводим следующие команды:

60973e317e43035_

Дальше вам будет предложено ввести фильтр. Вводим:

objectClass –like “user”, и в списке находим нашего пользователя, теперь он не помечен, как удаленный.

Deleted :
DistinguishedName : CN=Victor Vic. Gorlov,CN=ИТ,DC=support,DC=net
Name : Victor Vic. Gorlov
ObjectClass : user
ObjectGUID : 78cfe915-3255-4509-8dcd-33ad195d5161

Для получения дополнительных сведений о командлетах Get-ADObject и Restore-ADObject в командной строкеActive Directory module for Windows PowerShell введите Get-Help Get-ADObject -examples или Get-Help Restore-ADObject -examples и нажмите клавишу ВВОД.

Чтобы убедиться, что наш пользователь действительно восстановился, можно воспользоваться Центром АдминистрированияActiveDirectory:

  • заходим в Центр администрирования Active Directory (Пуск –> Администрирование -> Центр Администрирования Active Directory);
  • выбирать контроллер домена в нашем лесу, зайти в организационную единицу, из которой пользователь был удален, и он должен находиться на своем месте.

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

Изменение времени существования отметки полного удаления с помощью командлета Set-ADObject

Нажмите кнопку Пуск, выберите пункт Администрирование, щелкните правой кнопкой мыши пункт МодульActiveDirectoryдля WindowsPowerShell и выберите команду Запуск от имени администратора.

1. В командной строке Active Directory module for Windows PowerShell вводим следующую команду и нажимаем клавишу ВВОД:

60973e317e43036_

Указываем вместо DC=<domain>,DC=<com> имя соответствующего корневого домена леса среды Active Directory и заменяем значение <value> новым значением времени существования отметки полного удаления.

Например, чтобы установить для tombstoneLifetime 365 дней, выполним следующую команду:

60973e317e43037_

Для получения дополнительных сведений о командлете Set-ADObject в командной строке Active Directory module for Windows PowerShell введите Get-Help Set-AdObject, а затем нажмите клавишу ВВОД.

Автор: Кустарников Иван
E-mail: sunrise-flame@hotmail.com

Скачать Hyper-V Server вы сможете по этому адресу: http://www.microsoft.com/ru/ru/softmicrosoft/HyperVS2008r2SP1.aspx

Скачать Windows Server 2008 R2 SP1 вы сможете по этому адресу: http://www.microsoft.com/ru/ru/softmicrosoft/server2008.aspx

Ввод linux компьютера в домен Windows

базовая инструкция по вводу ubuntu linux в домен  http://help.ubuntu.ru/wiki/%D0%B2%D0%B2%D0%BE%D0%B4_%D0%B2_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD_windows годится и для других дистрибутивов с поправкой на расположение файлов

при вводе компьютера с linux в домен Windows (Active directory) если в Default Domain Controllers Policy при значении политики  Domain controller: LDAP server signing requirements стоит “Require signing”

появляется ошибка

kinit succeeded but ads_sasl_spnego_krb5_bind failed: Strong(er) authentication required
Failed to join domain: failed to connect to AD: Strong(er) authentication required

 

Для исправления такой ситуации и ввода ПК в домен в smb.conf надо добавить строчку в [global]

client ldap sasl wrapping = seal