Exchange 2010: Alte ActiveSync Partnerschaften finden

Im Laufe der Zeit sammeln sich bei Benutzern oft viele alte ActiveSync Partnerschaften an, die schon lange nicht mehr genutzt werden. Das folgende Script kann verwendet werden um alte ActiveSync Partnerschaften zu finden:

$LastSuccessSyncBefore = 180
$FirstSyncDateBefore = 180

#--------------------------------------------------------------------------------------
$today = get-date
$lastsyncdate = $today.AddDays(-$LastSuccessSyncBefore)
$firstsyncdate = $today.AddDays(-$FirstSyncDateBefore)

$results =@() 
$activesyncdevicelist = Get-ActiveSyncDevice -resultsize unlimited | where {$_.FirstSyncTime -le $firstsyncdate}

 foreach ($activesyncdevice in $activesyncdevicelist)
  {
   $asdevstats = $activesyncdevice | Get-ActiveSyncDeviceStatistics | where {$_.LastSuccessSync -le $lastsyncdate}
   if ($asdevstats)
   {
   $UserdisplayName = $activesyncdevice.UserDisplayName
   $username = (get-mailbox $userdisplayname).Name
   $Devicemodel = $activesyncdevice.devicemodel
   $devicetype = $activesyncdevice.devicetype
   $firstsync = $asdevstats.FirstSyncTime
   $lastsync = $asdevstats.LastSuccessSync

   $results += new-object PSObject -property @{UserName="$UserName";DeviceModel="$devicemodel";DeviceType="$devicetype";FirstSync="$firstsync";LastSync="$lastsync"}
   }
 }
 
$results | ft -autosize

Ändert einfach die Werte für LastSuccessSyncBefore (Letzte erfolgreiche Synchronisation vor XX Tagen) und FirstSyncDateBefore (Erste Synchronisation vor XX Tagen) ab, oder belasst es bei 180 Tagen.

Das Script kann einfach erweitert werden um zusätzliche Informationen anzuzeigen, oder die Partnerschaften automatisch zu löschen.

3 Gedanken zu „Exchange 2010: Alte ActiveSync Partnerschaften finden“

  1. Bitte beachten:
    Folgende Cmdlet werden ausgetauscht:
    Get-ActiveSyncDevice –> Get-MobileDevice
    Get-ActiveSyncDeviceStatistics –> Get-MobileDeviceStatistics

    Frage: Erweiterung zum löschen der alten Partnerschaften ?

    Antworten
  2. Hi Frank,

    das ist ein sehr interessantes Script aber ich bekomme es nicht recht zum laufen. Mir ist aufgefallen, das wenn ich nur Get-ActiveSyncDevice Befehl auf ein Mailbox ausführe mir der UserDisplayName nur 64 Zeichen lang ausgegeben wird. Bei mir ist der dann abgeschnitten. Dadurch habe ich im Ergebnis nachher keine Benutzerzuordnung, weil der Get-Mailbox Befehl nachher natürlich nichts findet.
    Hast du vielleicht eine Idee woran das liegen könnte. :)

    Gruß und vielen Dank für deine Arbeit!
    André

    Antworten
    • Hallo Andre,

      ich habe mir das Problem mit dem UserDisplayName angeschaut, eventuell kommt ja noch jemand vorbei dem das nützt(Getestet unter Exchange 2016). Folgendes sollte in dem Skript geändert werden:
      – Wie von Ingo erwähnt sollten die Befehle Get-ActiveSyncDevice und Get-ActiveSyncDeviceStatistics aktualisiert werden
      – Zeile 18 sollte folgendermaßen geändert werden: $username = $activesyncdevice.Identity.Parent.Parent.Rdn.EscapedName
      – Zeile 17 kann dann gelöscht werden

      Optionales löschen der gefunden Einträge(von Ingo angefragt), hier ist aber unbedingt zu empfehlen vorher die komplette Liste genau zu prüfen.
      Auf eigene Verantwortung!!

      foreach ($activesyncdevice in $activesyncdevicelist)
      {
      Remove-MobileDevice -Identity $activesyncdevice.Identity -Confirm:$false
      }

      Antworten

Schreibe einen Kommentar