Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

EXCHANGE 2010 – Recherche des boites déconnectées

On peut avoir besoin rapidement de connaître toutes les boites déconnectées.

Pour cela nous utiliserons des commandes PowerShell

On va dans premier temps “rafraichir” les informations:

Get-MailboxDatabase | Clean-MailboxDatabase

Puis rechercher les boites:

get-mailboxdatabase | get-mailboxstatistics | where{$_.DisconnectDate -ne $null}| FL displayName,LegacyDN,ItemCount,OriginatingServer

Les informations retournées seront ici le “DisplayName”, le legacyDN”, le nombre

d’éléments et le serveur associée.

image

EXCHANGE 2010 – Auditer les connexions ActiveSync

On peut avoir besoin d’identifier les connexions des utilisateurs « ActiveSync ».

En voici un petit aperçu.

Le résultat peut être « faussé » car chaque connexion d’un terminal est enregistrée

dans l’annuaire. Certains utilisateurs possèdent plusieurs terminaux et utilisent

l’un ou l’autre.

Vérifions pour un utilisateur.

Get-ActiveSyncDeviceStatistics -Mailbox rasync | ft DeviceType, DeviceUserAgent, LastSuccessSync

clip_image002

clip_image004

On constate deux types de « deviceuseragent ».

Pour « épurer » le résultat, nous allons auditer sur les 10 derniers jours.

On récupère les boites :

$Mailboxes = Get-Mailbox -ResultSize Unlimited

On récupère les statistiques des connexions ActiveSync.

clip_image006

$Devices = $Mailboxes | %{Get-ActiveSyncDeviceStatistics -Mailbox $_.Identity} |?{$_.LastSuccessSync -gt (Get-Date).AddDays(-10)}

On récupère les utilisateurs ayant un téléphone mobile connectés les 10 derniers

Jours.

Cela permet un comptage plus précis car lorsque un utilisateur se connecte avec un nouveau

terminal, l’ancienne information n’est pas supprimée de l’annuaire.

Réalisons un audit du parc par type de terminal.

clip_image008

$Devices | Group-Object -Property DeviceType -NoElement

Par « DeviceUserAgent »

clip_image010

$Devices | Group-Object -Property DeviceUserAgent –NoElement

Recherchons les IPHONE 4

$Devices | ?{$_.DeviceUserAgent -like « Apple-iPhone3* »} | Measure-Object

clip_image012

Informations sur les « i* » d’Apple.

IOS Ver  HW           DeviceUserAgent
3       iPhone     Apple-iPhone/701.341
3.1     iPhone     Apple-iPhone/703.144
3.2     iPad       Apple-iPad/702.367
4       iPod       Apple-iPod2C1/801.293
4       iPod       Apple-iPod3C1/801.293
4       iPhone 3G  Apple-iPhone1C2/801.293
4       iPhone 3GS Apple-iPhone2C1/801.293
4       iPhone 4   Apple-iPhone3C1/801.293
4.1     iPhone     Apple-iPhone/508.11
3.0.1   iPhone     Apple-iPhone/701.400
3.1.2   iPhone     Apple-iPhone/704.11
3.1.3   iPhone     Apple-iPhone/705.18
4.0.1   iPod       Apple-iPod2C1/801.306
4.0.1   iPod       Apple-iPod3C1/801.306
4.0.1   iPhone 3G  Apple-iPhone1C2/801.306
4.0.1   iPhone 3GS Apple-iPhone2C1/801.306
4.0.1   iPhone 4   Apple-iPhone3C1/801.306
 

Les requêtes peuvent longues sur plusieurs milliers de boites.

Une autre requête (configurer la fenêtre PowerShell de façon à afficher toutes les colones) :

$Devices | select-object Identity, DeviceType, DeviceUserAgent, LastSuccessSync | sort-object Identity | ft Identity, DeviceType,DeviceUserAgent LastSuccessSync –autosize

Le SP1 d’Exchange 2010 apporte quelques nouveautés sur ActiveSync :

http://technet.microsoft.com/en-us/library/ff959225.aspx

La gestion d’un parc de terminaux reste basique avec l’interface Microsoft.

Des applications tierces telles que Zenprise ou PushManager Suite

comblent ces lacunes.

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 !…