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
SMS Sağlayıcısı ile bağlantı kurun.
SMS_UpdatesAssignment sınıfını kullanarak yeni dağıtım nesnesini oluşturun.
Yeni dağıtım özelliklerini doldurun.
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_UpdatesAssignment
yansı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.