Aracılığıyla paylaş


Güncelleştirmeler Yapılandırma ve Dağıtma

SMS_UpdatesAssignment Sunucusu WMI Sınıfının bir örneğini oluşturup özellikleri doldurarak Configuration Manager bir yazılım güncelleştirmeleri dağıtımı oluşturursunuz.

Güncelleştirmeleri yapılandırmak ve dağıtmak için

  1. SMS Sağlayıcısı ile bağlantı kurun.

  2. SMS_UpdatesAssignment sınıfını kullanarak yeni dağıtım nesnesini oluşturun.

  3. Yeni dağıtım özelliklerini doldurun.

  4. Yeni dağıtımı ve özellikleri kaydedin.

Örnek

Aşağıdaki örnek yöntem, SMS_UpdatesAssignment sınıfını kullanarak yazılım güncelleştirmeleri dağıtımının nasıl oluşturulacağını gösterir. Örnek yöntemin parametrelerinin belirli özelliklerini SMS_UpdatesAssignmentyansıttığını unutmayın.

Önemli

Aşağıdaki yöntemler, atanan yapılandırma öğelerinin (CI_IDs) bir dizisini gerektirir. Bu CI_IDs güncelleştirme içeriği zaten indirilmiş ve bir güncelleştirme dağıtım paketine eklenmiş olmalıdır.

Örnek kodu çağırma hakkında bilgi için bkz. Configuration Manager Kod Parçacıklarını Çağırma.


Sub ConfigureAndDeploySUMUpdates(connection,                             _  
                                  newApplyToSubTargets,                  _  
                                  newArrayAssignedCIs,                   _  
                                  newAssignmentAction,                   _  
                                  newAssignmentDescription,              _  
                                  newAssignmentName,                     _  
                                  newDesiredConfigType,                  _  
                                  newDPLocality,                         _   
                                  newLocaleID,                           _  
                                  newLogComplianceToWinEvent,            _  
                                  newNotifyUser,                         _  
                                  newRaiseMomAlertsOnFailure,            _  
                                  newSendDetailedNonComplianceStatus,    _  
                                  newStartTime,                          _  
                                  newSuppressReboot,                     _  
                                  newTargetCollectionID,                 _  
                                  newUseGMTTimes)  

  ' Create the new deployment object.  
  Set newSUMUpdatesAssignment = connection.Get("SMS_UpdatesAssignment").SpawnInstance_  

  ' Populate the deployment properties.  
  newSUMUpdatesAssignment.ApplyToSubTargets = newApplyToSubTargets  
  newSUMUpdatesAssignment.AssignedCIs = newArrayAssignedCIs  
  newSUMUpdatesAssignment.AssignmentAction = newAssignmentAction  
  newSUMUpdatesAssignment.AssignmentDescription = newAssignmentDescription  
  newSUMUpdatesAssignment.AssignmentName = newAssignmentName  
  newSUMUpdatesAssignment.DesiredConfigType = newDesiredConfigType  
  newSUMUpdatesAssignment.DPLocality = newDPLocality  
  newSUMUpdatesAssignment.LocaleID = newLocaleID  
  newSUMUpdatesAssignment.LogComplianceToWinEvent = newLogComplianceToWinEvent  
  newSUMUpdatesAssignment.NotifyUser = newNotifyUser  
  newSUMUpdatesAssignment.RaiseMomAlertsOnFailure = newRaiseMomAlertsOnFailure  
  newSUMUpdatesAssignment.SendDetailedNonComplianceStatus = newSendDetailedNonComplianceStatus  
  newSUMUpdatesAssignment.StartTime = newStartTime  
  newSUMUpdatesAssignment.SuppressReboot = newSuppressReboot  
  newSUMUpdatesAssignment.TargetCollectionID = newTargetCollectionID  
  newSUMUpdatesAssignment.UseGMTTimes = newUseGMTTimes  

  ' Save the new deployment and properties.  
  newSUMUpdatesAssignment.Put_   

  ' Output the new deployment name.  
  Wscript.Echo "Created new deployment " & newSUMUpdatesAssignment.AssignmentName                    

End Sub  


public void ConfigureAndDeploySUMUpdates(WqlConnectionManager connection,  
                                        bool newApplyToSubTargets,  
                                        int[] newArrayAssignedCIs,  
                                        int newAssignmentAction,  
                                        string newAssignmentDescription,  
                                        string newAssignmentName,  
                                        int newDesiredConfigType,  
                                        int newDPLocality,  
                                        int newLocaleID,  
                                        bool newLogComplianceToWinEvent,  
                                        bool newNotifyUser,  
                                        bool newRaiseMomAlertsOnFailure,  
                                        bool newSendDetailedNonComplianceStatus,  
                                        string newStartTime,  
                                        int newSuppressReboot,  
                                        string newTargetCollectionID,  
                                        bool newUseGMTTimes)      
{  
    try  
    {  

        // Create the deployment object.  
        IResultObject newSUMUpdatesAssignment = connection.CreateInstance("SMS_UpdatesAssignment");  

        // Populate new deployment properties.  
        // Note: newTemplateName must be unique.  

        newSUMUpdatesAssignment["ApplyToSubTargets"].BooleanValue = newApplyToSubTargets;  
        newSUMUpdatesAssignment["AssignedCIs"].IntegerArrayValue = newArrayAssignedCIs;  
        newSUMUpdatesAssignment["AssignmentAction"].IntegerValue = newAssignmentAction;  
        newSUMUpdatesAssignment["AssignmentDescription"].StringValue = newAssignmentDescription;         
        newSUMUpdatesAssignment["AssignmentName"].StringValue = newAssignmentName;  
        newSUMUpdatesAssignment["DesiredConfigType"].IntegerValue = newDesiredConfigType;  
        newSUMUpdatesAssignment["DPLocality"].IntegerValue = newDPLocality;  
        newSUMUpdatesAssignment["LocaleID"].IntegerValue = newLocaleID;  
        newSUMUpdatesAssignment["LogComplianceToWinEvent"].BooleanValue = newLogComplianceToWinEvent;  
        newSUMUpdatesAssignment["NotifyUser"].BooleanValue = newNotifyUser;  
        newSUMUpdatesAssignment["RaiseMomAlertsOnFailure"].BooleanValue = newRaiseMomAlertsOnFailure;  
        newSUMUpdatesAssignment["SendDetailedNonComplianceStatus"].BooleanValue = newSendDetailedNonComplianceStatus;  
        newSUMUpdatesAssignment["StartTime"].DateTimeValue = newStartTime;  
        newSUMUpdatesAssignment["SuppressReboot"].IntegerValue = newSuppressReboot;  
        newSUMUpdatesAssignment["TargetCollectionID"].StringValue = newTargetCollectionID;  
        newSUMUpdatesAssignment["UseGMTTimes"].BooleanValue = newUseGMTTimes;  

        // Save new deployment and new deployment properties.  
        newSUMUpdatesAssignment.Put();  

        // Output the new deployment name.  
        Console.WriteLine("Created deployment: " + newAssignmentName);  
    }  

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

Örnek yöntem aşağıdaki parametrelere sahiptir:

Parametre Tür Açıklama
Connection -Yönetilen: WqlConnectionManager
- VBScript: SWbemServices
SMS Sağlayıcısına geçerli bir bağlantı.
newApplyToSubTargets -Yönetilen: Boolean
-Vbscript: Boolean
Dağıtımın alt hedeflere uygulanıp uygulanmayacağını belirler.

-True
-False
newArrayAssignedCIs - Yönetilen: Integer dizi
- VBScript: Integer dizi
Atanan yapılandırma öğeleri dizisi (CI_IDs). Bu CI_IDs güncelleştirme içeriği zaten indirilmiş ve bir güncelleştirme dağıtım paketine eklenmiş olmalıdır.
newAssignmentAction -Yönetilen: Integer
-Vbscript: Integer
Yeni atama eylemi.
newAssignmentDescription -Yönetilen: String
-Vbscript: String
Yeni ödev açıklaması.
newAssignmentName -Yönetilen: String
-Vbscript: String
Yeni atama adı.
newDesiredConfigType -Yönetilen: Integer
-Vbscript: Integer
Yeni istenen yapılandırma türü.
newDPLocality -Yönetilen: Integer
-Vbscript: Integer
Yeni dağıtım noktası konumu.
newLocaleID -Yönetilen: Integer
-Vbscript: Integer
Yeni yerel ayar kimliği.
newLogComplianceToWinEvent -Yönetilen: Boolean
-Vbscript: Boolean
Uyumluluğun Windows Olay günlüğüne kaydedilip kaydedilmediğini belirler.

-True
-False
newNotifyUser -Yönetilen: Boolean
-Vbscript: Boolean
Kullanıcılara bildirilip bildirilmediğini tanımlar.

-True
-False
newRaiseMomAlertsOnFailure -Yönetilen: Boolean
-Vbscript: Boolean
MOM uyarılarının hata durumunda tetiklenip tetiklenmeyeceğini tanımlar.

-True
-False
newSendDetailedNonComplianceStatus -Yönetilen: Boolean
-Vbscript: Boolean
Ayrıntılı uyumsuzluk durumunun gönderilip gönderilmediğini tanımlar.

-True
-False
newStartTime -Yönetilen: String
-Vbscript: String
Yeni başlangıç saati.
newSuppressReboot -Yönetilen: Integer
-Vbscript: Integer
Yeniden başlatmanın gizlenip gizlenmediğini tanımlar.
newTargetCollectionID -Yönetilen: String
-Vbscript: String
Yeni hedef koleksiyon kimlikleri.
newUseGMTTimes -Yönetilen: Boolean
-Vbscript: Boolean
Eşgüdümlü Evrensel Saat 'in (UTC) kullanılıp kullanılmayacağını tanımlar.

-True
-False

Kodu Derleme

Bu C# örneği şunları gerektirir:

Ad alanları

Sistem

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Derleme

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Sağlam Programlama

Hata işleme hakkında daha fazla bilgi için bkz. Configuration Manager Hataları Hakkında.

.NET Framework Güvenliği

Configuration Manager uygulamalarının güvenliğini sağlama hakkında daha fazla bilgi için bkz. rol tabanlı yönetim Configuration Manager.

Ayrıca bkz.

Yazılım güncelleştirme dağıtımları hakkında

SMS_UpdatesAssignment