dolezel.net

Co není v hlavě, je v blogu...

Jednoduchá blokace neaktivních uživatelů

Každé AD by mělo být pravidelně monitorováno, aby neobsahovalo vyhnilé účty, jak počítačů, tak lidí. Ne všude to funguje tak, že člověk odchází ze společnosti a automaticky jsou smazány všechny jeho účty. Je to také oblíbenou otázkou auditorů. Takže přijde vhod jednoduchý baťáček, spouštěný pravidelně v rozumných intervalech (denně/týdně), který projde komplet doménu a vyhledá mrtvoly.

@echo off
rem Zablokuje uzivatele a pocitace, ktere jsou neaktivni po dobu peti tydnu
dsquery computer -inactive 5 | dsmod computer -disabled yes
dsquery user -inactive 5 | dsmod user -disabled yes
rem Nasledujici sekce preventivne zkontroluje, zdali nebyl zablokovan nejaky dulezity
rem systemovy ucet, ktery se pouziva jednou za cas
rem Pokud byl zablokovan, povoli jej
dsquery user –name bck-admin -disabled | dsmod user -disabled no
dsquery user -name usr-exmerge -disabled | dsmod user -disabled no
dsquery user -name SPNca -disabled | dsmod user -disabled no
dsquery user -name IUSR_SERVER -disabled | dsmod user -disabled no
dsquery user -name IWAM_SERVER -disabled | dsmod user -disabled no

Admin pak může mít v ADU&C předpřipravené uložené dotazy, které mu vyjedou všechny zablokované uživatele, všechny zablokované počítače a může je snadno zkontrolovat a případně smazat.

Pro tisk

Komentáře (4) -

  • AdDragon

    22. 2. 2011 14:23:52 |

    Na něco takového používám sérii skriptů - pro výčet uživatelů s prošlým heslem, pro výčet uživatelů, kteří se nepřihlásili déle než, atd.. hezky do csv. Ještě, že je tu ten powershell Smile
    Navíc skript pro automatické ukončování uživatelů, kterým vypršel účet - místní admin musí jen nastavit příslušný atribut.

    • David Pernikář

      22. 2. 2011 21:42:59 |

      Ahoj. Mohli byste mi zkusit poslat na ukázku nějaký script abych se mohl něco přiučit vypadá to skvěle Smile

      Děkuji

  • Radek Doležel

    23. 2. 2011 17:54:55 |

    Variant je hafo, hodil jsem si sem poznámku pro situace, kdy je to ještě pořád W2003, na serverech není PowerShell, občas ani .NET FW a člověk si musí vystačit s tím, co je.

  • AdDragon

    4. 3. 2011 10:44:58 |

    Variant je opravdu mnoho.
    Například lze na libovolný stroj/stanici nainstalovat powershell + správu active directory přes quest a pak stačí třeba:
    Get-QADUser -SearchRoot $root -AccountExpiresBefore $keDni
    nebo něco jako:
    Get-QADUser -enabled -SearchRoot $root | ? {-not $_.PasswordNeverExpires} | ? {-not $_.UserMustChangePassword } | ? { ( $MaximumPasswordAge - [math]::round(( $today - (($_).PasswordLastSet) ).totaldays) ) -le $DaysBefore }

    a tak dále...

Komentáře jsou uzavřeny