如何创建部署

以下示例演示如何使用 SMS_Advertisement 类及其属性创建Configuration Manager部署。

重要

创建部署的帐户需要集合的 “部署包” 权限和包的 “读取 ”权限。

概览

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

  2. 创建 类的新对象 SMS_Advertisement

  3. 填充新的播发属性。

  4. 保存新的播发和属性。

示例

以下示例为软件分发创建播发。

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

Sub SWDCreateAdvertisement(connection, existingCollectionID, existingPackageID, existingProgramName, newAdvertisementName, newAdvertisementComment, newAdvertisementFlags, newRemoteClientFlags, newAdvertisementStartOfferDateTime, newAdvertisementStartOfferEnabled)  
    Dim newAdvertisement  
    ' Create the new advertisement object.  
    Set newAdvertisement = connection.Get("SMS_Advertisement").SpawnInstance_  

    ' Populate the advertisement properties.  
    newAdvertisement.CollectionID = existingCollectionID  
    newAdvertisement.PackageID = existingPackageID  
    newAdvertisement.ProgramName = existingProgramName  
    newAdvertisement.AdvertisementName = newAdvertisementName  
    newAdvertisement.Comment = newAdvertisementComment  
    newAdvertisement.AdvertFlags = newAdvertisementFlags  
    newAdvertisement.RemoteClientFlags = newRemoteClientFlags
    newAdvertisement.PresentTime = newAdvertisementStartOfferDateTime  
    newAdvertisement.PresentTimeEnabled = newAdvertisementStartOfferEnabled  

    ' Save the new advertisement and properties.  
    newAdvertisement.Put_   

    ' Output new advertisement name.  
    Wscript.Echo "Created advertisement: " & newAdvertisement.AdvertisementName  

End Sub  
public void CreateSWDAdvertisement(WqlConnectionManager connection, string existingCollectionID, string existingPackageID, string existingProgramName, string newAdvertisementName, string newAdvertisementComment, int newAdvertisementFlags, int newRemoteClientFlags, string newAdvertisementStartOfferDateTime, bool newAdvertisementStartOfferEnabled)  
{  
    try  
    {  
        // Create new advertisement instance.  
        IResultObject newAdvertisement = connection.CreateInstance("SMS_Advertisement");  

        // Populate new advertisement values.  
        newAdvertisement["CollectionID"].StringValue = existingCollectionID;  
        newAdvertisement["PackageID"].StringValue = existingPackageID;  
        newAdvertisement["ProgramName"].StringValue = existingProgramName;  
        newAdvertisement["AdvertisementName"].StringValue = newAdvertisementName;  
        newAdvertisement["Comment"].StringValue = newAdvertisementComment;  
        newAdvertisement["AdvertFlags"].IntegerValue = newAdvertisementFlags;  
        newAdvertisement["RemoteClientFlag"].IntegerValue = newRemoteClientFlags;
        newAdvertisement["PresentTime"].StringValue = newAdvertisementStartOfferDateTime;  
        newAdvertisement["PresentTimeEnabled"].BooleanValue = newAdvertisementStartOfferEnabled;  

        // Save the new advertisement and properties.  
        newAdvertisement.Put();  

        // Output new assignment name.  
        Console.WriteLine("Created advertisement: " + newAdvertisement["AdvertisementName"].StringValue);  
    }  

    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to assign advertisement. Error: " + ex.Message);  
        throw;  
    }  
}  

示例方法具有以下参数:

参数 类型 说明
connection

swbemServices
-管理: WqlConnectionManager
- VBScript: SWbemServices
与 SMS 提供程序的有效连接。
existingCollectionID String 要与之关联的播发的现有集合的 ID。
existingPackageID String 要与之关联的播发的现有包的 ID。
existingProgramName String 与播发关联的程序的名称。
newAdvertisementName String 新播发的名称。
newAdvertisementComment String 新广告的注释。
newAdvertisementFlags 整数 指定新播发选项的标志。
newRemoteClientFlags 整数 指定客户端在本地或远程连接到分发点时程序应如何运行的标志。
newAdvertisementStartOfferDateTime String 首次提供新广告的时间。
newAdvertisementStartOfferEnabled Boolean true 如果提供广告,则为 。

编译代码

C# 示例需要:

命名空间

  • System

  • Microsoft.ConfigurationManagement.ManagementProvider

  • Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

  • adminui.wqlqueryengine

  • microsoft.configurationmanagement.managementprovider

  • mscorlib

可靠性编程

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

另请参阅