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
Configurare una connessione al provider SMS.
Creare il nuovo oggetto di distribuzione usando la classe SMS_UpdatesAssignment .
Popolare le nuove proprietà di distribuzione.
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