Bien préparer sa migration de BPOS vers Office 365

Comment bien préparer sa migration de Microsoft Business Productivity Online Services (BPOS) vers Microsoft Office 365 est un document coécrit par Arnaud Alcabez (MVP Office 365), Jimmy Marchetto (MVP Office 365), Damien Caro (Technical Evangelist Office 365 Microsoft France) et Laurent Miltgen-Delinchamp (MVP Office 365) concernant les chantiers à mettre en œuvre et les étapes nécessaires afin de bien préparer sa migration de Microsoft Online Services vers Office 365.

Il est disponible à la lecture et au téléchargement à l’adresse suivante :

http://www.scribd.com/doc/64051516/Bien-preparer-sa-migration-de-Microsoft-Online-Services-BPOS-vers-Office-365

Ce document est considéré comme libre de diffusion sous licence Creative Commons CC-by-nc-sa par ses auteurs. Dépôt légal Wikimedia Commons, Septembre 2011.

Bonne lecture.

[Tips Office 365] Configurer les options régionales pour tous les utilisateurs

Regional_PS_1

Problématique

Lors de la première connexion à Outlook Web Access, les utilisateurs ont pour obligation de renseigner la langue de l’interface ainsi que leur fuseau horaire.

Selon leur niveau et le nombre de popups qu’ils ont eu à gérer dans la journée, les retours seront les suivants :

  • L’utilisateur prend le temps de tout lire et renseigne correctement les champs. Pas d’incindence.
  • L’utilisateur ne souhaite pas comprendre et appelle le support… Pas d’incidence mais perte de temps.
  • L’utilisateur ne lis pas le message et clique sur Ok sans se rendre compte des problèmes que cela peut lui apporter…

Le problème étant que le serveur fait ce qu’on lui demande de faire, c’est à dire caler l’heure du rendez-vous selon le fuseau horaire. Hors, si l’utilisateur ne se trouve dans le bon fuseau, il aura du mal à se connecter à la réunion.

Exemple :

  • J’ai mon Outlook configuré correctement et une utilisatrice qui n’a pas souhaité configurer le fuseau horaire de son OWA.
  • J’ai créé une réunion pour le 11 Mars de 18 à 19 heures.
  • Lorsque j’ouvre le rendez-vous sur son compte, le rendez-vous s’est calé sur son fuseau horaire et apparait donc de 21H30 à 22H30.

Imaginez ce genre de problème dans toute une société…

Regional_PS_2

Et bien il est possible de pré-enregistrer le fuseau horaire et la langue pour tous les utilisateurs en remote PowerShell !

Edition et vérification

Pour commencer, si vous souhaitez vérifier la configuration régionale d’un compte :

Get-Mailbox –identity <votre compte>| Get-MailboxRegionalConfiguration

Regional_PS_3

Si c’est la configuration globale de tous les comptes activés que vous voulez :

Get-Mailbox | Get-MailboxRegionalConfiguration

Regional_PS_4

 

Nous pouvons voir plusiuers choses intéressantes ici.

  • La première étant que tous les utilisateurs ne se sont pas connectés sur OWA et n’ont donc pas configuré les paramètres régionaux.
  • La seconde étant que trois utilisateurs n’ont pas les bons paramètres (Natalie Protman, Alexis et moi oO)

Pour modifier ces paramètres (sur un seul compte), la commande est la suivante :

Set-MailboxRegionalConfiguration <votre compte> -Language fr-FR –TimeZone "Romance Standard Time" -DateFormat "dd/MM/yyyy"

Voilà ce que cela donne après avoir modifié le profil d’Alexis

Regional_PS_5

 

Ce qui peut être sympa, c’est de pouvoir le faire pour toute la société (si tous les employés sont dans le même fuseau). Voilà comment…

Get-Mailbox -Resultsize unlimited | Set-MailboxRegionalConfiguration -Language fr-FR -TimeZone "Romance Standard Time" -DateFormat "dd/MM/yyyy"

Et voilà le résultat

Regional_PS_6

Et voilà, tout est configuré et ça évite bien des problèmes.
Par contre, si vos utilisateurs ne sont pas tous en France, ou que vous ne souhaitez pas modifier le format de date pour tout le monde, vous pouvez par un fichier CSV…

[Tips Office 365] Se connecter à Exchange Online en Remote PowerShell

Comme avec BPOS, il est possible de faire du remote Remote Powershell avec Office365.
A la différence près qu’il est possible de se connecter au cloud avec la la console powershell de base. Il n’est plus necessaire de télécharger les outils de migration pour executer nos commandes à distance.

Les prérequis

  • PowerShell v2 (De base sous Win7 et Win2008 R2)
  • Windows Remote Management (WinRM) 2.0 (De base sous Win7 et Win2008 R2)

Le tout étant disponible ici si vous êtes encore sous XP

Se connecter

Bref, voilà comment se connecter et même comment récuperer la liste des commandes PS disponible !

Commande de base pour saisir les identifiants (Jusque là, pas de changement)

$cred = Get-Credential

Connecting_PS_1

Chaine de connexion

$s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic –AllowRedirection

Connecting_PS_2

Ouverture de la session

$importresults = Import-PSSession $s

Connecting_PS_3

Vous êtes maintenant connectés.

Liste des commandes disponibles

Maintenant, pour avoir la liste des commandes disponibles, il vous suffit de taper la commande ci-dessous.

Get-Command -Module $importresults | Out-Host -Paging

Connecting_PS_4

Configuration Outlook sans le client SSO…

… ou configurer deux comptes Online Services sur le même profil Outlook.

Pour cette première vidéo, on va voir comment bypasser l’utilisation du SSO (Single Sign On).
Outre le fait qu’on se libère du client de connexion (non sans concession), cela permet de configurer plusieurs comptes Online Services même si ceux-ci ne font pas parti de la même organisation.
Bref, passons à la pratique Sourire

 

P.S. : Oui, mon wall n’est pas corporate. La prochaine fois il sera MS Compliant ^^
P.S.2 : C’est ma première vidéo commentée, je suis preneur de tout commentaire
P.S.3 : Si vous avez des idées de vidéos/articles n’hésitez pas à nous le faire savoir !

BPOS – Sauvegarde et restauration de mails

Bien que la solution proposée par Microsoft soit apparemment vraiment fiable, il n’en est pas moins que rien n’est infaillible et les DSI ne voient pas leurs sauvegardes exécutée uniquement sur les serveurs de Microsoft d’un très bon œil (Ne me répondez pas que les sauvegardes peuvent se faire directement via Outlook avec l’archivage, je ne fait pas confiance à mes utilisateurs [;)].
Donc avec un peu de PowerShell, on peut facilement automatiser une sauvegarde.

SAUVEGARDE

Les commandes utilisées pour la sauvegarde seront Get-xsHostedExchangeMailboxData ainsi que export-transporterbinary.

Dans la commande Get-xsHostedExchangeMailboxData, vous  pouvez définir une fourchette de date pour choisir de quand à quand le dump des mails doit être fait. Pour cela utiliser les paramètres  -EmailEnd et -EmailStart. Mais dans le cas ou un administrateur veut planifier ses sauvegardes, ce système n’est pas très performant, il faut un système plus souple. Par exemple un calcul de date [:)]. Rien de plus simple, par exemple, pour sauvegarder les sept derniers jours, nous auront besoin de la date actuelle ainsi que celle d’il y a sept jours (donc –7) :

$DayToExport=[system.DateTime]::Now.Adddays(-7)
$Today=[system.DateTime]::Now

Idéalement, il faudrait faire une sauvegarde journalière (qui peut être supprimée après une semaine ou deux), une hebdomadaire (qui peut être supprimé tous les mois ou deux mois) puis une mensuelle (qui peut être supprimée tous les ans).

Donc voilà comment est composée la commande :

Get-XsHostedExchangeMailboxdata -EmailEnd $Today -EmailStart $DayToExport -sourceserver "red002.mail.emea.microsoftonline.com" -sourcelocation "https://red002.mail.emea.microsoftonline.com/exchange" -sourceidentity xcessiv@overthecloud.emea.microsoftonline.com | export-transporterbinary -targetfilepath c:\ExportMail -targetfileprefix "Sauvegarde"

Get-XsHostedExchangeMailboxData1

Ce script vous créé donc un fichier TBIN nommé “Sauvegarde” suivi de la date de la sauvegarde (sauf pour le premier fichier, qui lui se nommera seulement Sauvegarde.tbin) dans le dossier désiré (partage, dossier local…), ici c:\ExportMail.
Vous l’aurez compris, –SourceIdentity représente le compte à sauvegarder, –SourceServer et –SourceLocation sont les serveurs BPOS.
A savoir : Le fichier généré est inutilisable en dehors de BPOS… [:(]

On peut imaginer un script qui, avec une liste d’utilisateurs, personnaliser le nom des sauvegardes ainsi que leurs destinations, une planification des sauvegardes qui gère automatiquement le type de sauvegarde (sauvegarde différentielle ou complète), ou pour les comptes critiques une sauvegarde beaucoup plus régulière…

RESTAURATION

Bon, maintenant que nos sauvegardes sont faites, il faut penser à la méthode de restauration. Pour cela il faut se poser une question :

Est-ce une restauration complète ou simplement un (ou plusieurs) mail(s) précis à restaurer ?

En effet, l’import du fichier TBIN se fait en une fois, cela signifie que nous ne pouvons pas choisir les mails/dossiers à restaurer. Donc dans le cas d’une restauration de boite complète, cela ne pose pas de soucis, mais s’il faut restaurer moins que la totalité des mails, il faudra faire autrement.
La solution ici précisément, est d’utiliser une boite temporaire dans laquelle tout restaurer, puis de mettre une délégation à l’utilisateur pour qu’il récupère tout ce qu’il souhaite avant de supprimer la boite temporaire.

Les commandes à utiliser seront Import-TransporterBinary et Add-XsExchangeOnlineItem.

Import-TransporterBinary -Sourcefilename “C:\ExportMail\Sauvegarde.tbin” | Add-XsExchangeOnlineItem -identity xcessiv@overthecloud.emea.microsoftonline.com

Le paramètre-SourceFilename représente la localisation du fichier de sauvegarde
Le paramètre –Identity représente le compte sur lequel restaurer les mails. Comme dit plus haut, cela peut être la boite mail de l’utilisateur concerné ou une boite temporaire créée spécialement pour l’occasion sur laquelle on mettra des délégation afin que l’utilisateur puisse récupérer les mails de son choix.

Voilà qui est fait. Si vous avez d’autres solutions plus simples ou plus chères, je suis à votre écoute [:)]

BPOS – Supprimer un mail donné dans toutes les boites mails

Il vous est certainement déjà arrivé d’envoyer un mail qui n’aurait pas du être envoyé (oubli de pièces jointes, modifications, mauvaises blagues ou autre…) et de vouloir au final annuler cet envoi, mais trop tard.
Ou en tant qu’administrateur, un de vos supérieur (tout affolé, les bras levés vers le ciel) viens vous voir en vous demandant de supprimer le mail qui a été envoyé à toute la société contenant la liste des payes ou un employé qui lâche une bombe par mail avant son départ…

MessageOps a mis en ligne hier un script permettant de checker une a une toutes les boites mail de l’entreprise en recherchant un mail avec un sujet donné et en cas de résultat positif, de le supprimer.

Vous trouverez leur billet (en anglais) à ce lien :
http://www.messageops.com/deleting-a-message-from-all-mailboxes-in-exchange-online
Et le script à ce lien :
http://www.messageops.com/downloads/DeletebySubjectLast4hours.zip

Par défaut et par sécurité, ce script fonctionne en mode Test. C’est à dire qu’il ne check qu’une boite mail. Si vous venez à vouloir l’utiliser, vérifier plusieurs fois avant de l’exécuter (histoire d’éviter de vider les boites mail de toute votre entreprise [:)].

En pré-requis, vous aurez besoin d’EWS (Exchange Web Services Managed API) sur votre machine disponible sur le site de Microsoft.

Source : OverTheCloud

BPOS – Gestion des délégations en PowerShell

A l’image de tous les récents post, celui-ci parlera de BPOS et des scripts PowerShell [:)]

Aujourd’hui, nous allons voir comment gérer les délégations au sein d’une société.
Avant d’entrer dans les détails, il faut savoir qu’aucune commande à ce jour n’est capable de nous donner la liste des délégations mises en place sur notre Exchange Online (Oui, je sais, encore une option indispensable manquante [|-)] ). Mais rassurez vous, il en existe une pour créer des délégations et une autre pour les supprimer [:)]

Suppression de délégations

Nous allons commencer par la commande qui supprime les délégations. (oui, puisque comme dit plus haut il n’y a rien pour lister les délégations existantes, il est plus prudent de d’interdire l’accès pour tout remettre à plat puis d’autoriser).

La commande utilisée sera “Remove-MSOnlineMailPermission” et voilà comment procéder.
La commande de base pour retirer les accès ressemble à ceci :

Remove-MSOnlineMailPermission -Identity user@example.com -Credential $adminCredential -TrustedUser admin@example.com –RemoveFullAccess True –RemoveSendAs True

Identity représente le compte sur lequel la délégation doit être faite (pour faire simple, l’utilisateur)
TrustedUser représente le compte qui doit être autorisé à accéder au compte (pour faire simple, l’administrateur)
Credential $adminCredential sont les identifiants admin du compte BPOS saisis au préalable, sinon enlever ce paramètre pour que le script vous demande de les saisir
-RemoveFullAccess ou -RemoveSendAs sont les paramètres à mettre à True pour retirer les droits

En cas de grand ménage ou de changement de politique de la société, faute de pouvoir lister les délégations existantes (à moins d’avoir un suivi béton à l’aide d’un fichier à jour, ce qui est rare si plusieurs personnes gèrent l’exchange), il va falloir supprimer toutes les délégations.
Cette étape n’est pas vraiment compliquée, mais très longue à mettre en place. Vous pouvez être amené à supprimer toutes les délégations. Si vous avez par exemple 3 utilisateurs, il y a 3*2 combinaisons possibles donc 6 commandes à exécuter. De la même manière, si vous avez 12 utilisateurs, il y a 12*11 combinaisons possibles soit 132 commandes à exécuter…Imaginez 200 utilisateurs [:)]

Voilà donc comment réaliser ça plus simplement/rapidement.

Pour commencer, créer un fichier Excel sous la forme 

Identity,TrustedUser,GrantFullAccess,GrantSendAs
s.jobs@microsoft.com,b.gates@microsoft.com,True,True
s.jobs@microsoft.com,p.allen@microsoft.com, True,True

N’oubliez pas que la valeur “True” signifie que vous confirmez la suppression du droit.
Enregistrez votre fichier au format CSV (séparé par une virgule)

Maintenant passons au script

#Identifiants Admin BPOS
$powerUser = "j.marchetto@domain.com"
$powerPass = "XXX" 

$password = ConvertTo-SecureString $powerPass -AsPlainText -Force
$adminCredential = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $powerUser,$password 

#Import CSV et récupération des données
$import = import-csv C:\Users\j.marchetto\Desktop\RemoveRights.csv 

$import | ForEach {
        Remove-MSOnlineMailPermission -Credential $adminCredential
}

Ce script récupère toutes les lignes du fichier CSV et enlève les droits sur les boites unes à unes. Si les droits n’étaient pas en place, vous aurez une alerte à la fin de la commande :

Remove-MSOnlineMaiPermission

Ajout de délégations

De la même manière que pour la suppression de délégations, il est possible d’exécuter la commande manuellement pour un ajout ou de créer une boucle pour un ajout massif.

La commande utilisée sera “Add-MSOnlineMailPermission” et voilà comment procéder.

La commande de base pour autoriser les accès ressemble à ceci :

Add-MSOnlineMailPermission -Identity user@example.com -Credential $adminCredential -TrustedUser admin@example.com –GrantFullAccess True –GrantSendAs True

Identity représente le compte sur lequel la délégation doit être faite (pour faire simple, l’utilisateur)

TrustedUser représente le compte qui doit être autorisé à accéder au compte (pour faire simple, l’administrateur)

Credential $adminCredential sont les identifiants admin du compte BPOS saisis au préalable, sinon enlever ce paramètre pour que le script vous demande de les saisir

-GrantFullAccess ou -GrantSendAs sont les paramètres à mettre à True pour donner les droits

Comme précédemment, créez un fichier Excel sous la forme 

Identity,TrustedUser,GrantFullAccess,GrantSendAs

s.jobs@microsoft.com,b.gates@microsoft.com,True,True

s.jobs@microsoft.com,p.allen@microsoft.com, True,True

N’oubliez pas que la valeur “True” signifie que vous confirmez “l’autorisation de”.

Enregistrez votre fichier au format CSV (séparé par une virgule)

Pour ce qui est de la boucle, le code est presque identique :

#Identifiants Admin BPOS
$powerUser = "j.marchetto@domain.com"
$powerPass = "XXX" 

$password = ConvertTo-SecureString $powerPass -AsPlainText -Force
$adminCredential = New-Object -TypeName System.Management.Automation
.PSCredential -argumentlist $powerUser,$password #Import CSV et récupération des données $import = import-csv C:\Users\j.marchetto\Desktop\AddRights.csv $import | ForEach { Add-MSOnlineMailPermission -Credential $adminCredential }

Add-MSOnlineMaiPermission

Vous aurez peut être remarqué sur les pages descriptives des commandes qu’il y a aussi le paramètre “SendOnBehalfOf” de disponible. Et bien celui-ci ne fonctionne pas pour le moment, il faudra faire avec [:D]

(et le support BPOS va finir par me blacklister avec mes tickets [:P])

Voilà qui est fait pour les délégations. Pensez à maintenir un fichier à jour avec l’ensemble des délégations réalisées afin de ne pas avoir à tout supprimer pour tout recommencer…

Microsoft Online Services s’associe avec capital.fr pour parler de solutions concrètes

Comment relever les défis d’aujourd’hui avec les nouvelles technologies de l’information, de collaboration et de communication ? A travers des témoignages vidéo de ses collaborateurs et de ses clients, Microsoft vous invite à découvrir les solutions et innovations pour travailler autrement.

Découvrez les solutions de Microsoft pour travailler autrement !

Voici les sujets abordés :

  • Collaborer
    Partager des analyses financières avec ses collaborateurs
    Comment travailler en équipe ?
  • Communiquer
    Avoir de l’impact en clientèle
    Le Cloud Computing peut-il simplifier mon informatique
    Comment ne pas perdre son temps en réunion
  • Partager
    Mobiliser son équipe pour finaliser une revue de performance
  • Rechercher
    Chercher en urgence une information critique
  • Se réunir
    Coordonner une équipe de rédacteurs
  • Décider
    Disposer du bon tableau de bord pour prendre la bonne décision
  • Economiser
    Gérer une équipe dispersée sur plusieurs sites
    Comment réduire la facture téléphonique de l’entreprise
  • Se déplacer
    Valider des documents importants en déplacement
  • S’organiser
    Travailler depuis la maison quand un enfant est malade
  • Innovations
    Comment travaillerons-nous dans 10 ans ?

http://www.microsoft.com/france/entreprises/nouvelle-experience-de-travail/

 

Solutions tierces pour Microsoft Online Services et BPOS

De nombreux partenaires ont déjà développé des solutions permettant de s’intégrer avec les services Microsoft Online.

En voici quelques-unes.

– Solutions de Migration des données vers Exchange Online (dans l’ordre alphabétique) :

. BinaryTree

. Bittitan

. Cemaphore/Sparxent

. Refresh IT

. Quest Software

Pour plus d’informations sur ces solutions, vous pouvez consulter les enregistrements du workshop.

– Solutions de Migration vers SharePoint Online

. Quest Software; pour plus d’informations, nous avons enregistré un Live Meeting.

. Metalogix

– Autres Solutions pour SharePoint Online

. Colligo ; pour plus d’informations, Microsoft a mis en ligne un enregistrement d’un Live Meeting.

– Solutions de Fax pour Exchange Online

Les solutions suivantes peuvent s’intégrer avec Microsoft Online :

. RightFax

. Ferrari Electronic

– Solution d’archivage pour Exchange Online

Les solution suivantes ont été testées et fonctionnent avec Exchange Online :

. Microsoft Exchange Hosted Archiving

. Symantec Enterprise Vault

– Autres Solutions pour Microsoft Online

. MessageOps : outils de synchronisation de mots de passe, monitoring Exchange, reset de mots de passe, notification avec OWA, … Un Live Meeting à ce sujet est organisé par Microsoft le 15 Avril

. BPOS-Experts : boite à outils pour l’offre Microsoft Online