Delen via


Updates configureren en implementeren

U maakt een implementatie van software-updates in Configuration Manager door een exemplaar van de WMI-klasse SMS_UpdatesAssignment Server te maken en de eigenschappen te vullen.

Updates configureren en implementeren

  1. Een verbinding met de SMS-provider instellen.

  2. Maak het nieuwe implementatieobject met behulp van de klasse SMS_UpdatesAssignment .

  3. Vul de nieuwe implementatie-eigenschappen in.

  4. Sla de nieuwe implementatie en eigenschappen op.

Voorbeeld

De volgende voorbeeldmethode laat zien hoe u een implementatie van software-updates maakt met behulp van de klasse SMS_UpdatesAssignment . Houd er rekening mee dat de parameters van de voorbeeldmethode bepaalde eigenschappen van SMS_UpdatesAssignmentweerspiegelen.

Belangrijk

Voor de onderstaande methoden is een matrix van de toegewezen configuratie-items (CI_IDs) vereist. De update-inhoud voor deze CI_IDs moet al zijn gedownload en toegevoegd aan een update-implementatiepakket.

Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.


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;  
    }  
}  

De voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
Connection -Beheerd: WqlConnectionManager
- VBScript: SWbemServices
Een geldige verbinding met de SMS-provider.
newApplyToSubTargets -Beheerd: Boolean
-Vbscript: Boolean
Bepaalt of de implementatie van toepassing is op subtargets.

-Waar
-Valse
newArrayAssignedCIs - Beheerd: Integer matrix
- VBScript: Integer matrix
Een matrix van de toegewezen configuratie-items (CI_IDs). De update-inhoud voor deze CI_IDs moet al zijn gedownload en toegevoegd aan een update-implementatiepakket.
newAssignmentAction -Beheerd: Integer
-Vbscript: Integer
De nieuwe toewijzingsactie.
newAssignmentDescription -Beheerd: String
-Vbscript: String
De nieuwe toewijzingsbeschrijving.
newAssignmentName -Beheerd: String
-Vbscript: String
De naam van de nieuwe toewijzing.
newDesiredConfigType -Beheerd: Integer
-Vbscript: Integer
Het nieuwe gewenste configuratietype.
newDPLocality -Beheerd: Integer
-Vbscript: Integer
De nieuwe distributiepuntlocatie.
newLocaleID -Beheerd: Integer
-Vbscript: Integer
De nieuwe landinstellings-id.
newLogComplianceToWinEvent -Beheerd: Boolean
-Vbscript: Boolean
Bepaalt of naleving wordt vastgelegd in het Windows-gebeurtenislogboek.

-Waar
-Valse
newNotifyUser -Beheerd: Boolean
-Vbscript: Boolean
Hiermee wordt aangegeven of gebruikers op de hoogte worden gesteld.

-Waar
-Valse
newRaiseMomAlertsOnFailure -Beheerd: Boolean
-Vbscript: Boolean
Hiermee wordt aangegeven of MOM-waarschuwingen worden gegenereerd bij een fout.

-Waar
-Valse
newSendDetailedNonComplianceStatus -Beheerd: Boolean
-Vbscript: Boolean
Hiermee wordt aangegeven of de gedetailleerde status van niet-naleving wordt verzonden.

-Waar
-Valse
newStartTime -Beheerd: String
-Vbscript: String
De nieuwe begintijd.
newSuppressReboot -Beheerd: Integer
-Vbscript: Integer
Hiermee wordt aangegeven of opnieuw opstarten wordt onderdrukt.
newTargetCollectionID -Beheerd: String
-Vbscript: String
De nieuwe doelverzameling-id's.
newUseGMTTimes -Beheerd: Boolean
-Vbscript: Boolean
Hiermee wordt aangegeven of u Coordinated Universal Time (UTC) moet gebruiken.

-Waar
-Valse

De code compileren

Voor dit C#-voorbeeld is het volgende vereist:

Naamruimten

Systeem

System.Collections.Generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Vergadering

adminui.wqlqueryengine

microsoft.configurationmanagement.managementprovider

Robuust programmeren

Zie Over Configuration Manager fouten voor meer informatie over foutafhandeling.

.NET Framework Beveiliging

Zie Configuration Manager op rollen gebaseerd beheer voor meer informatie over het beveiligen van Configuration Manager toepassingen.

Zie ook

Informatie over software-update-implementaties

SMS_UpdatesAssignment