### BEGINNING OF SCRIPT ##### # # Get-ActiveSyncDeviceReport # Author: Paul Ponzeka # Website: port25guy.com # email ponzekap2 at gmail dot com # ###### param( [Parameter(Mandatory = $true)] [string] $SMTPServer = "", [Parameter(Mandatory = $true)] [string] $SMTPFrom = "", [Parameter(Mandatory = $true)] [string] $SMTPTo = "", [Parameter(Mandatory = $true)] [string] $exportpath = "" ) ####### # # HTML Formatting Section # Thanks to Paul Cunningham at http://exchangeserverpro.com/ # ####### # # # ###### $style = "" $messageSubject = "ActiveSync Device Report" $message = New-Object System.Net.Mail.MailMessage $smtpfrom, $smtpto $message.Subject = $messageSubject $message.IsBodyHTML = $true #### Get Mailbox $EASDevices = "" $AllEASDevices = @() $EASDevices = ""| select 'User','PrimarySMTPAddress','DeviceType','DeviceModel','DeviceOS', 'LastSyncAttemptTime','LastSuccessSync' $EasMailboxes = Get-Mailbox -ResultSize unlimited foreach ($EASUser in $EasMailboxes) { $EASDevices.user = $EASUser.displayname $EASDevices.PrimarySMTPAddress = $EASUser.PrimarySMTPAddress.tostring() foreach ($EASUserDevices in Get-ActiveSyncDevice -Mailbox $EasUser.alias) { $EASDeviceStatistics = $EASUserDevices | Get-ActiveSyncDeviceStatistics $EASDevices.devicetype = $EASUserDevices.devicetype $EASDevices.devicemodel = $EASUserDevices.devicemodel $EASDevices.deviceos = $EASUserDevices.deviceos $EASDevices.lastsyncattempttime = $EASDeviceStatistics.lastsyncattempttime $EASDevices.lastsuccesssync = $EASDeviceStatistics.lastsuccesssync $AllEASDevices += $EASDevices | select user,primarysmtpaddress,devicetype,devicemodel,deviceos,lastsyncattempttime,lastsuccesssync } } $AllEASDevices = $AllEASDevices | sort user $AllEASDevices $AllEASDevices | Export-Csv $exportpath\ActiveSyncReport.csv ###### # # Send Email Report # ######## $message.Body = $AllEasDevices | ConvertTo-Html -Head $style $smtp = New-Object Net.Mail.SmtpClient($smtpServer) $smtp.Send($message) ##END OF SCRIPT