PI Services

Le blog des collaborateurs de PI Services

Exchange 2010 sp1 – Statistiques ActiveSync avec IPhone

Dans le système de messagerie Microsoft Exchange (depuis Exchange 2007 SP1 jusqu’à aujourd’hui), il est possible de lancer des commandes Powershell permettant d’obtenir des statistiques sur les synchronisations avec des appareils mobiles (Windows Mobiles, Iphone, Etc. …), avec la commande “Get-ActiveSyncDeviceStatistics”.

Aujourd’hui, la liste de téléphones, PDAs Phone, Smartphones, Tablettes graphiques, et autres permettant de synchroniser sa ou ses boite(s) aux lettres ne cesse d’augmenter.

Une des particularités des appareils apple-logo_thumb3 concerne les différents modèles et le fameux IOS avec ses mises à jour successives. Du coup, lors de l’exécution de cette fameuse commande, les résultats peuvent apparaitre avec une liste non exhaustive d’appareils alors que l’utilisateur final n’en possède qu’un seul, le tout lié à ses différentes mises à jour successives.

image_thumb8

Dans cet exemple, on peut voir que cet utilisateur possède :

  • 1 IPhone 3GS
  • 3 IPhones de base, donc version 2
  • 1 HTC

 Triste Alors qu’il utilise un IPhone 3GS….. Triste 

Il est alors possible coder un script Powershell avec un tableau de comparaison prenant en compte les modèles d’appareils ainsi que les différentes versions de Firmwares.

Exemple :

image

Dans ce script, la commande “$devices = Get-ActiveSyncDeviceStatistics -Mailbox $mailbox.samaccountname | Select-Object DeviceType,DevicePolicyApplied, LastSuccessSync,DeviceUserAgent” va être complémentée par le tableau suivant :

switch ($device.DeviceUserAgent)
    {
    "Apple-iPhone/701.341" {$DeviceUserAgent = "iPhone"}
    "Apple-iPhone/703.144" {$DeviceUserAgent = "iPhone"}
    "Apple-iPad/702.367" {$DeviceUserAgent = "iPad"}
    "Apple-iPod2C1/801.293" {$DeviceUserAgent = "iPod"}
    "Apple-iPod3C1/801.293" {$DeviceUserAgent = "iPod"}
    "Apple-iPhone1C2/801.293" {$DeviceUserAgent = "iPhone 3G"}
    "Apple-iPhone2C1/801.293" {$DeviceUserAgent = "iPhone 3GS"}
    "Apple-iPhone3C1/801.293" {$DeviceUserAgent = "iPhone 4"}
    "Apple-iPhone/508.11" {$DeviceUserAgent = "iPhone"}
    "Apple-iPhone/701.400" {$DeviceUserAgent = "iPhone"}
    "Apple-iPhone/704.11" {$DeviceUserAgent = "iPhone"}
    "Apple-iPhone/705.18" {$DeviceUserAgent = "iPhone"}
    "Apple-iPod2C1/801.306" {$DeviceUserAgent = "iPod"}
    "Apple-iPod3C1/801.306" {$DeviceUserAgent = "iPod"}
    "Apple-iPhone1C2/801.306" {$DeviceUserAgent = "iPhone 3G"}
    "Apple-iPhone2C1/801.306" {$DeviceUserAgent = "iPhone 3GS"}
    "Apple-iPhone2C1/801.400" {$DeviceUserAgent = "iPhone 3GS"}
    "Apple-iPhone3C1/801.306" {$DeviceUserAgent = "iPhone 4"}
    default {$DeviceUserAgent = $device.DeviceUserAgent}
    }

où les différents modèles sont accompagnés des différentes versions d’IOS. En parallèle, ce tableau sert aussi d’extracteur de modèle en fonction des différentes versions d’agent qui ne sont pas vraiment lisibles. Par contre, ce tableau demandera d’être complémenté au fil de l’eau selon les différentes évolutions publiées par Apple.

De même, un IPhone “Jailbreaké” (la signification littérale vient de l'anglais et veut dire "Sortir de Prison", cela consiste simplement à modifier le système de l'iPhone afin de le rendre plus accessible et d'en retirer certaines limitations...) vous remontera de fausse informations… ici un IPhone 3G “ouvert” interprété comme un IPhone2… Triste

image_thumb7

Du coup, on peut rapidement s’y perdre !!!

Dans le script en exemple, des restrictions dans les dates de synchronisation ont été implémentées afin de ne prendre en compte que le dernier mois ou les 30 derniers jours. Ce qui permettra de filtrer les retours et d’être un peu plus pertinent sur ces statistiques ! Sourire

 

N'hésitez pas à laisser un commentaire si ce tips vous a été utile ou bien si vous avez des éléments à ajouter !…

Ajouter un commentaire

Loading