Magic Quadrant™ pour la gestion des accès privilégiés 2025 : Netwrix reconnue pour la quatrième année consécutive. Téléchargez le rapport.

Plateforme
Centre de ressourcesBlog
Dix commandes PowerShell les plus utiles pour Office 365

Dix commandes PowerShell les plus utiles pour Office 365

Sep 19, 2018

Utiliser Windows PowerShell pour gérer Office 365 peut sembler étrange au début. Après tout, les solutions cloud promettent simplicité et facilité d'utilisation — des adjectifs rarement associés à Windows PowerShell. Mais restez avec moi. Dans cet article, je vais vous montrer les dix cmdlets PowerShell Office 365 les plus utiles pour les administrateurs système. Peut-être qu'après avoir lu ces instructions, vous conviendrez que PowerShell peut être un outil précieux, même pour les systèmes basés sur le cloud.

1. Connexion à une instance Office 365 avec PowerShell

Tout d'abord, nous devons installer le module Office 365 pour Windows PowerShell et nous connecter à l'instance Office 365. Suivez les étapes suivantes :

1. Téléchargez et installez le Microsoft Online Services Sign-In Assistant for IT Professionals RTW.

2. Importez le module PowerShell des services en ligne pour Microsoft Azure Active Directory et Office 365 :

      Install-Module -Name AzureAD
Install-Module -Name MSOnline
      

3. Entrez vos identifiants d'administrateur Office 365 :

      $Cred = Get-Credential
      

4. Créez une session PowerShell à distance :

      $O365 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection
      

5. Importez les commandes de session dans la session Windows PowerShell locale :

      Import-PSSession $O365
      

6. Connectez-vous à tous les services Office 365 :

      Connect-MsolService –Credential $O365
      

Une fois que nous avons importé les modules pour Windows PowerShell, nous sommes prêts à gérer notre instance Office 365.

2. Connexion à Exchange Online et SharePoint Online avec PowerShell

Nous pouvons également nous connecter séparément à Microsoft Exchange Online et Microsoft SharePoint Online. Se connecter à Exchange Online avec PowerShell est essentiellement la même chose que de se connecter à Office 365 :

      $Cred = Get-Credential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic –AllowRedirection
      

La connexion à SharePoint Online est un peu différente. Pour gérer votre locataire SharePoint Online, vous devez d'abord télécharger et installer la fonctionnalité SharePoint Online Management Shell. Ensuite, exécutez le script PowerShell suivant :

      $admin="Admin@enterprise.onmicrosoft.com"
$orgname="enterprise"
$userCred = Get-Credential -UserName $admin -Message "Type the password."
Connect-SPOService -Url https://$orgname-admin.sharepoint.com -Credential $userCred
      

3. Obtenir une liste des cmdlets PowerShell Office 365 disponibles

Pour obtenir une liste de toutes les Office 365 PowerShell commands disponibles, nous devons exécuter le cmdlet Get-Command:

      Get-Command -module MSOnline
      
Image

Nous pouvons également obtenir la liste des cmdlets pour Azure Active Directory :

      Get-Command -module AzureAD
      

4. Obtenir une liste de tous les utilisateurs d'Office 365 avec PowerShell

Si vous devez fournir une liste des utilisateurs et des licences Office 365, utilisez la cmdlet Get-MsolUser. Elle récupérera tous les utilisateurs avec une licence valide dans le locataire Office 365, ainsi que les paramètres DisplayName, City, Department et ObjectID.

      Get-MsolUser | Select DisplayName, City, Department, ObjectID
      

Pour voir le nombre de licences de compte, vous devez exécuter le cmdlet suivant :

      Get-MsolAccountSku
      

Pour lister les services disponibles, exécutez le script suivant :

      Get-MsolAccountSku | select -ExpandProperty ServiceStatus
      
Image

5. Création d'un nouvel utilisateur dans Office 365 avec PowerShell

Pour créer un nouvel utilisateur, nous utilisons la commande New-MsolUser:

      New-MsolUser -UserPrincipalName JSmith@enterprise.onmicrosoft.com -DisplayName "John Smith"  -FirstName “John” -LastName “Smith”
      

Le système affichera les données du mot de passe et du statut de licence de l'utilisateur.

6. Suppression d'un utilisateur de tous les sites avec PowerShell

Pour retirer un utilisateur de tous les sites à la fois, nous utilisons la commande suivante :

      Get-SPOSite | ForEach {Remove-SPOUser -Site $_.Url -LoginName " JSmith@enterprise.onmicrosoft.com"}
      

7. Changer un mot de passe dans Office 365 avec PowerShell

Si vous devez changer le mot de passe pour un compte, utilisez le cmdlet Set-MsolUserPassword. Vous pouvez soit spécifier un nouveau mot de passe comme dans l'exemple ci-dessous, soit omettre le paramètre -NewPassword pour que le système génère automatiquement un mot de passe aléatoire.

      Set-MsolUserPassword -UserPrincipalName JSmith@Netwrixqcspa.onmicrosoft.com -NewPassword P@SSw0rd!
      

8. Gestion de l'appartenance aux groupes dans Office 365 avec PowerShell

Nous pouvons également gérer les Office 365 groups à l'aide des cmdlets PowerShell. Pour récupérer une liste de tous les groupes dans Office 365, utilisez simplement la commande Get-MsolGroup. Pour ajouter des utilisateurs à un groupe, utilisez la commande Add-MsolGroupMember:

      Add-MsolGroupMember -GroupObjectId 5b61d9e1-a13f-4a2d-b5ba-773cebc08eec -GroupMemberObjectId a56cae92-a8b9-4fd0-acfc-6773a5c1c767 -GroupMembertype user
      

GroupObjectId est l'ID hexadécimal du groupe, que vous pouvez obtenir à partir de la commande Get-MsolGroup. GroupMemberObejctId est l'ID de l'objet utilisateur, que vous pouvez trouver en exécutant cette commande :

      Get-MsolUser | Select ObjectID.
      

Pour retirer un utilisateur d'un groupe, utilisez la cmdlet Remove-MsoGroupMember.

9. Création d'une collection de sites SharePoint avec PowerShell

Nous pouvons également créer une collection de sites SharePoint à l'aide de PowerShell :

      New-SPOSite -Url "https://enterprise.sharepoint.com/sites/NewSite" -Owner "JSmith@enterprise.onmicrosoft.com" -StorageQuota "100" -Title "New Site"
      

10. Création de rapports dans Office 365 avec PowerShell

PowerShell est un excellent outil pour réaliser différents rapports. Voici quelques rapports Office 365 utiles faits via PowerShell :

  • Détails concernant toutes les boîtes aux lettres :
      Get-mailbox | get-MailboxStatistics
      
  • Une liste de toutes les boîtes aux lettres qui n'ont pas été consultées au cours des 30 derniers jours :
      Get-Mailbox –RecipientType 'UserMailbox' | Get-MailboxStatistics | Sort-Object LastLogonTime | Where {$_.LastLogonTime –lt ([DateTime]::Now).AddDays(-30) } | Format-Table DisplayName, LastLogonTime
      
  • Un rapport sur les expéditeurs et les destinataires ayant le plus grand volume :
      Get-MailTrafficTopReport
      
  • Un rapport sur tous les groupes et leurs membres :
      function Get-AllO365Members
{
    Try
    {   
     $O365Groups=Get-UnifiedGroup
        foreach ($O365Group in $O365Groups) 
        { 
            Write-Host "Group Membership: " $O365Group.DisplayName -ForegroundColor Green
            Get-UnifiedGroupLinks –Identity $O365Group.Identity –LinkType Members
            Write-Host
        } 
    }
    catch [System.Exception]
    {
        Write-Host -ForegroundColor Red $_.Exception.ToString()   
    } 
}
Get-AllO365Members
      

Notez que la plupart des cmdlets de rapport ont été dépréciées en janvier 2018 et remplacées par la nouvelle API de rapport MS Graph. Par conséquent, certains rapports sont maintenant disponibles uniquement dans le Centre de sécurité & conformité Office 365.

Comme vous pouvez le voir, la gestion d'Office 365 avec PowerShell est rapide et facile, tout comme dans Microsoft Windows Server. N'oubliez pas d'auditer tous les changements que vous effectuez dans votre environnement Office 365 ; cela vous aidera à dépanner et à récupérer des problèmes plus rapidement. Pour apprendre à configurer l'audit natif dans votre environnement Office 365, jetez un œil à notre Exchange Online Auditing Quick Reference Guide et Exchange Online Mailbox Auditing Quick Reference Guide. Si vous souhaitez obtenir des renseignements exploitables sur ce qui se passe dans votre environnement Office 365, ainsi que des rapports flexibles, des alertes proactives, une recherche de type Google et bien plus encore, demandez un essai gratuit de Netwrix Auditor for Office 365.

Partager sur

En savoir plus

À propos de l'auteur

Asset Not Found

Jeff Melnick

Directeur de l'ingénierie des systèmes

Jeff est un ancien directeur de l'ingénierie des solutions mondiales chez Netwrix. Il est un blogueur, conférencier et présentateur de longue date chez Netwrix. Dans le blog Netwrix, Jeff partage des astuces et des conseils qui peuvent améliorer de manière significative votre expérience en administration système.