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
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
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")
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")
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")
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.
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")
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")
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")
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
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")
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")
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")
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.
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")
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")
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")
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.
Bonsoir,
Merci pour votre aide.
Je vais tenter d'appliquer ce code a mon probleme.
Merci encore a bientot
Salva
"Jacques93" <jacques@NoSpam> wrote in message
news:O06Klz00FHA.3188@TK2MSFTNGP14.phx.gbl...
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")
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")
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")
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
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")
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")
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")
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