尝试使用WMI来显示系统上的网络适配器的MTU值
我有这个子例程只显示空白行。尝试使用WMI来显示系统上的网络适配器的MTU值
'*************************************************************************
' Check MTU
'*************************************************************************
Sub CheckMTU()
WScript.Echo("Check if MTU Size is set to 1300")
WScript.Echo("------------------------------------")
Set colNetwork = objWMISrvc.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each objItem in colNetwork
WScript.Echo(objItem.MTU & vbCrLf)
Next
End Sub
我想测试一下,看看如果网络适配器有一个1300这将在多个机器上运行的MTU值和我有问题是在注册表中的网络适配器的名称总是不同的。这将是很好,如果我的实施工作...
任何想法?
编辑: 我改变了这个子程序,但它不工作。
'*************************************************************************
' Check MTU
'*************************************************************************
Sub CheckMTU()
Dim intResult
WScript.Echo("Verify MTU Size is 1300. Changes MTU Size to 1300 ")
WScript.Echo("------------------------------------")
Set colNetwork = objWMISrvc.ExecQuery("SELECT * FROM Win32_NetworkAdapter WHERE IPEnabled = True") 'WHERE IPEnabled = True
For Each objItem in colNetwork
WScript.Echo objItem
intResult = objItem.SetMTU(1300)
WScript.Echo intResult
Next
If intResult = 0 or intResult = 1 Then
WScript.Echo("Network Adapter MTU Value is set to 1300. Test PASSED" & vbCrLf)
Else
WScript.Echo("Network Adapter MTU Value can't be set to 1300. Test FAILED" & vbCrLf)
End If
End Sub
它甚至没有打印出intResult或objItem。它几乎感觉好像它没有从colNetwork获取任何东西。
有什么建议吗?我应该做一个新的职位?
不是100%肯定,为什么没有MTU值..但你总是可以将MTU值设置调用SetMTU方法:http://msdn.microsoft.com/en-us/library/windows/desktop/aa393463(v=vs.85).aspx
变化:
WScript.Echo(objItem.MTU & vbCrLf)
要:
WScript.Echo objItem.MTU
我只是得到NULL – envinyater
我也得空,但我值为NULL;你确定你的网络适配器MTU值不是NULL吗? – nimizen
我想是因为这个值用来覆盖默认值。
"Overrides the default Maximum Transmission Unit (MTU) for a network interface."
如果它为空,则使用默认值,如果不是,则覆盖默认值。 您可以查看驱动器具有以下netsh命令报道了默认的MTU值:
netsh interface ip show subinterfaces
这就是我可能做的...而不是检查服务器网络适配器以查看它是否已设置...我可能只是将其设置在脚本中。 – envinyater
我编辑了我的原始帖子,以反映这一新的变化。虽然有些事情很奇怪...... – envinyater