PowerShell Microsoft 365
Cmdlets des modules actuels (Exchange Online, Microsoft Graph PowerShell, Teams, SharePoint Online). MSOnline et AzureAD sont dépréciés : utilisez Microsoft Graph PowerShell.
Pour commencer
Connexion
Installez d'abord les modules (une fois) avec Install-Module -Scope CurrentUser, puis connectez-vous à chaque session.
Connect-ExchangeOnline -UserPrincipalName admin@contoso.comExchange Online (module ExchangeOnlineManagement). Ajoutez -ShowBanner:$false pour un affichage plus court. Déconnexion : Disconnect-ExchangeOnline -Confirm:$false.
Connect-MgGraph -Scopes 'User.Read.All','Group.ReadWrite.All','Directory.Read.All'Microsoft Graph PowerShell : demandez uniquement les scopes nécessaires (moindre privilège). Vérifiez avec Get-MgContext. Scopes courants : User.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All, Policy.Read.All, DeviceManagementManagedDevices.Read.All, AuditLog.Read.All.
Connect-MicrosoftTeamsTeams (module MicrosoftTeams). Rôle Teams Administrator ou supérieur.
Connect-SPOService -Url https://contoso-admin.sharepoint.comSharePoint Online (module Microsoft.Online.SharePoint.PowerShell), URL du centre d'administration. Alternative : PnP.PowerShell.
Connect-IPPSSession -UserPrincipalName admin@contoso.comSecurity & Compliance (Defender, Purview) : même module que Exchange Online.
Résultats
MSOnline et AzureAD (cmdlets Msol* et *-AzureAD*) sont dépréciés et ne reçoivent plus de correctifs : migrez vers Microsoft Graph PowerShell (Mg*). Testez d'abord avec -WhatIf quand il existe.
Liste complète
Afficher les 51 entrées
Get-MailboxGet-Mailbox [-Identity <id>] [-ResultSize Unlimited]Liste les boîtes aux lettres ou affiche les propriétés d'une boîte.
Get-Mailbox -Identity user@contoso.com | Format-List DisplayName,PrimarySmtpAddress,ArchiveStatus,LitigationHoldEnabled Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails SharedMailboxSet-MailboxSet-Mailbox -Identity <id> [propriétés]Modifie une boîte aux lettres (quota, adresse, transfert, archive, conservation).
Set-Mailbox -Identity user@contoso.com -ForwardingSmtpAddress ext@example.com -DeliverToMailboxAndForward $true Set-Mailbox -Identity user@contoso.com -LitigationHoldEnabled $trueSet-MailboxAutoReplyConfigurationSet-MailboxAutoReplyConfiguration -Identity <id> -AutoReplyState Enabled|Disabled|ScheduledActive, programme ou coupe la réponse automatique d'absence d'une boîte (message interne et externe).
Set-MailboxAutoReplyConfiguration -Identity user@contoso.com -AutoReplyState Enabled -InternalMessage 'Absent jusqu''au 5 janvier.' -ExternalMessage 'Absent jusqu''au 5 janvier.' Set-MailboxAutoReplyConfiguration -Identity user@contoso.com -AutoReplyState Scheduled -StartTime '2026-12-22 18:00' -EndTime '2027-01-05 08:00' -InternalMessage 'Congés' Set-MailboxAutoReplyConfiguration -Identity user@contoso.com -AutoReplyState DisabledNew-MailboxNew-Mailbox -Shared -Name <nom> -DisplayName <nom>Crée une boîte aux lettres partagée (ou salle/équipement avec -Room, -Equipment).
New-Mailbox -Shared -Name 'Support' -DisplayName 'Support' -PrimarySmtpAddress support@contoso.comAdd-MailboxPermissionAdd-MailboxPermission -Identity <boîte> -User <utilisateur> -AccessRights FullAccessDonne l'accès complet à une boîte (délégation de lecture/écriture).
Add-MailboxPermission -Identity shared@contoso.com -User user@contoso.com -AccessRights FullAccess -AutoMapping $trueAdd-RecipientPermissionAdd-RecipientPermission -Identity <boîte> -Trustee <utilisateur> -AccessRights SendAsAutorise « Envoyer en tant que » sur une boîte ou un groupe.
Add-RecipientPermission -Identity shared@contoso.com -Trustee user@contoso.com -AccessRights SendAs -Confirm:$falseGet-MailboxStatisticsGet-MailboxStatistics -Identity <id>Taille, nombre d'éléments et dernière connexion d'une boîte.
Get-MailboxStatistics user@contoso.com | Select DisplayName,TotalItemSize,ItemCount,LastLogonTimeGet-MessageTraceV2Get-MessageTraceV2 -SenderAddress <expéditeur> -StartDate <date> -EndDate <date>Suit un message (remis, retardé, rejeté) sur les 10 derniers jours. Remplace Get-MessageTrace.
Get-MessageTraceV2 -RecipientAddress user@contoso.com -StartDate (Get-Date).AddDays(-2) -EndDate (Get-Date)Start-HistoricalSearchStart-HistoricalSearch -ReportTitle <titre> -ReportType MessageTrace ...Lance une recherche de traces de messages au-delà de 10 jours (jusqu'à 90 jours), livrée par e-mail.
Start-HistoricalSearch -ReportTitle 'Trace' -ReportType MessageTrace -StartDate (Get-Date).AddDays(-30) -EndDate (Get-Date) -SenderAddress a@example.com -NotifyAddress admin@contoso.comNew-TransportRuleNew-TransportRule -Name <nom> -Conditions... -Actions...Crée une règle de flux de messagerie (disclaimer, blocage, redirection).
New-TransportRule -Name 'Étiquette externe' -FromScope NotInOrganization -PrependSubject '[EXTERNE] 'Get-DistributionGroupMemberGet-DistributionGroupMember -Identity <groupe>Liste les membres d'une liste de distribution.
Get-DistributionGroupMember -Identity team@contoso.com -ResultSize Unlimited | Select DisplayName,PrimarySmtpAddressAdd-DistributionGroupMemberAdd-DistributionGroupMember -Identity <groupe> -Member <utilisateur>Ajoute un membre à une liste de distribution.
Add-DistributionGroupMember -Identity team@contoso.com -Member user@contoso.comSet-CalendarProcessingSet-CalendarProcessing -Identity <salle> -AutomateProcessing AutoAcceptRègle l'acceptation automatique des réunions pour une salle ou un équipement.
Set-CalendarProcessing -Identity salle1@contoso.com -AutomateProcessing AutoAccept -AllowConflicts $falseAdd-MailboxFolderPermissionAdd-MailboxFolderPermission -Identity <boîte>:\Calendrier -User <utilisateur> -AccessRights ReviewerPartage un dossier (agenda, boîte de réception) avec un utilisateur.
Add-MailboxFolderPermission -Identity user@contoso.com:\Calendar -User collegue@contoso.com -AccessRights EditorGet-EXOMailboxGet-EXOMailbox -Identity <id> -Properties <liste>Version rapide et économe de Get-Mailbox pour de grands volumes.
Get-EXOMailbox -ResultSize Unlimited -Properties ProhibitSendQuota | Select DisplayName,ProhibitSendQuotaEnable-Mailbox (archive)Enable-Mailbox -Identity <id> -ArchiveActive l'archivage en ligne d'une boîte.
Enable-Mailbox -Identity user@contoso.com -ArchiveConnect-MgGraphConnect-MgGraph -Scopes <scopes> [-TenantId <id>] [-NoWelcome]Ouvre une session Microsoft Graph PowerShell avec les scopes demandés.
Connect-MgGraph -Scopes 'User.ReadWrite.All' -NoWelcome Get-MgContext | Select Account,TenantId,ScopesGet-MgUserGet-MgUser [-UserId <id>] [-Filter <odata>] [-Property <liste>] [-All]Lit un utilisateur ou liste les comptes Entra ID. Remplace Get-MsolUser / Get-AzureADUser.
Get-MgUser -UserId user@contoso.com -Property DisplayName,AccountEnabled,SignInActivity Get-MgUser -All -Filter "accountEnabled eq false" | Select DisplayName,UserPrincipalNameNew-MgUserNew-MgUser -DisplayName <nom> -UserPrincipalName <upn> -MailNickname <alias> -AccountEnabled -PasswordProfile <hash>Crée un utilisateur Entra ID.
New-MgUser -DisplayName 'Jean Dupont' -UserPrincipalName jean@contoso.com -MailNickname jean -AccountEnabled -PasswordProfile @{ Password = '<mot de passe>'; ForceChangePasswordNextSignIn = $true }Update-MgUserUpdate-MgUser -UserId <id> [-propriété valeur]Modifie un utilisateur (service, titre, activation, localisation d'usage).
Update-MgUser -UserId user@contoso.com -AccountEnabled:$false Update-MgUser -UserId user@contoso.com -UsageLocation FRRevoke-MgUserSignInSessionRevoke-MgUserSignInSession -UserId <id>Révoque les jetons d'actualisation et les sessions d'un utilisateur (compte compromis).
Revoke-MgUserSignInSession -UserId user@contoso.comSet-MgUserLicenseSet-MgUserLicense -UserId <id> -AddLicenses @{SkuId=...} -RemoveLicenses @()Attribue ou retire des licences Microsoft 365.
Get-MgSubscribedSku | Select SkuPartNumber,SkuId,ConsumedUnits Set-MgUserLicense -UserId user@contoso.com -AddLicenses @{SkuId='<SkuId>'} -RemoveLicenses @()Get-MgGroupGet-MgGroup [-GroupId <id>] [-Filter <odata>] [-All]Liste les groupes Entra ID (Microsoft 365, sécurité).
Get-MgGroup -All -Filter "startsWith(displayName,'Ventes')"New-MgGroupMemberNew-MgGroupMember -GroupId <id> -DirectoryObjectId <id>Ajoute un membre à un groupe Entra ID.
New-MgGroupMember -GroupId $groupId -DirectoryObjectId (Get-MgUser -UserId user@contoso.com).IdGet-MgUserAuthenticationMethodGet-MgUserAuthenticationMethod -UserId <id>Liste les méthodes d'authentification (MFA) d'un utilisateur.
Get-MgUserAuthenticationMethod -UserId user@contoso.com | Select Id,AdditionalPropertiesGet-MgAuditLogSignInGet-MgAuditLogSignIn -Filter <odata> -Top <n>Journal des connexions Entra ID (échecs, localisation, accès conditionnel).
Get-MgAuditLogSignIn -Filter "userPrincipalName eq 'user@contoso.com'" -Top 20 | Select CreatedDateTime,AppDisplayName,IPAddress,StatusGet-MgDirectoryRoleGet-MgDirectoryRole / Get-MgDirectoryRoleMemberListe les rôles d'administration activés et leurs membres.
$r = Get-MgDirectoryRole -Filter "displayName eq 'Global Administrator'"; Get-MgDirectoryRoleMember -DirectoryRoleId $r.IdGet-MgSubscribedSkuGet-MgSubscribedSkuLicences achetées, consommées et disponibles du tenant.
Get-MgSubscribedSku | Select SkuPartNumber,ConsumedUnits,@{n='Total';e={$_.PrepaidUnits.Enabled}}Get-MgIdentityConditionalAccessPolicyGet-MgIdentityConditionalAccessPolicyListe les stratégies d'accès conditionnel.
Get-MgIdentityConditionalAccessPolicy | Select DisplayName,StateGet-TeamGet-Team [-DisplayName <nom>] [-User <upn>]Liste les équipes Teams.
Get-Team -DisplayName 'Projet' | Select GroupId,DisplayName,Visibility,ArchivedNew-TeamNew-Team -DisplayName <nom> -Visibility PrivateCrée une équipe (et son groupe Microsoft 365).
New-Team -DisplayName 'Projet Alpha' -Visibility Private -Owner admin@contoso.comAdd-TeamUserAdd-TeamUser -GroupId <id> -User <upn> -Role MemberAjoute un membre ou un propriétaire à une équipe.
Add-TeamUser -GroupId $groupId -User user@contoso.com -Role MemberGet-CsOnlineUserGet-CsOnlineUser -Identity <upn>Affiche la configuration Teams d'un utilisateur (téléphonie, stratégies).
Get-CsOnlineUser -Identity user@contoso.com | Select DisplayName,TeamsMeetingPolicy,LineUri,InterpretedUserTypeGrant-CsTeamsMeetingPolicyGrant-CsTeamsMeetingPolicy -Identity <upn> -PolicyName <stratégie>Attribue une stratégie de réunion Teams à un utilisateur.
Grant-CsTeamsMeetingPolicy -Identity user@contoso.com -PolicyName 'RestrictedAnonymous'Get-SPOSiteGet-SPOSite [-Identity <url>] [-Limit All]Liste les collections de sites SharePoint.
Get-SPOSite -Limit All | Select Url,StorageUsageCurrent,SharingCapabilitySet-SPOSiteSet-SPOSite -Identity <url> [-SharingCapability ...] [-StorageQuota ...]Modifie un site (partage externe, quota, verrouillage).
Set-SPOSite -Identity https://contoso.sharepoint.com/sites/rh -SharingCapability Disabled Set-SPOSite -Identity https://contoso.sharepoint.com/sites/rh -LockState ReadOnlyGet-SPOTenantGet-SPOTenantParamètres globaux du tenant SharePoint et OneDrive (partage, synchronisation).
Get-SPOTenant | Select SharingCapability,DefaultSharingLinkType,OneDriveStorageQuotaGet-SPOUser / Add-SPOUserGet-SPOUser -Site <url> / Add-SPOUser -Site <url> -LoginName <upn> -Group <groupe>Consulte ou ajoute des utilisateurs dans un site.
Get-SPOUser -Site https://contoso.sharepoint.com/sites/rh -Limit All Add-SPOUser -Site https://contoso.sharepoint.com/sites/rh -LoginName user@contoso.com -Group 'RH Members'Restore-SPODeletedSiteRestore-SPODeletedSite -Identity <url>Restaure un site supprimé (corbeille du tenant, 93 jours).
Get-SPODeletedSite | Select Url,DeletionTime Restore-SPODeletedSite -Identity https://contoso.sharepoint.com/sites/rhGet-MgDeviceManagementManagedDeviceGet-MgDeviceManagementManagedDevice [-Filter <odata>] [-All]Liste les appareils gérés par Intune (conformité, système, dernier contact).
Get-MgDeviceManagementManagedDevice -All -Filter "operatingSystem eq 'Windows'" | Select DeviceName,UserPrincipalName,ComplianceState,LastSyncDateTimeSync-MgDeviceManagementManagedDeviceSync-MgDeviceManagementManagedDevice -ManagedDeviceId <id>Demande une synchronisation immédiate d'un appareil Intune.
Sync-MgDeviceManagementManagedDevice -ManagedDeviceId $idInvoke-MgRetireDeviceManagementManagedDeviceInvoke-MgRetireDeviceManagementManagedDevice -ManagedDeviceId <id>Retire un appareil de la gestion (supprime les données d'entreprise, garde les données personnelles).
Invoke-MgRetireDeviceManagementManagedDevice -ManagedDeviceId $idGet-QuarantineMessageGet-QuarantineMessage -StartReceivedDate <date> -EndReceivedDate <date>Liste les messages en quarantaine Defender for Office 365.
Get-QuarantineMessage -RecipientAddress user@contoso.com -StartReceivedDate (Get-Date).AddDays(-7) -EndReceivedDate (Get-Date) | Select ReceivedTime,SenderAddress,Subject,TypeGet-MalwareFilterPolicyGet-MalwareFilterPolicy / Set-MalwareFilterPolicyConsulte ou règle la stratégie anti-programmes malveillants.
Get-MalwareFilterPolicy | Select Name,EnableFileFilter,FileTypesGet-SafeLinksPolicyGet-SafeLinksPolicyStratégies Liens fiables de Defender for Office 365.
Get-SafeLinksPolicy | Select Name,EnableSafeLinksForEmail,ScanUrls,DoNotRewriteUrlsSearch-UnifiedAuditLogSearch-UnifiedAuditLog -StartDate <date> -EndDate <date> -UserIds <upn> -Operations <liste>Interroge le journal d'audit unifié (connexions, accès aux fichiers, règles de boîte).
Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) -UserIds user@contoso.com -Operations New-InboxRule,Set-InboxRule -ResultSize 500New-ComplianceSearchNew-ComplianceSearch -Name <nom> -ExchangeLocation All -ContentMatchQuery <KQL>Crée une recherche de contenu Purview eDiscovery (puis Start-ComplianceSearch).
New-ComplianceSearch -Name 'Facture-X' -ExchangeLocation All -ContentMatchQuery 'subject:"Facture X"' Start-ComplianceSearch -Identity 'Facture-X'Get-DlpCompliancePolicyGet-DlpCompliancePolicyListe les stratégies de prévention contre la perte de données (DLP).
Get-DlpCompliancePolicy | Select Name,Mode,EnabledConnect-MsolServiceConnect-MsolServiceConnexion du module MSOnline, déprécié. Remplacer par Connect-MgGraph.
# Ancien : Connect-MsolService ; Get-MsolUser -UserPrincipalName user@contoso.com # Nouveau : Connect-MgGraph -Scopes 'User.Read.All' ; Get-MgUser -UserId user@contoso.comConnect-AzureADConnect-AzureADConnexion du module AzureAD, déprécié. Remplacer par Connect-MgGraph.
# Ancien : Get-AzureADGroupMember -ObjectId $id # Nouveau : Get-MgGroupMember -GroupId $idSet-MsolUserPasswordSet-MsolUserPassword -UserPrincipalName <upn> -NewPassword <mdp>Réinitialise un mot de passe (MSOnline, déprécié). Équivalent Graph : Update-MgUser avec -PasswordProfile.
Update-MgUser -UserId user@contoso.com -PasswordProfile @{ Password = '<mot de passe>'; ForceChangePasswordNextSignIn = $true }