Question Impossible d'ajouter des utilisateurs via un fichier CSV

Plus d'informations
il y a 1 mois 1 semaine #34112 par Bettaieb
Bonjour à tous , je souhaite ajouter des utilisateurs dans un domaine active directory via un fichier CSV , j'ai réussi à importer le fichier Csv mais lors du lancement du script (ci-dessous) , on m'indique "Création de l'utilisateur ...) mais on m'affiche également cet erreur :
New-ADUser : Le serveur ne souhaite pas traiter la requête
Au caractère Ligne:15 : 9
+         New-ADUser -Name "$UtilisateurNom $UtilisateurPrenom" `
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (CN=Bourdieu Pie...preuve,DC=LOCAL:String) [New-ADUser], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.NewADUser


(voila le script)
Foreach($Utilisateur in $CSVData){

    $UtilisateurPrenom = $Utilisateur.Prenom
    $UtilisateurNom = $Utilisateur.Nom
    $UtilisateurFonction = $Utilisateur.Fonction
    $UtilisateurLogin = ($UtilisateurPrenom).Substring(0,1) + "." + $UtilisateurNom
    $UtilisateurEmail = "$UtilisateurLogin@exemple.local"
    $UtilisateurMotDePasse = "mdpExemple"

     # Vérifier la présence de l'utilisateur dans l'AD
    if (Get-ADUser -Filter {SamAccountName -eq $UtilisateurLogin})
    {
        Write-Warning "L'identifiant $UtilisateurLogin existe déjà dans l'AD"
    }
    else
    {
        New-ADUser -Name "$UtilisateurNom" `
                    -DisplayName "$UtilisateurNom $UtilisateurPrenom" `
                    -GivenName $UtilisateurPrenom `
                    -Surname $UtilisateurNom `
            -Title $UtilisateurFonction `
                    -SamAccountName $UtilisateurLogin `
                    -UserPrincipalName "$UtilisateurLogin@Exemple.local" `
                    -EmailAddress $UtilisateurEmail `
                    -Path "OU=E5,DC=TestEpreuve,DC=LOCAL" `
                    -AccountPassword(ConvertTo-SecureString $UtilisateurMotDePasse -AsPlainText -Force) `
                    -ChangePasswordAtLogon $true `
                    -Enabled $true

        Write-Output "Création de l'utilisateur : $UtilisateurLogin ($UtilisateurNom $UtilisateurPrenom)"
    }
}
 

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

Plus d'informations
il y a 1 mois 1 semaine #34114 par Fabien
Bonjour,

Cette erreur peut avoir plusieurs raisons.
Cela peut venir du chemin de l'OU qui n'est pas bien renseigné, de l'AD qui est en lecture seule, l'import du CSV qui n'est pas correct, ...

Peux-tu nous montrer le code pour importer le fichier CSV ?
Tu as l'erreur pour la création de tous les utilisateurs ou uniquement un ?
As-tu essayé de créer un utilisateur avec ton code sans l'import CSV ?

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

Plus d'informations
il y a 1 mois 1 semaine - il y a 1 mois 1 semaine #34115 par Bettaieb
$CSVFile = "C:\Scripts\AD_USERS\Utilisateurs.csv"$CSVData = Import-CSV -Path $CSVFile -Delimiter ";" -Encoding UTF8voici la ligne de code qui m'a servi à importer mon fichier et voila le chemin ou se situe mon fichier ainsi que mon OU et mon groupe:     
 
Pièces jointes :
Dernière édition: il y a 1 mois 1 semaine par Bettaieb. Raison: oubli insersion image

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

Plus d'informations
il y a 1 mois 1 semaine - il y a 1 mois 1 semaine #34116 par Alastor
Bonjour,

Si tu crée - avec le même compte que celui qui lance le script - un compte à la main, y arrives tu ?
Ce test permet de lever tout doute sur les droits dont tu disposes.

Ensuite, pourquoi mettre tes variables entre quote dans l'appel de la commande new-aduser ?
tu prends des risques avec une valeur comme celle-ci : "$UtilisateurLogin@Exemple.local" 

Si tu ne veux pas afficher "Création..." en cas d'échec, tu dois utiliser à minima "-ErrorAction Stop" lors de l'appel de New-Aduser, le mieux étant d'utiliser en plus try/catch.

Pour l'erreur proprement dite, comme évoqué plus haut, ça peut être un problème de droit.
L'erreur peut également provenir de l'existence du compte, car le test "get-aduser" sur le samaccountname n'est pas suffisant. Le samaccountname doit être unique dans le domaine, mais le distinguishedname également, le "displayname" (si je ne me trompe pas, j'ai un doute avec le Name et autres attributs qui par défaut ont la même valeur) doit donc être unique dans l'OU...

L'erreur indique vraiment : "Le serveur ne souhaite pas traiter la requête" ?
Ca ne m'évoque rien 

Bref, pas de réponse, mais des pistes 

PS : personnellement, les ` en fin de ligne j'évite, je t'invite à chercher "powershell splatting" sur google, le résultat sera beaucoup plus propre 
Dernière édition: il y a 1 mois 1 semaine par Alastor.

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

Plus d'informations
il y a 1 mois 1 semaine #34118 par Bettaieb
Oui je possède les droits de créations d'utilisateurs , j'en avais déjà créer manuellement quelques uns pour effectuer d'autres types de tests .

Et oui , l'erreur m'affiche bien que le serveur ne veut pas traiter ma requête

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

Plus d'informations
il y a 1 mois 1 semaine #34120 par Fabien
Peux-tu me donner le résultat de la commande suivante ?
Get-ADDomain | Select-Object DistinguishedName

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

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