Windows PowerShell permet une gestion reposant sur plusieurs produits
Dernière rubrique modifiée : 2013-12-13
Les différents éléments qui composent Office 365 sont conçus pour fonctionner ensemble, et, pour la plupart, n’ont pas d’autre fonction. Par exemple, supposons que vous ajoutiez un nouvel utilisateur à Office 365 et que vous spécifiez des informations telles que le service de l’utilisateur et son numéro de téléphone. Ces informations sont ensuite disponibles si vous accédez aux informations de l’utilisateur à l’aide des produits serveur Office 365 : Lync Online, Exchange ou SharePoint Online. Vous n’avez pas besoin de définir le numéro de téléphone pour Office 365 puis de le définir à nouveau pour Lync Online, Exchange et pour SharePoint Online.
Mais ceci concerne les informations génériques qui couvrent une suite de produits. Les informations spécifiques d’un produit, comme les informations relatives à la boîte aux lettres Exchange d’un utilisateur, ne sont généralement pas disponibles dans la suite. Comment savoir si la boîte aux lettres d’un utilisateur est activée ? Ces informations sont disponibles uniquement dans le Centre d’administration Exchange. Cela semble logique : pourquoi le Centre d’administration SharePoint Online afficherait-il des informations Exchange ?
Cela fonctionne ainsi la plupart du temps. Toutefois, supposons que vous souhaitiez faire un rapport qui présente les informations suivantes pour tous les utilisateurs :
Nom d’affichage de l’utilisateur
Si l’utilisateur dispose d’une licence pour Office 365
Si la boîte aux lettres Exchange de l’utilisateur a été activée
Si l’utilisateur est activé pour Lync
Comment compiler rapidement et facilement ce rapport à partir du Centre d’administration Office 365 ? En vérité, ce rapport n’est pas compilé. À la place, vous obtenez tous les noms d’utilisateur et les informations de licence à partir du Centre d’administration Office 365, puis les informations de la boîte aux lettres à partir du Centre d’administration Exchange et les informations Lync Online à partir du Centre d’administration Lync Online, puis vous assemblez et combinez ces informations. Il s’agit d’une tâche pour le moins complexe.
Vous pouvez également faire en sorte que Windows PowerShell compile ce rapport pour vous.
Le petit script suivant est, certes, un peu plus compliqué que les exemples de code précédemment analysés dans cet article. Mais ne vous inquiétez pas ; souvenez-vous que notre objectif est de vous informer sur les actions que vous pouvez effectuer, pas nécessairement de vous expliquer comment les effectuer. Ceci dit, tenez compte des éléments suivants :
$x = Get-MsolUser
foreach ($i in $x)
{$y = Get-Mailbox -Identity $i.UserPrincipalName
$i | Add-Member -MemberType NoteProperty -Name IsMailboxEnabled -Value $y.IsMailboxEnabled
$y = Get-CsOnlineUser -Identity $i.UserPrincipalName
$i | Add-Member -MemberType NoteProperty -Name EnabledForLync -Value $y.Enabled}
$x | Select-Object DisplayName, IsLicensed, IsMailboxEnabled, EnabledforLync
Ce petit script peut-il réellement concerner tous les produits Office 365 et peut-il renvoyer un rapport combinant des informations provenant de trois sources de données différentes ? Voyez par vous-même :
DisplayName IsLicensed IsMailboxEnabled EnabledForLync
----------- ---------- ---------------- --------------
Zrinka Makovac True True True
Bonnie Kearney True True True
Fabrice Canel True True True
Brian Johnson False True False
Anne Wallace True True True
Alex Darrow True True True
David Longmuir True True True
Katy Jordan False True False
Molly Dempsey False True False
C’est tout ?
Non, pas tout à fait : l’utilisation de Windows PowerShell dans le cadre de la gestion d’Office 365 est pratiquement illimitée. Nous avons donc créé un centre de ressources (Windows PowerShell dans Office 365) qui facilite la recherche d’informations génériques sur Office 365 et sur Windows PowerShell pour Office 365. Cela devrait vous aider lors de l’utilisation de Windows PowerShell en tant qu’outil de gestion d’Office 365, indépendamment de vos connaissances et/ou de votre niveau d’expérience actuels de Windows PowerShell.