# Approve-EASDevice # # Script to prepare enabling EAS Quarantine in Exchange 2010 # Grabs all current registered devices and adds them as "AllowedDevices" param ( [string]$User = "*", # Optional User to manage [switch]$write = $false # set to true für setting devicelist ) Write-Host "Approve-EASDevice: Start" set-psdebug -strict $ErrorActionPreference = "stop" $error.clear() Write-Host " Setting Exchange Scope to forest" -WarningAction SilentlyContinue Set-ADServerSettings -ViewEntireForest $true Write-Host " Loading list of EAS Users" $easUserlist = Get-casmailbox ` -Identity $User ` -Filter {HasActiveSyncDevicePartnership -eq $true} ` -ResultSize unlimited ` -ErrorAction SilentlyContinue if ($easUserlist -eq $null) { write-host " No CAS-Mailboxes found" } else { Write-Host " Total Users: " $easUserlist.count foreach ($easUser in $easUserlist) { Write-Host "Processing User" $easUser.PrimarySmtpAddress $easdevicelist = Get-ActiveSyncDevice -Mailbox ([string]$easUser.PrimarySmtpAddress) if ($easdevicelist -eq $null) { Write-Host " Skip: no device found" } else { [array]$devicelist=@() foreach ($easdevice in $easdevicelist) { Write-Host " Adding Device: "$easdevice.deviceID $devicelist+= [string]$easdevice.deviceID } if ($write) { Write-Host " WRITE ActiveSyncAllowedDeviceIDs" Set-CASMailbox ` -Identity $easUser.identity ` -ActiveSyncAllowedDeviceIDs: $devicelist if ($error) { Write-Host "Err: WRITE ActiveSyncAllowedDeviceIDs failed" } } Write-Host " Done Devices" } Write-Host " Done User" $easUser.PrimarySmtpAddress } } Write-Host "Approve-EASDevice: End"