PowerShell est un excellent moyen de gérer votre environnement Office 365. Il vous permet d’automatiser de nombreuses tâches en écrivant vos propres scripts ou en modifiant les paramètres avec une seule commande. Maintenant, la première étape, bien sûr, consiste à connecter PowerShell à Office 365.
Il existe deux façons de se connecter à Office 365 dans PowerShell. Module Microsoft Azure Active Directory pour Windows Powershell (MSOnline) et le nouveau module Azure Active Directory PowerShell pour Graphe (AzureAD).
Vous aurez besoin des deux au moment de la rédaction, AzureAD est le successeur de MSOnline, mais toutes les fonctionnalités ne sont pas disponibles dans le nouveau module AzureAD.
Installation des modules PowerShell
Tout d’abord, nous allons installer les deux modules PowerShell. Vous pouvez les utiliser tous les deux ensemble sur votre système sans aucun problème.
Étape 1 – Installez le module AzureAD dans PowerShell
Ouvrez PowerShell en mode admin (Windows key + X
et sélectionnez Windows PowerShell (Admin))
Tapez la commande suivante:
# This will install the AzureAD module from the PowerShell Gallery, you might get a warning that the # source is untrusted, but you can safely type Y and press enter.Install-Module AzureAD
Étape 2 – Installer l’assistant de connexion aux services en ligne Microsoft
Le module MSOnline nécessite un peu plus de travail. Tout d’abord, téléchargez et installez l’Assistant de connexion aux Services en ligne Microsoft.
Ensuite, nous allons installer le module dans PowerShell. Exécutez la commande suivante dans PowerShell:
Install-Module MSOnline
Connexion de PowerShell à Office 365
Nous avons maintenant les deux modules installés, nous pouvons donc maintenant connecter PowerShell à Office 365. La plupart de la documentation est toujours écrite pour le module MSOnline, commençons donc par là.
Pour vous connecter au service MSOnline, vous devez exécuter la commande Connect-MSolService
, cela vous demandera une boîte de connexion Microsoft standard pour vos informations d’identification Office 365.
Vous pouvez maintenant utiliser les applets de commande MSol dans PowerShell, vous pouvez trouver un aperçu des applets de commande ici dans les documents Microsoft
Connexion avec AzureAD
La connexion de la nouvelle AzureAD est à peu près la même chose, il suffit d’exécuter la commande Connect-AzureAD
. Vous serez invité à vous connecter avec votre compte Microsoft, tout comme avec MSol. Vous trouverez un aperçu des applets de commande du module AzureAD ici.
Connexion Powershell à Exchange Online
J’ai écrit un article mis à jour sur la connexion de Exchange Online à l’aide du nouveau module Exchange Online V2. Assurez-vous de lire cet article en premier!
La connexion à Exchange Online est un peu différente, vous n’avez pas besoin d’installer de module pour cela. Mais nous allons établir une connexion pour Échanger en ligne avec une télécommande implicite.
Avec le code ci-dessous, nous créons un objet d’identification, construisons la session et l’importons dans notre session PowerShell :
Si vous utilisez MFA (Authentification Multifacteur), vous ne pouvez pas utiliser la méthode Get-Credential.
Maintenant, vous devez choisir une option pour résoudre ce problème, utiliser un mot de passe d’application ou utiliser le module PowerShell à distance Exchange Online.
Je préfère utiliser un mot de passe d’application, de cette façon, vous pouvez rapidement configurer une connexion à tous les services Office 365 avec PowerShell.
L’utilisation d’un mot de passe d’application
La MFA est un excellent ajout de sécurité, mais peut être pénible lorsqu’il s’agit d’automatiser les choses avec PowerShell. Pour résoudre ce problème, vous pouvez créer un mot de passe d’application dans Office 365. Il s’agit d’un mot de passe fort que vous pouvez utiliser pour une application qui ne prend pas en charge la MFA.
- Connectez-vous sur Office 365 et allez à https://portal.office.com/account/#security.
- Sélectionnez Vérification de sécurité supplémentaire
- Sélectionnez Créer et gérer les mots de passe de l’application (dernière ligne)
- Créez un nouveau mot de passe de l’application pour PowerShell
Maintenant, si vous souhaitez vous connecter à Office 365 avec PowerShell, vous pouvez procéder comme suit:
# Store your credentials - Enter your username and the app password$Cred = Get-Credential# Connect to MsolConnect-MsolService -Credential $Cred# Connect to AzureAdConnect-AzureAD -Credential $Cred# Connect to Exchange Online$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirectionImport-PSSession $Session -DisableNameChecking
Comme vous pouvez le voir, vous ne devez vous connecter qu’une seule fois. Nous pouvons utiliser le même objet d’informations d’identification pour chaque connexion.
Si vous avez également créé quelques scripts PowerShell que vous pouvez utiliser pour vous connecter facilement à tous les services Office 365. Vous les trouverez dans ma galerie TechNet. Ils ont la possibilité de stocker le mot de passe de l’application dans une chaîne sécurisée sur votre ordinateur, afin que vous puissiez automatiser entièrement vos scripts.
Conclusion
La connexion à Office 365 avec PowerShell est vraiment simple. Si vous utilisez MFA, le mot de passe de l’application est le moyen le plus pratique de le faire.
Lorsque vous avez terminé avec Exchange Online, assurez-vous toujours de fermer la session avec Remove-PSSession $Session
.