如何创建部署包

可以通过创建 类的SMS_SoftwareUpdatesPackage实例并填充属性,在 Configuration Manager 中创建软件更新部署包。

创建软件更新部署包

  1. 设置与 SMS 提供程序的连接。

  2. 使用 SMS_SoftwareUpdatesPackage 类创建新的包对象。

  3. 填充新的包属性。

  4. 保存新包和属性。

示例

以下示例方法演示如何使用 SMS_SoftwareUpdatesPackage 类和 类属性创建软件更新部署包。

注意

包位置必须唯一,并且更新必须在包源中可用。

有关调用示例代码的信息,请参阅调用Configuration Manager代码片段

Visual Basic 中的子例程调用示例:


Call CreateSUMDeploymentPackage(swbemServices,                  _
                                "New SUM Deployment Package",   _
                                "New SUM Package Description",  _
                                2,                              _
                                "\\ServerOne\SUM_TestPackageSource")

C# 中方法调用的示例:


SUMSnippets.CreateSUMDeploymentPackage(WMIConnection,
                                       "New SUM Deployment Package",
                                       "New SUM Package Description",
                                       2,
                                       "\\\\ServerOne\\SUM_TestPackageSource");

Sub CreateSUMDeploymentPackage(connection,                 _
                               newPackageName,             _
                               newPackageDescription,      _
                               newPackageSourceFlag,       _
                               newPackageSourcePath)

    ' Create the new SUM package object.
    Set newSUMDeploymentPackage = connection.Get("SMS_SoftwareUpdatesPackage").SpawnInstance_

    ' Populate the new SUM package properties.
    newSUMDeploymentPackage.Name = newPackageName
    newSUMDeploymentPackage.Description = newPackageDescription
    newSUMDeploymentPackage.PkgSourceFlag = newPackageSourceFlag
    newSUMDeploymentPackage.PkgSourcePath = newPackageSourcePath

    ' Save the new SUM package object and properties.
    newSUMDeploymentPackage.Put_

    ' Output the new SUM package name.
    Wscript.Echo "Created the new SUM Deployment Package: " & newPackageName

 End Sub


public void CreateSUMDeploymentPackage(WqlConnectionManager connection,
                                       string newPackageName,
                                       string newPackageDescription,
                                       int newPackageSourceFlag,
                                       string newPackageSourcePath)

{
    try
    {
        // Create the new SUM package object.
        IResultObject newSUMDeploymentPackage = connection.CreateInstance("SMS_SoftwareUpdatesPackage");

        // Populate the new SUM package properties.
        newSUMDeploymentPackage["Name"].StringValue = newPackageName;
        newSUMDeploymentPackage["Description"].StringValue = newPackageDescription;
        newSUMDeploymentPackage["PkgSourceFlag"].IntegerValue = newPackageSourceFlag;
        newSUMDeploymentPackage["PkgSourcePath"].StringValue = newPackageSourcePath;

        // Save the new SUM package and new package properties.
        newSUMDeploymentPackage.Put();

        // Output the new SUM package name.
        Console.WriteLine("Created the new SUM Deployment Package: " + newPackageName);
    }

    catch (SmsException ex)
    {
        Console.WriteLine("Failed to create the SUM Deployment Package. Error: " + ex.Message);
        throw;
    }
}

示例方法具有以下参数:

参数 类型 说明
connection -管理: WqlConnectionManager
- VBScript: SWbemServices
与 SMS 提供程序的有效连接。
newDeploymentPackageName -管理: String
- VBScript: String
新的部署包名称。
newDeploymentPackageDescription -管理: String
- VBScript: String
新部署包的说明。
newPackageSourceFlag -管理: Integer
- VBScript: Integer
新的包源标志。
newPackageSourcePath -管理: String
- VBScript: String
新的包源路径。

包位置必须唯一,并且更新必须在包源中可用。

编译代码

此 C# 示例需要:

命名空间

System

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

可靠编程

有关错误处理的详细信息,请参阅关于Configuration Manager错误

.NET Framework 安全性

有关保护Configuration Manager应用程序的详细信息,请参阅Configuration Manager基于角色的管理

另请参阅

关于软件更新部署如何将包分配到分发点SMS_SoftwareUpdatesPackage