Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Rychlovka - jak nastavit Protect object from accidental deletion pro uživatele a skupiny
listopad 07
Rychlovka - jak nastavit Protect object from accidental deletion pro uživatele a skupiny

Jak jste si jistě všimli od Windows 2008 R2 v jeho Active Directory Users and Computers konzoli (neboli Uživatelé a počítače služby Active Directory) je možné chránit objekty proti náhodnému smazání. Jedná se o zaškrtávátko ve vlastnostech uživatelského účtu nazvané Protect object from accidental deletion.

Tohle je automaticky zapínáno na organizačních jednotkách (organization unit) při jejich vytváření přes GUI. Pokud to děláte skriptem, tak se to nenastaví.

Na uživatelích a skupinách a jiných objektech to nastaveno ve výchozím stavu není. Nehledě na to, že to možná chcete nastavit na více objektů později.

Pomocí skriptu PowerShell to jde úplně snadno:

DSQUERY * 'OU=people,DC=gopas,DC=virtual' -filter '(|(objectClass=user)(objectClass=group)(objectClass=organizationalUnit))' | % { 

  DSACLS ($_.Trim().Trim('"').Trim()) /D Everyone:SDDTDC
}

Předchozí skript pozapíná zákazy mazání na uživatelích (user), skupinách (group) i organizačních jednotkách (organizationalUnit).

Upravit si nejspíš dokážete, pokud ne, dejte vědět :-)

Proč to nejde jednoduše zdědit?

Zděděná oprávnění jsou slabší, než nezděděná explicitní oprávnění z nižší úrovně hierarchie. Takže i zděděné zakazovací (deny) oprávnění je možné přebít nezděděným povolením. Ta klasická hláška, že deny je vždycky silnější je kec. Deny není vždycky silnější ani na NTFS ani nidke jinde. Všude je možné zděděné deny přerazit pomocí explicitní nezděděné povolovací položky allow.

No a ony objekty v Active Directory (ADDS) mají mnoho explicitních nezděděných položek oprávnění (permissions). Dostávají je při svém vzniku z default security descriptor, který je pro jejich typ definován ve schematu. To obsahuje například full control pro Domain Admins, nebo pro Account Operators.

Takže pro Domain Admins a Account Operators je potřeba udělat právě skriptem explicitní deny položky na každém objektu samostatně.

Comments

Re: Rychlovka - jak nastavit Protect object from accidental deletion pro uživatele a skupiny

Tak ono najjednoduchšie sa to v PS dá spraviť príkazom:

Get-ADObject -SearchBase 'OU=people,DC=gopas,DC=virtual' -LDAPFilter '(|(objectClass=user)(objectClass=group)(objectClass=organizationalUnit))' |
Set-ADObject -ProtectedFromAccidentalDeletion:$true

Ale už si písal, že nemáš rád ADWS, takže toto riešenie sa Ti asi nebude páčiť.
Michael Grafnetter on 8.11.2014 12:04

Add Comment

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Type number two as digit *


Semhle vyplňte číslici dvě. Předchozí antispemové pole nefunguje úplně dokonale, zdá se, že jsou i spamery, které pochopily, že je občas potřeba vyplnit autora :-)

Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments