Partilhar via


Acompanhar a avaliação de conformidade da atualização de software

Aplica-se a: Configuration Manager

Antes de implantar atualizações de software em clientes, os clientes devem executar uma verificação de conformidade de atualizações de software. Recomendamos que você permita tempo suficiente para que os clientes concluam os resultados da verificação e do relatório de conformidade para que possam examinar os resultados de conformidade e implantar apenas as atualizações necessárias nos clientes.

Quando o SUP (ponto de atualização de software) é instalado e sincronizado, é criada uma política de máquina em todo o site que informa aos computadores cliente que Configuration Manager Software Atualizações estava habilitado para o site. Quando um cliente recebe a política do computador, uma verificação de avaliação de conformidade é agendada para começar aleatoriamente nas próximas duas horas. Quando a verificação é iniciada, um processo do Agente cliente Atualizações software limpa o histórico de verificação, envia uma solicitação para localizar o servidor WSUS (Windows Server Update Services) que deve ser usado para a verificação e atualiza o Política de Grupo local com o local do WSUS.

Para obter uma visão geral do processo de avaliação de conformidade, consulte Avaliação de conformidade de atualizações de software.

Política de verificação de atualização de software

Antes que um cliente possa tentar verificar se há atualizações, ele precisa da política UpdateSource. Essa política é criada no servidor do site após uma sincronização bem-sucedida do SUP. Esta seção discute como essa política é criada pelo seguinte processo:

Etapa 1: após uma sincronização bem-sucedida, o WSyncMgr atualiza a versão de conteúdo e a última hora de sincronização no banco de dados

Após uma sincronização bem-sucedida em um site primário, o WSyncMgr atualiza a Última Hora de Sincronização e a Versão de Conteúdo no banco de dados para o SUP. Isso é feito executando o spProcessSUMSyncStateMessage procedimento armazenado. No seguinte exemplo SQL Server Profiler rastreamento, este procedimento armazenado é executado para atualizar a versão do conteúdo para 36:

declare @Error int; exec spProcessSUMSyncStateMessage N'2014-01-17 17:59:54', N'PS1', N'{C2D17964-BBDD-4339-B9F3-12D7205B39CC}', 1, 0, '36', @Error saída, N'PS1SITE. CONTOSO. COM'

Etapa 2: SMSDBMON é disparado e descarta um . Arquivo STN em policypv.box

spProcessSUMSyncStateMessage atualiza a Update_SyncStatus tabela com a nova Versão de Conteúdo e Hora de Sincronização. Essa atualização na tabela dispara SMSDBMON Update_SyncStatus para soltar um <UpdateSource_UniqueID>. O arquivo STN (STN significa Notificação da Ferramenta de Verificação) em policypv.box para indicar uma alteração na definição da ferramenta de verificação. Os seguintes são registrados em SMSDBMON.log:

RCV: UPDATE on Update_SyncStatus for UpdSyncStatus_iu [{C2D17964-BBDD-4339-B9F3-12D7205B39CC}][46680] SMS_DATABASE_NOTIFICATION_MONITOR
SND: E:\ConfigMgr\inboxes\policypv.box{C2D17964-BBDD-4339-B9F3-12D7205B39CC}. STN (não zero) [46680] SMS_DATABASE_NOTIFICATION_MONITOR

Etapa 3: Provedor de Política cria ou atualiza a política UpdateSource no banco de dados

O <UpdateSource_UniqueID>. O arquivo STN notifica o Provedor de Políticas de que ele deve acordar e atualizar a política UpdateSource no banco de dados.

Os seguintes são registrados em PolicyPv.log:

Encontrado {C2D17964-BBDD-4339-B9F3-12D7205B39CC}. STN SMS_POLICY_PROVIDER
ID da ferramenta de verificação adicionada {C2D17964-BBDD-4339-B9F3-12D7205B39CC} SMS_POLICY_PROVIDER
Adicionando à lista de exclusão: E:\ConfigMgr\inboxes\policypv.box{C2D17964-BBDD-4339-B9F3-12D7205B39CC}. STN SMS_POLICY_PROVIDER

No rastreamento SQL Server Profiler:

selecione PolicyID, PolicyAssignmentID, SourceCRC, PADBID de SettingsPolicy onde SourceID = N'PS1' e SourceType = N'UpdateSource'

selecione Versão da Política em que PolicyID = N'{d0855677-b0a6-4e33-9bd5-7b0d06f0a2be}'
IF EXISTS (selecione PolicyID from Policy where PolicyID = N'{d0855677-b0a6-4e33-9bd5-7b0d06f0a2be}') update Policy set Version = N'40.00' where PolicyID = N'{d0855677-b0a6-4e33-9bd5-7b0d06f0a2be}' VALORES de política de inserção ELSE (PolicyID, Versão) (N'{d08555677- b0a6-4e33-9bd5-7b0d06f0a2be}', N'40.00')

exec sp_describe_undeclared_parameters N'UPDATE Policy SET Body = @P1 where PolicyID = N'{d0855677-b0a6-4e33-9bd5- 7b0d06f0a2be}'''
IF EXISTS (selecione PADBID from PolicyAssignment where PADBID = 16777218) update PolicyAssignment set Version = N'40.00', InProcess = 1 , BodyHash = null where PADBID = 16777218 ELSE insert PolicyAssignment (PolicyAssignmentID, PADBID, Version, Valores PolicyID) (N'{375c8020-3cae-4736-89ca-ccf1ce6e3709}', 16777218, N'40.00', N'{d0855677-b0a6-4e33-9bd5-7b0d06f0a2be}')

exec sp_describe_undeclared_parameters N'UPDATE PolicyAssignment SET Body = @P1 where PADBID = 16777218'

update PolicyAssignment set InProcess = 0, BodySignature = N'BodySignatureTruncated', TombstoneBodySignature = N'TombstoneBodySignatureTruncated<>', HashAlgOID = N'1.2.840.113549.1.1.11', HashAlgId = 32780, BodyHash = N'BodyHashTruncated><', TombstoneBodyHash = N'TombstoneBodyHashTruncated<>' onde PADBID = 16777218<>

Para ver essa política no banco de dados, execute a seguinte consulta:

SELECT CONVERT(XML, Body, 1), * FROM Policy WHERE PolicyID = (SELECT PolicyID FROM SettingsPolicy WHERE SourceType = 'UpdateSource')

Essa política contém a versão de conteúdo do servidor de atualização que é usada para localizar o local do computador WSUS no qual o cliente pode verificar. Depois que essa política for criada ou atualizada no banco de dados, os clientes receberão a política updatesource nova ou atualizada durante o próximo ciclo de avaliação de política.

Etapa 4: a política é baixada e avaliada no cliente

Os seguintes são conectados PolicyAgent.log no cliente:

Download iniciado com êxito da política 'CCM_Policy_Policy5.PolicyID="{d0855677-b0a6-4e33-9bd5- 7b0d06f0a2be}",PolicySource="SMS:PS1",PolicyVersion="40.00"' PolicyAgent_ReplyAssignments
Política 'CCM_Policy_Policy5.PolicyID="{d0855677-b0a6-4e33-9bd5-7b0d06f0a2be}",PolicyVersion="40.00",PolicySource="SMS:PS1"' compilou com êxito PolicyAgent_PolicyDownload

Em PolicyEvaluator.log no cliente:

Atualização da política CCM_Policy_Policy5.PolicyID="{d0855677-b0a6-4e33-9bd5- 7b0d06f0a2be}",PolicySource="SMS:PS1",PolicyVersion="40.00" PolicyAgent_PolicyEvaluator
Política aplicada CCM_Policy_Policy5.PolicyID="{d0855677-b0a6-4e33-9bd5- 7b0d06f0a2be}",PolicySource="SMS:PS1",PolicyVersion="40.00" PolicyAgent_PolicyEvaluator
O estado da política para [CCM_Policy_Policy5.PolicyID="{d0855677-b0a6-4e33-9bd5-7b0d06f0a2be}",PolicyVersion="40.00",PolicySource="SMS:PS1"] está atualmente [Ativo] PolicyAgent_PolicyEvaluator

Para localizar a PolicyID política UpdateSource em um cliente, execute a seguinte consulta WQL:

  • Namespace: ROOT\ccm\Policy\Machine\RequestedConfig
  • Consulta: SELECT * FROM CCM_Policy_Policy5 WHERE PolicyCategory = 'UpdateSource'

Depois que essa política é compilada no cliente, as informações do UpdateSource são armazenadas na seguinte classe WMI:

Namespace: ROOT\ccm\Policy\Machine\ActualConfig
Classe: CCM_UpdateSource

Dica

Se você comparar a instância da CCM_UpdateSource classe no cliente com o corpo XML recuperado da tabela de política, você observará que o conteúdo do XML parece idêntico à instância.

Etapa 5: O Agente de Verificação é notificado de que a política UpdateSource é atualizada

Os seguintes são conectados ScanAgent.log no cliente:

Dentro do CScanAgent::Notify() ScanAgent
Notificação CScanAgent::OnPolicyChange- Policy InstanceModificationEvent recebida ScanAgent

Localização do servidor WSUS

Depois de receber a política UpdateSource, o cliente tem a configuração necessária para iniciar uma verificação. No entanto, as atualizações de política não iniciarão verificações imediatas. Uma verificação pode ser disparada manualmente por meio do painel de controle Configuration Manager ou ocorrer automaticamente na próxima hora agendada. Neste ponto, o cliente localiza o computador WSUS com a versão de conteúdo especificada na política. Esse processo é muito semelhante à maneira como o cliente localiza o local de um ponto de distribuição para um pacote e uma versão específicos.

Etapa 1: O Agente de Verificação cria uma solicitação de verificação com base na política disponível

Os seguintes são registrados em ScanAgent.log:

CScanAgent::ScanByUpdates- Política disponível para UpdateSourceID={C2D17964-BBDD-4339-B9F3-12D7205B39CC} ContentVersion=38 ScanAgent
CScanAgent::ScanByUpdates- Added Policy to final ScanRequest List UpdateSourceID={C2D17964-BBDD-4339-B9F3-12D7205B39CC}, Policy-ContentVersion=38, Required-ContentVersion=38 ScanAgent

Etapa 2: O Agente de Verificação envia uma solicitação para o local do WSUS para os Serviços de Localização

O Agente de Verificação agora solicita o local do WSUS dos Serviços de Localização e aguarda uma resposta. Neste exemplo, a ID da solicitação de local é {C2BB9710-C548-49D0-9DF8-5F9CFC5F3862}. Os seguintes são registrados em ScanAgent.log:

Dentro do CScanAgent::P rocessScanRequest() ScanAgent
CScanJobManager::Scan- inseriu ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::Initialize- inseriu ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::Scan- inseriu ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::RequestLocations- inseriu ScanAgent
- - - - - -Solicitando locais do servidor WSUS da LS para {C2D17964-BBDD-4339-B9F3-12D7205B39CC} versão 38 ScanAgent
- - - - - -ID da Solicitação de Localização = {C2BB9710-C548-49D0-9DF8-5F9CFC5F3862} ScanAgent
CScanAgentCache::P ersistInstanceInCache- Instância Persistente CCM_ScanJobInstance ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): - - - - -Locais solicitados para ScanJobID={4CD06388-D509-46E4-8C00-75909EDD9EE8} (LocationRequestID={C2BB9710-C548-49D0-9DF8-5F9CFC5F3862}), processará a solicitação de verificação assim que os locais estiverem disponíveis. ScanAgent

Cada trabalho de verificação é armazenado na WMI na CCM_ScanJobInstance classe:

Namespace: root\CCM\ScanAgent
Classe: CCM_ScanJobInstance

Etapa 3: Os Serviços de Localização enviam a solicitação de local para o ponto de gerenciamento

O Location Services cria uma solicitação de local e envia-a para o ponto de gerenciamento. A ID do pacote para uma solicitação de localização do WSUS é a ID exclusiva do UpdateSource. Os seguintes são registrados em LocationServices.log:

CCCMWSUSLocation::GetLocationsAsyncEx LocationServices
Tentando persistir a solicitação de localização do WSUS para ContentID='{C2D17964-BBDD-4339-B9F3-12D7205B39CC}' e ContentVersion='38' LocationServices
Solicitação de localização do WSUS persistente LocationServices
Tentando enviar solicitação de localização do WSUS para ContentID='{C2D17964-BBDD-4339-B9F3-12D7205B39CC}' LocationServices
WSUSLocationRequest : <WSUSLocationRequest SchemaVersion="1.00"><Content ID="{C2D17964-BBDD-4339-B9F3- 12D7205B39CC}" Version="38"/><AssignedSite SiteCode="PS1"/><ClientLocationInfo OnInternet="0"><ADSite Name="CM12-R2- PS1"/><Forest Name="CONTOSO.COM"/><Domain Name="CONTOSO.COM"/><IPAddresses><IPAddress SubnetAddress="192.168.2.0" Address="192.168.2.62"/></IPAddresses></ClientLocationInfo></WSUSLocationRequest> LocationServices
Solicitação de localização criada e enviada '{C2BB9710-C548-49D0-9DF8-5F9CFC5F3862}' para pacote {C2D17964-BBDD-4339-B9F3- 12D7205B39CC} LocationServices

Etapa 4: o CCM Messaging envia a mensagem de solicitação de local para o ponto de gerenciamento

Os seguintes são registrados em CcmMessaging.log:

Enviar mensagem assíncrona '{76453CC6-76BA-4B68-BE30-BA70754570BB}' para a fila de saída 'mp:[http]mp_locationmanager' CcmMessaging
Enviando mensagem de saída '{76453CC6-76BA-4B68-BE30-BA70754570BB}'. Sinalizadores 0x200, conta de remetente vazia CcmMessaging

Etapa 5: o ponto de gerenciamento analisa a solicitação, obtém o local do WSUS do banco de dados e envia uma resposta

O ponto de gerenciamento analisa essa solicitação e chama o MP_GetWSUSServerLocations procedimento armazenado para obter os locais do WSUS do banco de dados. Os seguintes são registrados em MP_Location.log:

MP LM: Corpo da Mensagem : WSUSLocationRequest SchemaVersion="1.00"><Content ID="{C2D17964-BBDD-4339-B9F3- 12D7205B39CC}" Version="38"/><AssignedSite SiteCode="PS1"/><ClientLocationInfo OnInternet="0"><ADSite Name="CM12-R2- PS1"/><Forest Name="CONTOSO.COM"/><Domain Name="CONTOSO.COM"/><IPAddresses><IPAddress SubnetAddress="192.168.2.0" Address="192.168.2.62"/></IPAddresses></ClientLocationInfo></WSUSLocationRequest> MP_ < LocationManager
MP LM: chamando MP_GetWSUSServerLocations MP_LocationManager

No rastreamento SQL Server Profiler:

exec MP_GetMPSitesFromAssignedSite N'PS1'
exec MP_GetSiteInfoUnified N'ClientLocationInfo< OnInternet="0"><ADSite Name="CM12-R2-PS1"/><Forest Name="CONTOSO.COM"/><Domain Name="CONTOSO.COM"/><IPAddresses><IpAddress SubnetAddress="192.168.2.0" Address="192.168.2.62"/></IPAddresses></ClientLocationInfo>'
exec MP_GetWSUSServerLocations N'{C2D17964-BBDD-4339-B9F3-12D7205B39CC}', N'38', N'PS1', N'PS1', N'0', N'CONTOSO. COM'

Depois de obter os resultados do procedimento armazenado, o ponto de gerenciamento envia uma resposta ao cliente. O seguinte é registrado em MP_Location.log:

MP LM: Corpo da mensagem de resposta:
<WSUSLocationReply SchemaVersion="1.00"Sites Site MPSite SiteCode="PS1"/><LocationRecords><LocationRecord WSUSURL="http://PS1SITE.CONTOSO.COM:8530" ServerName="PS1SITE.CONTOSO.COM" Versão="38"/><LocationRecord WSUSURL="https://PS1SYS.CONTOSO.COM:8531" ServerName="PS1SYS.CONTOSO.COM" Version="38"/><LocationRecords></Site></Sites></WSUSLocationReply> MP_LocationManager><><><

Etapa 6: o CCM Messaging recebe a resposta e a envia de volta aos Serviços de Localização

O arquivo CcmMessaging.log no cliente mostra que uma resposta foi recebida. Esta mensagem foi entregue aos Serviços de Localização:

Mensagem '{76453CC6-76BA-4B68-BE30-BA70754570BB}' recebeu resposta '{8E6D05EF-B77F-4AD0-AF64-1C6F3069A29C}' à fila de ponto de extremidade local 'LS_ReplyLocations' CcmMessaging
OutgoingMessage(Queue='mp_[http]mp_locationmanager', ID={76453CC6-76BA-4B68-BE30-BA70754570BB}): Entregue com êxito para hospedar 'PS1SYS.CONTOSO.COM'. CcmMessaging
Mensagem '{8E6D05EF-B77F-4AD0-AF64-1C6F3069A29C}' entregue ao ponto de extremidade 'LS_ReplyLocations' CcmMessaging

Etapa 7: Os Serviços de Localização analisam a resposta e enviam o local de volta ao Agente de Verificação

Os seguintes são registrados em LocationServices.log:

Processamento mensagem de resposta local LocationServices 20/1/2014 12:18:09 PM
WSUSLocationReply : WSUSLocationReply SchemaVersion="1.00"Sites Site MPSite SiteCode="PS1"/><LocationRecords><LocationRecord WSUSURL="http://PS1SITE.CONTOSO.COM:8530" ServerName="PS1SITE.CONTOSO.COM Version="38"/><LocationRecord WSUSURL="https://PS1SYS.CONTOSO.COM:8531" ServerName="PS1SYS.CONTOSO.COM" Version="38"/></LocationRecords></Site></Sites></WSUSLocationReply> LocationServices><><><<
Chamando de volta com os seguintes locais do WSUS LocationServices
WSUS Path='http://PS1SITE.CONTOSO.COM:8530', Server='PS1SITE. CONTOSO. COM', Version='38' LocationServices
WSUS Path='https://PS1SYS.CONTOSO.COM:8531', Server='PS1SYS. CONTOSO. COM', Version='38' LocationServices
Chamando de volta com locais para solicitação WSUS {C2BB9710-C548-49D0-9DF8-5F9CFC5F3862} LocationServices

Etapa 8: O Agente de Verificação notifica WUAHandler para adicionar a fonte de atualização ao registro

O Agente de Verificação agora tem a política e o local de origem da atualização com a versão de conteúdo apropriada. Os seguintes são registrados em ScanAgent.log:

WSUSLocationUpdate recebido para guid de solicitação de local={C2BB9710-C548-49D0-9DF8-5F9CFC5F3862} ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::OnLocationUpdate- Received Location=http://PS1SITE.CONTOSO.COM:8530, Version=38 ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::Execute- Adding UpdateSource={C2D17964-BBDD-4339-B9F3-12D7205B39CC}, ContentType=2, ContentLocation=http://PS1SITE.CONTOSO.COM:8530, ContentVersion=38 ScanAgent

O Agente de Verificação notifica WUAHandler para adicionar a fonte de atualização. WUAHandler adiciona a fonte de atualização ao registro e inicia uma atualização Política de Grupo (se o cliente estiver no domínio) para ver se Política de Grupo substitui o servidor de atualização que acabamos de adicionar. Os seguintes são registrados em WUAHandler.log em um novo cliente mostrando uma nova fonte de atualização sendo adicionada:

É um tipo de fonte de atualização do WSUS ({C2D17964-BBDD-4339-B9F3-12D7205B39CC}), adicionando-o. WUAHandler
É uma fonte de atualização do WSUS completamente nova. WUAHandler
Habilitando a política do servidor gerenciado wua para usar o servidor: http://PS1SITE.CONTOSO.COM:8530 WUAHandler
Atualização de política forçada. WUAHandler
Aguardando 2 minutos para que Política de Grupo notifique a alteração da política wua... WUAHandler
Aguardando 30 segundos para que a política entre em vigor no Agente WU. WUAHandler
Fonte de atualização adicionada ({C2D17964-BBDD-4339-B9F3-12D7205B39CC}) do tipo de conteúdo: 2 WUAHandler

Durante esse tempo, o agente de Windows Update vê uma alteração de configuração do WSUS. Os seguintes são registrados em WindowsUpdate.log:

2014-01-20 12:18:11:520 968 9d0 Agent * servidor WSUS: http://PS1SITE.CONTOSO.COM:8530 (alterado)
2014-01-20 12:18:11:520 968 9d0 Agent * WSUS status servidor: http://PS1SITE.CONTOSO.COM:8530 (Alterado)
2014-01-20 12:18:11:520 968 9d0 Servidor Sus da UA alterado por meio da política.

As seguintes chaves do registro são marcadas e definidas:

Subchave do Registro Nome do valor Tipo Data
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate WUServer REG_SZ A URL completa do servidor WSUS, incluindo a porta. Por exemplo, http://PS1Site.Contoso.com:8530
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate WUStatusServer REG_SZ A URL completa do servidor WSUS, incluindo a porta. Por exemplo, http://PS1Site.Contoso.com:8530
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate\AU UseWUServer REG_DWORD 0x1

Para um cliente existente, podemos esperar ver o seguinte em WUAHandler.log para denotar quando a versão do conteúdo tiver incrementado:

É um tipo de fonte de atualização do WSUS ({C2D17964-BBDD-4339-B9F3-12D7205B39CC}), adicionando-o. WUAHandler
A fonte de atualização do WSUS já existe, ela aumentou a versão para 38. WUAHandler

Etapa 9: O Agente de Verificação inicia a verificação

Depois que a fonte de atualização é adicionada com êxito, o Agente de Verificação gera uma mensagem de estado e inicia a verificação. Os seguintes são registrados em ScanAgent.log:

ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): Raised UpdateSource ({C2D17964-BBDD-4339-B9F3-12D7205B39CC}) mensagem de estado com êxito. StateId = 2 ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::Execute - verificação solicitada com êxito, ScanType=1 ScanAgent

Verificação de atualização de software em clientes

Depois que a política de origem de atualização e o local de origem da atualização estiverem disponíveis, o Agente de Verificação iniciará a verificação. A verificação de atualização de software é realmente executada pelo Agente Windows Update. No entanto, o cliente Configuration Manager interage com o Agente Windows Update para executar uma verificação e obter os resultados da verificação. Essa interação é tratada pelo componente WUAHandler (manipulador de agente de Windows Update), que se comunica com o Agente Windows Update.

Etapa 1: O Agente de Verificação solicita a verificação e WUAHandler inicia a verificação

O Agente de Verificação solicita a verificação do WUAHandler, que usa a API do Agente Windows Update para solicitar uma verificação de atualização de software do Agente Windows Update. O seguinte é registrado em ScanAgent.log:

ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::Execute - verificação solicitada com êxito, ScanType=1 ScanAgent

Os seguintes são registrados em WUAHandler.log:

Os resultados da verificação incluirão atualizações substituídas somente quando forem substituídas por pacotes de serviço e atualizações de definição. WUAHandler
Pesquisa Critérios é (DeploymentAction=* AND Type='Software') OR (DeploymentAction=* AND Type='Driver') WUAHandler
Executando uma verificação de chamada única de atualizações. WUAHandler
Pesquisa assíncrona de atualizações usando o WUAgent iniciado. WUAHandler

Etapa 2: Windows Update Agent (WUA) inicia a verificação no computador WSUS

Windows Update Agent inicia uma verificação após receber uma solicitação do cliente Configuration Manager (CcmExec). Como o valor do servidor Windows Update já estava definido para o servidor SUP, essa verificação é executada no servidor WSUS que tem a função SUP instalada. Os seguintes são registrados em WindowsUpdate.log:

2014-01-20 12:18:42:694 3856 708 COMAPI -- START -- COMAPI: Pesquisa [ClientId = CcmExec]
2014-01-20 12:18:42:752 3856 708 COMAPI <<-- ENVIADO -- COMAPI: Pesquisa [ClientId = CcmExec]
2014-01-20 12:18:47:511 968 f58 PT + ServiceId = {3DA21691-E39D-4DA6-8A4B-B43877BCB1B7}, URL do Servidor = http://PS1SITE.CONTOSO.COM:8530/ClientWebService/client.asmx
2014-01-20 12:18:48:662 968 f58 Agent ** START ** Agente: Encontrando atualizações [CallerId = CcmExec]
2014-01-20 12:18:48:662 968 f58 Agent * Incluir atualizações potencialmente substituídas
2014-01-20 12:18:48:662 968 f58 Agent * Online = Sim; Ignorar prioridade de download = Sim
2014-01-20 12:18:48:662 968 f58 Agent * Criteria = "(DeploymentAction=* AND Type='Software') OR (DeploymentAction=* AND Type='Driver')"
2014-01-20 12:18:48:662 968 f58 Agent * ServiceID = {3DA21691-E39D-4DA6-8A4B-B43877BCB1B7} Gerenciado
2014-01-20 12:18:48:662 968 f58 Agent * Pesquisa Scope = {Machine}

Windows Update Agent agora examina o servidor WSUS e relata os resultados para CcmExec (especificamente WUAHandler). Os seguintes são registrados em WindowsUpdate.log:

2014-01-20 12:18:49:175 968 f58 PT + ServiceId = {3DA21691-E39D-4DA6-8A4B-B43877BCB1B7}, URL do Servidor = http://PS1SITE.CONTOSO.COM:8530/ClientWebService/client.asmx
2014-01-20 12:18:52:680 968 f58 Agent * Atualização adicionada {4AE85C00-0EAA-4BE0-B81B-DBD7053D5FAE}.104 tosearch resultado
2014-01-20 12:18:52:683 968 f58 Agent * Atualização adicionada {57260DFE-227C-45E3-9FFC-2FC77A67F95A}.104 para pesquisar o resultado
2014-01-20 12:18:52:694 968 f58 Agent * Encontrado 163 atualizações e 70 categorias em pesquisa; avaliado appl. regras de 622 das 1150 entidades implantadas
2014-01-20 12:18:52:745 968 f58 Agent ** END ** Agent: Localizando atualizações [CallerId = CcmExec]
2014-01-20 12:18:52:755 3856 708 COMAPI >>-- RETOMADO -- COMAPI: Pesquisa [ClientId = CcmExec]
2014-01-20 12:18:53:137 3856 708 COMAPI - Atualizações encontrado = 163
2014-01-20 12:18:53:137 3856 708 COMAPI -- END -- COMAPI: Pesquisa [ClientId = CcmExec]

Etapa 3: WUAHandler recebe os resultados do agente de Windows Update e marca a verificação como concluída

Os seguintes são registrados em WUAHandler.log:

Pesquisa assíncrona concluída. WUAHandler
Terminou de pesquisar tudo em uma única chamada. WUAHandler

Etapa 4: WUAHandler analisa os resultados da verificação

WUAHandler analisa os resultados, que incluem o estado de aplicabilidade para cada atualização. Como parte desse processo, as atualizações substituídas são podadas. Os seguintes são registrados em WUAHandler.log:

Poda: a ID de atualização (70f4f236-0248-4e84-b472-292913576fa1) é substituída por (726b7201-862a-4fde-9b12-f36b38323a6f). WUAHandler
...
Atualização (instalada): Atualização de segurança para Windows 7 para sistemas baseados em x64 (KB2584146) (4ae85c00-0eaa-4be0-b81b-dbd7053d5fae, 104) WUAHandler
Atualização (ausente): Atualização de segurança para Windows 7 para sistemas baseados em x64 (KB2862152) (505fda07-b4f3-45fb-83d9-8642554e2773, 200) WUAHandler
...
Verificação concluída com êxito. WUAHandler

Etapa 5: Atualizar o repositório registra o status e gera uma mensagem de estado para cada atualização no WMI

Depois que os resultados da verificação estiverem disponíveis, esses resultados serão armazenados no repositório de atualizações. Atualizar o armazenamento registra o estado atual de cada atualização e cria uma mensagem de estado para cada atualização. Essas mensagens de estado são encaminhadas para o servidor do site em massa no final do ciclo de relatório de mensagens status (que é de 15 minutos, por padrão).

UpdatesStore.log mostrando o estado da atualização ausente (KB2862152) sendo gravada e uma mensagem de estado sendo levantada:

Atualização de processamento status da atualização (505fda07-b4f3-45fb-83d9-8642554e2773) com ProductID = 0fa1201d-4330-4fa8-8ae9- b877473b6441 UpdatesStore
A atualização status da atualização (505fda07-b4f3-45fb-83d9-8642554e2773) não foi relatada antes, criando nova instância. UpdatesStore
Mensagem de estado gerada com êxito para atualização (505fda07-b4f3-45fb-83d9-8642554e2773) com estado (Ausente). UpdatesStore
Foi adicionada com êxito a instância WMI da atualização status (505fda07-b4f3-45fb-83d9-8642554e2773). UpdatesStore

StateMessage.log mostrando a mensagem de estado sendo gravada com a ID do Estado 2 (ausente):

Adicionar mensagem com TopicType 500 e TopicId 505fda07-b4f3-45fb-83d9-8642554e2773 para WMI StateMessage
Mensagem de estado(ID do estado : 2) com TopicType 500 e TopicId 505fda07-b4f3-45fb-83d9-8642554e2773 foi registrado para SYSTEM StateMessage

Para cada atualização, uma instância da CCM_UpdateStatus classe é criada ou atualizada, e isso armazena o status atual da atualização. A CCM_UpdateStatus classe está localizada no ROOT\CCM\SoftwareUpdates\UpdatesStore namespace.

Captura de tela de uma instância da classe CCM_UpdateStatus.

Da mesma forma, uma instância da CCM_StateMsg classe é criada ou atualizada, e isso armazena o estado atual da atualização. A CCM_StateMsg classe está localizada no ROOT\CCM\StateMsg namespace.

Captura de tela de uma instância da classe CCM_StateMsg.

Etapa 6: mensagens de estado são enviadas para o ponto de gerenciamento

Conforme mencionado anteriormente, as mensagens de estado são enviadas para o ponto de gerenciamento com base no agendamento do ciclo de relatórios de mensagens de estado, que é configurado como 15 minutos por padrão. Depois que uma mensagem de estado é enviada para o ponto de gerenciamento, a MessageSent propriedade da instância de mensagem de estado na CCM_StateMsg classe é definida como True.

Em StateMessage.log:

Corpo de StateMessage: <Corpo truncado> do corpo do relatório XMLMessage
Mensagens de Estado encaminhadas com êxito para o Mp StateMessage

Veja a seguir como o corpo da mensagem de estado se parece com a nossa atualização. Normalmente, esse corpo XML é muito grande para o log e é truncado no CMTrace. No entanto, você pode ver todo o corpo XML no Bloco de Notas.

Corpo stateMessage: <?xml version="1.0" encoding="UTF-16"?>
<Report><ReportHeader><Identification><Machine><ClientInstalled>1</ClientInstalled><ClientType>1</ClientType><ClientID>GUID: A1006D0E-CF56-41D1-A006-6330EFC39381</ClientID><ClientVersion>5.00.7958.1000</ClientVersion><NetBIOSName>PS1WIN7X64</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>1033</SystemDefaultLCID><Priority>5</ Priority></Machine></Identification><ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType><Date>20140120194656.903000+000</Date><Versão>1.0</Versão><Formato>11.0</Format></ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20140120171855.573000+000" SerialNumber="232"><ID do tópico="505fda07-b4f3-45fb-83d9-8642554e2773" Type="500" IDType="3" User="" UserSID="/><State ID="2" Criticality="0"/><UserParameters Flags="0" Count="1"><Param>200</Param></UserParameters></StateMessage></ReportBody></Report> StateMessage
Mensagens de Estado encaminhadas com êxito para o Mp StateMessage

Fluxo de processamento de mensagens de estado

Agora sabemos como uma mensagem de estado é gravada e o local da WMI em que essas mensagens de estado são armazenadas. Também sabemos que mensagens de estado não enviadas em um cliente são enviadas para o ponto de gerenciamento a cada 15 minutos por padrão, de acordo com o ciclo de relatórios de mensagens de estado. Esse agendamento pode ser modificado nas Mensagens de Estado das configurações personalizadas ou padrão do cliente.

Embora StateMessage.log reporte Mensagens de Estado encaminhadas com êxito para o MP, o componente Mensagem de Estado não está realmente enviando essas mensagens em si. Todas as mensagens enviadas e recebidas do ponto de gerenciamento são tratadas pelo componente mensagens CCM no cliente. O CCM Messaging é o componente real que se comunica com o ponto de gerenciamento para envio e recebimento de dados. O ponto de gerenciamento tem várias filas definidas para lidar com diferentes tipos de tráfego de entrada. Para mensagens de estado, a fila que manipula esse tráfego é a MP_RelayEndpoint fila.

Etapa 1: o componente Mensagem de Estado começa a enviar mensagens para o ponto de gerenciamento

Em StateMessage.log:

Corpo stateMessage: <?xml version="1.0" encoding="UTF-16"?><Report><ReportHeader><Identification><Machine><ClientInstalled>1</ClientInstalled><ClientType>1</ClientType><ClientID>GUID: A1006D0E-CF56-41D1-A006-6330EFC39381</ClientID><ClientVersion>5.00.7958.1000</ClientVersion><NetBIOSName>PS1WIN7X64</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>1033</SystemDefaultLCID><Priority>5</ Priority></Machine></Identification><ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType><Date>20140120194656.903000+000</Date><Versão>1.0</Versão><Formato>11.0</Format></ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20140120171855.573000+000" SerialNumber="232"><ID do tópico="505fda07-b4f3-45fb-83d9-8642554e2773" Type="500" IDType="3" User="" UserSID="/><State ID="2" Criticality="0"/><UserParameters Flags="0" Count="1"><Param>200</Param></UserParameters></StateMessage></ReportBody></Report> StateMessage
Mensagens de Estado encaminhadas com êxito para o Mp StateMessage

Etapa 2: o CCM Messaging envia uma mensagem contendo o corpo XML da mensagem de estado para o ponto de gerenciamento

O CCM Messaging envia uma mensagem para a MP_RelayEndpoint fila com êxito. Essa mensagem não tem uma resposta, ao contrário da que notamos anteriormente na seção Solicitação de Localização do WSUS , em que a mensagem com a Solicitação de Localização recebeu uma resposta.

Em CcmMessaging.log:

Enviar mensagem assíncrona '{95F79010-D0EB-49A6-8A1E-3897883105F2}' para a fila de saída 'mp:mp_relayendpoint' CcmMessaging
Enviar mensagem de saída '{95F79010-D0EB-49A6-8A1E-3897883105F2}'. Sinalizadores 0x200, conta de remetente vazia CcmMessaging
POST: Host=PS1SYS. CONTOSO.COM, Path=/ccm_system/request, Port=443, Protocol=https, Flags=512, Options=480 CcmMessaging
A mensagem '{95F79010-D0EB-49A6-8A1E-3897883105F2}' não tem resposta CcmMessaging
OutgoingMessage(Queue='mp_mp_relayendpoint', ID={95F79010-D0EB-49A6-8A1E-3897883105F2}): Entregue com êxito para hospedar 'PS1SYS.CONTOSO.COM'. CcmMessaging

Etapa 3: a mensagem é recebida no ponto de gerenciamento e, em seguida, MP_Relay processa a mensagem e cria um arquivo SMX

Como todas as mensagens são enviadas usando HTTP/HTTPS e são recebidas pelo IIS. Neste exemplo, essa solicitação é feita no diretório virtual CCM_System.

No log do IIS:

192.168.2.12 CCM_POST /ccm_system/request - 443 - 192.168.2.62 ccmhttp - 200 0 0 542 31

Depois que a mensagem é recebida com êxito no ponto de gerenciamento, o MP_Relay componente processa essa mensagem, converte a mensagem em um arquivo SMX e move o arquivo SMX para o local apropriado, dependendo se o ponto de gerenciamento está colocado no servidor do site ou não.

  • Em um ponto de gerenciamento remoto: \SMS\mp\outboxes\StateMsg.box
  • Em um ponto de gerenciamento colocado no servidor do site: \inboxes\auth\StateSys.box\entrada

Em MP_Relay.log em um ponto de gerenciamento co-localizado no servidor do site:

Manipulador de Mensagens mp: iniciar o processamento de mensagens para Retransmissão----------------------- MP_RelayEndpoint
Manipulador de Mensagens mp: FileType=SMX MP_RelayEndpoint
Corpo da mensagem: <corpo XML truncado> MP_RelayEndpoint
Retransmissão: dir outbox: E:\ConfigMgr\inboxes\auth\statesys.box\MP_RelayEndpoint
Prioridade na mensagem = 5 MP_RelayEndpoint
Diretório de Prioridade de Estado = E:\ConfigMgr\inboxes\auth\statesys.box\MP_RelayEndpoint
Inv-Relay: Tarefa concluída com êxito MP_RelayEndpoint

Em MP_Relay.log em um ponto de gerenciamento remoto:

Manipulador de Mensagens mp: iniciar o processamento de mensagens para Retransmissão------------------------------ MP_RelayEndpoint
Manipulador de Mensagens mp: FileType=SMX MP_RelayEndpoint
Corpo da mensagem:
<?xml version="1.0" encoding="UTF-16"?>
<Report><ReportHeader><Identification><Machine><ClientInstalled>1</ClientInstalled><ClientType>1</ClientType><ClientID>GUID: A1006D0E-CF56-41D1-A006-6330EFC39381</ClientID><ClientVersion>5.00.7958.1000</ClientVersion><NetBIOSName>PS1WIN7X64</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>1033</SystemDefaultLCID><Priority>5</ Priority></Machine></Identification><ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType><Date>20140120194656.903000+000</Date><Versão>1.0</Versão><Formato>11.0</Format></ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20140120171855.573000+000" SerialNumber="232"><ID do tópico="505fda07-b4f3-45fb-83d9-8642554e2773" Type="500" IDType="3" User="" UserSID="/><State ID="2" Criticality="0"/><UserParameters Flags="0" Count="1"><Param>200</Param></UserParameters></StateMessage></ReportBody></Report> MP_RelayEndpoint
Tarefa Inv-Relay: processamento do corpo da mensagem MP_RelayEndpoint
Retransmissão: dir outbox: C:\SMS\mp\outboxes\StateMsg.box MP_RelayEndpoint
Prioridade na mensagem = 5 MP_RelayEndpoint
Diretório de Prioridade de Estado = C:\SMS\mp\outboxes\StateMsg.box MP_RelayEndpoint
Inv-Relay: Tarefa concluída com êxito MP_RelayEndpoint

O corpo XML parece idêntico ao que está registrado em StateMessage.log no cliente.

Etapa 4: o MP File Dispatch Manager envia o arquivo SMX para o servidor do site (somente quando o ponto de gerenciamento não é colocado no servidor local)

Quando o ponto de gerenciamento é remoto para o servidor do site, depois que o arquivo chega em outboxes\StateMsg.box, o MPFDM (MP File Dispatch Manager) é responsável por mover esses arquivos para a caixa de entrada StateMsg.box no servidor do site. Quando o ponto de gerenciamento é colocado no servidor do site, esses arquivos são movidos diretamente para a pasta Caixa de Entrada apropriada, portanto, o MPFDM não está envolvido.

Em MPFDM.log em um ponto de gerenciamento remoto:

Arquivo movido C:\SMS\MP\OUTBOXES\statemsg.box\TAZGYTSJ. SMX para \\PS1SITE.CONTOSO.COM\SMS_PS1\inboxes\auth\statesys.box\incoming\TAZGYTSJ. SMX SMS_MP_FILE_DISPATCH_MANAGER

Para que o MPFDM mova os arquivos para a caixa de entrada apropriada, o ponto de gerenciamento remoto deve ser capaz de acessar o registro do servidor do site para determinar os locais de origem da caixa de entrada. Portanto, o serviço de Registro Remoto deve estar em execução e o Acesso ao Registro não deve ser bloqueado por Política de Grupo. O MPFDM determina os locais da caixa de entrada acessando a seguinte chave de registro no servidor do site:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Inbox Source

Etapa 5: o componente StateSys no servidor do site processa a mensagem de estado para o banco de dados

Depois que o arquivo chega em \inboxes\auth\StateSys.box no servidor do site, o componente StateSys (StateSys) acorda e processa os arquivos SMX.

Em StateSys.log com o log verboso habilitado:

Notificação da caixa de entrada disparada, pausa por 10 segundos...... SMS_STATE_SYSTEM
Encontrou novas mensagens de estado a serem processadas, iniciando o processamento do thread SMS_STATE_SYSTEM
Thread "State Message Processing Thread #0" id:4316 started SMS_STATE_SYSTEM
total de chucks carregados (1) SMS_STATE_SYSTEM
CMessageProcessor – Arquivo de processamento: YCE2H3VD. SMX SMS_STATE_SYSTEM
CMessageProcessor – Processado 1 registros com 0 registros inválidos. SMS_STATE_SYSTEM
CMessageProcessor – Processou 1 arquivos de mensagens neste lote, com 0 arquivos ruins. SMS_STATE_SYSTEM
total de chucks carregados (0) SMS_STATE_SYSTEM
Thread "State Message Processing Thread #0" id:4316 encerrado normalmente SMS_STATE_SYSTEM

No StateSys.log sem log verboso habilitado:

Encontrou novas mensagens de estado a serem processadas, iniciando o processamento do thread SMS_STATE_SYSTEM
Thread "State Message Processing Thread #0" id:1988 started SMS_STATE_SYSTEM
total de chucks carregados (1) SMS_STATE_SYSTEM
total de chucks carregados (0) SMS_STATE_SYSTEM
Thread "State Message Processing Thread #0" id:1988 encerrado normalmente SMS_STATE_SYSTEM

O arquivo StateSys.log não registra o nome do arquivo, a menos que o log verboso esteja habilitado para o State System Manager.

O arquivo SMX movido para a pasta StateSys.box contém o corpo da mensagem XML. Quando o StateSys processa esse arquivo, ele chama o spProcessStateReport procedimento armazenado e passa esse corpo XML para o procedimento armazenado como um parâmetro.

No rastreamento SQL Server Profiler:

exec dbo.spProcessStateReport N'<?xml version="1.0" encoding="UTF-16"?>
<Report><ReportHeader><Identification><Machine><ClientInstalled>1</ClientInstalled><ClientType>1</ClientType><ClientID>GUID: A1006D0E-CF56-41D1-A006-6330EFC39381</ClientID><ClientVersion>5.00.7958.1000</ClientVersion><NetBIOSName>PS1WIN7X64</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>1033</SystemDefaultLCID><Priority>5</ Priority></Machine></Identification><ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType><Date>20140120220131.071000+000</Date><Versão>1.0</Versão><Formato>11.0</Format></ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20140120171855.573000+000" SerialNumber="239"><ID do tópico="505fda07-b4f3-45fb-83d9-8642554e2773" Type="500" IDType="3" User="" UsuárioSID=""/><State ID="2" Criticality="0"/><UserParameters Flags="0" Count="1"><Param 200</Param><>/UserParameters></StateMessage></ReportBody></Report>'

spProcessStateReport é um procedimento armazenado CLR e a definição clr tem a lógica para determinar o tipo de mensagem de estado que está sendo processada. Dependendo do tipo de mensagem de estado, ela processa a mensagem de estado adequadamente e insere os dados no banco de dados.

Você pode encontrar nomes amigáveis de todos os tipos e IDs de tópico de mensagem de estado consultando a SR_StateNames tabela com o seguinte comando:

SELECT * FROM SR_StateNames

Resumo da atualização de software

Antes que os dados de conformidade de atualização de software possam ser apresentados no console ou nos relatórios, os dados de conformidade da atualização de software devem ser resumidos. Isso é necessário porque o console e os relatórios geralmente exibem apenas dados resumidos. O componente Sistema de Estado no servidor do site executa o resumo da atualização de software juntamente com a resumo de outros componentes, como aplicativos, implantações de DCM e integridade do cliente. Você pode encontrar informações sobre todas as tarefas de resumo executadas pelo Sistema de Estado consultando o vSR_SummaryTasks modo de exibição no banco de dados Configuration Manager. O Sistema de Estado executa essas tarefas em um agendamento configurado e registra detalhes sobre cada tarefa no StateSys.log:

Tarefa iniciada '<TaskName>' SMS_STATE_SYSTEM
A tarefa '<TaskName>' foi concluída com êxito após a execução por 15 segundos, com status 8. SMS_STATE_SYSTEM

Para a maioria dessas tarefas, o status registrado pelo StateSys.log não é um código de erro. Em vez disso, é o número de linhas retornadas pelo procedimento SQL Server armazenado apropriado que executa o resumo.

As tarefas de resumo específicas das atualizações de software são:

  • Avaliador de conformidade de atribuição sum

    Resume mensagens de estado para todas as atribuições de grupo de atualização de software (implantações). Essa tarefa é executada a cada hora por padrão. Ele pode ser iniciado manualmente para uma implantação específica no Configuration Managerimplantações de monitoramento> do console>, clique com o botão direito do mouse na implantação e clique em Executar Resumo.

  • SUM Update Group Status Summarizer

    Resume status de Grupos de Atualização. Essa tarefa é executada a cada hora por padrão. Ele pode ser iniciado manualmente para um Grupo de Atualizações específico no Configuration Manager console >Software>Atualizações>Software Update Groups, clique com o botão direito do mouse no grupo de atualizações e clique em Executar Resumo.

    Você também pode alterar o agendamento desta tarefa clicando com o botão direito do mouse em Grupos de Atualização de Software ou selecionando Agendar Resumo na faixa de opções.

  • SUM Update Status Summarizer

    Resume status de atualizações para todos os clientes. Essa tarefa é executada a cada hora por padrão. Ele pode ser iniciado manualmente no Configuration Manager software da Biblioteca>de Software do console > Atualizações e, em seguida, clicar em Executar Resumo. Você também pode alterar o agendamento padrão selecionando Resumo de Agendamento.

  • SUM Migrate Update Status

    Migra a atualização status internamente no banco de dados. Essa tarefa é executada a cada 24 horas por padrão. Ele não pode ser iniciado manualmente a partir do console Configuration Manager.

  • SUM Delete Aged Status

    Exclui status de idade de tabelas específicas de atualização de software no banco de dados. Essa tarefa é executada a cada 24 horas por padrão. Ele não pode ser iniciado manualmente a partir do console Configuration Manager.

Comutação de ponto de atualização de software

No System Center 2012 Configuration Manager versões SP1 e posteriores, um site pode ter vários SUPs. Isso fornece tolerância a falhas para situações quando um SUP fica indisponível. Para obter mais informações sobre o failover e a comutação dos SUPs, confira os seguintes artigos: