用vbs实现返回 IP 配置数据

(编辑:jimmy 日期: 2024/12/23 浏览:2)

描述信息
用以返回配置数据(类似于 IPCONFIG 命令返回信息)的 WMI 脚本。
脚本代码
复制代码 代码如下:
' Returning IP Configuration Data 
' WMI script that returns configuration data similar to that returned by IpConfig. 
strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\"& strComputer & "\root\cimv2") 
Set colAdapters = objWMIService.ExecQuery _ 
  ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") 
n = 1 
WScript.Echo 
For Each objAdapter in colAdapters 
   WScript.Echo "Network Adapter " & n 
   WScript.Echo "=================" 
   WScript.Echo "  Description: " & objAdapter.Description 
   WScript.Echo "  Physical (MAC) address: " & objAdapter.MACAddress 
   WScript.Echo "  Host name:              " & objAdapter.DNSHostName 
   If Not IsNull(objAdapter.IPAddress) Then 
      For i = 0 To UBound(objAdapter.IPAddress) 
         WScript.Echo "  IP address:             " & objAdapter.IPAddress(i) 
      Next 
   End If 
   If Not IsNull(objAdapter.IPSubnet) Then 
      For i = 0 To UBound(objAdapter.IPSubnet) 
         WScript.Echo "  Subnet:                 " & objAdapter.IPSubnet(i) 
      Next 
   End If 
   If Not IsNull(objAdapter.DefaultIPGateway) Then 
      For i = 0 To UBound(objAdapter.DefaultIPGateway) 
         WScript.Echo "  Default gateway:        " & objAdapter.DefaultIPGateway(i) 
      Next 
   End If 
   WScript.Echo 
   WScript.Echo "  DNS" 
   WScript.Echo "  ---" 
   WScript.Echo "    DNS servers in search order:" 
   If Not IsNull(objAdapter.DNSServerSearchOrder) Then 
      For i = 0 To UBound(objAdapter.DNSServerSearchOrder) 
         WScript.Echo "      " & objAdapter.DNSServerSearchOrder(i) 
      Next 
   End If 
   WScript.Echo "    DNS domain: " & objAdapter.DNSDomain 
   If Not IsNull(objAdapter.DNSDomainSuffixSearchOrder) Then 
      For i = 0 To UBound(objAdapter.DNSDomainSuffixSearchOrder) 
         WScript.Echo "    DNS suffix search list: " & objAdapter.DNSDomainSuffixSearchOrder(i) 
      Next 
   End If 
   WScript.Echo 
   WScript.Echo "  DHCP" 
   WScript.Echo "  ----" 
   WScript.Echo "    DHCP enabled:        " & objAdapter.DHCPEnabled 
   WScript.Echo "    DHCP server:         " & objAdapter.DHCPServer 
   If Not IsNull(objAdapter.DHCPLeaseObtained) Then 
      utcLeaseObtained = objAdapter.DHCPLeaseObtained 
      strLeaseObtained = WMIDateStringToDate(utcLeaseObtained) 
   Else 
      strLeaseObtained = "" 
   End If 
   WScript.Echo "    DHCP lease obtained: " & strLeaseObtained 
   If Not IsNull(objAdapter.DHCPLeaseExpires) Then 
      utcLeaseExpires = objAdapter.DHCPLeaseExpires 
      strLeaseExpires = WMIDateStringToDate(utcLeaseExpires) 
   Else 
      strLeaseExpires = "" 
   End If 
   WScript.Echo "    DHCP lease expires:  " & strLeaseExpires 
   WScript.Echo 
   WScript.Echo "  WINS" 
   WScript.Echo "  ----" 
   WScript.Echo "    Primary WINS server:   " & objAdapter.WINSPrimaryServer 
   WScript.Echo "    Secondary WINS server: " & objAdapter.WINSSecondaryServer 
   WScript.Echo 
   n = n + 1 
Next 
Function WMIDateStringToDate(utcDate) 
   WMIDateStringToDate = CDate(Mid(utcDate, 5, 2)  & "/" & _ 
                               Mid(utcDate, 7, 2)  & "/" & _ 
                               Left(utcDate, 4)    & " " & _ 
                               Mid (utcDate, 9, 2) & ":" & _ 
                               Mid(utcDate, 11, 2) & ":" & _ 
                               Mid(utcDate, 13, 2)) 
End Function