Come configurare e distribuire gli Aggiornamenti

È possibile creare una distribuzione di aggiornamenti software in Configuration Manager creando un'istanza della classe WMI di SMS_UpdatesAssignment Server e popolando le proprietà.

Per configurare e distribuire gli aggiornamenti

  1. Configurare una connessione al provider SMS.

  2. Creare il nuovo oggetto di distribuzione usando la classe SMS_UpdatesAssignment .

  3. Popolare le nuove proprietà di distribuzione.

  4. Salvare la nuova distribuzione e le proprietà.

Esempio

Il metodo di esempio seguente mostra come creare una distribuzione degli aggiornamenti software usando la classe SMS_UpdatesAssignment . Si noti che i parametri del metodo di esempio riflettono determinate proprietà di SMS_UpdatesAssignment.

Importante

I metodi seguenti richiedono una matrice degli elementi di configurazione assegnati (CI_IDs). Il contenuto di aggiornamento per questi CI_IDs deve essere già stato scaricato e aggiunto a un pacchetto di distribuzione degli aggiornamenti.

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice di Configuration Manager.


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

Il metodo di esempio include i parametri seguenti:

Parametro Tipo Descrizione
Connection - Gestito: WqlConnectionManager
- VBScript: SWbemServices
Una connessione valida al provider SMS.
newApplyToSubTargets - Gestito: Boolean
- VBScript: Boolean
Determina se la distribuzione si applica alle destinazioni secondarie.

- Vero
- Falso
newArrayAssignedCIs - Gestito: Integer array
- VBScript: Integer matrice
Una matrice di elementi di configurazione assegnati (CI_IDs). Il contenuto di aggiornamento per questi CI_IDs deve essere già stato scaricato e aggiunto a un pacchetto di distribuzione degli aggiornamenti.
newAssignmentAction - Gestito: Integer
- VBScript: Integer
La nuova azione di assegnazione.
newAssignmentDescription - Gestito: String
- VBScript: String
Descrizione della nuova assegnazione.
newAssignmentName - Gestito: String
- VBScript: String
Il nuovo nome dell'assegnazione.
newDesiredConfigType - Gestito: Integer
- VBScript: Integer
Il nuovo tipo di configurazione desiderato.
newDPLocality - Gestito: Integer
- VBScript: Integer
La nuova località del punto di distribuzione.
newLocaleID - Gestito: Integer
- VBScript: Integer
Il nuovo ID delle impostazioni locali.
newLogComplianceToWinEvent - Gestito: Boolean
- VBScript: Boolean
Determina se la conformità viene registrata nel registro eventi di Windows.

- Vero
- Falso
newNotifyUser - Gestito: Boolean
- VBScript: Boolean
Identifica se gli utenti ricevono una notifica.

- Vero
- Falso
newRaiseMomAlertsOnFailure - Gestito: Boolean
- VBScript: Boolean
Identifica se gli avvisi MOM vengono generati in caso di errore.

- Vero
- Falso
newSendDetailedNonComplianceStatus - Gestito: Boolean
- VBScript: Boolean
Identifica se viene inviato lo stato di non conformità dettagliato.

- Vero
- Falso
newStartTime - Gestito: String
- VBScript: String
Nuova ora di inizio.
newSuppressReboot - Gestito: Integer
- VBScript: Integer
Indica se il riavvio viene eliminato.
newTargetCollectionID - Gestito: String
- VBScript: String
I nuovi ID raccolta di destinazione.
newUseGMTTimes - Gestito: Boolean
- VBScript: Boolean
Identifica se usare il formato UTC (Coordinated Universal Time).

- Vero
- Falso

Compilazione del codice

Questo esempio di C# richiede:

Spazi dei nomi

Sistema

System.Collections.Generic

System.Text

Microsoft.ConfigurationManagementManagementProvider

Microsoft.ConfigurationManagementManagementProvider.WqlQueryEngine

Assembly

adminui.wqlqueryengine

Microsoft.ConfigurationManagement.ManagementProvider

Programmazione efficiente

Per altre informazioni sulla gestione degli errori, vedere Informazioni sugli errori di Configuration Manager.

Sicurezza di .NET Framework

Per altre informazioni sulla protezione delle applicazioni di Configuration Manager, vedere Amministrazione basata sui ruoli di Configuration Manager.

Vedere anche

Informazioni sulle distribuzioni degli aggiornamenti software

SMS_UpdatesAssignment