Назад | Перейти на главную страницу

Эквивалент Microsoft.SystemsManagementServer.Automation в SCCM 2007

SMS 2003 содержал отличную функцию для автоматизации через отличную dll: Microsoft.SystemsManagementServer.Automation.dll. Это позволило автоматизировать SMS с помощью интуитивно понятных объектов, свойств и методов, таких как:

SMSProvider.Packages.Create("NewPackage");

В SCCM 2007, похоже, эта замечательная dll устарела в пользу большего количества кода "собачьего завтрака" в стиле WMI:

var conn = new WMIConnection(@"\\Server\root\sms\site_a", usr, pass);
var queryResults = conn.ExecuteQuery("SELECT * FROM SMS_Package WHERE 
                                      Name='" + packageName + "'");
foreach (ManagementObject obj in queryResults)
{
    packageID = (string)obj.GetPropertyValue("PackageID");
}

У меня возникает соблазн написать свои собственные классы скелета на основе этих вызовов wmi. Все, что кажется необходимым для базовой автоматизации, это: SccmServer, SccmPackage, SccmProgram и SccmTaskSequence.

Вопрос в том: есть ли у кого-нибудь такие классы обертки, скелета или знает какие-нибудь проекты с открытым исходным кодом, которые я могу использовать или адаптировать? Я ненавижу изобретать велосипед для таких обыденных вещей.

Это не совсем то, что вы ищете, но пробовали ли вы использовать Powershell и SCCM избавиться от некоторых проблем с WMI?

Вы также можете посмотреть на:

Кажется, еще не так много командлетов Powershell, которые обеспечивают тот же уровень функциональности, что и Microsoft.SystemsManagementServer.Automation.dll, но я нашел Расширения сообщества PowerShell для Configuration Manager.