fbpx

Ein tolles Feature, an einen Exchange Server ein Smartphone mit Active-Sync (EAS) anzubinden. Es ist ja so einfach einzurichten und auch in der Firewall alles klar und sauber über einen Reverse-Proxy freigegeben wird.

Aber ein Benutzer kann “nur” 10 Smartphones verbinden. Und so mancher Chef macht jede neue Generation durch und hatte sein dem ersten iPhone und iPad alle Generationen durch.

Nun kann der Admin natürlich über die Exchange Oberfläche die alten Smartphones löschen. Selber gesehen hatte ich erst vor kurzem, das 50 aktiven Smartphones über 200 Einträge mit get-MobileDevices angezeigt werden.

Leider zeigt mit der Befehl aber nicht an, wann das Smartphone zum letzten mal abgeglichen wurden. Das geht über den Befehl get-MobileDeviceStatistics und daher werden wir das mal kombinieren…

Aber die alten Einträge alle manuell löschen ist aufwändig. Ein guter Admin spart seine Kräfte! Daher habe ich hier ein paar Code-Schnipsel für euch zusammengestellt. Es sollte ab Exchange 2013 laufen. Und einen Exchange 2010 oder älter sollte bitte niemand mehr haben.

Abfrage der Geräte, letzter Sync, Gerätename und Benutzer

Also hier der erste Code-Schnipsel:

Get-Mailbox |%{Get-MobileDeviceStatistics -Mailbox $_.distinguishedname } | select GUID, LastSuccessSync, DeviceFriendlyName, Identity

Hier werden die Geräte ausgelesen und dazu gleich über die Statistik abgefragt, wann das Gerät zum letzten mal erfolgreich einen Sync ausgeführt hat.

Ermitteln, der Geräte, die länger als X Tage nicht mehr abgeglichen haben

In diesem Script werden die Geräte nach dem Datum gefiltert und dann in ein Array geschrieben.

$liste = Get-Mailbox |%{Get-MobileDeviceStatistics -Mailbox $_.distinguishedname } | select GUID, LastSuccessSync, DeviceFriendlyName, Identity | Where-Object {$_.LastSuccessSync -lt (get-date).AddDays(-60)}

Wir erhalten als Ergebnis alle Geräte, die seit 60 Tagen oder länger nicht abgeglichen haben. Ich gehe davon aus, das es diese Geräte nicht mehr gibt.

Und das Array laufen wir mit einer Schleife durch und löschen die alten Geräte.

foreach ($phone in $liste)
{
Write-Host "Lösche:" $phone.guid $phone.LastSuccessSync
Remove-MobileDevice -Identity $phone.guid.ToString() -Confirm:$false
}

In dem Fall werden die Geräte OHNE Nachfrage gelöscht.

Ich hoffe, euch mit dem Beispielen geholfen zu haben. Schreibt mir, wenn Ihr mehr davon braucht.

Cheers! #bierlänge


0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.