Condividi tramite


Come configurare e distribuire Aggiornamenti

È possibile creare una distribuzione degli aggiornamenti software, in Configuration Manager, creando un'istanza della classe WMI del server SMS_UpdatesAssignment 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 nuove proprietà.

Esempio

Il metodo di esempio seguente illustra come creare una distribuzione di 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 dell'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 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
Connessione valida al provider SMS.
newApplyToSubTargets -Gestito: Boolean
-Vbscript: Boolean
Determina se la distribuzione si applica alle destinazioni secondarie.

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

-Vero
-False
newNotifyUser -Gestito: Boolean
-Vbscript: Boolean
Identifica se gli utenti ricevono una notifica.

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

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

-Vero
-False
newStartTime -Gestito: String
-Vbscript: String
Nuova ora di inizio.
newSuppressReboot -Gestito: Integer
-Vbscript: Integer
Identifica se il riavvio viene eliminato.
newTargetCollectionID -Gestito: String
-Vbscript: String
Nuovi ID raccolta di destinazione.
newUseGMTTimes -Gestito: Boolean
-Vbscript: Boolean
Identifica se usare l'ora UTC (Coordinated Universal Time).

-Vero
-False

Compilazione del codice

Questo esempio C# richiede:

Namespaces

Sistema

System.collections.generic

System.Text

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.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 Configuration Manager, vedere Configuration Manager'amministrazione basata sui ruoli.

Vedere anche

Informazioni sulle distribuzioni degli aggiornamenti software

SMS_UpdatesAssignment