Encore moi mes serveurs DHCP ... je suis entrain d'essayer d'intégrer des
commandes batch que vous m'avez fourni dans un VBS et j'avoue que je galère
pas mal. (la raison du VBS est qu'on peut connaitre l''état des services, et
que
je voudrais avoir un seul script qui fait tout !)
Par exemple, je voudrais traiter la ligne suiante:
for /f %%c in (DHCPList.txt) do (netsh dhcp server \\%%c delete class ONYX)
J'utilise le code suivant pour exécuter mes commandes NETSH:
Dim Sh
Set Sh = CreateObject("WScript.Shell")
Sh.run "command /c for /f %%c in (DHCPList.txt) do (netsh dhcp server \\%%c
delete class ONYX)"
Evidemment, ça ne marche pas ! j'imagine que le pb vient de la variable %%c
...
En tout cas, je suis sur que vous Gilles avez la solution :-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles LAURENT
"Vincent" a écrit dans le message de news: | Bonjour Gilles ! ;-)
Bonjour Vincent,
| Encore moi mes serveurs DHCP ... je suis entrain d'essayer d'intégrer | des commandes batch que vous m'avez fourni dans un VBS et j'avoue que | je galère pas mal. (la raison du VBS est qu'on peut connaitre l''état | des services, et que | je voudrais avoir un seul script qui fait tout !)
Toute la solution a été écrite en batch cmd donc je pense qu'il est plus judicieux de continuer dans ce sens. Pour la procédure de redémarrage des services dhcp, je vous propose ci-dessous le portage du script VBScript en batch :
-- Coupez ici : controlService.cmd --
@echo off setlocal pushd %~dp0
:: définition du nom du service à redémarrer set service=dhcpServer
:: lecture des noms des serveurs dhcp à traiter for /f %%c in (servers.txt) do (
echo [ ] Processing %%c
:: arrêt du service sc %%c stop "%service%">nul
:: attente de l'arrêt complet du service call :_waitForServiceState %%c %service% STOPPED echo = service %service% stopped
:: redémarrage du service sc %%c start "%service%">nul
:: attente du redémarrage complet du service call :_waitForServiceState %%c %service% RUNNING echo = service %service% running echo. )
:: fin de traitement popd endlocal goto :eof
:: procédure utilisée pour attendre que le service spécifié :: soit dans l'état demandé :_waitForServiceState
Ce script s'intregra sans difficulté dans la solution existante et le tout sera homogène. Qu'en pensez-vous ?
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
"Vincent" <Vincent@discussions.microsoft.com> a écrit dans le message
de news:DEC552CD-765A-4180-9652-36269A5677C0@microsoft.com
| Bonjour Gilles ! ;-)
Bonjour Vincent,
| Encore moi mes serveurs DHCP ... je suis entrain d'essayer d'intégrer
| des commandes batch que vous m'avez fourni dans un VBS et j'avoue que
| je galère pas mal. (la raison du VBS est qu'on peut connaitre l''état
| des services, et que
| je voudrais avoir un seul script qui fait tout !)
Toute la solution a été écrite en batch cmd donc je pense qu'il est plus
judicieux de continuer dans ce sens. Pour la procédure de redémarrage
des services dhcp, je vous propose ci-dessous le portage du script
VBScript en batch :
-- Coupez ici : controlService.cmd --
@echo off
setlocal
pushd %~dp0
:: définition du nom du service à redémarrer
set service=dhcpServer
:: lecture des noms des serveurs dhcp à traiter
for /f %%c in (servers.txt) do (
echo [ ] Processing \%%c
:: arrêt du service
sc \%%c stop "%service%">nul
:: attente de l'arrêt complet du service
call :_waitForServiceState %%c %service% STOPPED
echo = service %service% stopped
:: redémarrage du service
sc \%%c start "%service%">nul
:: attente du redémarrage complet du service
call :_waitForServiceState %%c %service% RUNNING
echo = service %service% running
echo.
)
:: fin de traitement
popd
endlocal
goto :eof
:: procédure utilisée pour attendre que le service spécifié
:: soit dans l'état demandé
:_waitForServiceState
"Vincent" a écrit dans le message de news: | Bonjour Gilles ! ;-)
Bonjour Vincent,
| Encore moi mes serveurs DHCP ... je suis entrain d'essayer d'intégrer | des commandes batch que vous m'avez fourni dans un VBS et j'avoue que | je galère pas mal. (la raison du VBS est qu'on peut connaitre l''état | des services, et que | je voudrais avoir un seul script qui fait tout !)
Toute la solution a été écrite en batch cmd donc je pense qu'il est plus judicieux de continuer dans ce sens. Pour la procédure de redémarrage des services dhcp, je vous propose ci-dessous le portage du script VBScript en batch :
-- Coupez ici : controlService.cmd --
@echo off setlocal pushd %~dp0
:: définition du nom du service à redémarrer set service=dhcpServer
:: lecture des noms des serveurs dhcp à traiter for /f %%c in (servers.txt) do (
echo [ ] Processing %%c
:: arrêt du service sc %%c stop "%service%">nul
:: attente de l'arrêt complet du service call :_waitForServiceState %%c %service% STOPPED echo = service %service% stopped
:: redémarrage du service sc %%c start "%service%">nul
:: attente du redémarrage complet du service call :_waitForServiceState %%c %service% RUNNING echo = service %service% running echo. )
:: fin de traitement popd endlocal goto :eof
:: procédure utilisée pour attendre que le service spécifié :: soit dans l'état demandé :_waitForServiceState
Ce script s'intregra sans difficulté dans la solution existante et le tout sera homogène. Qu'en pensez-vous ?
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
Vincent
C'est nickel, mille merci ! En fait j'ai l'habitude de scripter en vbs, mais un batch me va bien ! :-) Bonne soirée
"Vincent" a écrit dans le message de news: | Bonjour Gilles ! ;-)
Bonjour Vincent,
| Encore moi mes serveurs DHCP ... je suis entrain d'essayer d'intégrer | des commandes batch que vous m'avez fourni dans un VBS et j'avoue que | je galère pas mal. (la raison du VBS est qu'on peut connaitre l''état | des services, et que | je voudrais avoir un seul script qui fait tout !)
Toute la solution a été écrite en batch cmd donc je pense qu'il est plus judicieux de continuer dans ce sens. Pour la procédure de redémarrage des services dhcp, je vous propose ci-dessous le portage du script VBScript en batch :
-- Coupez ici : controlService.cmd --
@echo off setlocal pushd %~dp0
:: définition du nom du service à redémarrer set service=dhcpServer
:: lecture des noms des serveurs dhcp à traiter for /f %%c in (servers.txt) do (
echo [ ] Processing %%c
:: arrêt du service sc %%c stop "%service%">nul
:: attente de l'arrêt complet du service call :_waitForServiceState %%c %service% STOPPED echo = service %service% stopped
:: redémarrage du service sc %%c start "%service%">nul
:: attente du redémarrage complet du service call :_waitForServiceState %%c %service% RUNNING echo = service %service% running echo. )
:: fin de traitement popd endlocal goto :eof
:: procédure utilisée pour attendre que le service spécifié :: soit dans l'état demandé :_waitForServiceState
Ce script s'intregra sans difficulté dans la solution existante et le tout sera homogène. Qu'en pensez-vous ?
-- Gilles LAURENT Me contacter : http://cerbermail.com/?zoTY7ZkLcD
C'est nickel, mille merci !
En fait j'ai l'habitude de scripter en vbs, mais un batch me va bien ! :-)
Bonne soirée
"Vincent" <Vincent@discussions.microsoft.com> a écrit dans le message
de news:DEC552CD-765A-4180-9652-36269A5677C0@microsoft.com
| Bonjour Gilles ! ;-)
Bonjour Vincent,
| Encore moi mes serveurs DHCP ... je suis entrain d'essayer d'intégrer
| des commandes batch que vous m'avez fourni dans un VBS et j'avoue que
| je galère pas mal. (la raison du VBS est qu'on peut connaitre l''état
| des services, et que
| je voudrais avoir un seul script qui fait tout !)
Toute la solution a été écrite en batch cmd donc je pense qu'il est plus
judicieux de continuer dans ce sens. Pour la procédure de redémarrage
des services dhcp, je vous propose ci-dessous le portage du script
VBScript en batch :
-- Coupez ici : controlService.cmd --
@echo off
setlocal
pushd %~dp0
:: définition du nom du service à redémarrer
set service=dhcpServer
:: lecture des noms des serveurs dhcp à traiter
for /f %%c in (servers.txt) do (
echo [ ] Processing \%%c
:: arrêt du service
sc \%%c stop "%service%">nul
:: attente de l'arrêt complet du service
call :_waitForServiceState %%c %service% STOPPED
echo = service %service% stopped
:: redémarrage du service
sc \%%c start "%service%">nul
:: attente du redémarrage complet du service
call :_waitForServiceState %%c %service% RUNNING
echo = service %service% running
echo.
)
:: fin de traitement
popd
endlocal
goto :eof
:: procédure utilisée pour attendre que le service spécifié
:: soit dans l'état demandé
:_waitForServiceState
C'est nickel, mille merci ! En fait j'ai l'habitude de scripter en vbs, mais un batch me va bien ! :-) Bonne soirée
"Vincent" a écrit dans le message de news: | Bonjour Gilles ! ;-)
Bonjour Vincent,
| Encore moi mes serveurs DHCP ... je suis entrain d'essayer d'intégrer | des commandes batch que vous m'avez fourni dans un VBS et j'avoue que | je galère pas mal. (la raison du VBS est qu'on peut connaitre l''état | des services, et que | je voudrais avoir un seul script qui fait tout !)
Toute la solution a été écrite en batch cmd donc je pense qu'il est plus judicieux de continuer dans ce sens. Pour la procédure de redémarrage des services dhcp, je vous propose ci-dessous le portage du script VBScript en batch :
-- Coupez ici : controlService.cmd --
@echo off setlocal pushd %~dp0
:: définition du nom du service à redémarrer set service=dhcpServer
:: lecture des noms des serveurs dhcp à traiter for /f %%c in (servers.txt) do (
echo [ ] Processing %%c
:: arrêt du service sc %%c stop "%service%">nul
:: attente de l'arrêt complet du service call :_waitForServiceState %%c %service% STOPPED echo = service %service% stopped
:: redémarrage du service sc %%c start "%service%">nul
:: attente du redémarrage complet du service call :_waitForServiceState %%c %service% RUNNING echo = service %service% running echo. )
:: fin de traitement popd endlocal goto :eof
:: procédure utilisée pour attendre que le service spécifié :: soit dans l'état demandé :_waitForServiceState