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.
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.
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: