OVH Cloud OVH Cloud

Adresses IP

2 réponses
Avatar
Hotmail
Bonjour/Bonsoir,

Je vais tenter d'etre clair .

Je gere un parc de PC (+/-110) je dois changer :

Le nom du PC
L'adresse IP
La passerelle
l'adresse DNS

Je sais qu'il est possible de changer ces differents parametre en lisant la
bade REGEDIT.
Je peut trouver les clefs en question.
mais je ne sais pas comment faire pour pouvoir les lire via un Programme
VBet surtout les mettres a jours.

voila comment je compte faire.

Au demarazge du PC, je peu connaitre le NOM du PC
dans une base de donnees, au Nom du PC corestponds son adresse IP actuelle,
la Passerelle, et le DNS (1 et 2)
si le tout corespon, je copie dans les differentes clefs, les nouvelles
donnes contenue dans le fichier.
et l'enregistrement lus est "Flaguer" pour ne plus etre lut par la suite.



Merci d evotre aide.

Salva

P.S. : Autrement je dois passe un W-E a changer manuellement !!!!! sniffffff

2 réponses

Avatar
Jacques93
Bonsoir Hotmail,
Hotmail a écrit :
Bonjour/Bonsoir,

Je vais tenter d'etre clair .

Je gere un parc de PC (+/-110) je dois changer :

Le nom du PC
L'adresse IP
La passerelle
l'adresse DNS

Je sais qu'il est possible de changer ces differents parametre en lisant la
bade REGEDIT.
Je peut trouver les clefs en question.
mais je ne sais pas comment faire pour pouvoir les lire via un Programme
VBet surtout les mettres a jours.

voila comment je compte faire.

Au demarazge du PC, je peu connaitre le NOM du PC
dans une base de donnees, au Nom du PC corestponds son adresse IP actuelle,
la Passerelle, et le DNS (1 et 2)
si le tout corespon, je copie dans les differentes clefs, les nouvelles
donnes contenue dans le fichier.
et l'enregistrement lus est "Flaguer" pour ne plus etre lut par la suite.



Merci d evotre aide.

Salva

P.S. : Autrement je dois passe un W-E a changer manuellement !!!!! sniffffff



Dur, dur :-D

Travailler sur les clés de base de registre me semble un peu risqué pour
ce genre d'intervention, mais bon...
Comme tu n'indiques pas les plate-formes (W9x, W2K, XP, 2003, etc...)
Je peux juste te proposer quelque chose avec WMI, à adpater. Ici c'est
VB, par VB.Net ;-)

En VB il faut ajouter une référence à Microsoft WMI Scripting

Private Sub GetIpConfig(Optional Station As String = "localhost")
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim NicSet As SWbemObjectSet
Dim Nic As SWbemObject

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer(Station, "rootcimv2")
Set NicSet = Service.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration _
Where IPEnabled = True")

Service.Security_.ImpersonationLevel = _
wbemImpersonationLevelImpersonate

For Each Nic In NicSet
Debug.Print "Nom de l'hôte : " & Nic.DNSHostName
Debug.Print "Decription : " & Nic.Description
Debug.Print "Addresse : " & Nic.IPAddress(0)
Debug.Print "Masque : " & Nic.IPSubnet(0)
Debug.Print "Passerelle : " & Nic.DefaultIPGateway(0)
Debug.Print "DHCP : " & Format(Nic.DHCPEnabled)
Debug.Print "DNS Serv 1 : " & Nic.DNSServerSearchOrder(0)
Debug.Print "DNS Serv 2 : " & Nic.DNSServerSearchOrder(1)
Debug.Print "Mac Addr : " & Nic.MACAddress
Next
End Sub

Private Sub SetIpConfig(IpAddr As String, SubNetMask As String, _
Gateway As String, _
Optional Station As String = "localhost")
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim NicSet As SWbemObjectSet
Dim Nic As SWbemObject

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer(Station, "rootcimv2")
Set NicSet = Service.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration _
Where IPEnabled = True")

Service.Security_.ImpersonationLevel = _
wbemImpersonationLevelImpersonate

For Each Nic In NicSet
If Len(IpAddr) = 0 Then
Nic.EnableDHCP
Else
Nic.EnableStatic Array(IpAddr), Array(SubNetMask)
Nic.SetGateways Array(Gateway)
End If
Next
End Sub

Private Sub SetDNSServers(PrimaryDNS As String, _
AlternateDNS As String, _
Optional Station As String = "localhost")
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim NicSet As SWbemObjectSet
Dim Nic As SWbemObject

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer(Station, "rootcimv2")
Set NicSet = Service.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration _
Where IPEnabled = True")

Service.Security_.ImpersonationLevel = _
wbemImpersonationLevelImpersonate

For Each Nic In NicSet
If Len(PrimaryDNS) > 0 And Len(AlternateDNS) = 0 Then
Nic.SetDNSServerSearchOrder Array(PrimaryDNS)
ElseIf Len(PrimaryDNS) > 0 And Len(AlternateDNS) > 0 Then
Nic.SetDNSServerSearchOrder Array(PrimaryDNS, AlternateDNS)
Else
Nic.SetDNSServerSearchOrder
End If
Next
End Sub


--
Cordialement,

Jacques.
Avatar
Hotmail
Bonsoir,

Merci pour votre aide.

Je vais tenter d'appliquer ce code a mon probleme.

Merci encore a bientot

Salva
"Jacques93" wrote in message
news:
Bonsoir Hotmail,
Hotmail a écrit :
> Bonjour/Bonsoir,
>
> Je vais tenter d'etre clair .
>
> Je gere un parc de PC (+/-110) je dois changer :
>
> Le nom du PC
> L'adresse IP
> La passerelle
> l'adresse DNS
>
> Je sais qu'il est possible de changer ces differents parametre en lisant


la
> bade REGEDIT.
> Je peut trouver les clefs en question.
> mais je ne sais pas comment faire pour pouvoir les lire via un Programme
> VBet surtout les mettres a jours.
>
> voila comment je compte faire.
>
> Au demarazge du PC, je peu connaitre le NOM du PC
> dans une base de donnees, au Nom du PC corestponds son adresse IP


actuelle,
> la Passerelle, et le DNS (1 et 2)
> si le tout corespon, je copie dans les differentes clefs, les nouvelles
> donnes contenue dans le fichier.
> et l'enregistrement lus est "Flaguer" pour ne plus etre lut par la


suite.
>
>
>
> Merci d evotre aide.
>
> Salva
>
> P.S. : Autrement je dois passe un W-E a changer manuellement !!!!!


sniffffff

Dur, dur :-D

Travailler sur les clés de base de registre me semble un peu risqué pour
ce genre d'intervention, mais bon...
Comme tu n'indiques pas les plate-formes (W9x, W2K, XP, 2003, etc...)
Je peux juste te proposer quelque chose avec WMI, à adpater. Ici c'est
VB, par VB.Net ;-)

En VB il faut ajouter une référence à Microsoft WMI Scripting

Private Sub GetIpConfig(Optional Station As String = "localhost")
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim NicSet As SWbemObjectSet
Dim Nic As SWbemObject

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer(Station, "rootcimv2")
Set NicSet = Service.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration _
Where IPEnabled = True")

Service.Security_.ImpersonationLevel = _
wbemImpersonationLevelImpersonate

For Each Nic In NicSet
Debug.Print "Nom de l'hôte : " & Nic.DNSHostName
Debug.Print "Decription : " & Nic.Description
Debug.Print "Addresse : " & Nic.IPAddress(0)
Debug.Print "Masque : " & Nic.IPSubnet(0)
Debug.Print "Passerelle : " & Nic.DefaultIPGateway(0)
Debug.Print "DHCP : " & Format(Nic.DHCPEnabled)
Debug.Print "DNS Serv 1 : " & Nic.DNSServerSearchOrder(0)
Debug.Print "DNS Serv 2 : " & Nic.DNSServerSearchOrder(1)
Debug.Print "Mac Addr : " & Nic.MACAddress
Next
End Sub

Private Sub SetIpConfig(IpAddr As String, SubNetMask As String, _
Gateway As String, _
Optional Station As String = "localhost")
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim NicSet As SWbemObjectSet
Dim Nic As SWbemObject

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer(Station, "rootcimv2")
Set NicSet = Service.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration _
Where IPEnabled = True")

Service.Security_.ImpersonationLevel = _
wbemImpersonationLevelImpersonate

For Each Nic In NicSet
If Len(IpAddr) = 0 Then
Nic.EnableDHCP
Else
Nic.EnableStatic Array(IpAddr), Array(SubNetMask)
Nic.SetGateways Array(Gateway)
End If
Next
End Sub

Private Sub SetDNSServers(PrimaryDNS As String, _
AlternateDNS As String, _
Optional Station As String = "localhost")
Dim Locator As SWbemLocator
Dim Service As SWbemServices
Dim NicSet As SWbemObjectSet
Dim Nic As SWbemObject

Set Locator = New WbemScripting.SWbemLocator
Set Service = Locator.ConnectServer(Station, "rootcimv2")
Set NicSet = Service.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration _
Where IPEnabled = True")

Service.Security_.ImpersonationLevel = _
wbemImpersonationLevelImpersonate

For Each Nic In NicSet
If Len(PrimaryDNS) > 0 And Len(AlternateDNS) = 0 Then
Nic.SetDNSServerSearchOrder Array(PrimaryDNS)
ElseIf Len(PrimaryDNS) > 0 And Len(AlternateDNS) > 0 Then
Nic.SetDNSServerSearchOrder Array(PrimaryDNS, AlternateDNS)
Else
Nic.SetDNSServerSearchOrder
End If
Next
End Sub


--
Cordialement,

Jacques.