J'ai une question qui me trotte dans la tête depuis un bout de temps...
Auriez-vous un bout de code me permettant d'appliquer une adresse ip à
une interface réseau (une cart réseau), un masque, les dns. Il me semble
qu'avec les composants WMI c'est faisable mais je n'ai trouvé aucun
document exploitable directement.
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
Bonjour Nico, Nico a écrit :
Bonjour à toutes et à tous
J'ai une question qui me trotte dans la tête depuis un bout de temps... Auriez-vous un bout de code me permettant d'appliquer une adresse ip à une interface réseau (une cart réseau), un masque, les dns. Il me semble qu'avec les composants WMI c'est faisable mais je n'ai trouvé aucun document exploitable directement.
Amicalement Frost
Adapté des codes :
http://www.delphi3000.com/articles/article_4392.asp?SK et
Private Sub Command1_Click() SetIpConfig "192.168.1.5", "255.255.255.0", "192.168.1.1" SetDNSServers "192.168.1.1", "" End Sub
Private Sub SetIpConfig(IpAddr As String, SubNetMask As String, Gateway As String) Dim objLocator, objService, objEnumerator, oNetAdapter Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer _ ("localhost", "rootcimv2", , 0, Context) Set objEnumerator = objService.ExecQuery _ ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator If Len(IpAddr) = 0 Then intStatus = oNetAdapter.EnableDHCP Else intStatus = oNetAdapter.EnableStatic(Array(IpAddr), Array(SubNetMask)) intStatus = oNetAdapter.SetGateways(Array(Gateway)) End If Next End Sub
Private Sub SetDNSServers(PrimaryDNS As String, AlternateDNS As String) Dim objLocator, objService, objEnumerator, oNetAdapter Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer _ ("localhost", "rootcimv2", , 0, Context) Set objEnumerator = objService.ExecQuery _ ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator If Len(PrimaryDNS) > 0 And Len(AlternateDNS) = 0 Then intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS)) ElseIf Len(PrimaryDNS) > 0 And Len(AlternateDNS) > 0 Then intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS, AlternateDNS)) Else intStatus = oNetAdapter.SetDNSServerSearchOrder() End If Next End Sub
-- Cordialement,
Jacques.
Bonjour Nico,
Nico a écrit :
Bonjour à toutes et à tous
J'ai une question qui me trotte dans la tête depuis un bout de temps...
Auriez-vous un bout de code me permettant d'appliquer une adresse ip à
une interface réseau (une cart réseau), un masque, les dns. Il me semble
qu'avec les composants WMI c'est faisable mais je n'ai trouvé aucun
document exploitable directement.
Amicalement Frost
Adapté des codes :
http://www.delphi3000.com/articles/article_4392.asp?SK
et
Private Sub Command1_Click()
SetIpConfig "192.168.1.5", "255.255.255.0", "192.168.1.1"
SetDNSServers "192.168.1.1", ""
End Sub
Private Sub SetIpConfig(IpAddr As String, SubNetMask As String, Gateway
As String)
Dim objLocator, objService, objEnumerator, oNetAdapter
Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objService = objLocator.ConnectServer _
("localhost", "rootcimv2", , 0, Context)
Set objEnumerator = objService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration
Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator
If Len(IpAddr) = 0 Then
intStatus = oNetAdapter.EnableDHCP
Else
intStatus = oNetAdapter.EnableStatic(Array(IpAddr),
Array(SubNetMask))
intStatus = oNetAdapter.SetGateways(Array(Gateway))
End If
Next
End Sub
Private Sub SetDNSServers(PrimaryDNS As String, AlternateDNS As String)
Dim objLocator, objService, objEnumerator, oNetAdapter
Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objService = objLocator.ConnectServer _
("localhost", "rootcimv2", , 0, Context)
Set objEnumerator = objService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration
Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator
If Len(PrimaryDNS) > 0 And Len(AlternateDNS) = 0 Then
intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS))
ElseIf Len(PrimaryDNS) > 0 And Len(AlternateDNS) > 0 Then
intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS,
AlternateDNS))
Else
intStatus = oNetAdapter.SetDNSServerSearchOrder()
End If
Next
End Sub
J'ai une question qui me trotte dans la tête depuis un bout de temps... Auriez-vous un bout de code me permettant d'appliquer une adresse ip à une interface réseau (une cart réseau), un masque, les dns. Il me semble qu'avec les composants WMI c'est faisable mais je n'ai trouvé aucun document exploitable directement.
Amicalement Frost
Adapté des codes :
http://www.delphi3000.com/articles/article_4392.asp?SK et
Private Sub Command1_Click() SetIpConfig "192.168.1.5", "255.255.255.0", "192.168.1.1" SetDNSServers "192.168.1.1", "" End Sub
Private Sub SetIpConfig(IpAddr As String, SubNetMask As String, Gateway As String) Dim objLocator, objService, objEnumerator, oNetAdapter Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer _ ("localhost", "rootcimv2", , 0, Context) Set objEnumerator = objService.ExecQuery _ ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator If Len(IpAddr) = 0 Then intStatus = oNetAdapter.EnableDHCP Else intStatus = oNetAdapter.EnableStatic(Array(IpAddr), Array(SubNetMask)) intStatus = oNetAdapter.SetGateways(Array(Gateway)) End If Next End Sub
Private Sub SetDNSServers(PrimaryDNS As String, AlternateDNS As String) Dim objLocator, objService, objEnumerator, oNetAdapter Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer _ ("localhost", "rootcimv2", , 0, Context) Set objEnumerator = objService.ExecQuery _ ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator If Len(PrimaryDNS) > 0 And Len(AlternateDNS) = 0 Then intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS)) ElseIf Len(PrimaryDNS) > 0 And Len(AlternateDNS) > 0 Then intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS, AlternateDNS)) Else intStatus = oNetAdapter.SetDNSServerSearchOrder() End If Next End Sub
-- Cordialement,
Jacques.
Nico
Merci de l'information Jacques93
Jacques93 a écrit :
Bonjour Nico, Nico a écrit :
Bonjour à toutes et à tous
J'ai une question qui me trotte dans la tête depuis un bout de temps... Auriez-vous un bout de code me permettant d'appliquer une adresse ip à une interface réseau (une cart réseau), un masque, les dns. Il me semble qu'avec les composants WMI c'est faisable mais je n'ai trouvé aucun document exploitable directement.
Amicalement Frost
Adapté des codes :
http://www.delphi3000.com/articles/article_4392.asp?SK > et
Private Sub Command1_Click() SetIpConfig "192.168.1.5", "255.255.255.0", "192.168.1.1" SetDNSServers "192.168.1.1", "" End Sub
Private Sub SetIpConfig(IpAddr As String, SubNetMask As String, Gateway As String) Dim objLocator, objService, objEnumerator, oNetAdapter Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer _ ("localhost", "rootcimv2", , 0, Context) Set objEnumerator = objService.ExecQuery _ ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator If Len(IpAddr) = 0 Then intStatus = oNetAdapter.EnableDHCP Else intStatus = oNetAdapter.EnableStatic(Array(IpAddr), Array(SubNetMask)) intStatus = oNetAdapter.SetGateways(Array(Gateway)) End If Next End Sub
Private Sub SetDNSServers(PrimaryDNS As String, AlternateDNS As String) Dim objLocator, objService, objEnumerator, oNetAdapter Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer _ ("localhost", "rootcimv2", , 0, Context) Set objEnumerator = objService.ExecQuery _ ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator If Len(PrimaryDNS) > 0 And Len(AlternateDNS) = 0 Then intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS)) ElseIf Len(PrimaryDNS) > 0 And Len(AlternateDNS) > 0 Then intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS, AlternateDNS)) Else intStatus = oNetAdapter.SetDNSServerSearchOrder() End If Next End Sub
Merci de l'information Jacques93
Jacques93 a écrit :
Bonjour Nico,
Nico a écrit :
Bonjour à toutes et à tous
J'ai une question qui me trotte dans la tête depuis un bout de
temps... Auriez-vous un bout de code me permettant d'appliquer une
adresse ip à une interface réseau (une cart réseau), un masque, les
dns. Il me semble qu'avec les composants WMI c'est faisable mais je
n'ai trouvé aucun document exploitable directement.
Amicalement Frost
Adapté des codes :
http://www.delphi3000.com/articles/article_4392.asp?SK >
et
Private Sub Command1_Click()
SetIpConfig "192.168.1.5", "255.255.255.0", "192.168.1.1"
SetDNSServers "192.168.1.1", ""
End Sub
Private Sub SetIpConfig(IpAddr As String, SubNetMask As String, Gateway
As String)
Dim objLocator, objService, objEnumerator, oNetAdapter
Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objService = objLocator.ConnectServer _
("localhost", "rootcimv2", , 0, Context)
Set objEnumerator = objService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration
Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator
If Len(IpAddr) = 0 Then
intStatus = oNetAdapter.EnableDHCP
Else
intStatus = oNetAdapter.EnableStatic(Array(IpAddr),
Array(SubNetMask))
intStatus = oNetAdapter.SetGateways(Array(Gateway))
End If
Next
End Sub
Private Sub SetDNSServers(PrimaryDNS As String, AlternateDNS As String)
Dim objLocator, objService, objEnumerator, oNetAdapter
Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objService = objLocator.ConnectServer _
("localhost", "rootcimv2", , 0, Context)
Set objEnumerator = objService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration
Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator
If Len(PrimaryDNS) > 0 And Len(AlternateDNS) = 0 Then
intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS))
ElseIf Len(PrimaryDNS) > 0 And Len(AlternateDNS) > 0 Then
intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS,
AlternateDNS))
Else
intStatus = oNetAdapter.SetDNSServerSearchOrder()
End If
Next
End Sub
J'ai une question qui me trotte dans la tête depuis un bout de temps... Auriez-vous un bout de code me permettant d'appliquer une adresse ip à une interface réseau (une cart réseau), un masque, les dns. Il me semble qu'avec les composants WMI c'est faisable mais je n'ai trouvé aucun document exploitable directement.
Amicalement Frost
Adapté des codes :
http://www.delphi3000.com/articles/article_4392.asp?SK > et
Private Sub Command1_Click() SetIpConfig "192.168.1.5", "255.255.255.0", "192.168.1.1" SetDNSServers "192.168.1.1", "" End Sub
Private Sub SetIpConfig(IpAddr As String, SubNetMask As String, Gateway As String) Dim objLocator, objService, objEnumerator, oNetAdapter Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer _ ("localhost", "rootcimv2", , 0, Context) Set objEnumerator = objService.ExecQuery _ ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator If Len(IpAddr) = 0 Then intStatus = oNetAdapter.EnableDHCP Else intStatus = oNetAdapter.EnableStatic(Array(IpAddr), Array(SubNetMask)) intStatus = oNetAdapter.SetGateways(Array(Gateway)) End If Next End Sub
Private Sub SetDNSServers(PrimaryDNS As String, AlternateDNS As String) Dim objLocator, objService, objEnumerator, oNetAdapter Dim Context, intStatus
Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer _ ("localhost", "rootcimv2", , 0, Context) Set objEnumerator = objService.ExecQuery _ ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
objService.Security_.impersonationlevel = 3
For Each oNetAdapter In objEnumerator If Len(PrimaryDNS) > 0 And Len(AlternateDNS) = 0 Then intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS)) ElseIf Len(PrimaryDNS) > 0 And Len(AlternateDNS) > 0 Then intStatus = oNetAdapter.SetDNSServerSearchOrder(Array(PrimaryDNS, AlternateDNS)) Else intStatus = oNetAdapter.SetDNSServerSearchOrder() End If Next End Sub