Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[CLOS] Script fichiers hosts vers (multiples) serveurs
Auteur Message
Répondre en citant
Message [CLOS] Script fichiers hosts vers (multiples) serveurs 
Bonjour à tous,
petit nouveau sur le forum je suis aussi un stagiaire dans une administration.
Mon supérieur m'as demandé de lui trouver et/ou écrire un script permettant de copier le fichier hosts, lors de sa mise à jour, vers tous les serveurs de notre parc.

En un peu plus détaillé :
-Si le script doit être lancé manuellement ça n'est pas un problème, suffit après avoir modifié le fichier hosts de lancer le .bat ça ça va.
-Le script récupèrerait les adresses IPs de nos serveurs (ou leur Noms de Domaine) dans un fichier texte à part que nous tiendrions à jour, et y copierais le fichier hosts.
-nous avons déjà dans notre A.D. un script d'ouverture de session pour les POSTES utilisateurs qui copie ce fichier hosts.

A savoir : je n'ai fait que très peu de batch (un peu à l'école vers mars, environ une journée passé dessus max).

Si vous aviez des scripts, morceaux de scripts ou des idées pour me guider sur ce sujet, je vous en serais très reconnaissant là j'avoue que je patauge je sais même pas par quoi attaquer.
Merci d'avance.
Spike.

edit : voici le fichier bat d'origine qui sert à les copier sur chaque poste (il est localement lancé sur chaque poste du réseau :
Code:

@echo off
copy \\Svr-ad\netlogon\Hosts\hosts c:\windows\system32\drivers\etc /y
ipconfig /flushdns


la le truc c'est qu'il faudrait qu'il LISE les noms de serveurs dans un fichier texte indiqué, puis qu'il exécute ces deux commandes pour chacun des serveurs.
sur le web j'ai trouvé une commande du type

Code:
for /f "delims=" %%a in (liste-srv.txt) do copy \\Svr-ad\netlogon\Hosts\hosts \\ICIFAUDRAIT L'ADRESSE SERVEUR /y %%a


vous en pensez quoi ?

edit2 : je propose un truc du genre, qu'en pensez vous ?
Code:
for /f "delims=" %%a in (liste-srv.txt) do copy \\Svr-ad\netlogon\Hosts\hosts \\%%a\windows\system32\drivers\etc && ipconfig /flushdns



edit3 (le 12 à 10h) : j'évites les doubles posts, c'est pas beau!

alors sur le net j'ai enquêté sur netcat, mais je ne suis pas sûr qu'il soit bien sécurisé d'installer sur chacun de nos serveurs un netcat qui écoute en permanence un port, tout ça pour une opération qui ne sera pas fait plus d'une fois par semaine.

sur le net (plus précisément par ici ) un code du type :
Code:
for /f %%i in (path to list file) do net use \\%%i
for /f %%i in (path to list file) do copy flushdns.bat "\\%%i\c$\temp" /y
for /f %%i in (path to list file) do at \\%%i <Sometime (in 24hr) when the pcs are on and the command can be run> "\\%%i\c$\temp\flushdns.bat"
for /f %%i in (c:\temp\batch\%1.lst) do net use \\%%i /d


que j'ai adapté ainsi :
Code:
@echo off

::Boucle récupérant le noms des serveurs, et répétant la copie pour chaque nom (séparés par des espaces) puis la commande flushdns
for /f %%a in (liste-srv.lst) do copy \\Svr-ad\netlogon\Hosts\hosts \\%%a\windows\system32\drivers\etc /y

::connexion à chaque serveur
for /f %%i in (liste-srv.lst) do net use \\%%i
::copie et éxécution du flushdns (fichier extérieur)
for /f %%i in (liste-srv.lst) do copy flush.bat "\\%%i\c$\temp" /y
for /f %%i in (liste-srv.lst) do "\\%%i\c$\temp\flush.bat"

for /f %%i in (c:\temp\batch\%1.lst) do net use \\%%i /d


note: ceci est mon batch complet, l'adaptation concerne les lignes à partir du 2e for.
Mais je n'arrive PAS à capter d'ou vient la variable %1.
Est-ce que ce code veut dire que je dois partager c (je vois un c$) sur chacun des mes serveurs (pareil bof niveau sécurité)
Le net use fonctionne-t-il bien sans une lettre de lecteur ?

Plus j'avance et plus je me dis que je devrais plutôt être dans la section "aide aux scripts" que dans celle des scripts à demander, si un modo veut bouger mon topic j'lui en voudrais pas ^^

Milles mercis encore pour l'aide que vous pourriez m'apporter.



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [CLOS] Script fichiers hosts vers (multiples) serveurs 
Bonjour en ce lundi pluvieux,
Personne n'a aucune idée pour m'aider ? ou me guider ?
Mon entreprise a besoin de ce script prochainement, et j'aimerais beaucoup que quelqu'un puisse me confirmer son fonctionnement (théorique).



Répondre en citant
Message [CLOS] Script fichiers hosts vers (multiples) serveurs 
Bonjour
dans la théorique ça devrait marcher ensuite tu peux rencontrer des problèmes liés aux différents pc du parc.
Faut tester le batch et voir si tu as des messages d erreur.
si il s execute ou pas

Peut etre que tu auras besoin de psexec.exe




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [CLOS] Script fichiers hosts vers (multiples) serveurs 
Salut,

La variable %1 pointe vers une valeur que tu passes en argument au lancement de ton batch et qui fait (dans ton cas)
réference au nom d'un fichier .lst, qui contient les données de conexions au post distant

Ex. Ton_prog.bat fichier.lst

Si ce fichier est toujours le même et que tu ne veux pas utiliser d'argument avec ton batch,
tu peux remplacer %1 par le nom de ton fichier. Ce que tu fais déjà dans les autres boucles "FOR" avec le fichier liste-srv.lst




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [CLOS] Script fichiers hosts vers (multiples) serveurs 
Bonjour LAddy, bonjour sachadee merci pour vos réponses !

@laddy: le script n'est que pour des serveurs, donc pas de soucis côté pc.

@Sachadee: ah oui ça y'est ça me reviens les %1, %2
en effet ma liste de serveur restera toujours le même fichier (même s'il doit évoluer quand on rajoutes un serveur) donc je vais modifier pour avoir une valeur fixe de fichier plutôt qu'une variable. ça rend l'exécution plus simple (juste un appel du batch) et fixe puisque le nom du fichier liste de serveur ne changera pas.

merci à vous deux pour votre aide, je vous tiens au courant de l'exécution du script. probablement seulement la semaine prochaine, puisque je suis désormais en alternance et en entreprise seulement les Lundis et mardis.
bonne suite, encore merci !



Répondre en citant
Message [CLOS] Script fichiers hosts vers (multiples) serveurs 
Bonjour à tous;
le script a donc été testé ce matin, après quelques modifications (erreurs de ma part, inattention ou bêtises) le script fonctionnes tel que suit :

1/ Il lit bien le fichier de liste des serveurs (dans le même dossier);
2/ Le script copie bel et bien le fichier hosts sur la cible (les cibles à terme, mais pour le test nous avons testé sur un serveur unique)
3/ Le script ouvre bien un lecteur réseau (net use);
4/ Il copie bien le fichier "flush.bat";
5/ ...
6/ Il refermes bien le lecteur réseau.

au point 5, il lance bien l'exécution du script (qui ne contient que la commande flushdns) distant par le biais du net use mais il ne semble pas que le bat s'exécute; du moins il ne semble pas.
voici ce que je constate : Le script original (celui qui ordonne les actions sur tout les Serveurs) bloque plus d'une minute sur l'étape de l'exécution du flush distant.

Selon vous, les Serveurs MS (WS 2008 R2) interdiraient-ils (par sécurité) l'exécution d'un batch depuis un poste distant ? ce qui semblerait vouloir dire que ma problématique ne peut être résolue ...
ou peut-être y aurait-il une autre raison pour laquelle il refuse de s'exécuter ? (peut être parce qu'il est dans le dossier temp ?)

merci des aides ou idées que vous pourriez me soumettre.
Cordialement,
Spike.



Répondre en citant
Message [CLOS] Script fichiers hosts vers (multiples) serveurs 
Bonjour bonjour !
Alors, nous avançons grâce à la commande ipconfig /displaydns qui nous permet de vérifier si le flush a eu lieu ou non.
Il semblerait (après test en copiant un host vide, ou ne contenant qu'une entrée) que le flush ait lieu, mais étrangement il met très longtemps.
De plus, le script semble exécuter deux fois les commandes, une fois avec un # à la place de la variable, une seconde fois avec une véritable valeur du fichier liste de serveurs (soit une IP)... bizarre bizarre !

Le retour de la commande qui nous inquiétait le plus est le suivant :
Code:
for /f %%i in (liste-srv.lst) do "\\%%i\c$\temp\flush.bat"

donne un retour du genre :

Code:
Le nom réseau spécifié n'est plus disponible

après 30 ou 45 secondes, le moment ou nous doutons que le flush s'exécute. une fois de plus un retour étrange.
Bref, toujours open pour des idées.



Répondre en citant
Message [CLOS] Script fichiers hosts vers (multiples) serveurs 
Une bête question :

Ta variable "c$" est-elle définie ?




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [CLOS] Script fichiers hosts vers (multiples) serveurs 
Plus de retours du demandeur, sujet clos !




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Message [CLOS] Script fichiers hosts vers (multiples) serveurs 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch