Batch DSADD OU, Groups et Users

BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -  
BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous.

Je suis en train de créer un script batch pour mon boulot mais la je coince.
(petite précision, je suis en bts spécialiste système et réseau 1er année et je touche très peu en scripts =)

Je pars d'un txt qui ressemble à ça:

JOSEPH,Ouellet,P@ssw0rd,Direction,Membre,description,2,6,Direction,email
MARIE,Gauthier,P@ssw0rd,,Direction,Membre,description,2,6,Direction,email
PIERRE,Pépin,P@ssw0rd,Technicien,Membre,description,2,6,Production,email


Puis mon batch en lui même:


@echo off
for /F "tokens=1-10 delims=," %%a in (C:\nom1.txt) do (
dsadd ou ou=%%d,ou=%%e,DC=dom,DC=test" -scope g
dsadd group CN=%%d, OU=%%d, DC=dom, DC=test, -scope g
dsadd group CN=%%e, OU=%%d, DC=dom, DC=test, -scope g
dsadd user "CN=%%a.%%b, ou=Armor-meca, OU=%%d, OU=%%e, DC=dom, DC=test" -fn %%b -ln %%a -mi %a:~0.1%!%b:~0.1% -desc %%f -pwd %%c -mustchpwd yes -disabled no -memberof %%d!%%e -tel %%g r -mobile %%h -email %%j
)



Je voulais créer du seul coup, les OU, les Groupes et les Users.

Le problème c'est que... rien ne marche et la je sèche.

Si une âme charitable passait par là.

merci

Ps: si en plus cela peut aider quelqu'un par la suite c'est tout bon.
PPS: J'ai bien pensé au powershell mais ça sera pour un peu plus tard.

7 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
avec un echo devant les dsadd, le commandes ont elles l'air correctes ?
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
-mi %a:~0.1%!%b:~0.1%
ceci n'a pas l'air correct, que faut-il faire ?
0
BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Salut à toi et merci de prendre le temps de me répondre.

Pour ce qui est de echo, non elles non pas l'air bonnes; ça me fait même planter le cmd...


-mi %a:~0.1%!%b:~0.1%

C'est vrai que pour moi non plus ça ne l'est pas...

Cette ligne doit servir à inscrire les initiales en prenant la première lettre de la colonne a et la première de la colonne b (prénom,nom).
Mais ça me semble bien bancal.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
essayer ceci
@echo off
setlocal enableDelayedExpansion
for /F "tokens=1-10 delims=," %%a in (C:\nom.txt) do (
set n1=%%a
set n2=%%b
set n1=!n1:~0,1!
set n2=!n2:~0,1!

dsadd ou ou=%%d,ou=%%e,DC=dom,DC=test" -scope g
dsadd group CN=%%d, OU=%%d, DC=dom, DC=test, -scope g
dsadd group CN=%%e, OU=%%d, DC=dom, DC=test, -scope g
dsadd user "CN=%%a.%%b, ou=Armor-meca, OU=%%d, OU=%%e, DC=dom, DC=test" -fn %%b -ln %%a -mi !n1!!n2! -desc %%f -pwd %%c -mustchpwd yes -disabled no -memberof %%d!%%e -tel %%g r -mobile %%h -email %%j
)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Rien :/

Le cmd apparaît puis disparaît...

Quand je glisse le bat dans le cmd il me ressort ça:

C:\Users\Administrateur>for /F "tokens=1-10 delims=," %%a in (C:\Users\Administr
ateur\Desktop\testliste.txt) do (
%%a était inattendu.

C:\Users\Administrateur>set n1=%%a

C:\Users\Administrateur>set n2=%%b

C:\Users\Administrateur>set n1=!n1:~0,1!

C:\Users\Administrateur>set n2=!n2:~0,1!

C:\Users\Administrateur>dsadd ou ou=%%d,ou=%%e,DC=dom,DC=test" -scope g
dsadd échec:ou=%%d,ou=%%e,DC=dom,DC=test -scope g:Une référence a été renvoyée p
ar le serveur.
Entrez dsadd /? pour afficher l'aide.
C:\Users\Administrateur>dsadd group CN=%%d, OU=%%d, DC=dom, DC=test, -scope g
dsadd a échoué : « OU=%%d, » est un paramètre inconnu.
Entrez dsadd /? pour afficher l'aide.
C:\Users\Administrateur>dsadd group CN=%%e, OU=%%d, DC=dom, DC=test, -scope g
dsadd a échoué : « OU=%%d, » est un paramètre inconnu.
Entrez dsadd /? pour afficher l'aide.
C:\Users\Administrateur>dsadd user "CN=%%a.%%b, ou=Armor-meca, OU=%%d, OU=%%e, D
C=dom, DC=test" -fn %%b -ln %%a -mi !n1!!n2! -desc %%f -pwd %%c -mustchpwd yes -
disabled no -memberof %%d!%%e -tel %%g r -mobile %%h -email %%j
dsadd a échoué : « r » est un paramètre inconnu.
Entrez dsadd /? pour afficher l'aide.
C:\Users\Administrateur>)


Petite question, pourquoi un -scope g pour les OU ?

Merci

Petite précision qui peut avoir sont importance je test sur un 2012 pas R2.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
il vaut mieux ouvrir une fenetre DOS et exécuter le .bat dedans pour voir ce qu'il se passe
0
BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
yep
0
BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Un peu de lecture: =)

C:\Users\Administrateur>"C:\Users\Administrateur\Desktop\dsadd cmc - Copie.bat"
dsadd échec:ou=department,ou=title,DC=dom,DC=test -scope g:Une référence a été r
envoyée par le serveur.
Entrez dsadd /? pour afficher l'aide.dsadd a échoué : « OU=department, » est un
paramètre inconnu.
Entrez dsadd /? pour afficher l'aide.dsadd a échoué : « OU=department, » est un
paramètre inconnu.
Entrez dsadd /? pour afficher l'aide.dsadd a échoué : Aucune valeur n'est spécif
iée pour « mobile ».
Entrez dsadd /? pour afficher l'aide.dsadd échec:ou=Direction,ou=Directeur,DC=do
m,DC=test -scope g:Une référence a été renvoyée par le serveur.
Entrez dsadd /? pour afficher l'aide.dsadd a échoué : « OU=Direction, » est un p
aramètre inconnu.
Entrez dsadd /? pour afficher l'aide.dsadd a échoué : « OU=Direction, » est un p
aramètre inconnu.
Entrez dsadd /? pour afficher l'aide.dsadd a échoué : « BAPTISTE » est un paramè
tre inconnu.
Entrez dsadd /? pour afficher l'aide.dsadd échec:ou=Direction,ou=Membre,DC=dom,D
C=test -scope g:Une référence a été renvoyée par le serveur.
Entrez dsadd /? pour afficher l'aide.dsadd a échoué : « OU=Direction, » est un p
aramètre inconnu.
Entrez dsadd /? pour afficher l'aide.dsadd a échoué : « OU=Direction, » est un p
aramètre inconnu.
Entrez dsadd /? pour afficher l'aide.dsadd a échoué : « r » est un paramètre inc
onnu.
Entrez dsadd /? pour afficher l'aide.Appuyez sur une touche pour continuer...
'Microsoft' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
2012 était inattendu.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
je ne connais pas dsadd
dans le script, mettre un echo devant dsadd
récupérer la ligne et essayer de l'exécuter
0
BaZHik Messages postés 37 Date d'inscription   Statut Membre Dernière intervention  
 
Ok je vais tester ça lundi. En parallèle je bosse sur un powershell qui pourrait faire la même chose...
A voir lequel des deux fonctionnera en premier =)

merci pour ton aide.

Je te tiens au courant de mes avancées et posterai le resultats (si je le trouve) pour les autres.
0