Advertisement

12.29.2007 at 09:03AM PST, ID: 23048931
[x]
Attachment Details

Change IP mode (Static/Dynamic)

Asked by AWestEng in .Net Editors & IDEs, Microsoft Visual Basic.Net, Visual Studio .NET 2005

Tags: VB.Net (VS 2005)

Hi I need some help to get this code to work

The function should switch between Dynamic and static IP modes

Start Free Trial
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
Private Sub ChangeIPMode(ByVal iMode As Integer)
 
        ' This script runs in the following modes
        ' iMode = 0 Query mode.
        '       = 1 Static IP mode.
        '       = 2 Dynamic(DHCP) IP mode.
        ' To use this script, first run it in query mode to find out the network adapter index.
        ' Change iIndex according to the result from query mode. You can then create 2 scripts
        ' based upon this script. Name one script as staticip.vbs and the other dynamicip.vbs and
        ' change the iMode and static IP configuration accordingly.
 
        '// Adapter Index
        Const iIndex As Integer = 1
 
        Dim strIPAddress
        Dim strSubnetMask
        Dim strGateway
        Dim strDNSServerSearchOrder
        Dim strGatewayMetric
        Dim strComputer
        Dim blnQuery As Boolean
        Dim blnDHCPEnabled As Boolean
 
        Dim objWMIService
        Dim colNetAdapters
 
        ' The static IP address configuration here
        strIPAddress = "192.168.1.60"
        strSubnetMask = "255.255.255.0"
        strGateway = "192.168.1.1"
        strDNSServerSearchOrder = "192.186.1.103"
        strGatewayMetric = "1"
 
        'Do not change below.
        strComputer = "."
        objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
        colNetAdapters = objWMIService.ExecQuery _
            ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
 
        Select Case iMode
            Case 0
                blnQuery = True
            Case 1
                blnDHCPEnabled = False
            Case 2
                blnDHCPEnabled = True
        End Select
 
        Dim errDNSServerSearchOrder
        Dim errEnable
        Dim errGateways
 
        ' Try
 
 
        For Each objNetAdapter In colNetAdapters
            If blnQuery Then
                MessageBox.Show("Adpater index = " & " " & objNetAdapter.Index & vbTab & _
                objNetAdapter.Description)
            Else
                If objNetAdapter.Index = iIndex Then
                    If blnDHCPEnabled = True Then
                        errDNSServerSearchOrder = objNetAdapter.SetDNSServerSearchOrder()
                        errEnable = objNetAdapter.EnableDHCP()
                        errGateways = objNetAdapter.RenewDHCPLease()
                    Else
                        errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
                        errGateways = objNetAdapter.SetGateways(strGateway, strGatewayMetric)
                        errDNSServerSearchOrder = objNetAdapter.SetDNSServerSearchOrder(strDNSServerSearchOrder)
                    End If
                    If (errEnable = 0) And (errDNSServerSearchOrder = 0) And (errGateways = 0) Then
                        MessageBox.Show("The IP address has been changed.")
                    Else
                        MessageBox.Show("The IP address could not be changed.")
                    End If
                End If
            End If
        Next
 
        Dim s As String = "Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"
        Dim WMISearcher As System.Management.ManagementObjectSearcher = _
                        New ManagementObjectSearcher("SELECT * FROM " + s)
        Dim para As ManagementBaseObject = Nothing
        Dim iface As String = Nothing
        For Each mo As ManagementObject In WMISearcher.Get
            iface = mo("Caption").ToString()
            If Not CBool(mo("DHCPEnabled")) AndAlso _
               MessageBox.Show(String.Format("Für das Interface "" {0} "" DHCP aktivieren?", iface), "", _
               MessageBoxButtons.YesNo) = DialogResult.Yes Then
                mo.InvokeMethod("EnableDHCP", New Object() {})
            End If
        Next
        'Catch ex As Exception
 
        'End Try
    End Sub
[+][-]12.29.2007 at 09:38AM PST, ID: 20548362

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 7-day free trial to view this Expert Comment or ask the Experts your question.

 
[+][-]12.29.2007 at 09:41AM PST, ID: 20548369

View this solution now by starting your 7-day free trial. Setting up your free trial is quick, easy, and secure. We will return you to this solution, unlocked, when you're done.

 

About this solution

Zones: .Net Editors & IDEs, Microsoft Visual Basic.Net, Visual Studio .NET 2005
Tags: VB.Net (VS 2005)
Sign Up Now!
Solution Provided By: ericwong27
Participating Experts: 1
Solution Grade: A
 
 
[+][-]12.29.2007 at 09:46AM PST, ID: 20548380

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]12.29.2007 at 10:00AM PST, ID: 20548412

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]12.29.2007 at 10:53AM PST, ID: 20548552

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]12.29.2007 at 12:22PM PST, ID: 20548895

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 7-day free trial to view this Author Comment or ask the Experts your question.

 
 
Loading Advertisement...
20080716-EE-VQP-32 / EE_QW_2_20070628