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 1 mois #31321
par witness
Merci, je pense avoir la réponse.
Réponse de witness sur le sujet Doublons générés lors du traitement import AD
Afin que je ne te dise pas de sottise je te laisse lire la documentation officiel elle est assez ludique
docs.microsoft.com/fr-fr/powershell/modu...?view=powershell-7.1
Merci, je pense avoir la réponse.
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 1 mois - il y a 2 ans 1 mois #31326
par witness
Réponse de witness sur le sujet Doublons générés lors du traitement import AD
Hello,
j'ai passé le script sur le DC en exploitation et je rencontre deux erreurs.
Je précise que jusqu'à maintenant, je faisais mes tests sur un DC 2019 alors que le DC sur lequel je dois lancer la création des comptes est 2012R2.
Je ne sais pas si le problème peut venir de la version de powershell mais je commence à me dire que c'est fort probable ?
Voilà ce que j'obtiens:
Voilà le script que j'ai passé:
Merci merci
j'ai passé le script sur le DC en exploitation et je rencontre deux erreurs.
Je précise que jusqu'à maintenant, je faisais mes tests sur un DC 2019 alors que le DC sur lequel je dois lancer la création des comptes est 2012R2.
Je ne sais pas si le problème peut venir de la version de powershell mais je commence à me dire que c'est fort probable ?
Voilà ce que j'obtiens:
Impossible d'appeler une méthode dans une expression Null.
Au caractère Ligne:8 : 5
+ $SAM = $givenname.Substring(0,1).ToLower() + $sn.ToLower()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:) , RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
New-ADuser : Le nom fourni n'est pas un nom de compte formé correctement
Au caractère Ligne:37 : 1
+ New-ADuser -displayName $displayName -Path $ou -Description $description -SamAcc ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (CN=TEST\,TEST\,...lorraine,DC=com:String) [New-ADUser], ADException
+ FullyQualifiedErrorId : ActiveDirectoryServer:1315,Microsoft.ActiveDirectory.Management.Commands.NewADUser
Voilà le script que j'ai passé:
function Remove-DiacriticsAndSpaces
{
Param(
[String]$inputString
)
#Remplace les diacritics
$sb = [Text.Encoding]::ASCII.GetString([Text.Encoding]::GetEncoding("Cyrillic").GetBytes($inputString))
#Supprime les espaces et tout ce que la fonction ci-dessus a pu manquer
return($sb -replace '[^a-z0-9]','')
}
$users = import-csv -path "C:\Users\usr-admin\Desktop\Import AD eleves.csv" -delimiter ";"
$AD_SAM = get-ADuser -filter * -SearchBase "Mondomaine" | Select-Object -ExpandProperty SamAccountName
$NewUsers = $users | ForEach-Object {
$sn = ($_.Nom).ToUpper() -replace '[ ]+',' '
$givenname = $_.Prenom
$Classe = $_.Classe
$identifiant = $_.identifiant
$ou = "OU=Eleves,DC=Mondomaine"
$description = 'GCU-ORG$ELEVE$' + $Classe
$SAM = $givenname.Substring(0,1).ToLower() + $sn.ToLower()
$SAM = Remove-DiacriticsAndSpaces -inputString $SAM
$SAM = $SAM.SubString(0, [Math]::Min(19, $SAM.length))
if ($AD_SAM -contains $SAM)
{
for ($i = 1 ; ; $i++)
{
$SAMtmp = $SAM.SubString(0, [Math]::Min(19 - $i.ToString().Length, $SAM.length)) + $i.ToString()
if ($AD_SAM -notcontains $SAMtmp)
{
$SAM = $SAMtmp
break
}
}
}
$AD_SAM += $SAM
$CN = $sn + " " + $givenname + " " + "[$identifiant]"
$displayName = $CN
$UPN = $SAM + "@Mondomaine.e-lorraine.com"
$userAccountControl = 66050
$CannotChangePassword = 1
$HomeDrive = "U"
$HomeDirectory = "\\test\test"
$ProfilePath = "\\server-data\Profils_Eleves\%profil%"
$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
New-ADuser -displayName $displayName -Path $ou -Description $description -SamAccountName $SAM -givenname $givenname -Surname $sn -name $displayName -UserPrincipalName $UPN -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\usr-admin\Desktop\export.csv" -Encoding UTF8 -Append -NoTypeInformation -Delimiter ";"
Merci merci
Dernière édition: il y a 2 ans 1 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 1 mois #31327
par ericlm128
Réponse de ericlm128 sur le sujet Doublons générés lors du traitement import AD
Il semblerait que dans ton csv tu as un Prenom vide
Il t'en crée comme même ? Fait du pas à pas sinon pour voir ce qui cloche.
Il t'en crée comme même ? Fait du pas à pas sinon pour voir ce qui cloche.
Les utilisateur(s) suivant ont remercié: 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 1 mois #31328
par witness
Réponse de witness sur le sujet Doublons générés lors du traitement import 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 3 semaines - il y a 2 ans 3 semaines #31338
par witness
Réponse de witness sur le sujet Doublons générés lors du traitement import AD
Hello,
J'ai pu faire mon import de tous les comptes en ce début d'année.
Le script fonctionne à la perfection.
Je voulais vous remercier encore pour votre aide.
Ça me permet aussi d'apprendre pas mal de choses.
Je viendrai encore vous embêter sans doute lorsqu'il s'agira de faire évoluer le script de manière à gérer la mise à jour des comptes nouveaux, à modifier et à supprimer.
J'ai pu faire mon import de tous les comptes en ce début d'année.
Le script fonctionne à la perfection.
Je voulais vous remercier encore pour votre aide.
Ça me permet aussi d'apprendre pas mal de choses.
Je viendrai encore vous embêter sans doute lorsqu'il s'agira de faire évoluer le script de manière à gérer la mise à jour des comptes nouveaux, à modifier et à supprimer.
Dernière édition: il y a 2 ans 3 semaines par witness.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.072 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Doublons générés lors du traitement import AD