aggg63 Posted May 7, 2007 Share Posted May 7, 2007 Hello. I want to read the IPAddress with WMI but this code doesn't work. If I change IPAddres by Caption the script works fine. I'm working with WXP Spanish and updated. Can anybody help me? Or is a bug? Thanks a lot. #include <Array.au3> local $i,$element,$coleccio,$objecteWMI,$Llista $objecteWMI=ObjGet('winmgmts:\\localhost\root\CIMV2') $coleccio=$objecteWMI.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration where IPEnabled = True",'WQL',0x10 + 0x20) If IsObj($coleccio) Then $Llista=_ArrayCreate(0) For $element In $coleccio _ArrayAdd($Llista,$element.IPAddress) ;_ArrayAdd($Llista,$element.Caption) $Llista[0]+=1 Next EndIf _ArrayDisplay($Llista,'IP') Link to comment Share on other sites More sharing options...
Xenobiologist Posted May 7, 2007 Share Posted May 7, 2007 Hi, this works for me: expandcollapse popup; Generated by AutoIt Scriptomatic $wbemFlagReturnImmediately = 0x10 $wbemFlagForwardOnly = 0x20 $colItems = "" $strComputer = "localhost" $Output="" $Output = $Output & "Computer: " & $strComputer & @CRLF $Output = $Output & "==========================================" & @CRLF $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration where IPEnabled = True", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem In $colItems $Output = $Output & "ArpAlwaysSourceRoute: " & $objItem.ArpAlwaysSourceRoute & @CRLF $Output = $Output & "ArpUseEtherSNAP: " & $objItem.ArpUseEtherSNAP & @CRLF $Output = $Output & "Caption: " & $objItem.Caption & @CRLF $Output = $Output & "DatabasePath: " & $objItem.DatabasePath & @CRLF $Output = $Output & "DeadGWDetectEnabled: " & $objItem.DeadGWDetectEnabled & @CRLF $strDefaultIPGateway = $objItem.DefaultIPGateway(0) $Output = $Output & "DefaultIPGateway: " & $strDefaultIPGateway & @CRLF $Output = $Output & "DefaultTOS: " & $objItem.DefaultTOS & @CRLF $Output = $Output & "DefaultTTL: " & $objItem.DefaultTTL & @CRLF $Output = $Output & "Description: " & $objItem.Description & @CRLF $Output = $Output & "DHCPEnabled: " & $objItem.DHCPEnabled & @CRLF $Output = $Output & "DHCPLeaseExpires: " & WMIDateStringToDate($objItem.DHCPLeaseExpires) & @CRLF $Output = $Output & "DHCPLeaseObtained: " & WMIDateStringToDate($objItem.DHCPLeaseObtained) & @CRLF $Output = $Output & "DHCPServer: " & $objItem.DHCPServer & @CRLF $Output = $Output & "DNSDomain: " & $objItem.DNSDomain & @CRLF $strDNSDomainSuffixSearchOrder = $objItem.DNSDomainSuffixSearchOrder(0) $Output = $Output & "DNSDomainSuffixSearchOrder: " & $strDNSDomainSuffixSearchOrder & @CRLF $Output = $Output & "DNSEnabledForWINSResolution: " & $objItem.DNSEnabledForWINSResolution & @CRLF $Output = $Output & "DNSHostName: " & $objItem.DNSHostName & @CRLF $strDNSServerSearchOrder = $objItem.DNSServerSearchOrder(0) $Output = $Output & "DNSServerSearchOrder: " & $strDNSServerSearchOrder & @CRLF $Output = $Output & "DomainDNSRegistrationEnabled: " & $objItem.DomainDNSRegistrationEnabled & @CRLF $Output = $Output & "ForwardBufferMemory: " & $objItem.ForwardBufferMemory & @CRLF $Output = $Output & "FullDNSRegistrationEnabled: " & $objItem.FullDNSRegistrationEnabled & @CRLF $strGatewayCostMetric = $objItem.GatewayCostMetric(0) $Output = $Output & "GatewayCostMetric: " & $strGatewayCostMetric & @CRLF $Output = $Output & "IGMPLevel: " & $objItem.IGMPLevel & @CRLF $Output = $Output & "Index: " & $objItem.Index & @CRLF $strIPAddress = $objItem.IPAddress(0) $Output = $Output & "IPAddress: " & $strIPAddress & @CRLF $Output = $Output & "IPConnectionMetric: " & $objItem.IPConnectionMetric & @CRLF $Output = $Output & "IPEnabled: " & $objItem.IPEnabled & @CRLF $Output = $Output & "IPFilterSecurityEnabled: " & $objItem.IPFilterSecurityEnabled & @CRLF $Output = $Output & "IPPortSecurityEnabled: " & $objItem.IPPortSecurityEnabled & @CRLF $strIPSecPermitIPProtocols = $objItem.IPSecPermitIPProtocols(0) $Output = $Output & "IPSecPermitIPProtocols: " & $strIPSecPermitIPProtocols & @CRLF $strIPSecPermitTCPPorts = $objItem.IPSecPermitTCPPorts(0) $Output = $Output & "IPSecPermitTCPPorts: " & $strIPSecPermitTCPPorts & @CRLF $strIPSecPermitUDPPorts = $objItem.IPSecPermitUDPPorts(0) $Output = $Output & "IPSecPermitUDPPorts: " & $strIPSecPermitUDPPorts & @CRLF $strIPSubnet = $objItem.IPSubnet(0) $Output = $Output & "IPSubnet: " & $strIPSubnet & @CRLF $Output = $Output & "IPUseZeroBroadcast: " & $objItem.IPUseZeroBroadcast & @CRLF $Output = $Output & "IPXAddress: " & $objItem.IPXAddress & @CRLF $Output = $Output & "IPXEnabled: " & $objItem.IPXEnabled & @CRLF $strIPXFrameType = $objItem.IPXFrameType(0) $Output = $Output & "IPXFrameType: " & $strIPXFrameType & @CRLF $Output = $Output & "IPXMediaType: " & $objItem.IPXMediaType & @CRLF $strIPXNetworkNumber = $objItem.IPXNetworkNumber(0) $Output = $Output & "IPXNetworkNumber: " & $strIPXNetworkNumber & @CRLF $Output = $Output & "IPXVirtualNetNumber: " & $objItem.IPXVirtualNetNumber & @CRLF $Output = $Output & "KeepAliveInterval: " & $objItem.KeepAliveInterval & @CRLF $Output = $Output & "KeepAliveTime: " & $objItem.KeepAliveTime & @CRLF $Output = $Output & "MACAddress: " & $objItem.MACAddress & @CRLF $Output = $Output & "MTU: " & $objItem.MTU & @CRLF $Output = $Output & "NumForwardPackets: " & $objItem.NumForwardPackets & @CRLF $Output = $Output & "PMTUBHDetectEnabled: " & $objItem.PMTUBHDetectEnabled & @CRLF $Output = $Output & "PMTUDiscoveryEnabled: " & $objItem.PMTUDiscoveryEnabled & @CRLF $Output = $Output & "ServiceName: " & $objItem.ServiceName & @CRLF $Output = $Output & "SettingID: " & $objItem.SettingID & @CRLF $Output = $Output & "TcpipNetbiosOptions: " & $objItem.TcpipNetbiosOptions & @CRLF $Output = $Output & "TcpMaxConnectRetransmissions: " & $objItem.TcpMaxConnectRetransmissions & @CRLF $Output = $Output & "TcpMaxDataRetransmissions: " & $objItem.TcpMaxDataRetransmissions & @CRLF $Output = $Output & "TcpNumConnections: " & $objItem.TcpNumConnections & @CRLF $Output = $Output & "TcpUseRFC1122UrgentPointer: " & $objItem.TcpUseRFC1122UrgentPointer & @CRLF $Output = $Output & "TcpWindowSize: " & $objItem.TcpWindowSize & @CRLF $Output = $Output & "WINSEnableLMHostsLookup: " & $objItem.WINSEnableLMHostsLookup & @CRLF $Output = $Output & "WINSHostLookupFile: " & $objItem.WINSHostLookupFile & @CRLF $Output = $Output & "WINSPrimaryServer: " & $objItem.WINSPrimaryServer & @CRLF $Output = $Output & "WINSScopeID: " & $objItem.WINSScopeID & @CRLF $Output = $Output & "WINSSecondaryServer: " & $objItem.WINSSecondaryServer & @CRLF if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop $Output="" Next Else Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_NetworkAdapterConfiguration" ) Endif Func WMIDateStringToDate($dtmDate) Return (StringMid($dtmDate, 5, 2) & "/" & _ StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _ & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2)) EndFunc So long, Mega Scripts & functions Organize Includes Let Scite organize the include files Yahtzee The game "Yahtzee" (Kniffel, DiceLion) LoginWrapper Secure scripts by adding a query (authentication) _RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...) Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc. MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times Link to comment Share on other sites More sharing options...
aggg63 Posted May 7, 2007 Author Share Posted May 7, 2007 Thanks. The correct syntax is IPAddress(0) NOT IPAddress. This value is an array, a NIC can host several IPs ;-). Thanks for the clue, my script works now. $strIPAddress = $objItem.IPAddress(0) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now