Question modification attributs UPN AD en masse

Plus d'informations
il y a 2 ans 8 mois - il y a 2 ans 8 mois #31101 par witness
Bonjour,

J’aimerais faire un script qui va me permettre de compléter l'attribut UPN (UserPrincipalName) des comptes utilisateur dans AD à partir du SamAccountName + "@mondomaine.local".

Voilà mon code pour l'instant, qui ne fonctionne pas.
La première ligne fonctionne, elle va bien me chercher mes utilisateurs de test qui ont déjà le champ renseigné mais que je veux modifier et en même temps comme ils ne sont que 3 ça me permet de tester seulement sur trois comptes. Les 2000 autres comptes n'ont rien de renseigné pour cet attribut.
Je suis parti de l'idée que le SamAccountName fait partie des propriétés disponible par défaut, donc que je pouvais le récupérer dans la variable $item du foreach pour le réutiliser ensuite afin de compléter l'UPN via la coimmande Set-ADuser:


$userswithoutUPN = get-ADuser -filter 'userprincipalname -like "*"' -SearchBase "ou=users,dc=Mondomaine,dc=local"


foreach ($item in $userswithoutUPN){
$Samaccountname = $item.samaccountname   
Set-ADuser -userprincipalname $Samaccountname + "@Mondomaine.local"
}

Il y a forcément un truc qui colle pas....
Merci
Dernière édition: il y a 2 ans 8 mois par witness.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 8 mois - il y a 2 ans 8 mois #31106 par ericlm128
Je dirais qu'il faut spécifier l'utilisateur que tu veux modifier. J'ai fait une petite modification sur le filtre aussi (non testé)
Par exemple :
$userswithoutUPN = get-ADuser -filter {userprincipalname -notlike "*"} -SearchBase "ou=users,dc=Mondomaine,dc=local"

foreach ($item in $userswithoutUPN)
{
    $Samaccountname = $item.samaccountname   
    $item | Set-ADuser -userprincipalname ($Samaccountname + "@Mondomaine.local")
}
Dernière édition: il y a 2 ans 8 mois par ericlm128.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 8 mois - il y a 2 ans 8 mois #31113 par witness
Salut,

Pour le filtre, j'avais mis exprès -like et non -notlike justement pour que cela ne concerne que quelques users pour mes tests car sur la totalité j'en ai 3 qui ont le champ UPN complété. Mais finalement c'est aussi ça qui a possiblement posé problèlme, car si le champ n'est pas vide, il faut peut-être utiliser un paramètre en plus du genre "replace" ou autre.

Dans ton foreach, je vois que tu as remis $item avant le pipe et la commande Set-ADuser. Or, dans mon esprit, vu que foreach agit "sur chaque $item", je me suis dit qu'il n'y avait pas besoin de lui rappeler sur quoi il devait agir dans le bloc d'instruction, j'ai pensé que c'était implicite et que donc seule la commande suffisait.

Merci pour la correction, je vais tester.
Dernière édition: il y a 2 ans 8 mois par witness.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.072 secondes
Propulsé par Kunena