6.4 KiB
EAS ActiveSync Report
Mittwoch, 23. September 2015
12:10
Gibt alle registrieten AS Devices plus User Aus
In PS1 speichern und ausführen
$EASDevices = ""
$AllEASDevices = @()
$EASDevices = ""| select 'User','PrimarySMTPAddress','LastSyncAttemptTime','LastSuccessSync','FriendlyName','DeviceId','DeviceImei','DeviceMobileOperator','DeviceOS','DeviceOSLanguage','DeviceTelephoneNumber','DeviceType','DeviceUserAgent','DeviceModel','FirstSyncTime','UserDisplayName','DeviceAccessState','DeviceAccessStateReason','DeviceAccessControlRule','DeviceActiveSyncVersion'
$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.DeviceOSLanguage = $EASDeviceStatistics.DeviceOSLanguage
$EASDevices.DeviceTelephoneNumber = $EASDeviceStatistics.DeviceTelephoneNumber
$EASDevices.FriendlyName = $EASDeviceStatistics.FriendlyName
$EASDevices.DeviceId = $EASDeviceStatistics.DeviceId
$EASDevices.DeviceImei = $EASDeviceStatistics.DeviceImei
$EASDevices.DeviceMobileOperator = $EASDeviceStatistics.DeviceMobileOperator
$EASDevices.DeviceOS = $EASDeviceStatistics.DeviceOS
$EASDevices.DeviceOSLanguage = $EASDeviceStatistics.DeviceOSLanguage
$EASDevices.DeviceType = $EASDeviceStatistics.DeviceType
$EASDevices.DeviceUserAgent = $EASDeviceStatistics.DeviceUserAgent
$EASDevices.DeviceModel = $EASDeviceStatistics.DeviceModel
$EASDevices.FirstSyncTime = $EASDeviceStatistics.FirstSyncTime
$EASDevices.UserDisplayName = $EASDeviceStatistics.UserDisplayName
$EASDevices.DeviceAccessState = $EASDeviceStatistics.DeviceAccessState
$EASDevices.DeviceAccessStateReason = $EASDeviceStatistics.DeviceAccessStateReason
$EASDevices.DeviceAccessControlRule = $EASDeviceStatistics.DeviceAccessControlRule
$EASDevices.DeviceActiveSyncVersion = $EASDeviceStatistics.DeviceActiveSyncVersion
$EASDevices.lastsyncattempttime = $EASDeviceStatistics.lastsyncattempttime
$EASDevices.lastsuccesssync = $EASDeviceStatistics.lastsuccesssync
$AllEASDevices += $EASDevices | select user,primarysmtpaddress,LastSyncAttemptTime,LastSuccessSync,FriendlyName,DeviceId,DeviceImei,DeviceMobileOperator,DeviceOS,DeviceOSLanguage,DeviceTelephoneNumber,DeviceType,DeviceUserAgent,DeviceModel,FirstSyncTime,UserDisplayName,DeviceAccessState,DeviceAccessStateReason,DeviceAccessControlRule,DeviceActiveSyncVersion
}
}
$AllEASDevices = $AllEASDevices | sort user
$AllEASDevices | Export-Csv c:\temp\ActiveSyncReport.csv
Noch einmal das selbe Script nur mit der Einschränkung das nur Devices mit Lastsyncstatus < 30 Tage ausgegeben werden:
$EASDevices = ""
$AllEASDevices = @()
$EASDevices = ""| select 'User','PrimarySMTPAddress','LastSyncAttemptTime','LastSuccessSync','FriendlyName','DeviceId','DeviceImei','DeviceMobileOperator','DeviceOS','DeviceOSLanguage','DeviceTelephoneNumber','DeviceType','DeviceUserAgent','DeviceModel','FirstSyncTime','UserDisplayName','DeviceAccessState','DeviceAccessStateReason','DeviceAccessControlRule','DeviceActiveSyncVersion'
$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.DeviceOSLanguage = $EASDeviceStatistics.DeviceOSLanguage
$EASDevices.DeviceTelephoneNumber = $EASDeviceStatistics.DeviceTelephoneNumber
$EASDevices.FriendlyName = $EASDeviceStatistics.FriendlyName
$EASDevices.DeviceId = $EASDeviceStatistics.DeviceId
$EASDevices.DeviceImei = $EASDeviceStatistics.DeviceImei
$EASDevices.DeviceMobileOperator = $EASDeviceStatistics.DeviceMobileOperator
$EASDevices.DeviceOS = $EASDeviceStatistics.DeviceOS
$EASDevices.DeviceOSLanguage = $EASDeviceStatistics.DeviceOSLanguage
$EASDevices.DeviceType = $EASDeviceStatistics.DeviceType
$EASDevices.DeviceUserAgent = $EASDeviceStatistics.DeviceUserAgent
$EASDevices.DeviceModel = $EASDeviceStatistics.DeviceModel
$EASDevices.FirstSyncTime = $EASDeviceStatistics.FirstSyncTime
$EASDevices.UserDisplayName = $EASDeviceStatistics.UserDisplayName
$EASDevices.DeviceAccessState = $EASDeviceStatistics.DeviceAccessState
$EASDevices.DeviceAccessStateReason = $EASDeviceStatistics.DeviceAccessStateReason
$EASDevices.DeviceAccessControlRule = $EASDeviceStatistics.DeviceAccessControlRule
$EASDevices.DeviceActiveSyncVersion = $EASDeviceStatistics.DeviceActiveSyncVersion
$EASDevices.lastsyncattempttime = $EASDeviceStatistics.lastsyncattempttime
$EASDevices.lastsuccesssync = $EASDeviceStatistics.lastsuccesssync
$AllEASDevices += $EASDevices | select user,primarysmtpaddress,LastSyncAttemptTime,LastSuccessSync,FriendlyName,DeviceId,DeviceImei,DeviceMobileOperator,DeviceOS,DeviceOSLanguage,DeviceTelephoneNumber,DeviceType,DeviceUserAgent,DeviceModel,FirstSyncTime,UserDisplayName,DeviceAccessState,DeviceAccessStateReason,DeviceAccessControlRule,DeviceActiveSyncVersion
}
}
$ActualDevices=@()
foreach($A in $AllEasDevices){
$ActualDevices += $A| select user,primarysmtpaddress,LastSyncAttemptTime,LastSuccessSync,FriendlyName,DeviceId,DeviceImei,DeviceMobileOperator,DeviceOS,DeviceOSLanguage,DeviceTelephoneNumber,DeviceType,DeviceUserAgent,DeviceModel,FirstSyncTime,UserDisplayName,DeviceAccessState,DeviceAccessStateReason,DeviceAccessControlRule,DeviceActiveSyncVersion| where{$A.LastSuccessSync -ge (Get-Date).AddDays(-30)}
}
$ActualDevices=$ActualDevices |sort user
$ActualDevices|Export-Csv c:\temp\ActiveSyncReport.csv