"Vincent" a écrit dans le message
de news:
| Bonjour,
Bonsoir,
| J'ai une 20aine de serveurs DHCP (win 2003) et la plupart ont entre
| 40 et 60 scopes définis. Dans chaque scope, les options sont définies
| avec une classe utilisateur spécifique qui doit être changée. Comme
| les postes clients ne seront pas modifiés tous en même temps, il va
| falloir pour chaque scope, rajouter les mêmes options mais avec la
| nouvelle classe utilisateur. Je cherche à faire un script VBS mais
| je n'arrive pas à trouver comment gérer les classes. Rien trouvé sur
| le script center. Quelqu'un a t'il une idée ? (j'ai fait une
| recherche dans le registre pour savoir quelle clé contient les
| classes mais sans succés )
|
| Merci d'avance
|
| Vincent
Je vous propose le scénario suivant :
1- création de la nouvelle classe utilisateur sur un serveur dhcp de
référence
2- exécution du script "dumpClassId.cmd" dans le but de sauvegarder la
définition de la nouvelle classe
3- exécution du script "addClassId.cmd" pour créer la nouvelle classe
sur tous les serveurs dhcp
4- exécution du script "duplicateClassId.cmd" pour dupliquer les options
de la classe originale vers la nouvelle classe sur tous les serveurs
dhcp
+++ Pré requis
1- Choisissez un serveur dhcp de référence. Toutes les opérations seront
réalisées à partir de ce serveur (connexion locale ou TSE). Vous devez
être connecté sur ce serveur avec les droits nécéssaires pour être en
mesure de configurer le serveur dhcp local et également les serveurs
dhcp distants.
2- Créez un dossier sur le serveur dhcp de référence (par exemple
C:migDHCP). Toutes les opérations seront réalisées à partir de ce
dossier de travail.
3- Créez le fichier au format texte "C:migDHCPServers.txt" contenant
les adresses IP (une adresse IP par ligne) de tous les serveurs dhcp à
configurer. La première ligne contiendra l'adresse IP du serveur dhcp de
référence.
Note : Dans la phase de test, vous pouvez spécifier uniquement deux
adresses IP. La première celle du serveur de référence et la seconde
celle d'un serveur dhcp distant.
+++ Début des opérations
1- création de la nouvelle classe utilisateur sur le serveur dhcp de
référence
Créez la nouvelle classe utilisateur sur le serveur dhcp de référence
(nom, description et identificateur) avec la mmc DHCP (dhcpmgmt.msc)
2- exécution du script "dumpClassId.cmd" dans le but de sauvegarder la
définition de la nouvelle classe
A partir d'une invite de commandes :
C:migDHCP>dumpClassId.cmd "nom_de_la_nouvelle_classe"
3- exécution du script "addClassId.cmd" pour créer la nouvelle classe
sur tous les serveurs dhcp
A partir d'une invite de commandes :
C:migDHCP>addClassId.cmd
4- exécution du script "duplicateClassId.cmd" pour dupliquer les options
de la classe originale
A partir d'une invite de commandes :
C:migDHCP>duplicateClassId.cmd "nom_de_la_classe_originale"
"nom_de_la_nouvelle_classe"
+++ Les scripts
-- Coupez ici : dumpClassId.cmd --
@echo off
setlocal
pushd %~dp0
:: lecture des arguments
set nClassId=%~1
:: lecture de la définition de la nouvelle classe utilisateur
for /f "tokens=6*" %%i in ('netsh dhcp server dump ^| find /i
"%nClassId%"') do (
:: sauvegarde de la définition de la classe utilisateur
echo. & echo [ ] dumping classid definition ... & echo.
echo %%i %%j>nClassId.txt
:: fin de traitement
goto :eof
)
popd
endlocal
-- Coupez ici : dumpClassId.cmd --
-- Coupez ici : addClassId.cmd --
@echo off
setlocal
pushd %~dp0
:: lecture de la définition de la nouvelle classe utilisateur
:: la définition est présente dans le fichier nClassId.txt
for /f "tokens=*" %%i in (nClassId.txt) do set nClassId=%%i
:: énumération des serveurs dhcp
for /f "skip=1" %%c in (servers.txt) do (
:: création de la nouvelle classe utilisateur
echo. & echo [ ] processing server [%%c] ... & echo.
netsh dhcp server %%c add class %nClassId%
)
popd
endlocal
-- Coupez ici : addClassId.cmd --
-- Coupez ici : duplicateClassId.cmd --
@echo off
setlocal
pushd %~dp0
:: lecture des arguments
set classId=%~1
set nClassId=%~2
:: lecture des noms des serveurs dhcp
for /f %%c in (servers.txt) do (
:: lecture de la configuration du serveur dhcp
echo. & echo [ ] processing server [%%c] ... & echo.
:: énumération des étendues
for /f "tokens=* skip=1" %%i in ('netsh dhcp server %%c dump ^|
find /i "%classId%"') do (
:: configuation de la nouvelle classe utilisateur pour chaque
étendue
for /f "tokens=5-9,10,*" %%j in ('echo %%i') do (
netsh dhcp server %%c scope %%j %%k %%l %%m %%n
user="%nClassId%" %%p
)
)
)
popd
endlocal
-- Coupez ici : duplicateClassId.cmd --
--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
"Vincent" <Vincent@discussions.microsoft.com> a écrit dans le message
de news:6D5A00EB-FE25-4EA5-BF7F-E124587B0E78@microsoft.com
| Bonjour,
Bonsoir,
| J'ai une 20aine de serveurs DHCP (win 2003) et la plupart ont entre
| 40 et 60 scopes définis. Dans chaque scope, les options sont définies
| avec une classe utilisateur spécifique qui doit être changée. Comme
| les postes clients ne seront pas modifiés tous en même temps, il va
| falloir pour chaque scope, rajouter les mêmes options mais avec la
| nouvelle classe utilisateur. Je cherche à faire un script VBS mais
| je n'arrive pas à trouver comment gérer les classes. Rien trouvé sur
| le script center. Quelqu'un a t'il une idée ? (j'ai fait une
| recherche dans le registre pour savoir quelle clé contient les
| classes mais sans succés )
|
| Merci d'avance
|
| Vincent
Je vous propose le scénario suivant :
1- création de la nouvelle classe utilisateur sur un serveur dhcp de
référence
2- exécution du script "dumpClassId.cmd" dans le but de sauvegarder la
définition de la nouvelle classe
3- exécution du script "addClassId.cmd" pour créer la nouvelle classe
sur tous les serveurs dhcp
4- exécution du script "duplicateClassId.cmd" pour dupliquer les options
de la classe originale vers la nouvelle classe sur tous les serveurs
dhcp
+++ Pré requis
1- Choisissez un serveur dhcp de référence. Toutes les opérations seront
réalisées à partir de ce serveur (connexion locale ou TSE). Vous devez
être connecté sur ce serveur avec les droits nécéssaires pour être en
mesure de configurer le serveur dhcp local et également les serveurs
dhcp distants.
2- Créez un dossier sur le serveur dhcp de référence (par exemple
C:migDHCP). Toutes les opérations seront réalisées à partir de ce
dossier de travail.
3- Créez le fichier au format texte "C:migDHCPServers.txt" contenant
les adresses IP (une adresse IP par ligne) de tous les serveurs dhcp à
configurer. La première ligne contiendra l'adresse IP du serveur dhcp de
référence.
Note : Dans la phase de test, vous pouvez spécifier uniquement deux
adresses IP. La première celle du serveur de référence et la seconde
celle d'un serveur dhcp distant.
+++ Début des opérations
1- création de la nouvelle classe utilisateur sur le serveur dhcp de
référence
Créez la nouvelle classe utilisateur sur le serveur dhcp de référence
(nom, description et identificateur) avec la mmc DHCP (dhcpmgmt.msc)
2- exécution du script "dumpClassId.cmd" dans le but de sauvegarder la
définition de la nouvelle classe
A partir d'une invite de commandes :
C:migDHCP>dumpClassId.cmd "nom_de_la_nouvelle_classe"
3- exécution du script "addClassId.cmd" pour créer la nouvelle classe
sur tous les serveurs dhcp
A partir d'une invite de commandes :
C:migDHCP>addClassId.cmd
4- exécution du script "duplicateClassId.cmd" pour dupliquer les options
de la classe originale
A partir d'une invite de commandes :
C:migDHCP>duplicateClassId.cmd "nom_de_la_classe_originale"
"nom_de_la_nouvelle_classe"
+++ Les scripts
-- Coupez ici : dumpClassId.cmd --
@echo off
setlocal
pushd %~dp0
:: lecture des arguments
set nClassId=%~1
:: lecture de la définition de la nouvelle classe utilisateur
for /f "tokens=6*" %%i in ('netsh dhcp server dump ^| find /i
"%nClassId%"') do (
:: sauvegarde de la définition de la classe utilisateur
echo. & echo [ ] dumping classid definition ... & echo.
echo %%i %%j>nClassId.txt
:: fin de traitement
goto :eof
)
popd
endlocal
-- Coupez ici : dumpClassId.cmd --
-- Coupez ici : addClassId.cmd --
@echo off
setlocal
pushd %~dp0
:: lecture de la définition de la nouvelle classe utilisateur
:: la définition est présente dans le fichier nClassId.txt
for /f "tokens=*" %%i in (nClassId.txt) do set nClassId=%%i
:: énumération des serveurs dhcp
for /f "skip=1" %%c in (servers.txt) do (
:: création de la nouvelle classe utilisateur
echo. & echo [ ] processing server [%%c] ... & echo.
netsh dhcp server \%%c add class %nClassId%
)
popd
endlocal
-- Coupez ici : addClassId.cmd --
-- Coupez ici : duplicateClassId.cmd --
@echo off
setlocal
pushd %~dp0
:: lecture des arguments
set classId=%~1
set nClassId=%~2
:: lecture des noms des serveurs dhcp
for /f %%c in (servers.txt) do (
:: lecture de la configuration du serveur dhcp
echo. & echo [ ] processing server [%%c] ... & echo.
:: énumération des étendues
for /f "tokens=* skip=1" %%i in ('netsh dhcp server \%%c dump ^|
find /i "%classId%"') do (
:: configuation de la nouvelle classe utilisateur pour chaque
étendue
for /f "tokens=5-9,10,*" %%j in ('echo %%i') do (
netsh dhcp server \%%c scope %%j %%k %%l %%m %%n
user="%nClassId%" %%p
)
)
)
popd
endlocal
-- Coupez ici : duplicateClassId.cmd --
--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD
"Vincent" a écrit dans le message
de news:
| Bonjour,
Bonsoir,
| J'ai une 20aine de serveurs DHCP (win 2003) et la plupart ont entre
| 40 et 60 scopes définis. Dans chaque scope, les options sont définies
| avec une classe utilisateur spécifique qui doit être changée. Comme
| les postes clients ne seront pas modifiés tous en même temps, il va
| falloir pour chaque scope, rajouter les mêmes options mais avec la
| nouvelle classe utilisateur. Je cherche à faire un script VBS mais
| je n'arrive pas à trouver comment gérer les classes. Rien trouvé sur
| le script center. Quelqu'un a t'il une idée ? (j'ai fait une
| recherche dans le registre pour savoir quelle clé contient les
| classes mais sans succés )
|
| Merci d'avance
|
| Vincent
Je vous propose le scénario suivant :
1- création de la nouvelle classe utilisateur sur un serveur dhcp de
référence
2- exécution du script "dumpClassId.cmd" dans le but de sauvegarder la
définition de la nouvelle classe
3- exécution du script "addClassId.cmd" pour créer la nouvelle classe
sur tous les serveurs dhcp
4- exécution du script "duplicateClassId.cmd" pour dupliquer les options
de la classe originale vers la nouvelle classe sur tous les serveurs
dhcp
+++ Pré requis
1- Choisissez un serveur dhcp de référence. Toutes les opérations seront
réalisées à partir de ce serveur (connexion locale ou TSE). Vous devez
être connecté sur ce serveur avec les droits nécéssaires pour être en
mesure de configurer le serveur dhcp local et également les serveurs
dhcp distants.
2- Créez un dossier sur le serveur dhcp de référence (par exemple
C:migDHCP). Toutes les opérations seront réalisées à partir de ce
dossier de travail.
3- Créez le fichier au format texte "C:migDHCPServers.txt" contenant
les adresses IP (une adresse IP par ligne) de tous les serveurs dhcp à
configurer. La première ligne contiendra l'adresse IP du serveur dhcp de
référence.
Note : Dans la phase de test, vous pouvez spécifier uniquement deux
adresses IP. La première celle du serveur de référence et la seconde
celle d'un serveur dhcp distant.
+++ Début des opérations
1- création de la nouvelle classe utilisateur sur le serveur dhcp de
référence
Créez la nouvelle classe utilisateur sur le serveur dhcp de référence
(nom, description et identificateur) avec la mmc DHCP (dhcpmgmt.msc)
2- exécution du script "dumpClassId.cmd" dans le but de sauvegarder la
définition de la nouvelle classe
A partir d'une invite de commandes :
C:migDHCP>dumpClassId.cmd "nom_de_la_nouvelle_classe"
3- exécution du script "addClassId.cmd" pour créer la nouvelle classe
sur tous les serveurs dhcp
A partir d'une invite de commandes :
C:migDHCP>addClassId.cmd
4- exécution du script "duplicateClassId.cmd" pour dupliquer les options
de la classe originale
A partir d'une invite de commandes :
C:migDHCP>duplicateClassId.cmd "nom_de_la_classe_originale"
"nom_de_la_nouvelle_classe"
+++ Les scripts
-- Coupez ici : dumpClassId.cmd --
@echo off
setlocal
pushd %~dp0
:: lecture des arguments
set nClassId=%~1
:: lecture de la définition de la nouvelle classe utilisateur
for /f "tokens=6*" %%i in ('netsh dhcp server dump ^| find /i
"%nClassId%"') do (
:: sauvegarde de la définition de la classe utilisateur
echo. & echo [ ] dumping classid definition ... & echo.
echo %%i %%j>nClassId.txt
:: fin de traitement
goto :eof
)
popd
endlocal
-- Coupez ici : dumpClassId.cmd --
-- Coupez ici : addClassId.cmd --
@echo off
setlocal
pushd %~dp0
:: lecture de la définition de la nouvelle classe utilisateur
:: la définition est présente dans le fichier nClassId.txt
for /f "tokens=*" %%i in (nClassId.txt) do set nClassId=%%i
:: énumération des serveurs dhcp
for /f "skip=1" %%c in (servers.txt) do (
:: création de la nouvelle classe utilisateur
echo. & echo [ ] processing server [%%c] ... & echo.
netsh dhcp server %%c add class %nClassId%
)
popd
endlocal
-- Coupez ici : addClassId.cmd --
-- Coupez ici : duplicateClassId.cmd --
@echo off
setlocal
pushd %~dp0
:: lecture des arguments
set classId=%~1
set nClassId=%~2
:: lecture des noms des serveurs dhcp
for /f %%c in (servers.txt) do (
:: lecture de la configuration du serveur dhcp
echo. & echo [ ] processing server [%%c] ... & echo.
:: énumération des étendues
for /f "tokens=* skip=1" %%i in ('netsh dhcp server %%c dump ^|
find /i "%classId%"') do (
:: configuation de la nouvelle classe utilisateur pour chaque
étendue
for /f "tokens=5-9,10,*" %%j in ('echo %%i') do (
netsh dhcp server %%c scope %%j %%k %%l %%m %%n
user="%nClassId%" %%p
)
)
)
popd
endlocal
-- Coupez ici : duplicateClassId.cmd --
--
Gilles LAURENT
Me contacter : http://cerbermail.com/?zoTY7ZkLcD