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 -
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
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:
- Batch Arret Sce/Copie XML/Redémarrage Sce
- Arrêt maladie - Guide
- Forcer redemarrage windows - Guide
- Copie cachée - Guide
- Xml download - Télécharger - Édition & Programmation
- Super copie - Télécharger - Gestion de fichiers
2 réponses
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.
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.
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.
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.
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.
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.