Letzte Aktualisierung am 12.10.2024, 09:10:46 Uhr
In regelmäßigen Abständen entferne ich ausgediente Smartphones/Tablets aus der ActiveSync-Übersicht auf dem Exchange Server. Mit Hilfe dieses PowerShell Skripts, lasse ich mir Geräte anzeigen, die sich seit 90 Tagen nicht mehr synchronisiert haben.
Clear-Host write-host @" =========================================================================== Inaktive Activesync - Geräte auslesen =========================================================================== Autor: Daniel Wydler Script: Delete-Old-ActiveSync-Devices.ps1 Version: 0.1 Datum: 08.02.2015 Umgebung: Windows Server 2012R2 (DC) + Exchange Server 2010 SP3 `n "@ < # =========================================================================== Powershell Variable und Konstante =========================================================================== #> [int] $intOlderDays = -90 # ----------------------------------------------------------------------------- # Type: Function # Name: CheckSnapIn # Description: Checks, if the Snapin is registered and loaded. # Parameters: snapin name # Return Values: # Requirements: # ----------------------------------------------------------------------------- function CheckSnapIn ([string] $name) { if (get-pssnapin $name -ea "silentlycontinue") { write-host "PSsnapin $name ist geladen." } elseif (get-pssnapin $name -registered -ea "silentlycontinue") { Add-PSSnapin $name write-host "PSsnapin $name ist geladen." } else { write-host "PSSnapin $name nicht gefunden!" exit } } Write-host @" =========================================================================== Powershell SnapIns und Module laden =========================================================================== "@ [string] $strSnapIn="Microsoft.Exchange.Management.PowerShell.E2010" CheckSnapIn ($strSnapIn) Write-Host @" `n =========================================================================== Geräte werden nun ausgelesen, Älter als 90 Tage =========================================================================== "@ $easmailboxes = Get-CASMailbox -Resultsize Unlimited -wa 0 -ea 0 | Where {$_.HasActiveSyncDevicePartnership} if ($easmailboxes) { foreach ($easmailbox in $easmailboxes) { Get-ActiveSyncDeviceStatistics -Mailbox $easmailbox.Identity -ea 0 -wa 0 | Where {$_.LastSuccessSync -lt $( (get-date).AddDays($intOlderDays).ToString("MM\/dd\/yyyy 00:00:00") ) } } } else { write-host "Keine ActiveSync-Geräte gefunden!" }
Quelle: Git Repository
Um ein Gerät nun zu löschen wird die Guid des jeweiligen Gerätes benötigt. Ein Beispiel sieht so aus:
Remove-ActiveSyncDevice -Identity "9b5817af-00fd-4ad0-b439-a9ef7d886416"
Die Sicherheitsabfrage einfach mit „Enter“ bestätigen.