пятница, 15 августа 2008 г.

Детали о защите от случайного удаления в AD

В свое время, когда я делал доклад о новом в Windows Active Directory Directory Services в Windows 2008, и рассказывал об улучшениях интерфейса, была затронута тема о галочке "prevent from accidental deletion". Это новая фишкаimage в консоли Active Direstory Users and Computers (ADUC), которая не позволяет удалить объект до тех пор, пока не снята некая галочка в свойствах этого объекта. В этот момент меня спросили, является ли эта функция всего лишь деталью интерфейса (то есть, можно ли справиться с помеченным таким образом объектом с помощью других средств, например ldp?) или при ее установке в AD происходят какие-то изменения? В тот день я ответил (предположил), что это скорее всего только функция интерфейса (позор мне! =) ), но червячок сомнения остался и грыз меня больше полугода. Наконец-то (буквально вчера) я добрался до проверки ответа на этот вопрос. Естественно, я оказался не прав, иначе не было бы этого поста. Итак, ответ.

Если мы поставили эту галочку, то удалить объект не сняв отметку можно будет только после пляски с бубном. Причем, это работает даже при нахождении в Active Directory 2003 (для этого нужно только поставить RSAT на Vista, чтобы увидеть новый элемент интерфейса в ADUC), несмотря на то, что схема не изменена. Как же это работает, в таком случае? Да очень просто (как все гениальное, ага =) ).

Когда мы помечаем галочкой упомянутый выше чекбокс, на самом деле в image разрешениях на изменяемый/создаваемый объект AD выставляются разрешения Deny Delete & Deny Delete Subtree для группы Everyone. Теперь невозможно случайно удалить объект. Да что там случайно, даже для того, чтобы удалить его целенаправленно, придется попотеть:

1) если у Вас стоит RSAT, то нужно будет включить в ADUC «Advanced Features», потом открыть свойства объекта и снять галочку, после чего его можно будет удалить

2) если RSAT нет, то придется так же находить надоевший нам объект и править разрешения на вкладке Security

По умолчанию, когда создание объекта происходит в новой консоли, эта опция включена, что хорошо. Однако для старых объектов, созданных в старой консоли ADUC этого не происходит, потому или нужно быть осторожным или просто пройтись скриптом по дереву и пометить все это дело, как "защищенное от случайного удаления" ;)

6 комментариев:

Clevelus комментирует...

Ну чтож, вот тут: ADSHelper мой ответ на этот пост. Думаю симпатичный ответик получился.
А подробнее о нем написано тут: Помощник по Active Directory Services

Alexander Trofimov комментирует...

Отличная утиль. =)

missterr комментирует...

Сори за некоторый оффтоп, но возникла проблема и нигде не могу найти решения, хелп плз!
При создании подразделения(как понял OU) в 2008м оставил галку "Защитить от случайного удаления", в свойствах объекта вообще нет вкладки objekt(есть 3 вкладки: Общие, Управляется и COM+). Как удалить OU в этом случае?

Alexander Trofimov комментирует...

Попробуйте в оснастке пойти в меню View, там нажать на Advanced Features и снова в свойства объекта. Думаю, что все появится. Если нет - напишите на e-mail
komatozo[at]gmail[dot]com

Gatazo комментирует...

Александр, спасибо!
Полезный момент.

Alexander Trofimov комментирует...

Всегда пожалуйста.