本帖最后由 大叔 于 2013-8-7 19:04 编辑 $objwmiservice = ObjGet('winmgmts:\\localhost\root\CIMV2')
$colitems = $objWMIService.ExecQuery ('SELECT * FROM Win32_NetworkAdapter', 'WQL', 0x10 + 0x20)
If IsObj($colitems) Then
For $objitem In $colitems
If $objitem.netconnectionid <> '' Then
$a=$objitem.netconnectionid
EndIf
Next
EndIf
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled != 0", 'WQL', 0x10 + 0x20)
If IsObj($colItems) then
For $objItem In $colItems
If Not $objItem.DNSServerSearchOrder(0)='' Then
IniWrite("E:\NBMSClient\start.ini", "本机信息", "名称", $objItem.DNSHostName)
IniWrite("E:\NBMSClient\start.ini", "本机信息", "显示", @DesktopHeight&'X'&@DesktopWidth&'X'&@DesktopDepth&'X'&@DesktopRefresh)
IniWrite("E:\NBMSClient\start.ini", "本机信息", "网卡",$objItem.Description )
IniWrite("E:\NBMSClient\start.ini", "本机信息", "MAC0", $objItem.MACAddress)
IniWrite("E:\NBMSClient\start.ini", "本机信息", "连接", $a)
IniWrite("E:\NBMSClient\start.ini", "本机信息", "IP是", $objItem.IPAddress(0))
IniWrite("E:\NBMSClient\start.ini", "本机信息", "掩码", $objItem.IPSubnet(0))
IniWrite("E:\NBMSClient\start.ini", "本机信息", "网关", $objItem.DefaultIPGateway(0))
IniWrite("E:\NBMSClient\start.ini", "本机信息", "DNS0", $objItem.DNSServerSearchOrder(0))
IniWrite("E:\NBMSClient\start.ini", "本机信息", "DNS1", $objItem.DNSServerSearchOrder(1))
EndIf
Next
Else
Msgbox(0,"出错了","No WMI Objects Found for class: " & "Win32_NetworkAdapterConfiguration" )
Endif
以上代码是我现在用的。XP.SP3 WIN7 都正常。 但最近碰到了一个新的情况。 有个单位简单限制某些电脑上网。
所以要求把这些电脑网卡的DNS 删掉了 只配IP 和网关。(这样打不开网站但可以上QQ)。
结果问题出来了。 不填DNS 上面的代码就会出错。 有DNS 的电脑就可以正常跑。原因不明 请高人指点。 |