I've been doing some thinking on how best to audit our systems to make sure that SMS is installed and working properly on all of our systems. Right now I am mulling over a few options that I think might need to be used in conjuction with each other.
1. Use a simple collection with a query rule that filters on “ResourceID.Client <> 1”. This will show you a lot of systems where the client isn't installed (we had 140+)
2. Another collection with a query rule that filters on “ResourceID.Client Is Null”. I found that this is necessary because the first query won't return resources where the Client attribute is set to Null. I found another 260+ systems that may not have the SMS client installed using this query. We were assuming that the first query would pickup everything. The bad thing about this is that it returns all network devices that network discovery picks up (routers, printers, etc). So I went ahead and created an additional query filter to only return systems on the domain. I need to work on this methodology to tweak it to return exactly what I am looking for.
3. Somehow I need to get information about the last time the system sent inventory to SMS and the last time the workstation was on AD. I'm thinking that using the “lastLogonTimeStamp” attribute in AD will be useful for this. We need to be using this information to clean old systems out of AD anyway. As part of this, I'd like to come up with a good method for finding SMS clients that haven't reported back in X number of days.
4. Maybe create a small Access database that I can link to SMS and dump the AD data to. Then I could create some reports??
As you can probably tell, I'm still in the speculative stage on this. If you've run into any good tools or processes for this, please let me know. Thanks!