Solved

Not a programmer, but still need help with .vbs file

Posted on 2004-10-22
348 Views
Last Modified: 2008-02-01
I know so little about programming that I'm not even sure that I'm posting this in the right place.  

Here's the deal.  I've got my hands on a .vbs file (pinched from MIcrosoft) that turns on NetBIOS over TCP/IP.  Problem is, there are several "WScript.Echo" lines that produce annoying pop-up messages.  I would like to banish them so that this file runs silently, but in my modest attempts at editing the file, I just end up screwing it up.

If somebody could just show me what to get rid of I would be very appreciatve (and will of course give up the points)


On Error Resume Next
 
Const ENABLE_NETBIOS_VIA_DHCP = 0
Const ENABLE_NETBIOS = 1
Const DISABLE_NETBIOS = 2
strComputer = "."
 
Set objWMIService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNicConfigs = objWMIService.ExecQuery _
 ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
 
WScript.Echo VbCrLf & "Host Name: " & strComputer
For Each objNicConfig in colNicConfigs
  WScript.Echo VbCrLf & "  Network Adapter " & objNicConfig.Index & _
   "    " & objNicConfig.Description & VbCrLf & _
  "    Attempting to set NetBIOS over TCP/IP default."
  intNetBIOS = objNicConfig.SetTCPIPNetBIOS(ENABLE_NETBIOS_VIA_DHCP)
  If intNetBIOS = 0 Then
    WScript.Echo "    Successfully set NetBIOS over TCP/IP default."
  ElseIf intNetBIOS = 1 Then
    WScript.Echo "    Successfully set NetBIOS over TCP/IP default." & _
     VbCrLf & "    Must reboot."
  Else
    WScript.Echo "    Unable to set NetBIOS default."
  End If
Next
 
WScript.Echo VbCrLf & String(80, "-")
 
Set colNicConfigs = objWMIService.ExecQuery _
 ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
 
For Each objNicConfig In colNicConfigs
  WScript.Echo VbCrLf & _
   "  Network Adapter " & objNicConfig.Index & VbCrLf & _
   "    " & objNicConfig.Description
  intNetBIOS = objNicConfig.TcpipNetbiosOptions
  Select Case intNetBIOS
    Case 0 strNetBIOS = "Use NetBIOS setting from the DHCP server"
    Case 1 strNetBIOS = "Enable NetBIOS over TCP/IP"
    Case 2 strNetBIOS = "Disable NetBIOS over TCP/IP"
  End Select
  WScript.Echo "    NetBIOS Over TCP/IP: " & strNetBIOS
Next
0
Question by:zamoti
    7 Comments
     
    LVL 12

    Accepted Solution

    by:
    try this:

    On Error Resume Next
     
    Const ENABLE_NETBIOS_VIA_DHCP = 0
    Const ENABLE_NETBIOS = 1
    Const DISABLE_NETBIOS = 2
    strComputer = "."
     
    Set objWMIService = GetObject("winmgmts:" _
     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colNicConfigs = objWMIService.ExecQuery _
     ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
     
    'WScript.Echo VbCrLf & "Host Name: " & strComputer
    For Each objNicConfig in colNicConfigs
      'WScript.Echo VbCrLf & "  Network Adapter " & objNicConfig.Index & _
      ' "    " & objNicConfig.Description & VbCrLf & _
      '"    Attempting to set NetBIOS over TCP/IP default."
      intNetBIOS = objNicConfig.SetTCPIPNetBIOS(ENABLE_NETBIOS_VIA_DHCP)
      If intNetBIOS = 0 Then
        'WScript.Echo "    Successfully set NetBIOS over TCP/IP default."
      ElseIf intNetBIOS = 1 Then
       ' WScript.Echo "    Successfully set NetBIOS over TCP/IP default." & _
    '     VbCrLf & "    Must reboot."
      Else
       ' WScript.Echo "    Unable to set NetBIOS default."
      End If
    Next
     
    'WScript.Echo VbCrLf & String(80, "-")
     
    Set colNicConfigs = objWMIService.ExecQuery _
     ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
     
    For Each objNicConfig In colNicConfigs
      'WScript.Echo VbCrLf & _
       '"  Network Adapter " & objNicConfig.Index & VbCrLf & _
       '"    " & objNicConfig.Description
      intNetBIOS = objNicConfig.TcpipNetbiosOptions
      Select Case intNetBIOS
        Case 0 strNetBIOS = "Use NetBIOS setting from the DHCP server"
        Case 1 strNetBIOS = "Enable NetBIOS over TCP/IP"
        Case 2 strNetBIOS = "Disable NetBIOS over TCP/IP"
      End Select
      'WScript.Echo "    NetBIOS Over TCP/IP: " & strNetBIOS
    Next
    0
     
    LVL 12

    Expert Comment

    by:guidway
    all lines that have WScript.Echo should have a single apostrophe in front of them which tells the language to ignore these lines. If a command spans multiple lines you have to put an apostrophe on every single line that is a part of that command.

    hope this helps
    guid
    0
     
    LVL 3

    Author Comment

    by:zamoti
    Just what the doctor ordered!  

    I frickin' love EE!

    Thank you very much!
    0
     
    LVL 7

    Expert Comment

    by:LandyJ
    In VBS, the comment character is a ' (single quote) so to keep the lines in but just comment them, you get:

    **********************************
    On Error Resume Next
     
    Const ENABLE_NETBIOS_VIA_DHCP = 0
    Const ENABLE_NETBIOS = 1
    Const DISABLE_NETBIOS = 2
    strComputer = "."
     
    Set objWMIService = GetObject("winmgmts:" _
     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set colNicConfigs = objWMIService.ExecQuery _
     ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
     
    'WScript.Echo VbCrLf & "Host Name: " & strComputer
    For Each objNicConfig in colNicConfigs
    '  WScript.Echo VbCrLf & "  Network Adapter " & objNicConfig.Index & _
    '   "    " & objNicConfig.Description & VbCrLf & _
    '  "    Attempting to set NetBIOS over TCP/IP default."
      intNetBIOS = objNicConfig.SetTCPIPNetBIOS(ENABLE_NETBIOS_VIA_DHCP)
    '  If intNetBIOS = 0 Then
    '    WScript.Echo "    Successfully set NetBIOS over TCP/IP default."
    '  ElseIf intNetBIOS = 1 Then
    '    WScript.Echo "    Successfully set NetBIOS over TCP/IP default." & _
    '     VbCrLf & "    Must reboot."
    '  Else
    '    WScript.Echo "    Unable to set NetBIOS default."
    '  End If
    Next
     
    'WScript.Echo VbCrLf & String(80, "-")
     
    Set colNicConfigs = objWMIService.ExecQuery _
     ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
     
    For Each objNicConfig In colNicConfigs
    '  WScript.Echo VbCrLf & _
    '   "  Network Adapter " & objNicConfig.Index & VbCrLf & _
    '   "    " & objNicConfig.Description
      intNetBIOS = objNicConfig.TcpipNetbiosOptions
    '  Select Case intNetBIOS
    '    Case 0 strNetBIOS = "Use NetBIOS setting from the DHCP server"
    '    Case 1 strNetBIOS = "Enable NetBIOS over TCP/IP"
    '    Case 2 strNetBIOS = "Disable NetBIOS over TCP/IP"
    '  End Select
    '  WScript.Echo "    NetBIOS Over TCP/IP: " & strNetBIOS
    Next
    **********************

    Or to remove the lines altogether:
    ************************
    On Error Resume Next
     
    Const ENABLE_NETBIOS_VIA_DHCP = 0
    Const ENABLE_NETBIOS = 1
    Const DISABLE_NETBIOS = 2
    strComputer = "."
     
    Set objWMIService = GetObject("winmgmts:" _
     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colNicConfigs = objWMIService.ExecQuery _
     ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
     
    For Each objNicConfig in colNicConfigs
      intNetBIOS = objNicConfig.SetTCPIPNetBIOS(ENABLE_NETBIOS_VIA_DHCP)
    Next
     
    Set colNicConfigs = objWMIService.ExecQuery _
     ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
     
    For Each objNicConfig In colNicConfigs
      intNetBIOS = objNicConfig.TcpipNetbiosOptions
    Next
    *****************************
    0
     
    LVL 7

    Expert Comment

    by:LandyJ
    Oops, working off an old version of the page.  Didn't see the answer already.
    0
     
    LVL 3

    Author Comment

    by:zamoti
    Thanks anyway!  One can never have too much help.
    0
     
    LVL 12

    Expert Comment

    by:guidway
    glad to hear it worked. thanks! :)
    0

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

     Java Android Coding Bundle

    Whether you're an Apple user or Android addict, learning to code for the Android platform is an extremely valuable, in-demand skill. It all starts with Java, the language behind the apps and games that make Android the top platform it is today.

    Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
    Article by: Kraeven
    Introduction Remote Share is a simple remote sharing tool, enabling you to see, add and remove remote or local shares. The application is written in VB.NET targeting the .NET framework 2.0. The source code and the compiled programs have been in…
    This video Micro Tutorial is the second in a two-part series that shows how to create and use custom scanning profiles in Nuance's PaperPort 14.5 (http://www.experts-exchange.com/articles/17490/). But the ability to create custom scanning profiles a…
    Hi everyone! This is Experts Exchange customer support.  This quick video will show you how to change your primary email address.  If you have any questions, then please Write a Comment below!

    884 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

    19 Experts available now in Live!

    Get 1:1 Help Now