Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2742 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Logiciels d'entreprise

  Utilisateurs invités via PowerShell dans Office365 avec ID Employé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utilisateurs invités via PowerShell dans Office365 avec ID Employé

n°177348
skidan
Posté le 15-12-2022 à 16:13:46  profilanswer
 

Bonjour,  
 
Je suis nouveau sur le forum et ce sujet est mon premier.
 
En quelques mots je suis administrateur pour une association qui administre plusieurs milliers d'utilisateurs dans un AzureAD Microsoft365, cet azure comprend 60% d'utilisateurs invités, pour répartir des utilisateurs dans les groupes j'utilise des groupes dynamiques qui en fonction du domaine du compte invité le rattache à tel ou tel groupe.
J'ai des groupes d'utilisateurs avec le même domaine qui doivent-être dans différents groupes, c'est pourquoi je souhaite utiliser le champ "ID Employé" de l'Azure AD Microsoft365 (éventuellement le champ "City" mais seulement si pas d'autres choix)
 
Pour importer les utilisateurs j'utilise donc un fichier CSV avec 3 colonnes :
 
- NOM Prenom
- Email
- ID Employé
 
J'utilisais jusqu'ici le scripte suivant qui ne nécessitait pas d'importer l'ID employé :
 
  $invitations = import-csv c:\invit\fichier.csv
  $messageInfo = New-Object Microsoft.Open.MSGraph.Model.InvitedUserMessageInfo
  $messageInfo.customizedMessageBody = "Bonjour, veuillez accepter cette invitation pour XXXX"
  foreach ($email in $invitations)
    {New-AzureADMSInvitation `
    -InvitedUserEmailAddress $email.InvitedUserEmailAddress `
    -InvitedUserDisplayName $email.Name `
    -InviteRedirectUrl https://MonURL.com `
    -InvitedUserMessageInfo $messageInfo `
    -SendInvitationMessage $true
  }
 
 
Je me casse les dents depuis quelques jours sans parvenir à ajouter le champ ID Employé efficacement dans le scripte, toutes les notions que je trouve autour de ce champ ne fonctionnent que avec des comptes locaux, pourtant je peux l'alimenter à la main avec les comptes utilisateurs invités.
 
Merci par avance à ceux qui prendront le temps de lire et apporter des éléments de réponses.

mood
Publicité
Posté le 15-12-2022 à 16:13:46  profilanswer
 

n°177350
Je@nb
Modérateur
Kindly give dime
Posté le 15-12-2022 à 17:58:37  profilanswer
 

Le module AzureAD est deprecated et ne doit plus être utilisé depuis déjà pas mal de temps...

 

Il faut passer sur le module Microsoft Graph et utiliser cette commande New-MgInvitation
A voir si c'est directement implémentable en spécifiant la propriété qui va bien ou s'il faut récup l'objet puis mettre à jour la propriété correspondante sur l'utilisateur créé.

 


edit: à priori pas possible de faire ça en 1 call, l'objet inviteduser étant readonly

Message cité 1 fois
Message édité par Je@nb le 15-12-2022 à 18:01:22
n°177351
skidan
Posté le 16-12-2022 à 11:52:26  profilanswer
 

Je@nb a écrit :

Le module AzureAD est deprecated et ne doit plus être utilisé depuis déjà pas mal de temps...
 
Il faut passer sur le module Microsoft Graph et utiliser cette commande New-MgInvitation
A voir si c'est directement implémentable en spécifiant la propriété qui va bien ou s'il faut récup l'objet puis mettre à jour la propriété correspondante sur l'utilisateur créé.
 
 
edit: à priori pas possible de faire ça en 1 call, l'objet inviteduser étant readonly


 
Ok je vois... Merci pour ce retour!  
 
Je pense que spontanément ça dépasse un peu mon niveau de connaissance mais je vais regarder côté Module Microsoft Graph ce qu'il est possible de faire, à voir comment faire même en plusieurs commandes, l'idée c'est de trouver une formule applicable bêtement en quelques "copier / coller"

n°177352
Je@nb
Modérateur
Kindly give dime
Posté le 16-12-2022 à 12:14:32  profilanswer
 

Pas très compliqué, tu récupères le userid retourné par l'invitation et tu utilises Update-MgUser pour mettre à jour l'employee id

n°177353
skidan
Posté le 16-12-2022 à 14:43:13  profilanswer
 

Je@nb a écrit :

Pas très compliqué, tu récupères le userid retourné par l'invitation et tu utilises Update-MgUser pour mettre à jour l'employee id


 
Je suis en train d'étudier le schmilblick, je ne mange que rarement des lignes de commandes donc je découvre les possibilités de MicrosoftGraph via PowerShell mais ça donne effectivement pas mal de possibilités que je ne soupçonnait pas.
 
Faut que je trouve comment rechercher les utilisateurs depuis la liste csv et y associer l'IDEmployee associé mais ça ne devrait être qu'une question de temps.

n°177357
skidan
Posté le 19-12-2022 à 16:24:02  profilanswer
 

Finalement par manque de temps j'ai adapté un scripte d'un forum anglais et ça fonctionne :
 
# Get CSV content
$CSVrecords = Import-Csv C:\XXX\XXX.csv -Delimiter ","
 
# Create arrays for skipped and failed users
$SkippedUsers = @()
$FailedUsers = @()
 
# Loop trough CSV records
foreach ($CSVrecord in $CSVrecords) {
    $upn = $CSVrecord.Name
    $user = Get-AzureADUser -Filter "DisplayName eq '$upn'"  
    if ($user) {
        try{
        $user | Set-AzureADUserExtension  -ExtensionName "employeeId" -ExtensionValue $CSVrecord.employeeId
        } catch {
        $FailedUsers += $upn
        Write-Warning "$upn user found, but FAILED to update."
        }
    }
    else {
        Write-Warning "$upn not found, skipped"
        $SkippedUsers += $upn
    }
}
 
# Array skipped users
# $SkippedUsers
 
# Array failed users
# $FailedUsers


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Logiciels d'entreprise

  Utilisateurs invités via PowerShell dans Office365 avec ID Employé

 

Sujets relatifs
[Résolu] Supprimer données Office365 sur session WindowsOffice365 - Boite partagée vs Boite utilisateur
supression des utilisateurs locaux en GPO[Office365] Autorisation Connexion
[Résolu] Office365 Business part en vrilleRéserver des sous-dossiers à certains utilisateurs
Liste d'utilisateurs Active Directory ne reflète pas les changementsModule Active Directory Powershell
Partager des dossiers en fonction d'utilisateursOffice365/OUtlook Courrier indésirable
Plus de sujets relatifs à : Utilisateurs invités via PowerShell dans Office365 avec ID Employé


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR