Inaktive ActiveSync Geräte löschen

Letzte Aktualisierung am 22.09.2019, 15:09:29 Uhr

In regelmäßigen Abständen entferne ich ausgediente Smartphones/Tablets aus der ActiveSync-Übersicht auf dem Exchangeserver. Mit Hilfe dieses Powershellskripts, lasse ich mir Geräte anzeigen, die sich seit 90 Tagen nicht mehr syncronisiert 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.

Abonnieren
Benachrichtige mich bei
0 Comments
Inline Feedbacks
View all comments