Freigeben über


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

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein.

  2. Erstellen Sie das neue Bereitstellungsobjekt mithilfe der klasse SMS_UpdatesAssignment .

  3. Füllen Sie die neuen Bereitstellungseigenschaften auf.

  4. 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_UpdatesAssignmentwiderspiegeln.

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.

Siehe auch

Informationen über die Bereitstellung von Softwareupdates

SMS_UpdatesAssignment