Batch Arret Sce/Copie XML/Redémarrage Sce

Jul-ACTH Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -  
Cyclic-3 Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à réaliser un script me permettant de rattacher mes clients Endpoint à un nouveau serveur.
Pour ce faire, il faut arrêter le service, remplacer un fichier xml puis redémarrer le service.

Je souhaite passer la liste des cibles à traiter dans un fichier texte. Jusque-là, j'ai pondu le code ci-dessous, mais sans succès:

SET FICHIER=%1%
FOR /F %%I IN (%FICHIER%) DO (GOTO UPDATE)

:UPDATE
SET CIBLE = %%I
sc \\%CIBLE% stop "Symantec Antivirus"
cd \\%CIBLE%\c$\Program Files\Symantec\Symantec Endpoint Protection"
copy /Y "\\w2003s\repository$\Symantec\Sylink.xml" .
sc \\%CIBLE% start "Symantec Antivirus"


Les commandes sont correctes, mais je galère avec la variable CIBLE, que j'aimerais définir pour chaque passage dans la boucle comme la ligne traitée dans le fihier texte.

Merci.

Jul
A voir également:

2 réponses

Cyclic-3 Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour,

Dans ta boucle de FOR, mets plutôt ça:

FOR /F %%I IN (%FICHIER%) CALL UPDATE

Comme UPDATE n'est pas un autre BATCH, le DOS reconnait l'appel à une étiquette comme à un sous-programme et fait un retour à la ligne appelante jusqu'à épuisement des valeurs.

Et va voir sur ce site WWW.ASTASE.COM le tutoriel, il est très bien fait.

Suggestion: essaye de simplifier en mettant le moins de variables possible, c'est untruc à s'y perdre !

Cordialement.
0
Jul-ACTH Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci Cyclic,

Ca a en effet été très efficace de remplacer le DO par un CALL, et j'ai trouvé pas mal de choses intéressantes sur ASTASE.

Je ne dois plus être bien loin du bonheur, mais j'ai un message d'erreur bizarre lors de la copie de fichiers:

SET FICHIER=%1%
FOR /F %%I IN (%FICHIER%) DO (set CIBLE=%%I
CALL :UPDATE
)

:UPDATE
sc \\%CIBLE% stop "Symantec Antivirus"
ping -n 30 127.0.0.1 >nul
copy /Y "D:\Repository$\Symantec\Sylink.xml" "\\%CIBLE%\c$\Program Files\Symantec\Symantec Endpoint Protection"
sc \\%CIBLE% start "Symantec Antivirus"



Me renvoie:

C:\>copy /Y "\\w2003S\Repository$\Symantec\Sylink.xml" "\\HE1-01 \c$\Program Files\Symantec\Symantec Endpoint Protection"
Vous n'étiez pas connecté car il y avait un nom en double sur le réseau. Allez dans Système dans le Panneau de configuration et modifiez le nom de l'ordinateur et essayez à nouveau.
0 fichier(s) copié(s).


Il a craqué, j'ai pas de nom en double. Une piste de recherche? Conflit NETBIOS/DNS?

Merci.
0
Cyclic-3 Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour,

A mon avis, mais je peux me tromper, tu devrais essayer d'exécuter ton batch en super-administrateur, ou encore en l'exécutant comme tache programmée sous un compte système, comme par un serveur Windows2000 par exemple.

Mais bon, je ne suis plus très au courant des modes et des systèmes, avec l'age !

Cordialement.
0