【问题标题】:Script is obtaining wrong NIC IP details脚本正在获取错误的 NIC IP 详细信息
【发布时间】:2016-03-25 22:44:30
【问题描述】:

我正在使用以下脚本获取目标机器的 IP 地址,然后通过调整最后一个八位字节将驱动器映射到同一网络上的另一台 PC。

这很好用,但我现在必须在具有两个 NIC(名为 Primary 和 Internal)的机器上运行它,并且脚本会选择错误 NIC(Internal)的 IP

如何让它查看其他网卡的 IP?

Dim HostIPAddress : HostIPAddress = ""
Dim objWMIService : Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Dim colAdapters : Set colAdapters = objWMIService.ExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration Where IPEnabled = True")
Dim objAdapter
For Each objAdapter In colAdapters
  If Not IsNull(objAdapter.IPAddress) Then HostIPAddress = Trim(objAdapter.IPAddress(0))
  Exit For
Next

strIP = HostIPAddress
i = InStrRev(strIP, ".")
strIP = Left(strIP, i) & "15"

Dim objNetwork 
Dim strDriveLetter, strRemotePath, strUser, strPassword, strProfile

strDriveLetter = "Z:" 
strRemotePath = "\\"&strIP&"\c$" 
strUser = "User"
strPassword = "Password!"
strProfile = "false"

Set objNetwork = WScript.CreateObject("WScript.Network") 
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, _
  strProfile, strUser, strPassword

【问题讨论】:

    标签: vbscript


    【解决方案1】:

    通过 Win32_NetworkAdapter 类获取名为“primary”的 NIC 的设备 ID,然后使用该 ID 从 Win32_NetworkAdatperConfiguration 类中选择正确的适配器。

    nicName = "primary"
    
    Set wmi = GetObject("winmgmts://./root/cimv2")
    
    deviceQry = "SELECT * FROM Win32_NetworkAdapter " & _
                "WHERE NetConnectionId = '" & nicName & "'"
    For Each adapter In wmi.ExecQuery(deviceQry)
      addressQry = "SELECT * FROM Win32_NetworkAdapterConfiguration " & _
                   "WHERE Index = " & adapter.DeviceId
      For Each config In wmi.ExecQuery(addressQry)
        If Not IsNull(config.IPAddress) Then
          HostIPAddress = Trim(config.IPAddress(0))
          Exit For
        End If
      Next
    Next
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 2021-12-23
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多