Exchange 2010 Activesync reporting

I am looking to generate a report in Exchange 2010 for a specific group of users.  Below is the desired output.


DeviceImei                    : A1000017E689D3
DeviceFriendlyName            : HTC Gold
DeviceOS                      : Windows Phone7.0.7403
DeviceOSLanguage              : English
DevicePhoneNumber             : ******8735

I am new to Powershell and have looked through various forums. Any help would be appreciated. Also are there any software tools which could generate this type of report?
bluegrasscellAsked:
Who is Participating?
 
bluegrasscellConnect With a Mentor Author Commented:
Thanks for all the help.  We ended up running a command to pull the info we needed by changing the way it outputted.  It displayed the info we needed.

Get-ActiveSyncDevice -Organizationalunit "OU=NameofOU,DC=domain,DC=com" | fl FriendlyName,DeviceImei,DeviceOS,DeviceTelePhoneNumber,UserDisplayName | Convertto-CSV | Out-File T:\temp\output2.txt
0
 
pony10usCommented:
Here is a script that I found awhile back (sorry can't remember exactly where) and use that can probably be modified to fit your requirements. Rename as a .vbs.  I have a bat file set up in scheduled tasks to run this every day.
iphone-No-Prompts.txt
0
 
Shreedhar EtteCommented:
0
Has Powershell sent you back into the Stone Age?

If managing Active Directory using Windows Powershell® is making you feel like you stepped back in time, you are not alone.  For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why.

 
pony10usCommented:
@shreedhar

I haven't had time to review/compare your script to what we use however I was wondering how you handle devices no longer in use? Our script doesn't account for when a user purchases a new device. It just adds the new device and continues to show the old one.
0
 
bluegrasscellAuthor Commented:
Here is the script we are using. It keeps getting errors.



$Date = Get-Date -uformat "%Y%m%d"
$Logfile = "C:\Logs\ActiveSync-all-$date.txt"
$Devices = @()
Add-Content -path $LogFile "name,devicemodel,devicetype,useragent,lastsynctime"

$Mailboxes = Get-CASMailbox -ResultSize Unlimited | Where {$_.HasActiveSyncDevicePartnership -eq $True -and $_.OrganizationUnit –eq ‘Domain.local/Engineering/Dept’}}
ForEach ($mailbox in $mailboxes){
    $Devices= Get-ActiveSyncDeviceStatistics -Mailbox $mailbox.name
    $name = $mailbox.Name
    ForEach ($device in $devices) {
        $Model = $Device.DeviceModel
        $Type = $Device.DeviceType
        $LastSyncTime = $Device.LastSuccessSync
        $UserAgent = $Device.DeviceUserAgent
        Add-Content -path $Logfile "$name,$Model,$Type,$UserAgent,$LastSyncTime"
    }
}
0
 
pony10usCommented:
You don't mention what errors you are getting so I copied your text and ran it on our domain.

The only error I get so far is from this line:

$Mailboxes = Get-CASMailbox -ResultSize Unlimited | Where {$_.HasActiveSyncDevicePartnership -eq $True -and $_.OrganizationUnit –eq ‘Domain.local/Engineering/Dept’}}

There is an additional close bracket "}" at the end of the line. After removing that bracket it seemed to run okay.


I also noticed that $_.OrganizationUnit was incorrect - it should be $_.OrganizationalUnit

Are you running this script on the Exchange server? Do you have the Exchange Cmdlets installed?

http://www.powershellinside.com/articles/ssh/exchange/#exchange
0
 
bluegrasscellAuthor Commented:
We researched the commands needed to pull the basic info that we needed.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.