Como configurar e implantar Atualizações
Você cria uma implantação de atualizações de software, em Configuration Manager, criando uma instância da Classe WMI do servidor SMS_UpdatesAssignment e populando as propriedades.
Para configurar e implantar atualizações
Configure uma conexão com o Provedor de SMS.
Crie o novo objeto de implantação usando a classe SMS_UpdatesAssignment .
Preencha as novas propriedades de implantação.
Salve a nova implantação e as propriedades.
Exemplo
O método de exemplo a seguir mostra como criar uma implantação de atualizações de software usando a classe SMS_UpdatesAssignment . Observe que os parâmetros do método de exemplo refletem determinadas propriedades de SMS_UpdatesAssignment
.
Importante
Os métodos abaixo exigem uma matriz dos itens de configuração atribuídos (CI_IDs). O conteúdo de atualização desses CI_IDs já deve ter sido baixado e adicionado a um pacote de implantação de atualizações.
Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.
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;
}
}
O método de exemplo tem os seguintes parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
Connection |
-Gerenciado: WqlConnectionManager - VBScript: SWbemServices |
Uma conexão válida com o provedor de SMS. |
newApplyToSubTargets |
-Gerenciado: Boolean -Vbscript: Boolean |
Determina se a implantação se aplica a subtargets. -Verdade -False |
newArrayAssignedCIs |
– Gerenciado: Integer matriz- VBScript: Integer matriz |
Uma matriz dos itens de configuração atribuídos (CI_IDs). O conteúdo de atualização desses CI_IDs já deve ter sido baixado e adicionado a um pacote de implantação de atualizações. |
newAssignmentAction |
-Gerenciado: Integer -Vbscript: Integer |
A nova ação de atribuição. |
newAssignmentDescription |
-Gerenciado: String -Vbscript: String |
A nova descrição da atribuição. |
newAssignmentName |
-Gerenciado: String -Vbscript: String |
O novo nome da atribuição. |
newDesiredConfigType |
-Gerenciado: Integer -Vbscript: Integer |
O novo tipo de configuração desejado. |
newDPLocality |
-Gerenciado: Integer -Vbscript: Integer |
A nova localidade do ponto de distribuição. |
newLocaleID |
-Gerenciado: Integer -Vbscript: Integer |
A nova ID da localidade. |
newLogComplianceToWinEvent |
-Gerenciado: Boolean -Vbscript: Boolean |
Determina se a conformidade está registrada no log de eventos do Windows. -Verdade -False |
newNotifyUser |
-Gerenciado: Boolean -Vbscript: Boolean |
Identifica se os usuários são notificados. -Verdade -False |
newRaiseMomAlertsOnFailure |
-Gerenciado: Boolean -Vbscript: Boolean |
Identifica se os alertas MOM são gerados por falha. -Verdade -False |
newSendDetailedNonComplianceStatus |
-Gerenciado: Boolean -Vbscript: Boolean |
Identifica se o status de não conformidade detalhado é enviado. -Verdade -False |
newStartTime |
-Gerenciado: String -Vbscript: String |
A nova hora de início. |
newSuppressReboot |
-Gerenciado: Integer -Vbscript: Integer |
Identifica se a reinicialização é suprimida. |
newTargetCollectionID |
-Gerenciado: String -Vbscript: String |
As novas IDs da coleção de destino. |
newUseGMTTimes |
-Gerenciado: Boolean -Vbscript: Boolean |
Identifica se deve usar o UTC (Tempo Universal Coordenado). -Verdade -False |
Compilando o código
Este exemplo de C# requer:
Namespaces
System
System.Collections.Generic
System.Text
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
adminui.wqlqueryengine
microsoft.configurationmanagement.managementprovider
Programação robusta
Para obter mais informações sobre o tratamento de erros, consulte Sobre erros de Configuration Manager.
Segurança do .NET Framework
Para obter mais informações sobre como proteger aplicativos Configuration Manager, consulte Configuration Manager administração baseada em função.