PS: Alte ActiveSync Device Regelmäßig löschen

Moin,

einer der Aufräumtasks die mir die Powershell abnimmt, sind diese Endlosen Active Sync Geräte, die sich so im Leben eines Nutzers ansammeln. Sei es alle 2 Jahre das neue Smartphone, oder eben der neue Eintrag wenn man ein Softwareupdate macht und sich damit der DeviceAgent ändert.

Ich lösche also alles was sich vor länger als 60 Tagen angemeldet hat:

$servername = $env:computername
$mailto = „admin@domain.tld“
$mailSubject = $servername + “ – Alte ActiveSyncDevices geloescht”
$smtpServer = „Mailserver.domain.tld“
$emailFrom = $servername + „@domain.tld“
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn

$LastSuccessSyncBefore = 60
$FirstSyncDateBefore = 60

#————————————————————————————–
$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
$Deviceid = $activesyncdevice.deviceid
$firstsync = $asdevstats.FirstSyncTime
$lastsync = $asdevstats.LastSuccessSync

$results += new-object PSObject -property @{UserName=“$UserName“;DeviceID=“$Deviceid“;DeviceModel=“$devicemodel“;DeviceType=“$devicetype“;FirstSync=“$firstsync“;LastSync=“$lastsync“}
Remove-ActiveSyncDevice -Identity $activesyncdevice -Confirm:$false
}
}

$head1 = „Folgende ActiveSync Geraete die sich laenger als 60 Tage nicht synchronisiert haben, wurden geloescht: “
$head2 = „Dies ist eine automatisch erzeugte Mail!“
$body = $head1 + ($results | ft -autosize) + $head2

Send-MailMessage -to $mailto -Subject $mailSubject -Smtpserver $smtpServer -Body $body -from $emailFrom

 

Gewinnt sicherlich keinen Schönheitspreis, nimmt mir aber Arbeit ab und sagt mir sogar, wenn es soweit war 🙂

Schreibe einen Kommentar

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