我正在編寫一個相當簡單的腳本來管理網絡程序安裝。作爲此安裝的一部分,我需要讀取當前分配給任何活動適配器的IP地址。VBScript無法從數組中讀取字符串
我可以讀取IP地址沒有問題,但是我現在在努力讀我已經加載他們到陣列中找到的地址。我在沒有問題的情況下在其他幾個腳本中執行此操作,所以我真的難以理解我做錯了什麼。我的腳本如下:
'Object declarations
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colIPConf = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = 'True'")
'Check local IP addresses
Z = 0
Dim arrAdapters()
For Each objIPConf In colIPConf
ReDim Preserve arrAdapters(Z)
arrAdapters(Z) = objIPConf.IpAddress
test = arrAdapters(Z)
msgbox test ' TYPE MISMATCH HERE
Z = Z+1
Next
我不明白爲什麼我的「測試」變量給一個類型不匹配使用在一個MsgBox?當我在VbsEdit中放置一個斷點並檢查我的測試變量時 - 它沒有顯示單個字符串值,而是一個位置爲0並附有值的數組。爲什麼在我指定的情況下是這種情況
test = arrAdapters(Z)
當然,它應該只是從數組中抽取字符串?
這個肯定是在回答之前,要去找dup。 – Lankymart
如果這是一個重複的標記,我在發佈之前看了一下。的[的VBScript具有多個IP地址的使用] –
可能的複製(http://stackoverflow.com/questions/18070715/vbscript-for-use-with-multiple-ip-addresses) – Lankymart