Question
Doublons générés lors du traitement import AD
- ericlm128
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 169
- Remerciements reçus 35
il y a 1 an 10 mois - il y a 1 an 10 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 1 an 10 mois par ericlm128.
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 1 an 10 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))
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 1 an 10 mois #31153
par witness
Ç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 witness 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.
- witness
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 120
- Remerciements reçus 1
il y a 1 an 10 mois #31154
par witness
Je vais regarder ça de plus près pour savoir un peu comment ça marche et tester
Réponse de witness 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.
- witness
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 120
- Remerciements reçus 1
il y a 1 an 10 mois - il y a 1 an 10 mois #31170
par witness
Réponse de witness 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 1 an 10 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 1 an 10 mois #31171
par witness
Réponse de witness 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.067 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Doublons générés lors du traitement import AD