You create a software updates deployment package, in System Center 2012 Configuration Manager, by creating an instance of the SMS_SoftwareUpdatesPackage class and populating the properties.
To create a software updates deployment package
-
Set up a connection to the SMS Provider.
-
Create the new package object by using the SMS_SoftwareUpdatesPackage class.
-
Populate the new package properties.
-
Save the new package and properties.
Example
The following example method shows how to create a software updates deployment package by using the SMS_SoftwareUpdatesPackage class and class properties.
Note |
---|
The package location must be unique, and the updates must be available in the package source. |
For information about calling the sample code, see Calling Configuration Manager Code Snippets.
Example of the subroutine call in Visual Basic:
Copy Code | |
---|---|
Call CreateSUMDeploymentPackage(swbemServices, _ "New SUM Deployment Package", _ "New SUM Package Description", _ 2, _ "\\ServerOne\SUM_TestPackageSource") |
Example of the method call in C#:
Copy Code | |
---|---|
SUMSnippets.CreateSUMDeploymentPackage(WMIConnection, "New SUM Deployment Package", "New SUM Package Description", 2, "\\\\ServerOne\\SUM_TestPackageSource"); |
Visual Basic Script | Copy Code |
---|---|
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 |
C# | Copy Code |
---|---|
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; } } |
The example method has the following parameters:
Parameter |
Type |
Description |
connection |
|
A valid connection to the SMS Provider. |
newDeploymentPackageName |
|
The new deployment package name. |
newDeploymentPackageDescription |
|
The description for the new deployment package. |
newPackageSourceFlag |
|
The new package source flag. |
newPackageSourcePath |
|
The new package source path. The package location must be unique and the updates must be available in the package source. |
Compiling the Code
This C# example requires:
Namespaces
System
System.Collections.Generic
System.Text
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Robust Programming
For more information about error handling, see About Configuration Manager Errors.
Security
For more information about securing Configuration Manager applications, see Securing Configuration Manager Applications.