Active Discover Filters with non-existent properties
I've been looking for an easy way to exclude instances by manually creating properties like ##exclude.volumes## or ##exclude.replicationjobs## which can be referenced in Active Discovery filters. Normally you can use something like NotContain or RegexNotMatch (ie "Name NotContain ##exclude.volumes##") but that only works if the property exists. If it doesn't existing (which provides an empty string) then that filter ends up excluding everything. Which means you can't just add it when you need to exclude something. I tried several different ways to write regex to make this work but I don't think it's possible (but open to hearing a way!).
Note that this needs to account for instances that can change automatically, like temporary drive mounts for example. So just disabling the instances manually wouldn't be enough. I also don't really want to set a "default" value for all these possible Exclude properties at the root level. I also wanted something that can be easily modified on any existing multi-instance DataSources, including common built-in ones and DataSources that just use WMI or SNMP without scripting. I could clone the existing DataSource and switch to using a scripted Active Discovery to deal with it in code. But I already have so many parallel DataSources with official ones and a simple Filter change would be better.
So what I would like to see, and I'm sure it's come up before, is for Active Discover filters to support nested AND. So a filter can contain something like (##exclude.volumes## Exists AND Name RegexNotMatch ##exclude.volumes##). That should provide a way to do what I'm looking to do. Or something that might be easier but messier is a new option like NotContainUnlessBlank or similar that will ignore values that are blank, although that sounds messy and confusing.
I'm open to any suggestions to workaround if anyone has any.