I wanted to use BGInfo to display only the IPv4 address(es) of a workstation. BGInfo’s built-in IP address ouput returns both IPv4 and IPv6 formatted addresses, but you can use the output of a VBScript as a data source for a custom field. Starting with the nice script provided in the comments of the TechNet forum thread at: WMI Query to retrieve only active IPv4 address, I’ve made a few aesthetic changes so that the IPv4 addresses of active network adapters are displayed in a single column.
'From http://social.technet.microsoft.com/Forums/et-EE/ITCG/thread/bb74c2eb-eca2-455d-a270-8dd0f3d195e6
strMsg = ""
strComputer = "."
intCounter = 0
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")
Set IPConfigSet = objWMIService.ExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'True'")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i = LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
If Not Instr(IPConfig.IPAddress(i), ":") > 0 Then
If intCounter > 0 Then
strMsg = strMsg & vbcrlf & vbtab & IPConfig.IPAddress(i)
Else
strMsg = IPConfig.IPAddress(i)
End If
intCounter = intCounter + 1
End If
Next
End If
Next
Echo strMsg
Ideally, I’d be able to report whether the IP address was attached to a wired or wireless adapter, but that is beyond the scope of this particular project.
But, in the event that someone wants to do something that sophisticated, Microsoft’s WMI Code Creator v1.0 would be a very good place to start.
The WMI Code Creator tool allows you to generate VBScript, C#, and VB .NET code that uses WMI to complete a management task such as querying for management data, executing a method from a WMI class, or receiving event notifications using WMI.
http://www.microsoft.com/en-us/download/details.aspx?id=8572
Hint: look at the Description property of the Win32_NetworkAdapterConfiguration class.
Hello,
you can also try BGINFO4X (BGINFO for X).
Is multiplattform: linux, unix, mac and window and open source.
Find it at : http://bginfo4x.sourceforge.net
Regards.
Type mismatch reported on line 25 (Echo)
Hello,
Use wscript.echo on line 25 instead of echo alone
I believe that the script works fine, in the context of BGINFO, when line 25 begins with “Echo” and not “WScript.Echo”. But I also believe that if you were to simply run the script with wscript.exe, then you are better off using “WScript.Echo”
Trying to run this on Windows 7 and Server 2012 systems, I get an error that line 7 returns null (error 0x80041021). I wondered if maybe I need something more than “.” for my strComputer, but no one else has reported a problem with this. Any tips on what I may be missing?
Like Lee above, I’m getting the same error message. Any update would be appreciated.
Couple typos in the objWMIservice… should be:
Set objWMIService = GetObject(“winmgmts:{impersonationLevel=impersonate}!\\” & strComputer & “\root\cimv2”)
Fix the typos and the script works like a dream. Thanks mate!