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

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