我有我的VBScript脚本类型不匹配。我知道的值是正确的,但不知道为什么它的未来。

这是在脚本终止该行:

WScript.Echo "DNS Server Search Order: " & objNicItem.DNSServerSearchOrder

该脚本需要一个名为servers.txt文件(其在它的服务器列表,我用我自己的工作站名称tesing)。

如果我做一个error on resume next剧本的作品。但是,如果服务器列表中填充。它显示相同的信息,而这又为每个主机工作最前一页,所以它不是正确的。

'Input from the command line
If Wscript.Arguments.Count = 0 Then
    Wscript.Echo "Usage: DNSAudit.vbs servers.txt "
    Wscript.Quit
End If

'Input from txt file
Const ForReading = 1
Set objArgs = WScript.Arguments
Set objDictionary = CreateObject("Scripting.Dictionary")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(ObjArgs(0), ForReading)
i = 0
Do Until objTextFile.AtEndOfStream
    StrNextLine = objTextFile.ReadLine
    objDictionary.Add i, StrNextLine
    i = i + 1
Loop
For Each objItem In objDictionary
    Computer = objDictionary.Item(objItem)

    'For Each Computer In Wscript.Arguments

    'remote connection to another computer other than using variables
    'Set ObjWMIService = GetObject("Winmgmts://COMPUTERNAME") for remote connection

    Set ObjWMIService = GetObject("Winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2")
    'If Err.Number <> 0 Then
    'WScript.Echo "**************************************************************"  & vbCrLf
    'WScript.Echo "Connection Errors"  & vbCrLf
    'WScript.Echo Computer & " " & Err.Description
    'WScript.Echo Computer & " " & Err.Description & " investigation required!"
    'WScript.Echo "**************************************************************"  & vbCrLf
    ''*********************************************************************************************************
    'End if
    WScript.Echo "**************************************************************"  & vbCrLf
    WScript.Echo "Starting Audit on " & computer
    WScript.Echo "**************************************************************"  & vbCrLf
    WScript.Echo "**************************************************************"  & vbCrLf
    wscript.echo "List DHCP, DNS, WINS Adapter Parameters"
    wscript.Echo "**************************************************************"  & vbCrLf

    Set colItems = objWMIService.ExecQuery _
        ("Select * from Win32_NetworkAdapterConfiguration")

    For Each objNicItem in colItems
        Wscript.Echo "DHCP Enabled: " & objNicItem.DHCPEnabled
        Wscript.Echo "DHCP Lease Expires: " & objNicItem.DHCPLeaseExpires
        Wscript.Echo "DHCP Lease Obtained: " & objNicItem.DHCPLeaseObtained
        Wscript.Echo "DHCP Server: " & objNicItem.DHCPServer
        Wscript.Echo "DNS Domain: " & objNicItem.DNSDomain
        Wscript.Echo "DNS Domain Suffix Search Order: " & _
            objNicItem.DNSDomainSuffixSearchOrder
        Wscript.Echo "DNS Enabled For WINS Resolution: " & _
            objNicItem.DNSEnabledForWINSResolution
        Wscript.Echo "DNS Host Name: " & objNicItem.DNSHostName
        WScript.Echo "DNS Server Search Order: " & objNicItem.DNSServerSearchOrder
    WScript.Echo "Domain DNS Registration Enabled: " & objNicItem.DomainDNSRegistrationEnabled
        Wscript.Echo "Full DNS Registration Enabled: " & _
            objNicItem.FullDNSRegistrationEnabled
       Wscript.Echo "IP Address: " & objNicItem.IPAddress
       Wscript.Echo "MAC Address: " & objNicItem.MACAddress
        Wscript.Echo "TCP Maximum Data Retransmissions: " & _
            objNicItem.TcpMaxDataRetransmissions
        Wscript.Echo "TCP NumC onnections: " & objNicItem.TcpNumConnections
        Wscript.Echo "WINS Host Lookup File: " & objNicItem.WINSHostLookupFile
        Wscript.Echo "WINS Primary Server: " & objNicItem.WINSPrimaryServer
        Wscript.Echo "WINS Secondary Server: " & objNicItem.WINSSecondaryServer & vbCrLf
        Wscript.Echo "Adaptor: "  & objNicItem.Description & vbCrLf
    Next
Next
有帮助吗?

解决方案 3

它完全用下面的代码现在工作:

Wscript.Echo "IP Address: " & objNicItem.IPAddress(0)

谢谢大家

其他提示

的问题是,DNSServerSearchOrder的是键/值对的列表,以便在Echo命令将失败。你需要通过所有这样的价值观枚举:

If Not IsNull(objNicItem.DNSServerSearchOrder) Then
  For x = 0 To UBound(objNicItem.DNSServerSearchOrder)
     WScript.Echo "      " & objNicItem.DNSServerSearchOrder(x)
  Next
End If

Win32_NetworkAdapterConfiguration对象的属性DNSServerSearchOrder是一个数组,而不是可以(隐含地)转换为字符串的值。

请参阅 MSDN上Win32_NetworkAdapterConfiguration类

scroll top