[Office 365] Commandes PowerShell de base pour l’administrateur

Pour administrer votre compte / portail Office 365, vous pouvez utiliser l’interface web, mais aussi les commandes Powershell pour aller encore plus loin.

Mise à jour au 05/03/2018 – Ajout de la suppression en bloc des utilisateurs

Retrouvez ci-dessous une liste de commandes usuelles pour l’administration :

Connexion au service Office 365 en Powershell

$Cred = Get-Credential user@domain.com
Connect-MsolService -Credential $Cred

Formater des tableaux en Powershell

ft = Format Table
fl = Formal Ligne
-AutoSize = ne pas tronquer les lignes

Affichage de la liste de tous les comptes

Get-MsolUser

Afficher les informations complète d’un utilisateur précis

Get-MsolUser -UserPrincipalName user@domain.com | fl

Création d’un utilisateur

New-MsolUser -UserPrincipalName user@domain.com -DisplayName "NOM_COMPLET" -FirstName "PRENOM" -LastName "NOM" -Password "Pa$$w0rd." -ForceChangePassword $false -UsageLocation "FR"

Création d’un groupe d’utilisateurs

New-MsolGroup -DisplayName "nom_groupe" -Description "Description_Group"

Créer une variable pour utiliser facilement un groupe

$NomVariable = Get-MsolGroup | Where-Object {$_.DisplayName -eq "Nom_Group"}

Créer une variable pour utiliser facilement un utilisateur

$NomVariable = Get-MsolUser | Where-Object {$_.DisplayName -eq "Nom_Complet_User"}

Ajouter un utilisateur dans un groupe + utilisation des variables

Add-MsolGroupMember -GroupObjectId $NomVariableGroupe.ObjectId -GroupMemberType "User" -GroupMemberObjectId $NomVariableUtilisateur.ObjectId

Variante :

Add-MsolGroupMember -GroupObjectId id_groupe -GroupMemberType "User" -GroupMemberObjectId id_user

Afficher tous les membres d’un groupe

Get-MsolGroupMember -GroupObjectId $Variable_Nom_Groupe.ObjectId

Variante :

Get-MsolGroupMember -GroupObjectId id_groupe

Afficher les utilisateurs qui n’ont pas de licence

Get-MsolUser -UnlicensedUsersOnly

Récupérer le nom des licences

Get-MsolAccountSku

Attribuer une licence Office 365 Business Premium à un utilisateur

Set-MsolUserLicense -UserPrincipalName user@domain.com -AddLicences "domain:O365_BUSINESS_PREMIUM"

Bloquer la connexion à un compte

Set-MsolUser -UserPrincipalName user@domain.com -blockcredential $true

Supprimer un compte utilisateur

Remove-MsolUser -UserPrincipalName user@domain.com -Force

Supprimer des utilisateurs en masse

  1. Création d’un fichier « .csv » pour y ajouter la liste de tous les utilisateurs à supprimer
    • Le fichier doit être de la forme suivante :
|-|——–A———-|B———|C———
|1| Email
|2| user1@domain.io
|3| user2@domain.io
|4| user3@domain.io

Ensuite, effectuez ces deux commandes :

$users = Import-Csv users-bulk-delete.csv
$users | ForEach-Object {Remove-MsolUser -UserPrincipalName $_.Email -Force}

Afficher la liste des utilisateurs supprimés

Get-MsolUser -ReturnDeletedUsers

Restaurer un utilisateur supprimé

Restore-MsolUser -UserPrincipalName user@domain.com

Bulk import d’utilisateurs

Import-Csv -Path e:chemin_fichier.csv | ForEach-Object { New-MsolUser -UserPrincipalName $_."Nom d'utilisateur" -FirstName $_."Prénom" -LastName $_."Nom" -DisplayName $_."Nom complet" -Title $_."Fonction" -Department $_."Service" -PhoneNumber $_."Téléphone (bureau)" -MobilePhone $_."Téléphone mobile" -Fax $_."Numéro de télécopie" -StreetAddress $_."Adresse" -City $_."Ville" -State $_."Département ou province" -PostalCode $_."Code postal" -Country $_."Pays ou zone géographique" -BlockCredential $false -ForceChangePassword $false -PasswordNeverExpires $true }

Enlever l’expiration des mots de passe (sur un user à la fois)

Set-MsolUser -UserPrincipalName user@domain.com -PasswordNeverExpire $true

Enlever la complexité des mots de passe (sur un user à la fois)

Set-MsolUser -UserPrincipalName user@domain.com -StrongPasswordRequired $false

Changement du mot de passe d’un utilisateur

Set-MsolUserPassword -UserPrincipalName user@domain.com -NewPassword password

Afficher liste des paramètres des mots de passe des utilisateurs

Get-MsolUser | ft UserPrincipalName,PasswordNeverExpires,StrongPasswordRequired -AutoSize

Couper la session Powershell à la fin des opérations

Remove-PSSession $Cred

Julien H

Passionné depuis toujours par l'informatique, je transforme ma passion en expertise. J'utilise quotidiennement les outils et systèmes Microsoft. Je ne délaisse pas mon côté ouvert, notamment via l'utilisation des OS Debian et Archlinux. L'infosec m'ouvre les yeux sur les enjeux actuels et futurs de l'IT.

16 commentaires

  1. Bonjour,
    Je souhaiterai savoir s’il est possible de connaître les groupe office365 qui sont supprimer (au même titre que l’on peu le faire pour les personnes) et surtout s’il est possible de les restauré, le tout en PowerShell bien sur.
    Je suis débutant et j’aime beaucoup votre page qui reste très explicite.
    Cordialement,

    1. Bonjour MrFiloux 🙂
      Ce n’est pas encore possible de restaurer via powershell les groupes de sécurité ou de distribution supprimés. Après m’être renseigné auprès de Microsoft Partners, c’est en cours de développement depuis novembre 2016, toujours pas finalisé.
      De même que dans l’interface web (Portail d’administration Office), ce n’est pas non plus possible. Il faut attendre les mises à jour :/

      1. Bonjour Julien,
        Merci de ta réponse rapide et de tes recherches.
        Des que tu auras quelque chose pourras tu le rajouter sur ta page ?
        Merci encore et bonne continuation.
        Cordialement, 🙂

  2. Bonjour,
    j’aimerais savoir s’il est possible d’empêcher à un utilisateur de changer son mdp. je souhaiterais que le mot de passe reste toujours le même.

    Cordialement

    1. Bonjour,
      Techniquement, il est possible de bloquer la possibilité de changer le mot de passe d’un utilisateur, d’un groupe d’utilisateur ou de tous les utilisateurs Office 365 – toutefois, il faut, en plus d’un abonnement Office 365 souscrire à un abonnement « Azure Active Directory ». Sans cet abonnement, vous ne pourrez pas gérer de façon « fine » vos utilisateurs et effectuer des opérations spécifiques.
      L’abonnement Office 365 (tout type d’abonnement) vous permettra de gérer les utilisateurs et quelques options (ajout/modification/suppression d’un compte, expiration des mots de passe), mais pas de façon pointue comme vous souhaitez le faire. 😉

  3. Bonjour,
    Je souhaiterais savoir s’il est possible de supprimer en masse des utilisateurs
    Merci d’avance

      1. Bonjour Julien

        Merci beaucoup pour la modification de votre article.
        j’aimerais juste une précision : vous dites qu’il faut mettre dans la 1ere Ligne du fichier CSV, l »adresse Email, mais je ne comprends pas trop (pas du tout, en fait). Quelle adresse E-mail Faut-il mettre ?

        Merci d’avance

        Cordialement

          1. (Re)bonjour

            Il semble que je me sois mal exprimé.
            J’avais bien compris la formalisation du fichier CSV, mais en 1ère Ligne, l’adresse E-Mail à mettre, c’est celle du compte admin ?

            Merci d’avance

          2. oui, non ça y est
            j’ai compris
            c’est la ligne d’en-tête en fait ….

            Merci !!!

          3. Oups, je me suis peut-être un peu mal exprimé aussi 😉
            En effet, la toute première ligne est l’en-tête du fichier, la mise en page grosso-modo. Ensuite, la seconde ligne (qui est donc la première ligne interprétée par le PowerShell) sert d’attribut pour définir ce que l’on souhaite ; toutes les lignes suivantes sont les « réponses » du fichier, que le PowerShell prendra en compte pour effectuer les actions demandées 🙂

  4. Bonjour,
    Est il possible de lister l’ensemble des groupes (listes de diffusion) auxquels appartient un utilisateur (une adresse mail) ?

    Merci de votre retour

  5. Bonjour Julien,
    je suis profane sur la partie Exchange et je voudrais savoir comment on peut supprimer en masse les alias d’un domaine X sur mes users en power Shell, ce domaine par la suite je le supprimerai.
    Car depuis mon office365 j’ai ce message et je ne peux le faire depuis la console d’administration office365 à cause des dépendances soit l’alias :
    Pour supprimer ce domaine, vous devez commencer par supprimer les dépendances suivantes. Vous pouvez les supprimer manuellement vous-même, ou nous pouvons essayer de les reconfigurer automatiquement. Les listes de distribution et les groupes de sécurité à extension courrier ne peuvent pas être déplacés automatiquement. Vous devez les supprimer ou les placer manuellement sous un autre domaine.

    Merci d’avance
    Cordialement,
    Stééphane

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Fermer
Fermer