locked
Créations d'Utilisateurs dans un AD à partir d'un fichier CSV RRS feed

  • Question

  • Bonjour,

    Je souhaiterais connaitre la manipulation pour créer des utilisateurs dans mon domaine ActiveDirectory 2008R2 via certainement un script à partir d'un fichier CSV qui comprendrait la liste des Utilisateurs.

    Merci ! :)

    mercredi 16 mai 2012 13:11

Réponses

  • arghh csvde ne peut pas gérer les mots de passes.

    C'est pas grave j'ai trouvé par du VBScript ici : http://reseauactif.free.fr/etudes/w2k/scriptVBS.txt lié à un fichier txt

    merci en tout cas

    lundi 21 mai 2012 14:23
  • En powershell vous pouvez utiliser quelque chose du genre :

    $defpwd = Convertto-securestring -AsPlainText -Force "motdepassepardefaut"
    import-csv -path mesusers.csv -Delimiter ';' | foreach { new-ADUser -AccountPassword $defpwd -name $_.name -DisplayName ($_.firstname + ' ' + $_.lastname) -enabled $true -firstname $_.firstname -surname$-.lastname -SamAccountName $_.samname }

    Regarder l'aide de new-aduser, import-csv et convertto-securestring pour voir les différentes possibilitées, attention par contre au doublon pour SamAccountName et UserPrincipalName.

    Si vous voulez utiliser une élévation de privilège à l'intérieur du script (si votre compte n'est pas autorisé à créer des comptes), vous pouvez faire un

    $ADCRED = get-credential
    et utiliser le paramètre -Credential de New-ADUser


    mardi 22 mai 2012 07:15
  • Bonjour,

    Voici comment j'ai procédé pour créer des utilisateurs AD avec un fichier CSV.

    SCRIPT POWERSHELL CREATION UTILISATEURS ACTIVE DIRECTORY

    <small class="author">Guillaume POMENTE</small><small class="date">| 25 juillet 2011</small>

    Pour éviter de saisir les utilisateurs un par un dans Active Directory, il est nécessaire de faire un script qui va automatiser cette manipulation. J’ai réalisé un script en powershell. Voici comment j’ai procédé. Le script a été testé sur Microsoft Windows Serveur 2008 R2 Standard 64 Bits

    Sources :

     1 – Installation d’applets (commandes powershell) supplémentaire

    Pour créer les utilisateurs en utilisant la commande New-ADUser il faut installer des applets supplémentaires. Les télécharger à l’adresse suivante.

    http://www.quest.com/powershell/activeroles-server.aspx

    Après avoir téléchargé le fichier, double cliquer sur le fichier. La fenêtre suivante apparait.

    Cliquer sur Next

    Cocher I accept the terms in the License Agreement puis cliquer sur Next

    Saisir le Nom et l’Entreprise puis cliquer sur Next.

    Cliquer sur Install

    L’installation se déroule

    Cliquer sur Finish pour terminer l’installation.

    Les applets sont maintenant installés. Il y a deux possibilités pour les utiliser. Tout d’abord en saisissant cette commande Add-PSSnapin Quest.ActiveRoles.ADManagement dans une fenêtre shell qui va permettre de charger le module

    Saisir la commande puis appuyer sur [Entree]

    Puis saisir les commandes de format New-QA… par exemple New-QADUser qui permet de rajouter un utilisateur dans active directory.

    Il existe aussi un shell qui prend en compte directement le module. Pour l’exécuter, cliquer sur Démarrer > Saisir PowerShell > Module Active Directory pour Windows PowerShell

    La fenêtre suivante apparait et saisir les commandes de format New-A… par exemple New-ADUser qui permet de rajouter un utilisateur dans active directory.

    2 – Création du Script et du fichier CSV

    2-1 Le Script

    Dans mon cas, le script va s’exécuter via powershell . Le script va commencer par charger le module Quest Active Directory puis importer l’utilisateur depuis un fichier CSV et pour finir créer l’utilisateur.

    Dans le script, modifier suivant vos informations les parties en gras. Les utilisateurs seront ajoutés dans Users. Le script et le fichier CSV sont stocké dans C:\Add_User_Powershell\.

     

    #

    # Création d’utilisateurs dans Active Directory

    # Ce script interroge un fichier CSV contenant la liste des utilisateurs

    #

    # Pré-Requis

    # [+] http://www.quest.com/powershell/activeroles-server.aspx

    #

    # Auteur : POMENTE Guillaume

    # Blog : http://guillaume-p.net

    #

    # Version 1.0

     

    # Chargement du module Quest ActiveDirectory

    echo « Chargement du Module Quest Active Directory »

    Add-PSSnapin Quest.ActiveRoles.ADManagement

     

    # Importation du fichier .CSV

    echo « Importation du fichier CSV »

    $utilisateurs = Import-Csv -path « C:\Add_User_Powershell\test_users.csv » -delimiter « ; »

     

    # Création de l’utilisateur

     

    foreach($utilisateurs in $utilisateurs)

        {

            $pass = $utilisateurs.password

            $nom = $utilisateurs.sn

            $prenom = $utilisateurs.givenname

            $displayname = $utilisateurs.displayname

            $name = $utilisateurs.name

            $login = $utilisateurs.samaccountname

            $mail = $utilisateurs.mail

            $ou = « CN=Users,DC=votredomaine,DC=local »

            $password = $utilisateurs.password


    echo « Création de l’utilisateur $displayname »

     

            new-QADuser -name « $name » -FirstName « $prenom » -LastName « $nom » -displayname « $displayname » -samaccountname « $login » -email « $mail » -UserPassword (convertto-securestring « $password » -asplaintext -force ) -ParentContainer « $ou » | Enable-QADUser

     

    echo « Utilisateur $displayname crée »

        }

     

    Si jamais vous souhaitez passer directement par le Module Active Directory pour Windows PowerShell (vu ci-dessus) remplacer la commande new-QADuser -name « $name […]Enable-QADUser par celle-ci :

     

    New-ADUser –name « $name » –givenname « $givenname » –surname « $sn » –displayname « $displayname » –samaccountname « $login » –emailaddress « $mail » –enabled 1 –accountpassword (convertto-securestring $password –asplaintext –force)

     

    2-2 Le fichier CSV

     

    Le fichier CSV, va contenir la liste de tous les utilisateurs à créer. Il doit être rédigé comme ci-dessous.

     

    displayname;sn;givenname;name;samaccountname;mail;password

    Prenom Nom;Nom;Prenom;identifiant;identifiant;adresse mail;motdepasse;

    2-3 Execution du script

    Vérifier que votre script et votre fichier CSV sont dans le même dossier. Dans mon cas C:\Add_User_Powershell\

    Se déplacer dans le dossier Add_User_Powershell

    cd C:\ Add_User_Powershell

    Saisir .\nomduscript.ps1 dans mon cas .\add_users_AD.ps1

    Si tout s’est correctement déroulé, vous devriez avoir cette fenêtre avec un récapitulatif des utilisateurs créés.

    Disponible sur mon blog : http://www.guillaume-p.net/script-powershell-creation-utilisateurs-active-directory/

    Cordialement,

    mercredi 23 mai 2012 12:32

Toutes les réponses

  • Regardez cet article des Scripting Guys: http://blogs.technet.com/b/heyscriptingguy/archive/2008/10/20/how-can-i-create-users-from-a-csv-file.aspx


    This posting is provided "AS IS" with no warranties or guarantees , and confers no rights.   

    Microsoft Student Partner 2010 / 2011
    Microsoft Certified Professional
    Microsoft Certified Systems Administrator: Security
    Microsoft Certified Systems Engineer: Security
    Microsoft Certified Technology Specialist: Windows Server 2008 Active Directory, Configuration
    Microsoft Certified Technology Specialist: Windows Server 2008 Network Infrastructure, Configuration
    Microsoft Certified Technology Specialist: Windows Server 2008 Applications Infrastructure, Configuration
    Microsoft Certified Technology Specialist: Windows 7, Configuring
    Microsoft Certified Technology Specialist: Designing and Providing Volume Licensing Solutions to Large Organizations
    Microsoft Certified IT Professional: Enterprise Administrator
    Microsoft Certified IT Professional: Server Administrator
    Microsoft Certified Trainer

    Lien vers mon site Web: http://www.ahmedmalek.com/web/fr/home.asp

    Pour suivre mon activité: http://www.facebook.com/TunisianIt

    mercredi 16 mai 2012 15:53
    Auteur de réponse
  • Salut,

    aussi ce lien peut vous aidez : http://technet.microsoft.com/en-us/library/cc772704(WS.10).aspx


    Oussama Oueslati | System Engineer | vNext Consulting

    mercredi 16 mai 2012 17:01
  • arghh csvde ne peut pas gérer les mots de passes.

    C'est pas grave j'ai trouvé par du VBScript ici : http://reseauactif.free.fr/etudes/w2k/scriptVBS.txt lié à un fichier txt

    merci en tout cas

    lundi 21 mai 2012 14:23
  • En powershell vous pouvez utiliser quelque chose du genre :

    $defpwd = Convertto-securestring -AsPlainText -Force "motdepassepardefaut"
    import-csv -path mesusers.csv -Delimiter ';' | foreach { new-ADUser -AccountPassword $defpwd -name $_.name -DisplayName ($_.firstname + ' ' + $_.lastname) -enabled $true -firstname $_.firstname -surname$-.lastname -SamAccountName $_.samname }

    Regarder l'aide de new-aduser, import-csv et convertto-securestring pour voir les différentes possibilitées, attention par contre au doublon pour SamAccountName et UserPrincipalName.

    Si vous voulez utiliser une élévation de privilège à l'intérieur du script (si votre compte n'est pas autorisé à créer des comptes), vous pouvez faire un

    $ADCRED = get-credential
    et utiliser le paramètre -Credential de New-ADUser


    mardi 22 mai 2012 07:15
  • je connais pas trop le powershell j'ai du mal à voir dans l'exemple cité ci-dessus ce que je dois remplacer par les valeurs souhaités 

    Est ce les valeurs qui commence par $ ?

    "

    $defpwd = Convertto-securestring -AsPlainText -Force "motdepassepardefaut"
    import-csv -path mesusers.csv -Delimiter ';' | foreach { new-ADUser -AccountPassword $defpwd -name$_.name -DisplayName ($_.firstname + ' ' + $_.lastname) -enabled $true -firstname $_.firstname -surname$-.lastname -SamAccountName $_.samname }

    "

    -> J'ai mis en gras-italique ce que je pense ce qu'il faut changer..est ce exact ?

    -> A Quoi sert la 1e phrase à mettre dans le script ?

    -> Comment avoir un rapport du résultat car une fois executer je n'ai aucune réponse du powershell ni l'utilisateur crée à partir du fichier CSV

    mercredi 23 mai 2012 06:57
  • Bonjour,

    Voici comment j'ai procédé pour créer des utilisateurs AD avec un fichier CSV.

    SCRIPT POWERSHELL CREATION UTILISATEURS ACTIVE DIRECTORY

    <small class="author">Guillaume POMENTE</small><small class="date">| 25 juillet 2011</small>

    Pour éviter de saisir les utilisateurs un par un dans Active Directory, il est nécessaire de faire un script qui va automatiser cette manipulation. J’ai réalisé un script en powershell. Voici comment j’ai procédé. Le script a été testé sur Microsoft Windows Serveur 2008 R2 Standard 64 Bits

    Sources :

     1 – Installation d’applets (commandes powershell) supplémentaire

    Pour créer les utilisateurs en utilisant la commande New-ADUser il faut installer des applets supplémentaires. Les télécharger à l’adresse suivante.

    http://www.quest.com/powershell/activeroles-server.aspx

    Après avoir téléchargé le fichier, double cliquer sur le fichier. La fenêtre suivante apparait.

    Cliquer sur Next

    Cocher I accept the terms in the License Agreement puis cliquer sur Next

    Saisir le Nom et l’Entreprise puis cliquer sur Next.

    Cliquer sur Install

    L’installation se déroule

    Cliquer sur Finish pour terminer l’installation.

    Les applets sont maintenant installés. Il y a deux possibilités pour les utiliser. Tout d’abord en saisissant cette commande Add-PSSnapin Quest.ActiveRoles.ADManagement dans une fenêtre shell qui va permettre de charger le module

    Saisir la commande puis appuyer sur [Entree]

    Puis saisir les commandes de format New-QA… par exemple New-QADUser qui permet de rajouter un utilisateur dans active directory.

    Il existe aussi un shell qui prend en compte directement le module. Pour l’exécuter, cliquer sur Démarrer > Saisir PowerShell > Module Active Directory pour Windows PowerShell

    La fenêtre suivante apparait et saisir les commandes de format New-A… par exemple New-ADUser qui permet de rajouter un utilisateur dans active directory.

    2 – Création du Script et du fichier CSV

    2-1 Le Script

    Dans mon cas, le script va s’exécuter via powershell . Le script va commencer par charger le module Quest Active Directory puis importer l’utilisateur depuis un fichier CSV et pour finir créer l’utilisateur.

    Dans le script, modifier suivant vos informations les parties en gras. Les utilisateurs seront ajoutés dans Users. Le script et le fichier CSV sont stocké dans C:\Add_User_Powershell\.

     

    #

    # Création d’utilisateurs dans Active Directory

    # Ce script interroge un fichier CSV contenant la liste des utilisateurs

    #

    # Pré-Requis

    # [+] http://www.quest.com/powershell/activeroles-server.aspx

    #

    # Auteur : POMENTE Guillaume

    # Blog : http://guillaume-p.net

    #

    # Version 1.0

     

    # Chargement du module Quest ActiveDirectory

    echo « Chargement du Module Quest Active Directory »

    Add-PSSnapin Quest.ActiveRoles.ADManagement

     

    # Importation du fichier .CSV

    echo « Importation du fichier CSV »

    $utilisateurs = Import-Csv -path « C:\Add_User_Powershell\test_users.csv » -delimiter « ; »

     

    # Création de l’utilisateur

     

    foreach($utilisateurs in $utilisateurs)

        {

            $pass = $utilisateurs.password

            $nom = $utilisateurs.sn

            $prenom = $utilisateurs.givenname

            $displayname = $utilisateurs.displayname

            $name = $utilisateurs.name

            $login = $utilisateurs.samaccountname

            $mail = $utilisateurs.mail

            $ou = « CN=Users,DC=votredomaine,DC=local »

            $password = $utilisateurs.password


    echo « Création de l’utilisateur $displayname »

     

            new-QADuser -name « $name » -FirstName « $prenom » -LastName « $nom » -displayname « $displayname » -samaccountname « $login » -email « $mail » -UserPassword (convertto-securestring « $password » -asplaintext -force ) -ParentContainer « $ou » | Enable-QADUser

     

    echo « Utilisateur $displayname crée »

        }

     

    Si jamais vous souhaitez passer directement par le Module Active Directory pour Windows PowerShell (vu ci-dessus) remplacer la commande new-QADuser -name « $name […]Enable-QADUser par celle-ci :

     

    New-ADUser –name « $name » –givenname « $givenname » –surname « $sn » –displayname « $displayname » –samaccountname « $login » –emailaddress « $mail » –enabled 1 –accountpassword (convertto-securestring $password –asplaintext –force)

     

    2-2 Le fichier CSV

     

    Le fichier CSV, va contenir la liste de tous les utilisateurs à créer. Il doit être rédigé comme ci-dessous.

     

    displayname;sn;givenname;name;samaccountname;mail;password

    Prenom Nom;Nom;Prenom;identifiant;identifiant;adresse mail;motdepasse;

    2-3 Execution du script

    Vérifier que votre script et votre fichier CSV sont dans le même dossier. Dans mon cas C:\Add_User_Powershell\

    Se déplacer dans le dossier Add_User_Powershell

    cd C:\ Add_User_Powershell

    Saisir .\nomduscript.ps1 dans mon cas .\add_users_AD.ps1

    Si tout s’est correctement déroulé, vous devriez avoir cette fenêtre avec un récapitulatif des utilisateurs créés.

    Disponible sur mon blog : http://www.guillaume-p.net/script-powershell-creation-utilisateurs-active-directory/

    Cordialement,

    mercredi 23 mai 2012 12:32
  • woaw j'en demandais pas autant merci en tout cas !
    mercredi 23 mai 2012 12:53
  • je vais regarder ça !
    mercredi 23 mai 2012 12:53
  • bonjour,

    merci pour votre tres bonne procédure :-)

    il y a un point que je ne comprend pas cependant ...

    pourquoi utilisez vous un addon suplémentaire "quest" ?  quel en est l'interet reel puisque l'ensemble de vos commandes ont une équivalence dans le module AD a part si je me trompe ?

    merci a vous

    lundi 4 novembre 2013 17:48
  • Merci !

    C'est très claire !

    mardi 23 mai 2017 14:25