Liens utiles : Powershell pour Office 365

Quelles sont les possibilités d’administration et de paramétrage d’Office 365 via les lignes de commande PowerShell ?

Voici quelques liens qui pourront vous guider à ce sujet:

Lignes de commande pour l’administration: gestion de l’utilisateur, de l’authentification, des abonnements, licences, etc.

Guide de référence pour Exchange Online

Gestion des mots de passe: notamment pour l’expiration

[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

BPOS – Création d’un utilisateur sans synchro Active Directory

Il peut arriver que de petites et moyennes entreprises ne souhaitent pas mettre en place un serveur Active Directory, d’exchange (…) tout en souhaitant faire bénéficier de ces outils à ses collaborateurs… Vous l’aurez bien compris, ce qui motive tout ça, c’est l’investissement lié.
La solution est donc un service externalisé comme… (au hasard…) BPOS ?

Il y a deux manières de créer des utilisateurs sur BPOS sans passer par une réplication d’un AD. La première étant Via l’interface web d’administration et la seconde en PowerShell.

Avec l’interface web il n’y a rien de plus simple et si vous avez fait les choses correctement après votre inscription au service Microsoft Online Services, vous devriez avoir créé un compte administrateur autres que “admin@DOMAIN.emea.microsoftonline.com”. Si ce n’est pas le cas, dans l’onglet “Utilisateurs” puis dans la section “Actions”, vous trouverez le lien “Ajouter un nouvel utilisateur”. Après ça, vous n’avez qu’à remplir les champs désirés et/ou nécessaires.

Il y a aussi une méthode un peu plus “industrielle”, vous fournissez un fichier au format CSV et un script se charge de  créer les utilisateurs à la chaine. Pour ce faire, aller à l’onglet “Utilisateurs” puis dans la section “Actions”, vous trouverez le lien “Importer des utilisateurs à partir d’un fichier”. Là vous n’avez plus qu’à suivre les indications. Pour ce qui est du fichier CSV, voila sa structure (obligatoire) :

User Name,First Name,Last Name,Display Name,Job Title,Department,Office Number,Office Phone,Mobile Phone,Fax,Address,City,State or Province,ZIP or Postal Code,Country or Region

Et voilà un exemple de contenu

User Name,First Name,Last Name,Display Name,Job Title,Department,Office Number,Office Phone,Mobile Phone,Fax,Address,City,State or Province,ZIP or Postal Code,Country or Region
topsycret@overthecloud.fr,Topsy,Cret,Topsy-Cret,God,Heaven,123-4567,021-123-4567 ,71-123-4567,0233-123-456,Le Recoin ,Chamrousse,Rhône Alpes,38410,France
anneonyme@overthecloud.fr,Anne,O'nyme,Anne O'nyme,Personne, Nulle Part,123-4567,021-123-4567 ,71-123-4567,0233-123-456,Le Recoin ,Chamrousse,Rhône Alpes,38410,France

Attention cette méthode a ses limites. Vous devez importer au minimum un utilisateur (noooooon, tu crois ? :P) et au maximum 249 utilisateurs. Pour en importer plus de 249, il faudra créer d’autres fichiers CSV.

Passons maintenant à PowerShell 😉

Pourquoi le faire par PowerShell ? Parce que PowerShell c’’est bien ! Parce que c’est facilement modulable et aussi accessoirement parce que c’est souvent un moyen de différer les actions (avec un planificateur de tache par exemple).

Pour commencer, il est obligatoire d’Activer la synchro d’annuaires… Oui, à moi aussi cela me parait bizarre, mais bon, plus rien ne nous surprends 🙂

Pour cette étape, vous devrez tout de même vous connecter sur le portail d’administration, d’aller sur l’onglet “Migration”, cliquer sur “configurer” dans la section “synchronisation d’annuaires”, de cocher la case “j’ai lu le document de planification” puis de cliquer sur le bouton “Activer” afin d’activer la synchronisation d’annuaires.  ça ressemble beaucoup à une simulation de processus de synchronisation, mais je ne saurait expliquer pourquoi c’est obligatoire…

Une fois la synchronisation activée, nous pouvons passer à la création de l’utilisateur. Pour ceci, nous allons utiliser la commande Add-MSOnlineUser.

Add-MSOnlineUser -Identity choubaka@overthecloud.emea.microsoftonline.com -FirstName 'Chou' –LastName 'Baka' -DisplayName 'Chou Baka' -Credential $adminCredential

Add-MSOnlineUser

A ce stade, votre utilisateur est créé, mais n’est pas activé, n’a pas de licence BPOS de lié et pas de mot de passe. Bref ce compte est encore inutilisable.

Si vous venez à vouloir modifier des propriétés de vos utilisateurs (ville, numéro…) vous pouvez le faire avec la commande Set-MSOnlineUser

Set-MSOnlineUser –Identity choubaka@overthecloud.emea.microsoftonline.com -City 'Chamrousse' -JobTitle 'Ingénieur Couineur' -Credential $adminCredential
Set-MSOnlineUser

A savoir qu’il est impossible de modifier l’utilisateur via l’interface de gestion des utilisateurs (interface web). Oui, souvenez vous, votre utilisateur est en train de synchroniser avec un AD fantôme…

Si vous souhaitez pour les modifier via l’interface, il vous faudra désactiver la synchronisation…

Maintenant il ne reste qu’à activer l’utilisateur, lui attribuer un mot de passe, une licence…

La commande pour ça sera Enable-MSOnlineUser.

Enable-MSOnlineUser –Identity choubaka@overthecloud.emea.microsoftonline.com –Password b150uN0ur5 –SubscriptionIDs VOTRE_ID_SUBSCIPTION –UserLocation FR –Credential $adminCredential

Enable MSOnlineUser

Bon, ma commande n’est pas très optimisée. Par exemple, vous pouvez récupérer automatiquement votre ID_SUBSCRIPTION avec la commande Get-MSOnlineSubcription et l’intégrer à une variable (dans ce cas là, enlever le pipe ( | ) ainsi que tout ce qui se trouve après :

Get-MSOnlineSubscription -Credential $adminCredential | select-object SubscriptionId

Get-MSOnlineSubscription

Il existe aussi un paramètre supplémentaire dans cette commande afin de ne pas obliger l’utilisateur à réinitialiser son mot de passe à la première connexion (ChangePasswordOnNextLogon).

Voila, vous avez maintenant toutes les commandes nécessaires afin de créer/activer/modifier vos utilisateurs. Il ne vous manque plus qu’à créer un script tout beau, tout propre qui automatise l’envois de mail après la création et lancer ça un soir histoire de ne pas attendre devant son écran inutilement 🙂

Source : www.overthecloud.fr

Utiliser Powershell pour obtenir un rapport d’activité des comptes Microsoft Exchange Online (BPOS)

Microsoft Online Services dispose d’une interface web pour l’administration et la gestion des comptes utilisateurs, mais cette interface est très simple et ne permet pas d’obtenir de rapport détaillé sur l’activité des utilisateurs (taux d’occupation de chaque BAL, nombre de messages stockés, etc.).

Pour palier ce manque, il faut se tourner vers PowerShell et commencer par télécharger la version de l’outil Microsoft Transporter qui correspond à votre environnement de travail x86 ou x64 et l’installer sur une station de travail.

Après l’installation de cet outil, aller dans le menu Démarrer, Microsoft Online Services, Migration et lancer l’interface de commande de migration.

Une fois dans l’invite de commande, taper les instructions suivantes :

$cred = Get-Credential

L’instruction $cred = Get-Credential affiche une fenêtre dans lequelle il faut saisir le nom d’un compte disposant des droits d’administration du service BPOS.

Get-MSOnlineUser -Enable -Credential $cred | ft Identity, IsActive, LastSignedDate, ItemCount, UsedMailboxSize, MailboxSize

Les informations retournées dans les différentes colonnes sont les suivantes :

  • IsActive : boîte aux lettres est active/inactive
  • LastSignedDate : date de la  dernière connexion de l’utilisateur à sa boîte aux lettres
  • ItemCount : nombre d’éléments dans la boîte aux lettres
  • UsedMailboxSize : utilisation de la boîte aux lettres
  • MailBoxSize : capacité maximum de la boîte aux lettres

Il est bien entendu possible d’utiliser ces commandes Powershell pour créer un fichier de rapport.