短信 2003包含通过出色的 dll 实现自动化的强大功能: Microsoft.SystemsManagementServer.Automation.dll. 它允许使用直观的对象、属性和方法自动化 SMS,例如:
SMSProvider.Packages.Create("NewPackage");
在星云数据库 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 调用编写自己的骨架类。基本自动化所需的一切似乎都是:Sccm服务器,Sccm包,Sccm程序和Sccm任务序列。
问题是:有人有这样的包装器、骨架类吗?或者有人知道我可以使用或改编的任何开源项目吗?我讨厌为这种平凡的东西重新发明轮子。
答案1
这不完全是你想要的,但你有没有看过使用Powershell 和 SCCM减轻一些 WMI 的痛苦?
您可能还想看看:
目前似乎没有太多 Powershell cmdlet 能够提供与 Microsoft.SystemsManagementServer.Automation.dll 相同级别的功能,但我确实找到了适用于 Configuration Manager 的 PowerShell 社区扩展。