Vanad kontod domeenis

Aeg-ajalt on domeenist vaja üles leida kasutajakontod, kes pole tükk aega ennast näole andnud.  On nad siis ettevõttest lahkunud või on nende projekt lõppenud ja neil pole enam ligipääsu vaja.  Tavaliselt unustatakse mõlemal juhul süsteemiülemale teatada, et konto võib kinni panna.

Sarnane probleem tekib ka arvutikontodega.  Kui arvutid maha kantakse ning ära müüakse, siis ununeb sageli masina domeenist väljavõtmine.  Aga ConfigMgr’i jaoks tähendab see terve hulk zombisid, mida ei ole enam vaja.

Alates Windows Server 2003-st on haldusvahendite hulgas ka hunnik käsurea utiliite, mis antud juhul abiks on:

dsquery user "ou=kasutajad,ou=firma,dc=firma,dc=ee" –inactive 13

dsquery user –stalepwd 90

Ülaltoodud näites esimene rida otsib välja kasutajakontod, mis pole viimase 13 nädala jooksul sisse loginud ning teine rida otsib välja kasutajad, mis viimase kolme kuu (90 päeva) jooksul pole parooli muutnud.  Sama saab teha ka arvutikontodega.

tuleb vaid tähele panna, et kui inimesele on tehtud konto ja sellega pole kunagi sisse logitud, siis ei leia –inactive võtmega otsimisel seda kontot üles.  Nimetatud võti kasutab domeenikonto atribuuti lastLogonTimestamp, kus on kirjas et millal konto viimati sisse logis.  Ja kui ta pole kunagi loginud, on see atribuut tühi.

Masinakontodega on natuke lihtsam, kuna masinad käivad regulaarselt iga 30 päeva tagant oma parooli muutmas.  Kui nad pole seda teinud, siis pole nad viimase kuu jooksul domeenikontrollerit näinud.

Kui nüüd kontod üles leitud, siis peaks need välja lülitama.  Siis on kindel, et need ei saa enam domeeni sisse ja ühtlasi tuleb sageli ka välja, et kui konto(d) on tegelikult vajalikud, siis võetakse meiega varsti ühendust:

dsquery user –inactive 16 | dsmod user –disabled yes

dsquery computer –stalepwd 90 | dsmove –newparent "ou=teadmata kadunud"

Sellisel viisil võib muidugi juhtuda, et osa leitud kontosid juba on välja lülitatud.  Seega oleks vaja natuke võimsamat vahendit.

Windows Server 2008 R2 ja tema kaughaldusvahendid sisaldavad Powershelli moodulit ActiveDirectory.  Antud juhul on see väga abiks.  Vaja vaid, et vähemalt üks domeenikontroller oleks Windows Server 2008 R2 või siis et vähemalt ühele domeenikontrollerile oleks paigaldatud Active Directory Gateway Management Service.  Ja siis saame teha järgmist:

#Requires -Modules ActiveDirectory

Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 -UsersOnly

$ammu = (Get-Date).AddDays(-90)

Get-ADUser -Filter {logonCount -ge 1 -and LastLogonDate -le $ammu} |
  Move-ADObject -TargetPath "ou=kadunud hinged"

Get-ADUser -Filter {Enabled -eq $true -and PasswordLastSet -le $ammu} `
  -SearchBase "ou=IT,ou=kasutajad,dc=firma,dc=ee"

Get-ADComputer -Filter {PasswordLastSet -le $ammu} | Disable-ADAccount

Ülaltoodud näites leiab 7. rida kasutajakontod, kes on vähemalt korra sisse loginud ja viimane sisselogimine on toimunud 90 päeva tagasi või varem.  Leitud kontod tõstetakse eraldi OU-sse.

10. rida leiab kasutajakontod kindlast OU-st, kes ei ole välja lülitatud ja kelle parool on viimati vahetatud 90 päeva tagasi või varem.

Viimane rida leiab arvutikontod mis ei ole viimase 90 päeva jooksul domeenikontrollerit näinud (kui oleks, siis oleks ka parool juba muudetud) ning lülitab need välja.

Loomulikult tekib küsimus, et milliseid atribuute veel on, mida kasutada saaks.  Küsime seda Powershelli käest:

#Requires -Modules ActiveDirectory

Get-ADUser -Identity mina -Properties *

Siin tuleb tähele panna, et üks tagastatud atribuut on selline, mis arvutatakse atribuudi nTSecurityDescriptor pealt: see on CannotChangePassword.  Seda atribuuti ei saa filtris kasutada, küll aga saab seda kontrollida mööda toru järgmises käsus:

Get-ADUser -Filter * -Properties CannotChangePassword |
  Where-Object {$_.CannotChangePassword}

Tulemuseks on kasutajate nimekiri, kes ei saa ise oma parooli muuta.

Täpsemalt infot filtri võimalustest ja atribuutidest, mida võib Active Directory objektide küljest leida, saab järgmistest Powershelli spikri teemadest (või veebist):

Advertisements

One thought on “Vanad kontod domeenis

Kommenteerimine on suletud.