不是小灵通 发表于 2017-5-26 12:17:10

本帖最后由 不是小灵通 于 2017-5-26 12:24 编辑

谢谢各位的意见,主要是我们当时做网络布线的时候,自己学校的老师亲自爬上去接的线,当时机房建设时间紧(校园搬迁,1000台机器1周时间恢复功能),并没有能做到在网线上打标,加之网线也是紧急购买的成品线,质量不好,几年后陆续出现氧化现象,造成传输质量下降。目前我们已将网络改造纳入计划,不日完成。
只是一直困扰的测线功能没能实现。大家的热心解答我们表示感谢!

28002673 发表于 2017-5-27 22:35:50

本帖最后由 28002673 于 2017-6-7 01:12 编辑

AU3不是万能的,试试这个dos命令可以判断是百兆还是千兆

wmic path Win32_PerfFormattedData_Tcpip_NetworkInterface get Name,CurrentBandwidth,BytesTotalPersec

自己在千兆模式下运行一次,然后把网卡设置为强制百兆,再运行一次,你就知道了。。。。#include <Constants.au3>
Opt("MustDeclareVars",1)
_test()
Func _test()
Local $foo,$line,$lines
$foo = Run(@ComSpec & ' /cwmic path Win32_PerfFormattedData_Tcpip_NetworkInterface get CurrentBandwidth |find "100" || echo 1001', @SystemDir, @SW_HIDE, $STDOUT_CHILD)
$lines = ''
While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
   $lines &= $line
Wend
Local $var = StringMid($lines, 1, 15)
Local $10000M = 10000000000
Local $1000M = 1000000000
Local $100M = 100000000
Local $10M = 10000000
Local $1001 = 1001
If $var = $10000M Then MsgBox(64,$10000M,"哇,太牛B了,当前链接速度为:万兆")
If $var = $1000M Then MsgBox(64,$1000M,"当前链接速度为:千兆")
If $var = $100M Then MsgBox(48,$100M,"当前链接速度为:百兆")
If $var = $10M Then MsgBox(48,$10M,"当前链接速度为:十兆")
If $var = $1001 Then MsgBox(16,"连接异常","未检到网络连接")
EndFunc

不是小灵通 发表于 2017-6-2 16:17:31

回复 17# 28002673


    你说的这个方法倒是可行,弄个程序开机运行,记录运行结果,并上传至SQL
页: 1 [2]
查看完整版本: [没有解决就是已解决]想做个检测网线的程序,不知怎么写