Jednoduchá blokace neaktivních uživatelů
http://old.dolezel.net/post/2011/02/18/Jednoducha-blokace-neaktivnich-uzivatelu
18.02.2011 18:24:21
Autor: radek

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. [more]

@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.


Comments (4)
22.02.2011 14:23:52
by AdDragon  |  proc.chce@kazdy.email.cz  |  
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 :-) 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.
22.02.2011 21:42:59
by David Pernikář  |  david.pernikar@atlas.cz  |  
Ahoj. Mohli byste mi zkusit poslat na ukázku nějaký script abych se mohl něco přiučit vypadá to skvěle :) Děkuji
23.02.2011 17:54:55
by Radek Doležel  |  radek@dolezel.net  |  http://dolezel.net/
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.
04.03.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...