Question
Doublons générés lors du traitement import AD
- witness
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 120
- Remerciements reçus 1
il y a 2 ans 2 mois - il y a 2 ans 2 mois #31124
par witness
Réponse de witness sur le sujet Doublons générés lors du traitement import AD
Alors j'ai revérifié et tout est bon dans mon fichier d'import.
J'ai donc comparé les noms en erreur lors de l'import avec les noms de mon fichier d'import et toutes les erreurs en rapport avec l'UPN correspondent bien à des noms identiques et à des prénoms commençant par la même lettre.
"Dupond Alain" et "Dupond Alicia" ça ne passe pas au niveau de l'UPN
Ce qui s'explique puisque $SAM dans le script est composé de la première lettre du prénom + le nom complet.
J'ai donc comparé les noms en erreur lors de l'import avec les noms de mon fichier d'import et toutes les erreurs en rapport avec l'UPN correspondent bien à des noms identiques et à des prénoms commençant par la même lettre.
"Dupond Alain" et "Dupond Alicia" ça ne passe pas au niveau de l'UPN
Ce qui s'explique puisque $SAM dans le script est composé de la première lettre du prénom + le nom complet.
Dernière édition: il y a 2 ans 2 mois par witness.
Connexion ou Créer un compte pour participer à la conversation.
- ericlm128
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 169
- Remerciements reçus 35
il y a 2 ans 2 mois #31125
par ericlm128
Réponse de ericlm128 sur le sujet Doublons générés lors du traitement import AD
Il devrait bien s'incrémenter, peut tu faire un fichier d'import simple avec 2, 3 nom a problème et ajouter un write-host $SAM et write-host $UPN avec le New-ADuser afin de vérifier ?
Tu peux aussi vérifier que $AD_SAM contient bien tous les noms des compte SAM de l'ad ?
Tu peux aussi vérifier que $AD_SAM contient bien tous les noms des compte SAM de l'ad ?
Connexion ou Créer un compte pour participer à la conversation.
- witness
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 120
- Remerciements reçus 1
il y a 2 ans 2 mois - il y a 2 ans 2 mois #31127
par witness
Réponse de witness sur le sujet Doublons générés lors du traitement import AD
J'ai fait un autre test.
Dans le script j'ai enlevé le paramètre pour générer l'UPN afin d'éviter ces erreurs là et ne conserver que les erreurs liées à la création de du $SAM.
Mon fichier d'import contient ces données pour test:
Nom;Prenom;Classe;Identifiant
DUPOND;Assia;309;3743
DUPOND;Ambrine;610;7855
LOUIS;Virgile;102;6082
LOUIS;Victor;102;6078
PETIT;Lisa;104;4890
PETIT;Lou;502;4886
On a donc des paires de noms similaires et un prénom commençant par la même lettre.
Voici les erreurs:
Du coup j'ai 4 comptes sur les 6 qui sont créés.
Bizarrement pour DUPOND il a bien créé les deux comptes
adupond
adupond1
Dans le script j'ai enlevé le paramètre pour générer l'UPN afin d'éviter ces erreurs là et ne conserver que les erreurs liées à la création de du $SAM.
Mon fichier d'import contient ces données pour test:
Nom;Prenom;Classe;Identifiant
DUPOND;Assia;309;3743
DUPOND;Ambrine;610;7855
LOUIS;Virgile;102;6082
LOUIS;Victor;102;6078
PETIT;Lisa;104;4890
PETIT;Lou;502;4886
On a donc des paires de noms similaires et un prénom commençant par la même lettre.
Voici les erreurs:
New-ADuser : Le compte spécifié existe déjà
Au caractère Ligne:37 : 1
+ New-ADuser -displayName $displayName -Path $ou -Description $descript ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (CN=LOUIS Victor...,DC=local:String) [New-ADUser], ADIdentityAlreadyExistsException
+ FullyQualifiedErrorId : ActiveDirectoryServer:1316,Microsoft.ActiveDirectory.Management.Commands.NewADUser
New-ADuser : Le compte spécifié existe déjà
Au caractère Ligne:37 : 1
+ New-ADuser -displayName $displayName -Path $ou -Description $descript ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceExists: (CN=PETIT Lou [4...,DC=local:String) [New-ADUser], ADIdentityAlreadyExistsException
+ FullyQualifiedErrorId : ActiveDirectoryServer:1316,Microsoft.ActiveDirectory.Management.Commands.NewADUser
Du coup j'ai 4 comptes sur les 6 qui sont créés.
Bizarrement pour DUPOND il a bien créé les deux comptes
adupond
adupond1
Dernière édition: il y a 2 ans 2 mois par witness.
Connexion ou Créer un compte pour participer à la conversation.
- witness
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 120
- Remerciements reçus 1
il y a 2 ans 2 mois - il y a 2 ans 2 mois #31128
par witness
Réponse de witness sur le sujet Doublons générés lors du traitement import AD
Je remets le script que j'ai appliqué :
$users = import-csv -path "C:\Users\Administrateur\Desktop\importusers.csv" -delimiter ";"
$NewUsers = $users | ForEach-Object {
$sn = $_.Nom
$givenname = $_.Prenom
$Classe = $_.Classe
$identifiant = $_.identifiant
$ou = "OU=importusers,DC=Mondomaine,DC=local"
$description = 'GCU-ORG{$ELEVE}$' + $Classe
$SAM = $givenname.Substring(0,1).ToLower() + $sn.ToLower()
if ($AD_SAM -contains $SAM)
{
for ($i = 1 ; $AD_SAM -contains ($SAM + $i) ; $i++)
{
}
$SAM = $SAM + $i
}
$AD_SAM += $SAM
$CN = $sn + " " + $givenname + " " + "[$identifiant]"
$displayName = $CN
$UPN = $SAM + "@Mondomaine.local"
$userAccountControl = 66050
$CannotChangePassword = 1
$HomeDrive = "U"
$HomeDirectory = "\\test\test"
$ProfilePath = "C:\users"
$ScriptLogon = "test"
$Password = '{0}{1}' -f (get-random -Minimum 1000000 -Maximum 9999999), [char](get-random -Minimum 65 -Maximum 90)
$Password = $Password -replace '0',(Get-Random -Minimum 1 -Maximum 9) -replace 'O',[char](get-Random -Minimum 65 -Maximum 78)
$Secure_String_pwd = ConvertTo-SecureString $Password -AsPlainText -Force
$Enabled = 1
$Logins = Get-ADUser -SearchBase 'OU=importusers,DC=Mondomaine,DC=local' -filter * | Select-Object SamAccountName
New-ADuser -displayName $displayName -Path $ou -Description $description -SamAccountName $SAM -givenname $givenname -Surname $sn -name $displayName -PasswordNeverExpires $userAccountControl -CannotChangePassword $CannotChangePassword -HomeDrive $HomeDrive -HomeDirectory $HomeDirectory -ProfilePath $ProfilePath -ScriptPath $ScriptLogon -Enabled $Enabled -Accountpassword $Secure_String_pwd
[PSCustomObject]@{
Nom = $sn
Prenom = $givenname
OU = $ou
Description= $description
Login = $SAM
Lettre_lecteur = $HomeDrive
Dossier_personnel = $HomeDirectory
Chemin_profil = $ProfilePath
ScriptLogon = $ScriptLogon
Mot_de_passe = $Password
}
}
$NewUsers | Export-Csv -path "C:\Users\Administrateur\Desktop\export.csv" -Append -NoTypeInformation -Delimiter ";"
Dernière édition: il y a 2 ans 2 mois par witness.
Connexion ou Créer un compte pour participer à la conversation.
- witness
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 120
- Remerciements reçus 1
il y a 2 ans 2 mois - il y a 2 ans 2 mois #31129
par witness
Réponse de witness sur le sujet Doublons générés lors du traitement import AD
Fichier d'export
"Nom";"Prenom";"OU";"Description";"Login";"Lettre_lecteur";"Dossier_personnel";"Chemin_profil";"ScriptLogon";"Mot_de_passe"
"DUPOND";"Assia";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$309";"adupond";"U";"\\test\test";"C:\users";"test";"3924728L"
"DUPOND";"Ambrine";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$610";"adupond1";"U";"\\test\test";"C:\users";"test";"1665261B"
"LOUIS";"Virgile";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$102";"vlouis";"U";"\\test\test";"C:\users";"test";"7836293S"
"LOUIS";"Victor";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$102";"vlouis";"U";"\\test\test";"C:\users";"test";"4146413K"
"PETIT";"Lisa";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$104";"lpetit";"U";"\\test\test";"C:\users";"test";"3626739K"
"PETIT";"Lou";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$502";"lpetit";"U";"\\test\test";"C:\users";"test";"6113429P"
"Nom";"Prenom";"OU";"Description";"Login";"Lettre_lecteur";"Dossier_personnel";"Chemin_profil";"ScriptLogon";"Mot_de_passe"
"DUPOND";"Assia";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$309";"adupond";"U";"\\test\test";"C:\users";"test";"3924728L"
"DUPOND";"Ambrine";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$610";"adupond1";"U";"\\test\test";"C:\users";"test";"1665261B"
"LOUIS";"Virgile";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$102";"vlouis";"U";"\\test\test";"C:\users";"test";"7836293S"
"LOUIS";"Victor";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$102";"vlouis";"U";"\\test\test";"C:\users";"test";"4146413K"
"PETIT";"Lisa";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$104";"lpetit";"U";"\\test\test";"C:\users";"test";"3626739K"
"PETIT";"Lou";"OU=importusers,DC=Mondomaine,DC=local";"GCU-ORG{$ELEVE}$502";"lpetit";"U";"\\test\test";"C:\users";"test";"6113429P"
Dernière édition: il y a 2 ans 2 mois par witness.
Connexion ou Créer un compte pour participer à la conversation.
- ericlm128
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 169
- Remerciements reçus 35
il y a 2 ans 2 mois #31130
par ericlm128
Réponse de ericlm128 sur le sujet Doublons générés lors du traitement import AD
Avec le même csv voici mon code de test qui considère un AD vide, $AD_SAM = @(), pour le moment puisque le problème semble déjà se produire avec les entrants
Résultat :
$users = import-csv -path ".\importusers.csv" -delimiter ";"
$AD_SAM = @()
$NewUsers = $users | ForEach-Object {
$sn = $_.Nom
$givenname = $_.Prenom
$Classe = $_.Classe
$identifiant = $_.identifiant
$ou = "OU=importusers,DC=Mondomaine,DC=local"
$description = 'GCU-ORG{$ELEVE}$' + $Classe
$SAM = $givenname.Substring(0,1).ToLower() + $sn.ToLower()
if ($AD_SAM -contains $SAM)
{
for ($i = 1 ; $AD_SAM -contains ($SAM + $i) ; $i++)
{
}
$SAM = $SAM + $i
}
$AD_SAM += $SAM
$CN = $sn + " " + $givenname + " " + "[$identifiant]"
$displayName = $CN
$UPN = $SAM + "@Mondomaine.local"
$userAccountControl = 66050
$CannotChangePassword = 1
$HomeDrive = "U"
$HomeDirectory = "\\test\test"
$ProfilePath = "C:\users"
$ScriptLogon = "test"
$Password = '{0}{1}' -f (get-random -Minimum 1000000 -Maximum 9999999), [char](get-random -Minimum 65 -Maximum 90)
$Password = $Password -replace '0',(Get-Random -Minimum 1 -Maximum 9) -replace 'O',[char](get-Random -Minimum 65 -Maximum 78)
$Secure_String_pwd = ConvertTo-SecureString $Password -AsPlainText -Force
$Enabled = 1
#$Logins = Get-ADUser -SearchBase 'OU=importusers,DC=Mondomaine,DC=local' -filter * | Select-Object SamAccountName
#New-ADuser -displayName $displayName -Path $ou -Description $description -SamAccountName $SAM -givenname $givenname -Surname $sn -name $displayName -PasswordNeverExpires $userAccountControl -CannotChangePassword $CannotChangePassword -HomeDrive $HomeDrive -HomeDirectory $HomeDirectory -ProfilePath $ProfilePath -ScriptPath $ScriptLogon -Enabled $Enabled -Accountpassword $Secure_String_pwd
[PSCustomObject]@{
Nom = $sn
Prenom = $givenname
OU = $ou
Description= $description
Login = $SAM
Lettre_lecteur = $HomeDrive
Dossier_personnel = $HomeDirectory
Chemin_profil = $ProfilePath
ScriptLogon = $ScriptLogon
Mot_de_passe = $Password
}
}
$NewUsers.Login
# | Export-Csv -path "C:\Users\Administrateur\Desktop\export.csv" -Append -NoTypeInformation -Delimiter ";"
Résultat :
adupond
adupond1
vlouis
vlouis1
lpetit
lpetit1
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.076 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Doublons générés lors du traitement import AD