Based on this blog entry, a similar situation to getting just selected services, might be Environment Variables. You could enable the default class for gathering all environment variables, but most computers have lots of Environment variables--most of which you don't really need to know the values of them. Here's one way to pull back just those environment variable values you really care about.
fyi, depending upon what you are looking for, this inventory edit may not be the best solution, either. If you know an environment variable has to equal a very specific value, you could use a Desired Configuration Management rule instead, and then just report on machines which are "non-compliant" based on your defined rules. It all depends what you need--there are several ways to approach getting, and remediating if necessary, based on environment variable settings.
Below is a sample mof snippet to be added to sms_def.mof and configuration.mof (If you are SMS2003, add both to sms_def.mof or mini.mof, and use your normal mofcomp routine to tell your clients how to report).
This example would be if the only values you wanted to know about were the environment variables of 'windir' and a custom environment variable of 'imagename'. Possibly these two are poor examples...but I'm just trying to illustrate!
//==================================================================
// Add to SMS_DEF.MOF
//==================================================================
#pragma deleteclass("Win32_EnvironmentLTD",NOFAIL)
[dynamic, provider("MS_VIEW_INSTANCE_PROVIDER"), SMS_Report(TRUE),
SMS_Group_Name("Win32_EnvironmentLTD"), SMS_Class_ID("CUSTOM|Win32_EnvironmentLTD|1.0")]
class Win32_EnvironmentLTD : SMS_Class_Template
{
[SMS_Report(TRUE), key] String Name;
[SMS_Report(TRUE), key] String UserName;
[SMS_Report(TRUE)] String VariableValue;
};
//--------------------------------------------
// Add to Configuration.MOF
//--------------------------------------------
#pragma namespace("\\\\.\\root\\cimv2")
[Union, ViewSources{"select Name,UserName,VariableValue from Win32_environment where Name='windir' OR Name='imagename'"},ViewSpaces{"\\\\.\\root\\cimv2"}, dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")]
class Win32_EnvironmentLTD
{
[PropertySources{"Name"},Key]
string Name;
[PropertySources{"UserName"},Key]
string UserName;
[PropertySources{"VariableValue"}]
string VariableValue;
};
Credits: www.dudeworks.com (Dude!!) for the original idea.