Table des matières

Gérer les comptes d'utilisateurs Office 365

Ressources

Se connecter au locataire Microsoft 365

PS > Connect-AzureAD

Lister les comptes

PS > Get-AzureADUser

ObjectId                             DisplayName                                  UserPrincipalName                                                         UserType
--------                             -----------                                  -----------------                                                         --------
2d5dee3e-0665-4675-bf29-18b8a79f4651 31b93a88.educ-valadon-limoges.fr@fr.teams.ms 31b93a88.educ-valadon-limoges.fr_fr.teams.ms#EXT#@educ-valadon-limoges.fr Guest
7e58156b-9145-46de-97fd-e84d1fcef12c Killian ABADA                                abada.killian@educ-valadon-limoges.fr                                     Member
bee1c80b-7d28-447a-a493-8024c7d7a7e1 Chaïma ABBOU                                 abbou.chaima@educ-valadon-limoges.fr                                      Member
PS > Get-AzureADUser -Top 10000
PS /home/administrateur> Get-AzureADUser -ObjectID techer.charles@educ-valadon-limoges.fr

ObjectId                             DisplayName    UserPrincipalName                      UserType
--------                             -----------    -----------------                      --------
c7f2e846-6fa0-4ca7-9cba-a23f7f829292 Charles TECHER techer.charles@educ-valadon-limoges.fr Member                             Member
PS /home/administrateur> Get-AzureADUser -ObjectID techer.charles@educ-valadon-limoges.fr | select * 
ExtensionProperty              : {[odata.metadata, https://graph.windows.net/1ae69c2d-61b2-4de4-84c7-2a4dd0de7330/$metadata#directoryObjects/@Element], [odata.type, Microsoft.DirectoryServices.User], [createdDateTime, 9/19/2019 8:28:29 
                                 AM], [employeeId, ]…}
DeletionTimestamp              : 
ObjectId                       : c7f2e846-6fa0-4ca7-9cba-a23f7f829292
ObjectType                     : User
AccountEnabled                 : True
AgeGroup                       : 
AssignedLicenses               : {class AssignedLicense {
                                   DisabledPlans: System.Collections.Generic.List`1[System.String]
                                   SkuId: 12b8c807-2e20-48fc-b453-542b6ee9d171
                                 }
                                 , class AssignedLicense {
                                   DisabledPlans: System.Collections.Generic.List`1[System.String]
                                   SkuId: f30db892-07e9-47e9-837c-80727f46fd3d
                                 }
                                 , class AssignedLicense {
                                   DisabledPlans: System.Collections.Generic.List`1[System.String]
                                   SkuId: 94763226-9b3c-4e75-a931-5c89701abe66
                                 }
                                 , class AssignedLicense {
                                   DisabledPlans: System.Collections.Generic.List`1[System.String]
                                   SkuId: a403ebcc-fae0-4ca2-8c8c-7a907fd6c235
                                 }
                                 }
AssignedPlans                  : {class AssignedPlan {
                                   AssignedTimestamp: 4/8/2021 12:06:30 PM
                                   CapabilityStatus: Enabled
                                   Service: CRM
                                   ServicePlanId: 40b010bb-0b69-4654-ac5e-ba161433f4b4
                                 }
                                 , class AssignedPlan {
                                   AssignedTimestamp: 4/8/2021 12:06:30 PM
                                   CapabilityStatus: Enabled
                                   Service: ProjectProgramsAndPortfolios
                                   ServicePlanId: a55dfd10-0864-46d9-a3cd-da5991a3e0e2
                                 }
                                 , class AssignedPlan {
                                   AssignedTimestamp: 10/18/2019 1:03:58 PM
                                   CapabilityStatus: Enabled
                                   Service: OfficeForms
                                   ServicePlanId: 9b5de886-f035-4ff2-b3d8-c9127bea3620
                                 }
                                 , class AssignedPlan {
                                   AssignedTimestamp: 10/18/2019 1:03:58 PM
                                   CapabilityStatus: Enabled
                                   Service: SharePoint
                                   ServicePlanId: e03c7e47-402c-463c-ab25-949079bedb21
                                 }
                                 …}
City                           : 
CompanyName                    : Lycée Suzanne Valadon
ConsentProvidedForMinor        : 
Country                        : 
CreationType                   : 
Department                     : Professeurs / Eco-Info
DirSyncEnabled                 : True
DisplayName                    : Charles TECHER
FacsimileTelephoneNumber       : 
GivenName                      : Charles
IsCompromised                  : 
ImmutableId                    : dktyPZ6Ptk+Q7+JRtXvCLA==
JobTitle                       : Professeurs
LastDirSyncTime                : 8/30/2022 9:39:22 AM
LegalAgeGroupClassification    : 
Mail                           : techer.charles@educ-valadon-limoges.fr
MailNickName                   : techer.charles
Mobile                         : 
OnPremisesSecurityIdentifier   : S-1-5-21-3235202287-4148145215-1993724183-3292
OtherMails                     : {}
PasswordPolicies               : 
PasswordProfile                : class PasswordProfile {
                                   Password: 
                                   ForceChangePasswordNextLogin: True
                                   EnforceChangePasswordPolicy: False
                                 }
                                 
PhysicalDeliveryOfficeName     : Eco-Info
PostalCode                     : 
PreferredLanguage              : 
ProvisionedPlans               : {class ProvisionedPlan {
                                   CapabilityStatus: Enabled
                                   ProvisioningStatus: Success
                                   Service: SharePoint
                                 }
                                 , class ProvisionedPlan {
                                   CapabilityStatus: Enabled
                                   ProvisioningStatus: Success
                                   Service: CRM
                                 }
                                 , class ProvisionedPlan {
                                   CapabilityStatus: Enabled
                                   ProvisioningStatus: Success
                                   Service: SharePoint
                                 }
                                 , class ProvisionedPlan {
                                   CapabilityStatus: Enabled
                                   ProvisioningStatus: Success
                                   Service: MicrosoftCommunicationsOnline
                                 }
                                 …}
ProvisioningErrors             : {}
ProxyAddresses                 : {smtp:techer.charles@educvaladonlimogesfr.onmicrosoft.com, SMTP:techer.charles@educ-valadon-limoges.fr}
RefreshTokensValidFromDateTime : 9/19/2019 8:28:29 AM
ShowInAddressList              : 
SignInNames                    : {}
SipProxyAddress                : techer.charles@educ-valadon-limoges.fr
State                          : 
StreetAddress                  : 
Surname                        : TECHER
TelephoneNumber                : 
UsageLocation                  : FR
UserPrincipalName              : techer.charles@educ-valadon-limoges.fr
UserState                      : 
UserStateChangedOn             : 
UserType                       : Member

Afficher l’état de synchronisation du compte

Les comptes d’utilisateur ont deux sources :

La commande suivante permet de rechercher les comptes qui se synchronisent à partir d’AD local en demandant à PowerShell d’obtenir la valeur True pour tous les utilisateurs dont l’attribut DirSyncEnabled est défini.

PS > Get-AzureADUser | Where {$_.DirSyncEnabled -eq $true}

La commande suivante permet de rechercher des comptes cloud uniquement en indiquant à PowerShell d’obtenir tous les utilisateurs dont l’attribut DirSyncEnabled a la valeur False ou non défini (Null) :

PS > Get-AzureADUser | Where {$_.DirSyncEnabled -ne $true}

Afficher les comptes en fonction d’une propriété commune

L’applet de commande Where en combinaison avec l’applet de commande Get-AzureADUser en utilisant le caractère « pipe » (« | »), qui indique à Azure Active Directory PowerShell de prendre les résultats d’une commande et de l’envoyer à la commande suivante permet d'affiche uniquement les comptes d’utilisateur dont l’emplacement d’utilisation n’est pas spécifié :

PS > Get-AzureADUser | Where {$_.UsageLocation -eq $Null}

La syntaxe de l’applet de commande Where est Where {$_. [nom de la propriété du compte d’utilisateur] [opérateur de comparaison] [valeur] }.

[opérateur de comparaison] est :

  • -eq for equals,
  • -ne for not equals,
  • -lt for inférieur à,
  • -gt for great than, and others.
  • -Like avec els joker * et ?

[value] est généralement une chaîne (une séquence de lettres, de nombres et d’autres caractères), une valeur numérique ou $Null pour les caractères non spécifiés.

Pour plus d’informations, consultez Where : https://docs.microsoft.com/fr-fr/powershell/module/microsoft.powershell.core/where-object

Afficher les groupes en fonction d’une propriété commune

PS > Get-AzureADGroup -Top 1000| Where {$_.Description -Like "*koxo*"} 

Lister les membres d'un groupe

PS > Get-AzureADGroupMember -ObjectId (Get-AzureADGroup -Top 1000 | where {$_.Description -eq "[koxoadm] b2 sio2"}).ObjectId | select UserPrincipalName, GivenName, SurName

exporter les membres d'un groupe

PS >Get-AzureADGroupMember -ObjectId (Get-AzureADGroup -Top 1000 | where {$_.Description -eq "[koxoadm] b2 sio2"}).ObjectId | select UserPrincipalName, GivenName, SurName, Mail | Export-CSV -Path "clouddrive/importB2SIO2.csv"

PS >  Get-AzureADGroupMember -ObjectId (Get-AzureADGroup -Top 1000 | where {$_.Description -eq "[koxoadm] Classe de b2 sio"}).ObjectId | select UserPrincipalName, GivenName, SurName, Mail | Export-CSV -Path "clouddrive/importB2SIO.csv"

PS > Get-AzureADGroupMember -ObjectId (Get-AzureADGroup -Top 1000 | where {$_.Description -eq "[koxoadm] Classe de b1 sio"}).ObjectId | select UserPrincipalName, GivenName, SurName, Mail | Export-CSV -Path "clouddrive/importB1SIO.csv"

PS >  Get-AzureADGroupMember -ObjectId (Get-AzureADGroup -Top 1000 | where {$_.Description -eq "[koxoadm] Classe de b1 sio2"}).ObjectId | select UserPrincipalName, GivenName, SurName, Mail | Export-CSV -Path "clouddrive/importB1SIO2.csv"