Next question: I'm creating machine smart labels based on the "IP Address" field, using many different operators (contains, begins with, matches REGEX, and the not variant of each). I'm getting unexpected results, many more matches that I'd expect, based on the IP Address displayed in Inventory.

Which leads me to ask: what exactly does the "IP Address" field match on? When a computer has multiple NICs (e.g., a wireless one and an Ethernet one and a Bluetooth one), I see only one IP address in the Inventory, presumably the one in use when last connecting to the KBOX server.

But is the "IP Address" field matching on all the IP addresses ever used by this machine? Or maybe on the last IP address used on each NIC, which means matching on more than one IP address? This last scenario seems to be the way the queries are working, but I'm not sure.

If my question isn't clear, I can post an example. Sande

An
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
I have several IP address labels setup to determine the location of my systems. The KBOX shows the IP address used by the client to connect to the KBOX as the primary IP address, but take a look at the inventory of a system with more than one network connection and you will see all of them listed under the Network Interfaces list. If you attempt a search where "IP Address" contains "192.168.1.", then it will trigger a match if ANY of the network connections match.
Answered 06/09/2010 by: airwolf
Tenth Degree Black Belt

Please log in to comment
0
If you look at the query you will see that it is looking at all possible NICs for the machine.

If you want it to only hit machines whose active NIC (ie the NIC hitting the KBOX) matches an address then you need to modify the query.

For example, if you only want to send out a big install to machines on the local 192.168.1.* gigabit subnet:

select *, UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(LAST_SYNC) as
LAST_SYNC_TIME,
UNIX_TIMESTAMP(MACHINE.LAST_SYNC) as
LAST_SYNC_SECONDS
from ORG1.MACHINE
WHERE ( MACHINE.IP LIKE '192.168.1.%')
Answered 06/09/2010 by: GillySpy
Seventh Degree Black Belt

Please log in to comment
0
Oh, so that's what all that LEFT JOIN and 1 in (select...) stuff was for!

Thank you. That's exactly what I needed to know.
Answered 06/10/2010 by: snissen
Fourth Degree Green Belt

Please log in to comment
Answer this question or Comment on this question for clarity