Solved

VB Script to check Default Gateway if corrent run if not end

Posted on 2008-10-22
4
683 Views
Last Modified: 2012-05-05
I'm creating a new logon script. I need the script to check the default gateway of the machine and if it correct against what i have set then to continue but if it is wrong to end the script.

0
Comment
Question by:JHG-IT
  • 2
4 Comments
 
LVL 13

Expert Comment

by:Brum07
Comment Utility
Try this;

From here;

http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_23706347.html

This will check if the gateway is 192.168.10.254, if so show a message box if not it will end the script.

Regards
strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

 

Set IPConfigSet = objWMIService.ExecQuery _

    ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")

 

For Each IPConfig in IPConfigSet

    If Not IsNull(IPConfig.DefaultIPGateway) Then 

        For i=LBound(IPConfig.DefaultIPGateway) to UBound(IPConfig.DefaultIPGateway)

            Select Case IPConfig.DefaultIPGateway(i)

                  Case "192.168.10.254"

                        MsgBox "Your Gateway is 192.168.10.254"

                  Case Else

                        Wscript.Quit

            End Select        

        Next

    End If 

Next

Open in new window

0
 
LVL 3

Expert Comment

by:Angelized
Comment Utility
Here we go.
Note :  this will only works for static configuration (DHCP should set thet Gateway anyway)
 

On Error Resume Next
 

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 

Set colNetCards = objWMIService.ExecQuery _

    ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
 

For Each objNetCard in colNetCards

    arrGateways = Array("192.168.1.100")    

    If objNetCard.DefaultIPGateway(0) <> "192.168.1.100" Then objNetCard.SetGateways(arrGateways)

Next

Open in new window

0
 

Author Comment

by:JHG-IT
Comment Utility
Hi
thanks works a treet. However I'm a complete novice with these scripts and I cant get the default gateway section to link in with my current logon script. If you could help me with this it would be greatly appriecated.
Option Explicit

Dim objNetwork, objUser, CurrentUser, objShell

Dim strGroup, strDrive, objUNC

Dim strRemotePath, strDriveLetter, strNewName, strComputer
 

' Check Default Gateway

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

 

Set IPConfigSet = objWMIService.ExecQuery _

    ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")

 

For Each IPConfig in IPConfigSet

    If Not IsNull(IPConfig.DefaultIPGateway) Then 

        For i=LBound(IPConfig.DefaultIPGateway) to UBound(IPConfig.DefaultIPGateway)

            Select Case IPConfig.DefaultIPGateway(i)

                  Case "10.103.15.254"

                  Case Else

                        Wscript.Quit

            End Select        

        Next

    End If 

Next
 
 

' Initialise Groups with Const

Const Public_Group = "cn=basswater (public),ou=svr-vic-melb-desal,ou=vic,ou=staff,dc=jhg,dc=com,dc=au"
 

' Create objects and extract strGroup values

Set objShell = CreateObject("WScript.Shell")

Set objNetwork = CreateObject("WScript.Network")

Set objUser = CreateObject("ADSystemInfo")

Set CurrentUser = GetObject("LDAP://" & objUser.UserName)

strGroup = LCase(Join(CurrentUser.MemberOf))
 

' Delete any mapped drives

objShell.Run "net use * /d /y", 1, True

Set objShell = Nothing
 

' If logic testing strGroup for the values in Const groups

If InStr(strGroup, LCase(Public_Group)) Then

objNetwork.MapNetworkDrive "p:", "\\svr-vic-melb-desal\public"

Set objShell = CreateObject("Shell.Application")

End If
 

' Rename Public

strDriveLetter = "p:"

strNewName = "PUBLIC on svr-vic-melb-desal"

objShell.NameSpace(strDriveLetter).Self.Name = strNewName
 

' Network Drive Scanning

If InStr(strGroup, LCase(Public_Group)) Then

objNetwork.MapNetworkDrive "s:", "\\svr-vic-desal-ps1\scanning"

Set objShell = CreateObject("Shell.Application")

End If
 

' Rename Scanning

strDriveLetter = "s:"

strNewName = "SCANNING on svr-vic-desal-ps1"

objShell.NameSpace(strDriveLetter).Self.Name = strNewName
 

' End VBScript .

Open in new window

0
 
LVL 13

Accepted Solution

by:
Brum07 earned 125 total points
Comment Utility
Should be something like this;

Regards
Option Explicit

Dim objNetwork, objUser, CurrentUser, objShell

Dim strGroup, strDrive, objUNC

Dim strRemotePath, strDriveLetter, strNewName, strComputer

 

' Check Default Gateway

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

 

Set IPConfigSet = objWMIService.ExecQuery _

    ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")

 

For Each IPConfig in IPConfigSet

    If Not IsNull(IPConfig.DefaultIPGateway) Then 

        For i=LBound(IPConfig.DefaultIPGateway) to UBound(IPConfig.DefaultIPGateway)

            Select Case IPConfig.DefaultIPGateway(i)

                  Case "10.103.15.254"

                        ' Initialise Groups with Const

Const Public_Group = "cn=basswater (public),ou=svr-vic-melb-desal,ou=vic,ou=staff,dc=jhg,dc=com,dc=au"

 

' Create objects and extract strGroup values

Set objShell = CreateObject("WScript.Shell")

Set objNetwork = CreateObject("WScript.Network")

Set objUser = CreateObject("ADSystemInfo")

Set CurrentUser = GetObject("LDAP://" & objUser.UserName)

strGroup = LCase(Join(CurrentUser.MemberOf))

 

' Delete any mapped drives

objShell.Run "net use * /d /y", 1, True

Set objShell = Nothing

 

' If logic testing strGroup for the values in Const groups

If InStr(strGroup, LCase(Public_Group)) Then

objNetwork.MapNetworkDrive "p:", "\\svr-vic-melb-desal\public"

Set objShell = CreateObject("Shell.Application")

End If

 

' Rename Public

strDriveLetter = "p:"

strNewName = "PUBLIC on svr-vic-melb-desal"

objShell.NameSpace(strDriveLetter).Self.Name = strNewName

 

' Network Drive Scanning

If InStr(strGroup, LCase(Public_Group)) Then

objNetwork.MapNetworkDrive "s:", "\\svr-vic-desal-ps1\scanning"

Set objShell = CreateObject("Shell.Application")

End If

 

' Rename Scanning

strDriveLetter = "s:"

strNewName = "SCANNING on svr-vic-desal-ps1"

objShell.NameSpace(strDriveLetter).Self.Name = strNewName

                  Case Else

                        Wscript.Quit

            End Select        

        Next

    End If 

Next

Open in new window

0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Suggested Solutions

Recently I finished a vbscript that I thought I'd share.  It uses a text file with a list of server names to loop through and get various status reports, then writes them all into an Excel file.  Originally it was put together for our Altiris server…
Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now