Freitag, 21. Dezember 2018

Inaktive Computer im Active Directory finden

Es kann immer mal wieder vorkommen, dass ein Computer im ewigen Hardware-Himmel ist, und kein Admin den aus dem AD gelöscht hat. Nun kann man natürlich versuchen sich zu erinnern, welche Computernamen es noch gibt oder einfach einen Praktikanten in alle Büros schicken um das Problem zu lösen. Aber besser ist es doch, wenn man das per Powershell abfragt.

Dafür haben wir zwei möglichkeiten. Die erste zeigt uns einfach alle Computernamen, die sich die letzen 380 Tage nicht mehr beim AD gemeldet haben

Search-ADAccount -AccountInactive –Timespan 380 –ComputersOnly | Sort-Object | FT Name -A

Die zweite Version zeigt uns das etwas ausführlicher. Und zwar wird hier nach allen Computern gesucht, die sich seit mehr als einem Jahr nicht mehr beim AD gemeldet haben  -inklusive, wann sie sich das letzte Mal gemeldet haben.

$d = (Get-Date).addDays(-365)
Get-ADComputer -Property LastLogonDate -Filter {lastLogonDate -lt $d} |
select DNSHostName, LastLogonDate

Exchange 2010 Adressbuch aktualisieren

Immer wieder kommt es vor, dass das Adressbuch im Outlook nicht aktuell ist.  Nun kann man natürlich warten bis der Exchange das irgendwann von allein macht oder aber ein Powershell-Script dafür schreiben.

Add-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.E2010 -ErrorAction SilentlyContinue

get-addresslist | update-addresslist
get-globaladdresslist | update-globaladdresslist
get-offlineaddressbook | update-offlineaddressbook


Der CAS-Server muss natürlich auch aktualisiert werden. Das geht einfach mit

Update-FileDistributionService -server CAS-SERVERNAME 

Alternativ geht auch

Get-ClientAccessServer | Update-FileDistributionService

Wenn dann alle Server aktuell sind, muss nur noch das Adressbuch im Outlook aktualisiert werden. Dafür einfach auf

Senden/Empfangen -> Senden-Empfangen-Gruppen -> Adressbuch herunterladen...

FERTIG!

Abgelaufene Konten deaktivieren

Jeder kennt es, die Konten laufen ab und trotzdem sind sie nicht vom 1st Level Support deaktiviert worden. Schließlich gibt es Hersteller, die ihre Lizenzgebühren nach aktiven Konten berechnen.
Deswegen habe ich mir dafür ein Script geschrieben, dass nun täglich die Arbeit übernimmt.

Import-Module ActiveDirectory
Search-ADAccount -AccountExpired -UsersOnly | Where-Object {$_.Enabled}| Disable-ADAccount