Konfigurieren und Bereitstellen von Aktualisierungen
Sie erstellen eine Softwareupdatebereitstellung in Configuration Manager, indem Sie eine Instanz der WMI-Klasse des SMS_UpdatesAssignment Servers erstellen und die Eigenschaften auffüllen.
So konfigurieren und stellen Sie Updates bereit
Richten Sie eine Verbindung mit dem SMS-Anbieter ein.
Erstellen Sie das neue Bereitstellungsobjekt mithilfe der klasse SMS_UpdatesAssignment .
Füllen Sie die neuen Bereitstellungseigenschaften auf.
Speichern Sie die neue Bereitstellung und die Eigenschaften.
Beispiel
Die folgende Beispielmethode zeigt, wie Eine Softwareupdatebereitstellung mithilfe der SMS_UpdatesAssignment-Klasse erstellt wird. Beachten Sie, dass die Parameter der Beispielmethode bestimmte Eigenschaften von SMS_UpdatesAssignment
widerspiegeln.
Wichtig
Die folgenden Methoden erfordern ein Array der zugewiesenen Konfigurationselemente (CI_IDs). Der Updateinhalt für diese CI_IDs muss bereits heruntergeladen und einem Updatebereitstellungspaket hinzugefügt worden sein.
Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.
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;
}
}
Die Beispielmethode verfügt über die folgenden Parameter:
Parameter | Typ | Beschreibung |
---|---|---|
Connection |
-Verwalteten: WqlConnectionManager – VBScript: SWbemServices |
Eine gültige Verbindung mit dem SMS-Anbieter. |
newApplyToSubTargets |
-Verwalteten: Boolean -Vbscript: Boolean |
Bestimmt, ob die Bereitstellung für Untergeordnete Ziele gilt. -STIMMT -FALSE |
newArrayAssignedCIs |
– Verwaltet: Integer Array– VBScript: Integer Array |
Ein Array der zugewiesenen Konfigurationselemente (CI_IDs). Der Updateinhalt für diese CI_IDs muss bereits heruntergeladen und einem Updatebereitstellungspaket hinzugefügt worden sein. |
newAssignmentAction |
-Verwalteten: Integer -Vbscript: Integer |
Die neue Zuweisungsaktion. |
newAssignmentDescription |
-Verwalteten: String -Vbscript: String |
Die neue Zuweisungsbeschreibung. |
newAssignmentName |
-Verwalteten: String -Vbscript: String |
Der neue Zuweisungsname. |
newDesiredConfigType |
-Verwalteten: Integer -Vbscript: Integer |
Der neue gewünschte Konfigurationstyp. |
newDPLocality |
-Verwalteten: Integer -Vbscript: Integer |
Die neue Verteilungspunktlokalität. |
newLocaleID |
-Verwalteten: Integer -Vbscript: Integer |
Die neue Gebietsschema-ID. |
newLogComplianceToWinEvent |
-Verwalteten: Boolean -Vbscript: Boolean |
Bestimmt, ob die Konformität im Windows-Ereignisprotokoll protokolliert wird. -STIMMT -FALSE |
newNotifyUser |
-Verwalteten: Boolean -Vbscript: Boolean |
Gibt an, ob Benutzer benachrichtigt werden. -STIMMT -FALSE |
newRaiseMomAlertsOnFailure |
-Verwalteten: Boolean -Vbscript: Boolean |
Gibt an, ob MOM-Warnungen bei einem Fehler ausgelöst werden. -STIMMT -FALSE |
newSendDetailedNonComplianceStatus |
-Verwalteten: Boolean -Vbscript: Boolean |
Gibt an, ob der detaillierte Nichtkonformitätsstatus gesendet wird. -STIMMT -FALSE |
newStartTime |
-Verwalteten: String -Vbscript: String |
Die neue Startzeit. |
newSuppressReboot |
-Verwalteten: Integer -Vbscript: Integer |
Gibt an, ob der Neustart unterdrückt wird. |
newTargetCollectionID |
-Verwalteten: String -Vbscript: String |
Die neuen Zielsammlungs-IDs. |
newUseGMTTimes |
-Verwalteten: Boolean -Vbscript: Boolean |
Gibt an, ob koordinierte Weltzeit (COORDINATED Universal Time, UTC) verwendet werden soll. -STIMMT -FALSE |
Kompilieren des Codes
Für dieses C#-Beispiel ist Folgendes erforderlich:
Namespaces
System
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Robuste Programmierung
Weitere Informationen zur Fehlerbehandlung finden Sie unter Informationen zu Configuration Manager Fehlern.
.NET Framework-Sicherheit
Weitere Informationen zum Schützen Configuration Manager Anwendungen finden Sie unter Configuration Manager rollenbasierte Verwaltung.