Déploiement de DHCP sur un réseau

Déploiement de DHCP sur un réseau - Windows & Software

Marsh Posté le 14-04-2006 à 10:49:19    

Bonjour
Je cherche une méthode (script ou GPO) pour mettre mon réseau en DHCP
Actuellement, les postes sont en ip statique. Le serveur DHCP est sous windows 2000 server.
 
J'ai testé les deux commandes suivantes en les mettant dans un script de démarrage dans une GPO :
 
netsh interface ip set address name="Connexion au réseau local" source=dhcp
netsh interface ip set dns name="Connexion au réseau local" source=dhcp
 
Tout fonctionne mais seulement si je suis connecté en temps qu'administrateur. Je me vois mal passé sur chaque ordi pour ouvrir une session administrateur...
 
 
En VB, j'ai testé ce script :
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
 
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE" )
 
For Each objNetAdapter In colNetAdapters
errEnable = objNetAdapter.EnableDHCP()
Next
 
qui ne démarre le DHCP que pour l'adresse IP mais pas pour les DNS...
 
Je n'ai pas trouvé de GPO qui active le DHCP... Ou alors je l'ai loupé...  
 
Quelqu'un aurait-il une idée ?  
 
D'avance merci

Reply

Marsh Posté le 14-04-2006 à 10:49:19   

Reply

Marsh Posté le 14-04-2006 à 11:45:36    

Télécharger RUNas
C'est un outil qui permet de lancer des programmes et script avec un compte admin.
 
Lors de l'ouverture de session utilisateur, dans le script, tu copies runas.exe ainsi que le fichier de réponse qui tu aura créé (login admin, mdp, logiciel ou script à lancer) dans le dossier temp par ex et tu lances l'exécution.
J'ai fait une mise à jour Office par ce biais sur 250 postes et presque pas de problemes (les problemes n'avaient rien à voir avec runas)

Reply

Marsh Posté le 19-04-2006 à 17:01:30    

Hello,
J'ai le même problème que toi, j'ai trouvé ca avec google, essaye on sait jamais ( j'ai pas encore eu le temps de tester ^^) :
 

Code :
  1. errGateways = objNetAdapter.SetGateways()
  2. errDNS = objNetAdapter.SetDNSServerSearchOrder()
  3. errDDNS = objNetAdapter.SetDynamicDNSRegistration


 

Reply

Marsh Posté le 19-04-2006 à 21:38:03    

Salut,
 
Voici ce que donne scriptomatic (outil indispensable pour le VBS  :sol: ) : tu y trouveras toutes les propriétés DHCP, DNS et autres qui vont bien de Win32_NetworkAdapterConfiguration  ;)  
 

Code :
  1. On Error Resume Next
  2. Const wbemFlagReturnImmediately = &h10
  3. Const wbemFlagForwardOnly = &h20
  4. arrComputers = Array("." )
  5. For Each strComputer In arrComputers
  6.    WScript.Echo
  7.    WScript.Echo "=========================================="
  8.    WScript.Echo "Computer: " & strComputer
  9.    WScript.Echo "=========================================="
  10.    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2" )
  11.    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration", "WQL", _
  12.                                           wbemFlagReturnImmediately + wbemFlagForwardOnly)
  13.    For Each objItem In colItems
  14.       WScript.Echo "ArpAlwaysSourceRoute: " & objItem.ArpAlwaysSourceRoute
  15.       WScript.Echo "ArpUseEtherSNAP: " & objItem.ArpUseEtherSNAP
  16.       WScript.Echo "Caption: " & objItem.Caption
  17.       WScript.Echo "DatabasePath: " & objItem.DatabasePath
  18.       WScript.Echo "DeadGWDetectEnabled: " & objItem.DeadGWDetectEnabled
  19.       strDefaultIPGateway = Join(objItem.DefaultIPGateway, "," )
  20.          WScript.Echo "DefaultIPGateway: " & strDefaultIPGateway
  21.       WScript.Echo "DefaultTOS: " & objItem.DefaultTOS
  22.       WScript.Echo "DefaultTTL: " & objItem.DefaultTTL
  23.       WScript.Echo "Description: " & objItem.Description
  24.       WScript.Echo "DHCPEnabled: " & objItem.DHCPEnabled
  25.       WScript.Echo "DHCPLeaseExpires: " & WMIDateStringToDate(objItem.DHCPLeaseExpires)
  26.       WScript.Echo "DHCPLeaseObtained: " & WMIDateStringToDate(objItem.DHCPLeaseObtained)
  27.       WScript.Echo "DHCPServer: " & objItem.DHCPServer
  28.       WScript.Echo "DNSDomain: " & objItem.DNSDomain
  29.       strDNSDomainSuffixSearchOrder = Join(objItem.DNSDomainSuffixSearchOrder, "," )
  30.          WScript.Echo "DNSDomainSuffixSearchOrder: " & strDNSDomainSuffixSearchOrder
  31.       WScript.Echo "DNSEnabledForWINSResolution: " & objItem.DNSEnabledForWINSResolution
  32.       WScript.Echo "DNSHostName: " & objItem.DNSHostName
  33.       strDNSServerSearchOrder = Join(objItem.DNSServerSearchOrder, "," )
  34.          WScript.Echo "DNSServerSearchOrder: " & strDNSServerSearchOrder
  35.       WScript.Echo "DomainDNSRegistrationEnabled: " & objItem.DomainDNSRegistrationEnabled
  36.       WScript.Echo "ForwardBufferMemory: " & objItem.ForwardBufferMemory
  37.       WScript.Echo "FullDNSRegistrationEnabled: " & objItem.FullDNSRegistrationEnabled
  38.       strGatewayCostMetric = Join(objItem.GatewayCostMetric, "," )
  39.          WScript.Echo "GatewayCostMetric: " & strGatewayCostMetric
  40.       WScript.Echo "IGMPLevel: " & objItem.IGMPLevel
  41.       WScript.Echo "Index: " & objItem.Index
  42.       strIPAddress = Join(objItem.IPAddress, "," )
  43.          WScript.Echo "IPAddress: " & strIPAddress
  44.       WScript.Echo "IPConnectionMetric: " & objItem.IPConnectionMetric
  45.       WScript.Echo "IPEnabled: " & objItem.IPEnabled
  46.       WScript.Echo "IPFilterSecurityEnabled: " & objItem.IPFilterSecurityEnabled
  47.       WScript.Echo "IPPortSecurityEnabled: " & objItem.IPPortSecurityEnabled
  48.       strIPSecPermitIPProtocols = Join(objItem.IPSecPermitIPProtocols, "," )
  49.          WScript.Echo "IPSecPermitIPProtocols: " & strIPSecPermitIPProtocols
  50.       strIPSecPermitTCPPorts = Join(objItem.IPSecPermitTCPPorts, "," )
  51.          WScript.Echo "IPSecPermitTCPPorts: " & strIPSecPermitTCPPorts
  52.       strIPSecPermitUDPPorts = Join(objItem.IPSecPermitUDPPorts, "," )
  53.          WScript.Echo "IPSecPermitUDPPorts: " & strIPSecPermitUDPPorts
  54.       strIPSubnet = Join(objItem.IPSubnet, "," )
  55.          WScript.Echo "IPSubnet: " & strIPSubnet
  56.       WScript.Echo "IPUseZeroBroadcast: " & objItem.IPUseZeroBroadcast
  57.       WScript.Echo "IPXAddress: " & objItem.IPXAddress
  58.       WScript.Echo "IPXEnabled: " & objItem.IPXEnabled
  59.       strIPXFrameType = Join(objItem.IPXFrameType, "," )
  60.          WScript.Echo "IPXFrameType: " & strIPXFrameType
  61.       WScript.Echo "IPXMediaType: " & objItem.IPXMediaType
  62.       strIPXNetworkNumber = Join(objItem.IPXNetworkNumber, "," )
  63.          WScript.Echo "IPXNetworkNumber: " & strIPXNetworkNumber
  64.       WScript.Echo "IPXVirtualNetNumber: " & objItem.IPXVirtualNetNumber
  65.       WScript.Echo "KeepAliveInterval: " & objItem.KeepAliveInterval
  66.       WScript.Echo "KeepAliveTime: " & objItem.KeepAliveTime
  67.       WScript.Echo "MACAddress: " & objItem.MACAddress
  68.       WScript.Echo "MTU: " & objItem.MTU
  69.       WScript.Echo "NumForwardPackets: " & objItem.NumForwardPackets
  70.       WScript.Echo "PMTUBHDetectEnabled: " & objItem.PMTUBHDetectEnabled
  71.       WScript.Echo "PMTUDiscoveryEnabled: " & objItem.PMTUDiscoveryEnabled
  72.       WScript.Echo "ServiceName: " & objItem.ServiceName
  73.       WScript.Echo "SettingID: " & objItem.SettingID
  74.       WScript.Echo "TcpipNetbiosOptions: " & objItem.TcpipNetbiosOptions
  75.       WScript.Echo "TcpMaxConnectRetransmissions: " & objItem.TcpMaxConnectRetransmissions
  76.       WScript.Echo "TcpMaxDataRetransmissions: " & objItem.TcpMaxDataRetransmissions
  77.       WScript.Echo "TcpNumConnections: " & objItem.TcpNumConnections
  78.       WScript.Echo "TcpUseRFC1122UrgentPointer: " & objItem.TcpUseRFC1122UrgentPointer
  79.       WScript.Echo "TcpWindowSize: " & objItem.TcpWindowSize
  80.       WScript.Echo "WINSEnableLMHostsLookup: " & objItem.WINSEnableLMHostsLookup
  81.       WScript.Echo "WINSHostLookupFile: " & objItem.WINSHostLookupFile
  82.       WScript.Echo "WINSPrimaryServer: " & objItem.WINSPrimaryServer
  83.       WScript.Echo "WINSScopeID: " & objItem.WINSScopeID
  84.       WScript.Echo "WINSSecondaryServer: " & objItem.WINSSecondaryServer
  85.       WScript.Echo
  86.    Next
  87. Next
  88. Function WMIDateStringToDate(dtmDate)
  89. WScript.Echo dtm:
  90. WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _
  91. Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _
  92. & " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2))
  93. End Function

Reply

Marsh Posté le 19-04-2006 à 21:41:09    

akabis a écrit :

Télécharger RUNas


 :heink: Pourquoi télécharger ce qui est déjà fournit avec tout bon XP Pro, serveur 2k & 2k3 ?

Reply

Marsh Posté le 20-04-2006 à 11:10:06    

Merci mais je ne cherche pas un script qui m'affiche mes paramètres mais un script qui déploie le DHCP...

Reply

Marsh Posté le 20-04-2006 à 12:02:41    

Bonjour tous le monde ,
 
Je vous envoie ce petit memo, pour avoir des informations concernant un serveur DHCP.
 
[Explication]
Pour mieux monitorer notre réseaux nous avions décidé d'attribuer des adresse IP fixe à nos nomades pour qu'ils se connectent dans notre réseaux via un réseau VPN.
Je dois faire une réservation d'au moins d'une 40 adresse ip de notre réseaux.
[Les petites questions que je pose]
-Sur le serveur DHCP
1°) Est ce que je dois exclure une plage d'adresse (adresse debut : 192.168.10.40 --adresse fin : 192.168.10.80) ET de plus réserver chaque adresse un par un (192.168.10.40, 192.168.10.41........jusqu'à 192.168.10.80)
 
2°) Est ce que y a t il un moyen de voir sur un serveur DHCP les adresse disponible
 
Pouvez vous juste m'éclaisir ses points SVP, je me mélange les pates je crois  
 
Merci
 
B0nd

Reply

Marsh Posté le 20-04-2006 à 14:17:16    

par script de démarrage dans un domaine, tu peux utiliser kixtart, très bon outil, beaucoup moin compliqué que vbs.


Message édité par kouest le 20-04-2006 à 14:17:43
Reply

Marsh Posté le 20-04-2006 à 17:51:25    

kikoo_of_dijon a écrit :

Merci mais je ne cherche pas un script qui m'affiche mes paramètres mais un script qui déploie le DHCP...


 :whistle: Ce script (qui n'est q'un exemple...) permet non seulement d'afficher les paramètres réseau, mais de comprendre également à quelles propriétés de l'objet correspond telles valeurs, pour enfin utiliser celles que l'on désire modifier par script...
 :jap:

Reply

Marsh Posté le 21-04-2006 à 05:45:08    

Moi j'ai pas tout compris kikoo!  
Si t'es sur 2000 ou 2003 serveur, tu as la console dhcp de windows qui te permet assez aisément de gérer tes client dhcp, non? qu'est ce qui cloche avec ça?
- tu a juste besoin d'être admin sur le serveur win 2000, et les autres pc, clt ou serveur, reçoivent les automatiquement les ip du fournies par ton serveur dhcp! Je me trompe?
A priori, pas besoin donc d'une GPO ou un script, sauf si le but dépasse la simple allocation des adresses aux clients

Reply

Marsh Posté le 21-04-2006 à 05:45:08   

Reply

Marsh Posté le 21-04-2006 à 08:22:09    

revealmap a écrit :

Moi j'ai pas tout compris kikoo!  
Si t'es sur 2000 ou 2003 serveur, tu as la console dhcp de windows qui te permet assez aisément de gérer tes client dhcp, non? qu'est ce qui cloche avec ça?
- tu a juste besoin d'être admin sur le serveur win 2000, et les autres pc, clt ou serveur, reçoivent les automatiquement les ip du fournies par ton serveur dhcp! Je me trompe?
A priori, pas besoin donc d'une GPO ou un script, sauf si le but dépasse la simple allocation des adresses aux clients


 
Oui, je connais cette console. Mais actuellement, mes 150 postes sont en ip fixes. Je dois installer un serveur DHCP avec plan d'adressage fixe. Donc je cherche un moyen pour que mes postes deviennent des clients dhcp sans avoir à passer sur chaque poste.
Voilà tout le problème ;-)

Reply

Marsh Posté le 21-04-2006 à 08:54:18    

Salut.

 

Lance un script sur tous les postes avec cette ligne :

 

1/netsh interface ip reset. ( netsh natif 2000 et XP pas sur NT, 9x )

 

2/Reboot des ordinateurs.

 

2 BIS/ ou lancer deux fois ce script qui désactive l'interface ( ici "lan" ) puis l'active ( donc lance les requetes DHCP...) :

 


Const ssfCONTROLS = 3

 

sConnectionName = "lan"

 

sEnableVerb = "&Activer"
sDisableVerb = "&Désactiver"

 

set shellApp = createobject("shell.application" )
set oControlPanel = shellApp.Namespace(ssfCONTROLS)

 

set oNetConnections = nothing
for each folderitem in oControlPanel.items
  if folderitem.name  = "Connexions réseau" then
    set oNetConnections = folderitem.getfolder: exit for
  end if
next

 

if oNetConnections is nothing then
  msgbox "Couldn't find 'Network and Dial-up Connections' folder"
  wscript.quit
end if

 

set oLanConnection = nothing
for each folderitem in oNetConnections.items
  if lcase(folderitem.name)  = lcase(sConnectionName) then
    set oLanConnection = folderitem: exit for
  end if
next

 

if oLanConnection is nothing then
  msgbox "Couldn't find '" & sConnectionName & "' item"
  wscript.quit
end if

 

bEnabled = true
set oEnableVerb = nothing
set oDisableVerb = nothing
s = "Verbs: " & vbcrlf
for each verb in oLanConnection.verbs
  s = s & vbcrlf & verb.name
  if verb.name = sEnableVerb then
    set oEnableVerb = verb
    bEnabled = false
  end if
  if verb.name = sDisableVerb then
    set oDisableVerb = verb
  end if
next

 

'debugging displays left just in case...
'
'MsgBox s ': wscript.quit
'MsgBox "Enabled: " & bEnabled ': wscript.quit

 

'not sure why, but invokeverb always seemed to work
'for enable but not disable.
'
'saving a reference to the appropriate verb object
'and calling the DoIt method always seems to work.
'
if bEnabled then
'  oLanConnection.invokeverb sDisableVerb
  oDisableVerb.DoIt
else
'  oLanConnection.invokeverb sEnableVerb
  oEnableVerb.DoIt
end if

 

'adjust the sleep duration below as needed...
'
'if you let the oLanConnection go out of scope
'and be destroyed too soon, the action of the verb
'may not take...
'
wscript.sleep 1000

 

:hello:


---------------
I am Alpha and Omega, the beginning and the end, the first and the last
Reply

Marsh Posté le 24-04-2006 à 09:07:34    

Bon, il est 9h05, un lundi matin... La semaine commence bien, j'ai trouvé la solution à mon pb.
 
J'ai fait un netsh interface show interface > toto.txt
 
Ainsi j'ai mes noms de connexion réseau dans un fichier.
 
J'ai fait un copier coller du nom de la connexion réseau qui m'intéresse dans la commande :
 
netsh interface ip set address name="Connexion au r‚seau local" source=dhcp
netsh interface ip set dns name="Connexion au r‚seau local" source=dhcp
 
et çà marche... 5 min avant j'avais mis une virgule à la place de mon accent dans "réseau" mais il n'en voulait pas... Pourtant je vois bien une virgule non ?
Halala les joies de l'informatique...
 
Enfin, merci à tous :-)

Reply

Marsh Posté le 25-04-2006 à 13:56:52    

Pour ne pas se faire chier, tu peux renommer tes interfaces :

 


Par exemple : "Connexion au r‚seau local" -> LAN
                        "Connexion au réseau sans fil " -> WIFI
                            ...

 


C'est un peu moins chiant à gérer, surtout pour les commandes consoles...

 

++ :hello:

 


---------------
I am Alpha and Omega, the beginning and the end, the first and the last
Reply

Marsh Posté le 26-04-2006 à 08:52:01    

feilong74 a écrit :

Pour ne pas se faire chier, tu peux renommer tes interfaces :
 
 
Par exemple : "Connexion au r‚seau local" -> LAN
                        "Connexion au réseau sans fil " -> WIFI
                            ...
 
 
C'est un peu moins chiant à gérer, surtout pour les commandes consoles...
 
++ :hello:


 
Vi vi, j'y ai pensé... Mais bon, je ne suis qu'un petit stagiaire lol et je ne peux pas trop passer sur chaque poste pour les renommer.
 
Bon sinon, juste pour info, ce que j'ai trouvé marche, faut juste ouvrir une session avec un compte qui est administrateur du domaine. C'est le seul petit problème à l'heure actuelle. J'utilise un runas pour lancer ma commande quand les gens se connectent avec leur compte et çà leur demande un mot de passe, que bien entendu, je leur aurais communiqué à l'avance sinon je sens que je vais avoir des dizaines d'appels le jour du basculement en dhcp lol

Reply

Marsh Posté le 26-04-2006 à 09:02:19    

kikoo_of_dijon a écrit :

Vi vi, j'y ai pensé... Mais bon, je ne suis qu'un petit stagiaire lol et je ne peux pas trop passer sur chaque poste pour les renommer.
 
Bon sinon, juste pour info, ce que j'ai trouvé marche, faut juste ouvrir une session avec un compte qui est administrateur du domaine. C'est le seul petit problème à l'heure actuelle. J'utilise un runas pour lancer ma commande quand les gens se connectent avec leur compte et çà leur demande un mot de passe, que bien entendu, je leur aurais communiqué à l'avance sinon je sens que je vais avoir des dizaines d'appels le jour du basculement en dhcp lol


 
 
Même réponse que sur un topic récent à propos d'une commande à lancer avec droits admin :
 
Essaye Autoit, très bon langage de script. Il va te permettre de créer un script où tu vas lancer ta commande avec identifiants admin. Il va aussi te permettre de compiler le script en executable. Le mdp admin demeure donc sauf.
 
L'auteur de l'autre topic y a trouvé son bonheur.

Reply

Marsh Posté le 27-04-2006 à 17:12:42    

:jap:

 

+1 pour Autoit !!!
essayé = adopté  :bounce:

 

Merci ShonGail   :hello:

   


---------------
I am Alpha and Omega, the beginning and the end, the first and the last
Reply

Marsh Posté le 27-04-2006 à 20:26:46    

Remercie l'auteur du soft :D

Reply

Marsh Posté le 28-04-2006 à 08:07:15    

Heu, j'ai jeté un coup d'oeil à autoit...
Je me dis que j'aurais du faire développeur et pas administrateur réseau lol
 
Enfin bon, je verrais.

Reply

Marsh Posté le 28-04-2006 à 09:23:36    

Tu veux dire que tu trouves cela compliqué à utiliser ? Bon pour les seuls dévellopeurs ?
 
Je t'assure que ce langage de script est sans aucun rapport au niveau de la complexité avec les langages de programmation !
 
Et en tant qu'administrateur, le passage par des langage de script est obligatoire.

Reply

Marsh Posté le 28-04-2006 à 11:20:00    

Ah nan, je ne dis pas que c'est compliqué lol
Mais je suis sur plusieurs trucs en même temps (Active Directory, GPO, WSUS, DHCP).
 
Je ne suis pas au niveau développeur mais bon, je me débrouille avec les scripts de mieux en mieux :-)
 
Et Google est mon ami lol

Reply

Marsh Posté le 03-05-2006 à 12:04:09    

Hop, çà marche.
Merci à tous, çà m'a bien aidé
et qui sait, j'aurais peut être mon diplôme avec çà lol
 
Encore merci

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed