Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Identifier les comptes inutilisés

Hi folks,

Souvent on me demande s’il est possible de trouver les comptes des utilisateurs non utilisés, je vous propose ici de voir cela avec un exemple des comptes invités qui sont en grande partie non utilisés sur les environnements, ou bien qui sont utilisés très ponctuellement.

Notre objectif est donc de les identifier et les gérer, notamment en les ajoutant à un groupe pour faciliter leur suppression ou autre action. Mais surtout pas de tous les supprimer… Après vous avez la sauvegarde peut-être sinon c’est dans la corbeille Entra ID pour 30 jours.

1. Créer un groupe cible

  • Créez une liste de distribution ou un groupe Microsoft 365 pour regrouper les comptes invités inactifs.
  • Vous pouvez utiliser le centre d’administration Exchange/Microsoft 365 ou des cmdlets PowerShell tels que :
    • New-DistributionGroup pour une liste de distribution.
    • New-UnifiedGroup pour un groupe Microsoft 365.

2. Identifier les comptes invités inutilisés :

  • Utilisez le cmdlet Get-MgUser du Microsoft Graph PowerShell SDK pour récupérer les comptes invités.
  • Filtrez les comptes :
    • Ceux qui n’ont pas signé depuis plus d’un an.
    • Ceux qui n’ont jamais signé (optionnel) mais souvent le cas.
  • Exemple de script pour filtrer :
    • $CheckDate = (Get-Date).AddYears(-1)
    • [array]$InactiveGuests = Get-MgUser -All -PageSize 500 -Filter "signInActivity/lastSignInDateTime le $($Checkdate.ToUniversalTime().ToString("yyyy-MM-ddThh:mm:ssZ"))" -Property Id, Mail, displayName, userPrincipalName, signInactivity, UserType
    • $InactiveGuests = $InactiveGuests | Where-Object {$_.userType -eq 'Guest'}
  • Éliminez les faux positifs en filtrant les comptes sans adresse e-mail.
    • $InactiveGuests = $InactiveGuests | Where-Object {$null -ne $_.Mail}

3. Ajouter les comptes inutilisés à un groupe :

  • Pour une liste de distribution :
    • ForEach ($Id in $InactiveGuests.Id) { Add-DistributionGroupMember -Identity Inactive.Guests.DL -Member $Id -ErrorAction SilentlyContinue }
  • Pour un groupe Microsoft 365 :
    • Add-UnifiedGroupLinks -Identity Inactive.Guests.Group -Links $InactiveGuests.Id -LinkType Member
  • Désactivez les messages de bienvenue pour éviter de confondre les utilisateurs :
    • Set-UnifiedGroup -Identity Inactive.Guests.Group -UnifiedGroupWelcomeMessageEnabled:$False

4. Automatisation et suivi :

  • Planifiez un traitement régulier (par exemple, via un runbook Azure Automation) pour maintenir la liste des invités inactifs à jour.

Suppression des comptes :

  • Avant de supprimer, examinez les comptes pour éviter de retirer des comptes importants (par exemple, ceux utilisés uniquement pour des échanges par e-mail).
  • Exportez les données dans un fichier CSV pour validation avant suppression.
  • Exemple de script pour suppression :
    • [array]$InactiveGuests = Import-CSV "c:\temp\GuestAccountsToRemove.csv" ForEach ($Account in $InactiveGuests) { Remove-MgUser -UserId $Account.Id }

Remarques :

  • Tous les comptes inactifs ne doivent pas être supprimés automatiquement. Certains peuvent avoir une raison valable d’être inactifs.
  • La suppression est réversible pendant 30 jours via l’interface Entra Admin Center.
  • MAIS SURTOUT – Pensez a mettre en place de la gouvernance des identités.

Stay tuned !

❌
❌