Я создал vbscript для получения кучи системной информации с сервера, и одна вещь, которую мне нужно получить, - это IP-адрес сервера. По-видимому, я получаю только «адрес IP-адреса», и это не тот, который мне нужен.Как получить IP-адрес для кластера в Windows 2008 Server
Есть ли способ с vbscript для меня, чтобы связать с wmi и получить ip-адрес, который я предполагаю.
Я попробовал этот класс WMI http://msdn.microsoft.com/en-us/library/windows/desktop/aa371441(v=vs.85).aspx
Вот что у меня есть
Option Explicit
'On Error Resume Next
Dim strIPAddress,objItem,colItems,objWMISrvc,strComputer,objAddr
strComputer = "."
Set objWMISrvc = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
getIPAddress
Sub getIPAddress()
'Check if system is a cluster'
strIPAddress = ""
Set colItems = objWMISrvc.ExecQuery("SELECT * FROM MSCluster_Network")
If Err.Number <> 0 Then
For Each objItem in colItems
'strIPAddress = "IP Address: " & objItem.
For i = 0 to UBound(objItem.IPv4Addresses)
strIPAddress = "IP Address (" & i & "): " & objItem.IPv4Addresses(i)
Next
Next
End If
'############################################################
' These are all commented because this is how I WAS getting
' the ip address but it only returned the heartbeat.
' I will still be using this if I can somehow tell if a server is a cluster or not.
'If strIPAddress = "" Then
'' Dim i
'' Set colItems = objWMISrvc.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
'For Each objItem in colItems
'' If Not IsNull(objItem.IPAddress) Then
'' strIPAddress = objItem.IPAddress(0)
'' 'For i = 0 to UBound(objItem.IPAddress)
'' ' ' strIPAddress = strIPAddress & " | " & objItem.IPAddress(i)
'' Next
'' End If
'Next
'End If
WScript.Echo strIPAddress
End Sub
Когда мой клиент побежал это на их кластерном сервере, то при условии пустой MsgBox, так что это не тянуть айпи адрес.
Я не знаю, почему я downvoted ... =/ – envinyater