I need some help. My head is starting to hurt

I’m trying to identify if a client is pointed to one of several DHCP servers in our environment so I can take an action on them.

My current Relevance looks like this …
(("10.1.1.3|10.1.1.4" contains it) of (if (exists adapter whose (address of it != "0.0.0.0" AND dhcp enabled of it) of network) then (dhcp servers of adapters whose (address of it != "0.0.0.0") of network as string) else "0.0.0.0"))

It works fine in the Fixlet Debugger, but when I add it to an otherwise functional Task, all the systems stop reporting as Relevant. I clearly have made a mistake and after staring at it for too long, I can’t find it.

I’m not sure why it would behave differently in the Debugger vs the real client, but…I think it can be made quite a bit simpler.

Since you’re already using plurals, I think you can drop the whole if/then/else clause. A loopback adapter won’t have a dhcp server, and a non-dhcp adapter also won’t have a dhcp server, so you should be able to go as simple as

exists dhcp servers whose (it as string is contained by "10.1.1.3|10.1.1.4") of adapters of network