PowerShell — Проверяем флаг защиты доменных OU от случайного удаления

imageВ оснастке Active Directory Users and Computers (dsa.msc) открыв свойства любого OU на закладке Object можно наблюдать флаг “Protect object from accidental deletion” (Защитить объект от случайного удаления). В библиотеке “Best Practices Analyzer for Active Directory Domain Services” есть хорошая заметка на тему управления этим флагом через PowerShell — AD DS: All OUs in this domain should be protected from accidental deletion

Для того чтобы получить перечень всех OU на которых не установлен флаг защиты выполним скриптоблок:

# Переменная $LDAPPathOU – ADSI путь к контейнеру внутри которого будем производить поиск OU (в формате distinguishedName)

#

$LDAPPathOU = "OU=ImportantOUs,DC=holding,DC=com"

Import-Module ActiveDirectory

Get-ADOrganizationalUnit -filter * -SearchScope Subtree -SearchBase $LDAPPathOU -Properties ProtectedFromAccidentalDeletion | Where {$_.ProtectedFromAccidentalDeletion -match "False"} | Select name, DistinguishedName | Format-Table –AutoSize


Для того чтобы на всех незащищённых OU сразу выставить данный флаг немного изменим скриптоблок до следующего вида:

$LDAPPathOU = "OU=ImportantOUs,DC=holding,DC=com"

Import-Module ActiveDirectory

Get-ADOrganizationalUnit -filter * -SearchScope Subtree -SearchBase $LDAPPathOU -Properties ProtectedFromAccidentalDeletion | Where {$_.ProtectedFromAccidentalDeletion -match "False"} | Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion $true

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

Всего комментариев: 10 Комментировать

  1. Баф /

    Большое спасибо за идею! http://bafff.ru/blog/?p=2909

    1. Алексей Максимов /

      Только вот тотальная установка такого признака на все объекты типа Computer может иметь свои отрицательные последствия. Например некоторые процедуры автоматизации, типа деплой OC и тому подобные, могут использовать в своей логике перемещение оъектов типа Computer между OU, а при включённом флаге защиты такие операции будут завершены безуспешно.

      1. Баф /

        ага… Возможно. Но у меня ничего подобного не используется, я даже не знаю, какой софт может потребовать перемещение из одного OU в другой. Шаблоны в SCVMM развёртываются сразу с указанием, куда нужно помещать виртуалку, а всё остальное — у нас кладётся в стандартный Computers а потом уже вручную по воли случая перемещается в «Неназначенные компьютеры» которым уже говорится качать обновления с ГОшного WSUS’a и возможно ещё какие-то политики

    2. Sergey /

      Интересно было бы узнать о таком варианте развития событий, поскольку создавая OU на первом же шаге галка Protect Container … стоит

      1. Алексей Максимов /

        Узнаете, когда окажетесь в большой доменной инфраструктуре с массой делегирований на уровне OU администраторам разного уровня.

      2. Баф /

        Это в новой версии ADUC (если мне не изменяет память). В старых было не так.

  2. Алексей Максимов /

    Да…Это можно связать с уровнем леса/домена/версией системы на которой запускается ADUC. Я с удивлением для себя нашёл такие OU … которые делал сам же в разные ранние этапы эволюции :)

  3. Баф /

    Если у вас уровень леса 2008 — найдите XP с Support Tools и попробуйте оттуда создать OU. Мне кажется, что дело всё же в версии ADUC, а не леса.

    У меня просто негде попробовать

  4. Баф /

    Нашёл следующую фичу простановки этой галки: http://bafff.ru/blog/?p=4226

    Интересно, что ещё выползет? :)

    1. Алексей Максимов /

      Ок. Спасибо за информацию.

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