Pb de script dsquery et dsmove

Pb de script dsquery et dsmove - Infrastructures serveurs - Systèmes & Réseaux Pro

Marsh Posté le 17-02-2009 à 15:33:29    

Bonjour
 
Je dois déplacer 2000 comptes ordinateurs d'une Unité d'organistation active directory  vers 600 Unités d'organisations différentes en fonction du nom des comptes d'ordinateurs.
 
voici un exemple :  
 
le cpt wks201-XP*** devra aller dans la sous OU OU=WKS,OU=computers,OU=201-Rennes,DC=MYDOM,DC=COM
le cpt nbk201-XP*** devra aller dans la sous OU OU=NBK,OU=computers,OU=201-Rennes,DC=MYDOM,DC=COM
le cpt wks305-2K*** devra aller dans la sous OU OU=WKS,OU=computers,OU=305-Brest,DC=MYDOM,DC=COM
le cpt nbk305-2K*** devra aller dans la sous OU OU=nbk,OU=computers,OU=305-Brest,DC=MYDOM,DC=COM
 
Où wks workstation les 3 chiffres qui suivent sont un code ville 2K/XP je pense que vous avez compris...
 
J'ai trouvé sur google le script ci dessous mais j'ignore comment le personnaliser pour éviter de me coller les 2000 comptes ordinateurs à la main.
 
For /F "delims=" %i in ('dsquery * -filter "(&(objectcategory=person)(objectclass=user)(memberof=CN=test,OU=accounts,DC=CSSTEST,DC=local))"') do dsmove -newparent "OU=Test,DC=CS STEST,DC=local" %i
 
Quelqu'un sait-il comment je dois faire?
Si vous voyer une autre solution pour arriver au résultat je suis ouvert à toute les solutions.
 
Merci beaucoup de votre aide

Reply

Marsh Posté le 17-02-2009 à 15:33:29   

Reply

Marsh Posté le 18-02-2009 à 00:07:03    

Ton truc ça n'a rien à voir avec ce que tu veux faire.
 
Fait ta requête dsquery pour récup tes machines, et ton dsmove une fois que tu es sûr de ton dsquery

Reply

Marsh Posté le 18-02-2009 à 10:01:32    

Je@nb a écrit :

Ton truc ça n'a rien à voir avec ce que tu veux faire.
 
Fait ta requête dsquery pour récup tes machines, et ton dsmove une fois que tu es sûr de ton dsquery


 
Bonjour Je@nb
 
Merci d'avoir pris le temps de répondre à mon post.
 
Je sais que ce script  ne correspond pas vraiment à  ce que je veux faire et  si cela avait été le cas  je ne poserai pas la question.
 
Justement j'ignore comment constituer mon dsquery en fonction de ce que je veux faire
"déplacer 2000 comptes ordinateurs d'une Unité d'organistation active directory  vers 600 Unités d'organisations différentes"
 
Si tu as  une  solution plus simple à proposer je veux bien la connaitre.
 
Merci pour votre aide
 
Lyes

Reply

Marsh Posté le 18-02-2009 à 10:07:29    

Hum à voir avec le man mais dsmove peut pas travailler avec un fichier ascii en entrée ? si c'est le cas pourquoi ne pas sortir le listing de tes PCs puis les travailler avec un excel par exemple.

Reply

Marsh Posté le 18-02-2009 à 10:27:29    

clockover a écrit :

Hum à voir avec le man mais dsmove peut pas travailler avec un fichier ascii en entrée ? si c'est le cas pourquoi ne pas sortir le listing de tes PCs puis les travailler avec un excel par exemple.


 
Bonjour clockover
 
Merci beaucoup pour ta réponse.  
La solution m'intéresse j'aimerai bien un peu plus d'explication car vois tu je ne maitrise pas non plus excel ni le scripting. ( dsl je débute avec ces deux outils)  
J'ai vraiment besoin de faire cette opération dans le but  d'appliquer des GPO particulières sur les OU.
 
Merci de votre aide à tous
 
Lyes

Reply

Marsh Posté le 18-02-2009 à 10:34:25    

On peut rentrer le DN du poste à déplacer en entrée dans dsmove donc tu peux te faire un script vbs/batch... derrière un fichier texte contenant tes machines (que tu aura préalablement travailler comme tu veux sous excel à coup de recherche/macro...).
 
M'enfin perso je monterais une AD en maquette pour tester mon déplacement :D avant de lancer en prod  :whistle: .
 
Je vais pas te faire le travail non plus ;).
Ou sinon il y a l'option du stagiaire :lol:

Message cité 1 fois
Message édité par clockover le 18-02-2009 à 10:35:25
Reply

Marsh Posté le 18-02-2009 à 11:26:41    

clockover a écrit :

On peut rentrer le DN du poste à déplacer en entrée dans dsmove donc tu peux te faire un script vbs/batch... derrière un fichier texte contenant tes machines (que tu aura préalablement travailler comme tu veux sous excel à coup de recherche/macro...).
 
M'enfin perso je monterais une AD en maquette pour tester mon déplacement :D avant de lancer en prod  :whistle: .
 
Je vais pas te faire le travail non plus ;).
Ou sinon il y a l'option du stagiaire :lol:


 
Merci clockover pour ta réponse
 
Même si j'avoue que j'aurai pas dit non, je ne te demande pas de faire mon travaille :-)
Ensuite pour tout te dire l'option du stagiaire est déjà prise (c'est mon cas, mon statut, mon prénom, mon leitmotiv)
 
Quant à un AD de test, ici il y a des gpo de restriction logiciel pour Virtual PC/Server Vmware WKS/Server et Virtualbox  et les équipes de qualif qui ont la mains sur les ESX de test ne sont pas sur le même site que moi.
 
 
Je suis toujours intéressé par cette solution.
Je crois savoir comment exporter la liste des comptes ordi AD vers excel mais j'ignore comment faire pour scripter avec des noms d'ordinateur comportant tant de variable sans devoir écrire les (600*2) variables possibles.
En  effet ils veulent conserver l'arborescence des OU par ville(avec le code associé) et dans chaque ville  
une sous OU WKS pour les Ordi de bureau et une sous OU NBK pour les Ordi portables.
 
J'ai l'impression qu'ils veulent en fait corriger 12 ans de gestion anarchique en 3 mois de stage...
 
Merci de votre aide et de votre compréhension.
 
Lyes
 
 
 
 
 

Reply

Marsh Posté le 18-02-2009 à 11:58:21    

As-tu la liste des exhaustif des codes ?
Si non, peux-tu l'avoir ? Si oui bah tu l'as :D
 
Tu fais un dsquery te sortant pour chaque code la liste des ordis contenant dans le nom ton code (faut faire gaffe à ce qu'un code ne soit pas inclus dans un autre ou dans une autre partie du nom)
Tu fais un dsmove de ça.
 
Je ne sais pas si c'est faisable directement avec dsquery/dsmove mais sinon tu as vbscript, powershell (tu as quest qui fait un module AD gratos avec pas mal de fonctions)
 
Après ce genre de trucs ça se fait en 2 ou 3 jours en connaissant un peu et en étant débrouillard

Reply

Marsh Posté le 18-02-2009 à 13:01:36    

msbeginer a écrit :


 
Merci clockover pour ta réponse
 
Même si j'avoue que j'aurai pas dit non, je ne te demande pas de faire mon travaille :-)
Ensuite pour tout te dire l'option du stagiaire est déjà prise (c'est mon cas, mon statut, mon prénom, mon leitmotiv)
 
Quant à un AD de test, ici il y a des gpo de restriction logiciel pour Virtual PC/Server Vmware WKS/Server et Virtualbox  et les équipes de qualif qui ont la mains sur les ESX de test ne sont pas sur le même site que moi.
 
 
Je suis toujours intéressé par cette solution.
Je crois savoir comment exporter la liste des comptes ordi AD vers excel mais j'ignore comment faire pour scripter avec des noms d'ordinateur comportant tant de variable sans devoir écrire les (600*2) variables possibles.
En  effet ils veulent conserver l'arborescence des OU par ville(avec le code associé) et dans chaque ville  
une sous OU WKS pour les Ordi de bureau et une sous OU NBK pour les Ordi portables.
 
J'ai l'impression qu'ils veulent en fait corriger 12 ans de gestion anarchique en 3 mois de stage...
 
Merci de votre aide et de votre compréhension.
 
Lyes
 
 
 
 
 


 [:dams86]
Cela dit en 3 mois tu auras le temps de le faire quand même ;)

Message cité 1 fois
Message édité par clockover le 18-02-2009 à 13:03:45
Reply

Marsh Posté le 18-02-2009 à 14:22:04    

clockover a écrit :


 [:dams86]
Cela dit en 3 mois tu auras le temps de le faire quand même ;)


 
Je  crois  avoir bien  compris ce que tu m'as dit.
En effet j'avais pas pensé au fait qu'un code peut aussi se trouver dans la partie unique du nom de compte  ordinateur.
Je vais essayer de faire un CSVDE pour obtenir la liste des OU (chacune comportant le codeville) ainsi  que la liste des comptes ordi et je vais l'analyser plus en détail pour voir comment ils ont pensé leurs stratégie de nommage des comptes ordinateurs.
Je te tiendrais au courant de mon avancée...  
 
 
Merci encore pour toutes tes explications qui m'ont bien éclairé.
 
Lyes

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed