Question
Doublons générés lors du traitement import AD
- ericlm128
- Visiteur
-
il y a 4 ans 11 mois - il y a 4 ans 11 mois #31151
par ericlm128
Réponse de ericlm128 sur le sujet Doublons générés lors du traitement import AD
Comme ceci en fait
$SAM = "ROBERT BERNARD JOHN @ '"
$SAM = $SAM -replace '[^a-z0-9]+', ''
$SAM
Dernière édition: il y a 4 ans 11 mois par ericlm128.
Connexion ou Créer un compte pour participer à la conversation.
- ericlm128
- Visiteur
-
il y a 4 ans 11 mois #31152
par ericlm128
Réponse de ericlm128 sur le sujet Doublons générés lors du traitement import AD
Fait ceci
$SAM.SubString(0, [Math]::Min(19, $SAM.length))Connexion ou Créer un compte pour participer à la conversation.
- witness57
- Auteur du sujet
- Visiteur
-
il y a 4 ans 11 mois #31153
par witness57
Ça enlève aussi les espace ?
Dans mon post d'avant j'ai intégré deux -replace parce que le premier ne prenait pas les espace en compte.
Réponse de witness57 sur le sujet Doublons générés lors du traitement import AD
Comme ceci en fait
$SAM = "ROBERT BERNARD JOHN @ '" $SAM = $SAM -replace '[^a-z0-9]+', '' $SAM
Ça enlève aussi les espace ?
Dans mon post d'avant j'ai intégré deux -replace parce que le premier ne prenait pas les espace en compte.
Connexion ou Créer un compte pour participer à la conversation.
- witness57
- Auteur du sujet
- Visiteur
-
il y a 4 ans 11 mois #31154
par witness57
Je vais regarder ça de plus près pour savoir un peu comment ça marche et tester
Réponse de witness57 sur le sujet Doublons générés lors du traitement import AD
Fait ceci
$SAM.SubString(0, [Math]::Min(19, $SAM.length))
Je vais regarder ça de plus près pour savoir un peu comment ça marche et tester
Connexion ou Créer un compte pour participer à la conversation.
- witness57
- Auteur du sujet
- Visiteur
-
il y a 4 ans 11 mois - il y a 4 ans 11 mois #31170
par witness57
Réponse de witness57 sur le sujet Doublons générés lors du traitement import AD
Hello,
Ça réduit à 19 caractères puis ça enlève tous les caractères dont les espaces sauf chiffres et lettres
$SAM.SubString(0, [Math]::Min(19, $SAM.length)) -replace '[^a-z A-Z 0-9]+','' -replace '[ ]',''Ça réduit à 19 caractères puis ça enlève tous les caractères dont les espaces sauf chiffres et lettres
Dernière édition: il y a 4 ans 11 mois par witness57.
Connexion ou Créer un compte pour participer à la conversation.
- witness57
- Auteur du sujet
- Visiteur
-
il y a 4 ans 11 mois #31171
par witness57
Réponse de witness57 sur le sujet Doublons générés lors du traitement import AD
Je viens de voir qu'en exécutant le script après avoir modifié ces deux lignes ci-dessous en ajoutant -replace '[^a-z0-9]+', ''
et en ayant ajouté celle-ci
Mon export csv ne fonctionne plus, au lieu des données en sortie aves les champs qui vont bien, mon export contient la propriété Length avec sa valeur.
Voici le script:
$sn = $_.Nom -replace '[^a-z0-9]+', ''
$givenname = $_.Prenom -replace '[^a-z0-9]+', ''
et en ayant ajouté celle-ci
$SAM.SubString(0, [Math]::Min(19, $SAM.length)) -replace '[^a-z A-Z 0-9]+','' -replace '[ ]',''
Mon export csv ne fonctionne plus, au lieu des données en sortie aves les champs qui vont bien, mon export contient la propriété Length avec sa valeur.
Voici le script:
$users = import-csv -path "C:\Users\Administrateur\Desktop\importusers.csv" -delimiter ";"
$AD_SAM = get-ADuser -filter * -SearchBase "DC=Mondomaine,DC=local" | Select-Object -ExpandProperty SamAccountName
$NewUsers = $users | ForEach-Object {
$sn = $_.Nom -replace '[^a-z0-9]+', ''
$givenname = $_.Prenom -replace '[^a-z0-9]+', ''
$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
$SAM.SubString(0, [Math]::Min(19, $SAM.length)) -replace '[^a-z A-Z 0-9]+','' -replace '[ ]',''
$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
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\Administrateur\Desktop\export.csv" -Append -NoTypeInformation -Delimiter ";"
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.049 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Doublons générés lors du traitement import AD