Я никогда не нашел официального слова по этому поводу, но, насколько я понимаю, microsoft.configurationmanagement.managementprovider - это просто своего рода оболочка, которая позволяет легко переносить ваши старые примеры vbscript, которые следуют рекомендациям MS, в sccm. Все эти примеры просто вызывают методы WMI, в них нет ничего, что SCCM специфицирует c, поэтому вы всегда можете использовать basi c WMI для записи этого без дополнительных вещей.
Так что вы можете просто использовать System.Management и затем напишите это так:
ManagementClass collQuery = new ManagementClass(@"\\<siteserver>\root\sms\site_<sitecode>", "SMS_CollectionRuleQuery", null);
ManagementObject collQueryInstance = collQuery.CreateInstance();
collQueryInstance["QueryExpression"] = "Select * from SMS_R_System";
collQueryInstance["RuleName"] = "Members of collection";
ManagementObject collInstance = new ManagementObject(@"\\<siteserver>\root\SMS\site_<sitecode>:SMS_Collection.CollectionID='<CollID>'");
ManagementBaseObject inParams = collInstance.GetMethodParameters("AddMembershipRule");
inParams.SetPropertyValue("collectionRule", collQueryInstance);
ManagementBaseObject outParams = collInstance.InvokeMethod("AddMembershipRule", inParams, null);
и оно должно работать. Конечно, вы должны перевести все вызовы в «нормальный» синтаксис WMI, но я думаю, что этот пример должен предоставить вам основы