Spåra utvärdering av programuppdateringsefterlevnad
Gäller för: Configuration Manager
Innan du kan distribuera programuppdateringar till klienter måste klienterna köra en genomsökning av programuppdateringars efterlevnad. Vi rekommenderar att du ger tillräckligt med tid för klienter att slutföra genomsökningen och rapportera efterlevnadsresultat så att du kan granska efterlevnadsresultaten och endast distribuera de uppdateringar som krävs på klienterna.
När programuppdateringsplatsen (SUP) installeras och synkroniseras skapas en platsomfattande datorprincip som informerar klientdatorer om att Configuration Manager-programuppdateringar har aktiverats för platsen. När en klient tar emot datorprincipen schemaläggs en genomsökning av efterlevnadsbedömningen att starta slumpmässigt inom de närmaste två timmarna. När genomsökningen startas rensar en klientagent för programuppdateringar genomsökningshistoriken, skickar en begäran om att hitta den WSUS-server (Windows Server Update Services) som ska användas för genomsökningen och uppdaterar den lokala grupprincip med WSUS-platsen.
En översikt över processen för efterlevnadsbedömning finns i Utvärdering av efterlevnad av programuppdateringar.
Princip för programuppdateringsgenomsökning
Innan en klient kan försöka söka efter uppdateringar behöver den UpdateSource-principen. Den här principen skapas på platsservern efter en lyckad synkronisering av SUP. I det här avsnittet beskrivs hur den här principen skapas av följande process:
Steg 1: Efter en lyckad synkronisering uppdaterar WSyncMgr innehållsversionen och senaste synkroniseringstiden i databasen
Efter en lyckad synkronisering på en primär plats uppdaterar WSyncMgr senaste synkroniseringstid och innehållsversion i databasen för SUP. Detta görs genom att köra den spProcessSUMSyncStateMessage
lagrade proceduren. I följande SQL Server Profiler-exempelspårning körs den här lagrade proceduren för att uppdatera innehållsversionen till 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 output, N'PS1SITE. CONTOSO. COM'
Steg 2: SMSDBMON utlöses och släpper en . STN-fil i policypv.box
spProcessSUMSyncStateMessage
uppdaterar tabellen Update_SyncStatus
med den nya innehållsversionen och synkroniseringstiden. Den här uppdateringen av tabellen Update_SyncStatus
utlöser SMSDBMON för att släppa en <UpdateSource_UniqueID>. STN-filen (STN står för Scan Tool Notification) i policypv.box för att indikera en ändring i genomsökningsverktygets definition. Följande loggas i SMSDBMON.log:
RCV: UPPDATERA på Update_SyncStatus för UpdSyncStatus_iu [{C2D17964-BBDD-4339-B9F3-12D7205B39CC}][46680] SMS_DATABASE_NOTIFICATION_MONITOR
SND: Tappade E:\ConfigMgr\inboxes\policypv.box{C2D17964-BBDD-4339-B9F3-12D7205B39CC}. STN (icke-noll) [46680] SMS_DATABASE_NOTIFICATION_MONITOR
Steg 3: Principprovidern skapar eller uppdaterar UpdateSource-principen i databasen
>UpdateSource_UniqueID<. STN-filen meddelar principprovidern att den ska aktivera och uppdatera UpdateSource-principen i databasen.
Följande loggas i PolicyPv.log:
Hittade {C2D17964-BBDD-4339-B9F3-12D7205B39CC}. STN-SMS_POLICY_PROVIDER
Genomsökningsverktygs-ID {C2D17964-BBDD-4339-B9F3-12D7205B39CC} SMS_POLICY_PROVIDER
Lägger till i borttagningslistan: E:\ConfigMgr\inboxes\policypv.box{C2D17964-BBDD-4339-B9F3-12D7205B39CC}. STN-SMS_POLICY_PROVIDER
I SQL Server Profiler-spårning:
välj PolicyID, PolicyAssignmentID, SourceCRC, PADBID från SettingsPolicy där SourceID = N'PS1' och SourceType = N'UpdateSource'
välj Version från princip där PolicyID = N'{d0855677-b0a6-4e33-9bd5-7b0d06f0a2be}'
IF EXISTS (välj PolicyID från Policy where PolicyID = N'{d0855677-b0a6-4e33-9bd5-7b0d06f0a2be}') update Policy set Version = N'40.00' där PolicyID = N'{d0855677-') b0a6-4e33-9bd5-7b0d06f0a2be} ELSE insert Policy (PolicyID, Version) values (N'{d0855677- 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 (select 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, PolicyID)-värden (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<>' där PADBID = 16777218<>
Om du vill se den här principen i databasen kör du följande fråga:
SELECT CONVERT(XML, Body, 1), * FROM Policy WHERE PolicyID = (SELECT PolicyID FROM SettingsPolicy WHERE SourceType = 'UpdateSource')
Den här principen innehåller innehållsversionen av uppdateringsservern som används för att hitta platsen för den WSUS-dator som klienten kan söka efter. När den här principen har skapats eller uppdaterats i databasen får klienterna den nya eller uppdaterade UpdateSource-principen under nästa principutvärderingscykel.
Steg 4: Principen laddas ned och utvärderas på klienten
Följande loggas i PolicyAgent.log på klienten:
En lyckad nedladdning av principen "CCM_Policy_Policy5.PolicyID="{d0855677-b0a6-4e33-9bd5- 7b0d06f0a2be}",PolicySource="SMS:PS1",PolicyVersion="40.00"' PolicyAgent_ReplyAssignments
Principen "CCM_Policy_Policy5.PolicyID="{d0855677-b0a6-4e33-9bd5-7b0d06f0a2be}",PolicyVersion="40.00",PolicySource="SMS:PS1" har sammanställts PolicyAgent_PolicyDownload
I PolicyEvaluator.log på klienten:
Uppdaterar principen CCM_Policy_Policy5.PolicyID="{d0855677-b0a6-4e33-9bd5- 7b0d06f0a2be}",PolicySource="SMS:PS1",PolicyVersion="40.00" PolicyAgent_PolicyEvaluator
Tillämpad princip CCM_Policy_Policy5.PolicyID="{d0855677-b0a6-4e33-9bd5- 7b0d06f0a2be}",PolicySource="SMS:PS1",PolicyVersion="40.00" PolicyAgent_PolicyEvaluator
Principtillstånd för [CCM_Policy_Policy5.PolicyID="{d0855677-b0a6-4e33-9bd5-7b0d06f0a2be}",PolicyVersion="40.00",PolicySource="SMS:PS1"] är för närvarande [Aktiv] PolicyAgent_PolicyEvaluator
Kör följande WQL-fråga för att hitta PolicyID
updatesource-principen på en klient:
- Namnområde:
ROOT\ccm\Policy\Machine\RequestedConfig
- Fråga:
SELECT * FROM CCM_Policy_Policy5 WHERE PolicyCategory = 'UpdateSource'
När den här principen har kompilerats på klienten lagras Informationen om UpdateSource i följande WMI-klass:
Namnområde: ROOT\ccm\Policy\Machine\ActualConfig
Klass: CCM_UpdateSource
Dricks
Om du jämför instansen av CCM_UpdateSource
klassen på klienten med XML-brödtexten som hämtats från principtabellen kommer du att märka att innehållet i XML ser identiskt ut med instansen.
Steg 5: Genomsökningsagenten meddelas att UpdateSource-principen har uppdaterats
Följande loggas i ScanAgent.log på klienten:
Inuti CScanAgent::Notify() ScanAgent
CScanAgent::OnPolicyChange – PrincipinstansModificationEvent-meddelande mottog ScanAgent
WSUS-serverplats
När du har tagit emot UpdateSource-principen har klienten den konfiguration som krävs för att initiera en genomsökning. Principuppdateringar initierar dock inte omedelbara genomsökningar. En genomsökning kan utlösas manuellt via Configuration Manager-kontrollpanelen eller ske automatiskt vid nästa schemalagda tidpunkt. Nu letar klienten upp WSUS-datorn med den innehållsversion som anges i principen. Den här processen liknar ungefär hur klienten hittar platsen för en distributionsplats för ett specifikt paket och en viss version.
Steg 1: Genomsökningsagenten skapar en genomsökningsbegäran baserat på den tillgängliga principen
Följande loggas i ScanAgent.log:
CScanAgent::ScanByUpdates– Princip tillgänglig för UpdateSourceID={C2D17964-BBDD-4339-B9F3-12D7205B39CC} ContentVersion=38 ScanAgent
CScanAgent::ScanByUpdates – Principen har lagts till i den slutliga ScanRequest-listan UpdateSourceID={C2D17964-BBDD-4339-B9F3-12D7205B39CC}, Policy-ContentVersion=38, Required-ContentVersion=38 ScanAgent
Steg 2: Genomsökningsagenten skickar en begäran om WSUS-platsen till Location Services
Scan Agent begär nu WSUS-platsen från Location Services och väntar på ett svar. I det här exemplet är platsbegärans-ID {C2BB9710-C548-49D0-9DF8-5F9CFC5F3862}. Följande loggas i ScanAgent.log:
Inuti CScanAgent::P rocessScanRequest() ScanAgent
CScanJobManager::Scan- angivet ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::Initialize- entered ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::Scan- entered ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::RequestLocations- angivet ScanAgent
- - - - - -Begära WSUS-serverplatser från LS för {C2D17964-BBDD-4339-B9F3-12D7205B39CC} version 38 ScanAgent
- - - - - -Location Request ID = {C2BB9710-C548-49D0-9DF8-5F9CFC5F3862} ScanAgent
CScanAgentCache::P ersistInstanceInCache – Beständig instans CCM_ScanJobInstance ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): -Platser som begärts för ScanJobID={4CD06388-D509-4CD06388-D509-046E4-8C00-75909EDD9EE8} (LocationRequestID={C2BB9710-C548-49D0-9DF8-5F9CFC5F3862}), bearbetar genomsökningsbegäran när platserna är tillgängliga. ScanAgent
Varje genomsökningsjobb lagras i WMI i CCM_ScanJobInstance
klassen:
Namnområde: root\CCM\ScanAgent
Klass: CCM_ScanJobInstance
Steg 3: Location Services skickar platsbegäran till hanteringsplatsen
Location Services skapar en platsbegäran och skickar den till hanteringsplatsen. Paket-ID:t för en WSUS-platsbegäran är Det unika ID:t för UpdateSource. Följande loggas i LocationServices.log:
CCCMWSUSLocation::GetLocationsAsyncEx LocationServices
Försöker spara WSUS-platsbegäran för ContentID={C2D17964-BBDD-4339-B9F3-12D7205B39CC} och ContentVersion='38' LocationServices
Beständig WSUS-platsbegäran LocationServices
Försöker skicka WSUS-platsbegäran för 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
Begäran om skapad och skickad plats {C2BB9710-C548-49D0-9DF8-5F9CFC5F3862} för paketet {C2D17964-BBDD-4339-B9F3- 12D7205B39CC} LocationServices
Steg 4: CCM Messaging skickar meddelandet för platsbegäran till hanteringsplatsen
Följande loggas i CcmMessaging.log:
Skickar asynkront meddelande {76453CC6-76BA-4B68-BE30-BA70754570BB} till den utgående kön "mp:[http]mp_locationmanager" CcmMessaging
Skickar utgående meddelande {76453CC6-76BA-4B68-BE30-BA70754570BB}. Flaggor 0x200, avsändarkonto tom CcmMessaging
Steg 5: Hanteringsplatsen parsar begäran, hämtar WSUS-platsen från databasen och skickar ett svar
Hanteringsplatsen parsar den här begäran och anropar den MP_GetWSUSServerLocations
lagrade proceduren för att hämta WSUS-platserna från databasen. Följande loggas i MP_Location.log:
MP LM: Meddelandetext: 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: anropa MP_GetWSUSServerLocations MP_LocationManager
I SQL Server Profiler-spårning:
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'
När du har hämtat resultaten från den lagrade proceduren skickar hanteringsplatsen ett svar till klienten. Följande loggas i MP_Location.log:
MP LM: Svarsmeddelandetext:
<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> MP_LocationManager><><><
Steg 6: CCM Messaging tar emot svaret och skickar tillbaka det till Location Services
Den CcmMessaging.log filen på klienten visar att ett svar har tagits emot. Det här meddelandet levererades till Location Services:
Meddelandet {76453CC6-76BA-4B68-BE30-BA70754570BB} fick svaret {8E6D05EF-B77F-4AD0-AF64-1C6F3069A29C} till den lokala slutpunktskö LS_ReplyLocations CcmMessaging
OutgoingMessage(Queue='mp_[http]mp_locationmanager', ID={76453CC6-76BA-4B68-BE30-BA70754570BB}): Levereras som värd för "PS1SYS.CONTOSO.COM". CcmMessaging
Meddelande {8E6D05EF-B77F-4AD0-AF64-1C6F3069A29C} levereras till slutpunkten "LS_ReplyLocations" CcmMessaging
Steg 7: Location Services parsar svaret och skickar tillbaka platsen till Scan Agent
Följande loggas i LocationServices.log:
Svarsmeddelande för bearbetningsplats LocationServices 2014-01-12:18:09
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><><><<
Anropa tillbaka med följande WSUS-platser 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
Anropar med platser för WSUS-begäran {C2BB9710-C548-49D0-9DF8-5F9CFC5F3862} LocationServices
Steg 8: Genomsökningsagenten meddelar WUAHandler om att lägga till uppdateringskällan i registret
Scan Agent har nu principen och platsen för uppdateringskällan med rätt innehållsversion. Följande loggas i ScanAgent.log:
WSUSLocationUpdate mottaget för platsbegäran guid={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
Genomsökningsagenten meddelar WUAHandler om att lägga till uppdateringskällan. WUAHandler lägger till uppdateringskällan i registret och initierar en grupprincip uppdatering (om klienten finns i domänen) för att se om grupprincip åsidosätter uppdateringsservern som vi nyss lade till. Följande loggas WUAHandler.log på en ny klient som visar en ny uppdateringskälla som läggs till:
Det är en WSUS-uppdateringskälla ({C2D17964-BBDD-4339-B9F3-12D7205B39CC}) och lägger till den. WUAHandler
Det är en helt ny WSUS-uppdateringskälla. WUAHandler
Aktivera WUA-princip för hanterad server för att använda server:http://PS1SITE.CONTOSO.COM:8530
WUAHandler
Principuppdatering framtvingad. WUAHandler
Väntar på 2 minuter för grupprincip att meddela om WUA-principändring... WUAHandler
Väntar i 30 sekunder på att principen ska börja gälla för WU-agenten. WUAHandler
Uppdateringskälla ({C2D17964-BBDD-4339-B9F3-12D7205B39CC}) har lagts till av innehållstypen: 2 WUAHandler
Under den här tiden ser Windows Update Agent en WSUS-konfigurationsändring. Följande loggas i WindowsUpdate.log:
2014-01-20 12:18:11:520 968 9d0 Agent * WSUS-server:
http://PS1SITE.CONTOSO.COM:8530
(Ändrades)
2014-01-20 12:18:11:520 968 9d0 Agent * WSUS-statusserver:http://PS1SITE.CONTOSO.COM:8530
(Ändrades)
2014-01-20 12:18:11:520 968 9d0 AU Sus-server har ändrats via principen.
Följande registernycklar är markerade och inställda:
Registerundernyckel | Värdenamn | Typ | Data |
---|---|---|---|
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate |
WUServer | REG_SZ | Den fullständiga WSUS-server-URL:en inklusive porten. Till exempel: http://PS1Site.Contoso.com:8530 |
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate |
WUStatusServer | REG_SZ | Den fullständiga WSUS-server-URL:en inklusive porten. Till exempel: http://PS1Site.Contoso.com:8530 |
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate\AU |
UseWUServer | REG_DWORD | 0x1 |
För en befintlig klient kan vi förvänta oss att se följande i WUAHandler.log att ange när innehållsversionen har ökat:
Det är en WSUS-uppdateringskälla ({C2D17964-BBDD-4339-B9F3-12D7205B39CC}) och lägger till den. WUAHandler
WSUS-uppdateringskällan finns redan, den har ökat versionen till 38. WUAHandler
Steg 9: Genomsökningsagenten initierar genomsökningen
När uppdateringskällan har lagts till genererar Scan Agent ett tillståndsmeddelande och initierar genomsökningen. Följande loggas i ScanAgent.log:
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): Raised UpdateSource ({C2D17964-BBDD-4339-B9F3-12D7205B39CC}) tillståndsmeddelande. StateId = 2 ScanAgent
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::Execute – begärd genomsökning, ScanType=1 ScanAgent
Genomsökning av programuppdatering på klienter
När uppdateringskällans princip och platsen för uppdateringskällan är tillgängliga initierar Scan Agent genomsökningen. Programuppdateringsgenomsökningen utförs faktiskt av Windows Update-agenten. Configuration Manager-klienten interagerar dock med Windows Update-agenten för att utföra en genomsökning och hämta genomsökningsresultatet. Den här interaktionen hanteras av komponenten Windows Update Agent Handler (WUAHandler), som kommunicerar med Windows Update-agenten.
Steg 1: Genomsökningsagenten begär genomsökningen och WUAHandler initierar genomsökningen
Genomsökningsagenten begär genomsökningen från WUAHandler, som använder Windows Update Agent-API:et för att begära en programuppdateringsgenomsökning från Windows Update Agent. Följande loggas i ScanAgent.log:
ScanJob({4CD06388-D509-46E4-8C00-75909EDD9EE8}): CScanJob::Execute – begärd genomsökning, ScanType=1 ScanAgent
Följande loggas i WUAHandler.log:
Genomsökningsresultat innehåller ersatta uppdateringar endast när de ersätts av service pack och definitionsuppdateringar. WUAHandler
Sökvillkor är (DeploymentAction=* AND Type='Software') OR (DeploymentAction=* AND Type='Driver') WUAHandler
Köra genomsökning av uppdateringar med ett enda samtal. WUAHandler
Asynkron sökning efter uppdateringar med hjälp av WUAgent startade. WUAHandler
Steg 2: Windows Update Agent (WUA) startar genomsökningen mot WSUS-datorn
Windows Update Agent startar en genomsökning efter att ha tagit emot en begäran från Configuration Manager-klienten (CcmExec). Eftersom Windows Update Server-värdet redan har angetts till SUP-servern utförs den här genomsökningen mot den WSUS-server som har SUP-rollen installerad. Följande loggas i WindowsUpdate.log:
2014-01-20 12:18:42:694 3856 708 COMAPI -- START -- COMAPI: Search [ClientId = CcmExec]
2014-01-20 12:18:42:752 3856 708 COMAPI <<-- SUBMITTED -- COMAPI: Search [ClientId = CcmExec]
2014-01-20 12:18:47:511 968 f58 PT + ServiceId = {3DA21691-E39D-4DA6-8A4B-B43877BCB1B7}, Server-URL =http://PS1SITE.CONTOSO.COM:8530/ClientWebService/client.asmx
2014-01-20 12:18:48:662 968 f58 Agent ** START ** Agent: Hitta uppdateringar [CallerId = CcmExec]
2014-01-20 12:18:48:662 968 f58 Agent * Inkludera potentiellt ersatta uppdateringar
2014-01-20 12:18:48:662 968 f58 Agent * Online = Ja; Ignorera nedladdningsprioritet = Ja
2014-01-20 12:18:48:662 968 f58 Agent * Villkor = "(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} Hanterad
2014-01-20 12:18:48:662 968 f58 Agent * Sökomfång = {Machine}
Windows Update Agent söker nu igenom mot WSUS-servern och rapporterar resultatet till CcmExec (särskilt WUAHandler). Följande loggas i WindowsUpdate.log:
2014-01-20 12:18:49:175 968 f58 PT + ServiceId = {3DA21691-E39D-4DA6-8A4B-B43877BCB1B7}, Server-URL =
http://PS1SITE.CONTOSO.COM:8530/ClientWebService/client.asmx
2014-01-20 12:18:52:680 968 f58 Agent * Lade till uppdatering {4AE85C00-0EAA-4BE0-B81B-DBD7053D5FAE}.104 tosearch resultat
2014-01-20 12:18:52:683 968 f58 Agent * Lade till uppdatering {57260DFE-227C-45E3-9FFC-2FC77A67F95A}.104 för att söka efter resultat
2014-01-20 12:18:52:694 968 f58 Agent * Hittade 163 uppdateringar och 70 kategorier i sökning; utvärderade appl. regler för 622 av 1150 distribuerade entiteter
2014-01-20 12:18:52:745 968 f58 Agent ** END ** Agent: Hitta uppdateringar [CallerId = CcmExec]
2014-01-20 12:18:52:755 3856 708 COMAPI >>-- ÅTERUPPTAD -- COMAPI: Search [ClientId = CcmExec]
2014-01-20 12:18:53:137 3856 708 COMAPI – Hittade uppdateringar = 163
2014-01-20 12:18:53:137 3856 708 COMAPI -- END -- COMAPI: Search [ClientId = CcmExec]
Steg 3: WUAHandler tar emot resultatet från Windows Update-agenten och markerar genomsökningen som slutförd
Följande loggas i WUAHandler.log:
Asynkron sökning har slutförts. WUAHandler
Sökningen efter allt i ett enda samtal har slutförts. WUAHandler
Steg 4: WUAHandler parsar genomsökningsresultatet
WUAHandler parsar sedan resultaten, som inkluderar tillämplighetstillståndet för varje uppdatering. Som en del av den här processen rensas ersatta uppdateringar bort. Följande loggas i WUAHandler.log:
Beskärning: uppdaterings-ID (70f4f236-0248-4e84-b472-292913576fa1) ersätts av (726b7201-862a-4fde-9b12-f36b38323a6f). WUAHandler
...
Uppdatering (installerad): Säkerhetsuppdatering för Windows 7 för x64-baserade system (KB2584146) (4ae85c00-0eaa-4be0-b81b-dbd7053d5fae, 104) WUAHandler
Uppdatering (saknas): Säkerhetsuppdatering för Windows 7 för x64-baserade system (KB2862152) (505fda07-b4f3-45fb-83d9-8642554e2773, 200) WUAHandler
...
Genomsökningen har slutförts. WUAHandler
Steg 5: Uppdateringsarkivet registrerar statusen och genererar ett tillståndsmeddelande för varje uppdatering i WMI
När genomsökningsresultaten är tillgängliga lagras dessa resultat i uppdateringsarkivet. Uppdateringsarkivet registrerar det aktuella tillståndet för varje uppdatering och skapar ett tillståndsmeddelande för varje uppdatering. Dessa tillståndsmeddelanden vidarebefordras till platsservern i grupp i slutet av rapportcykeln för statusmeddelanden (vilket är 15 minuter som standard).
UpdatesStore.log som visar status för saknade uppdateringar (KB2862152) som registreras och ett tillståndsmeddelande som genereras:
Bearbeta uppdateringsstatus från uppdatering (505fda07-b4f3-45fb-83d9-8642554e2773) med ProductID = 0fa1201d-4330-4fa8-8ae9- b877473b6441 UpdatesStore
Uppdateringsstatus från uppdatering (505fda07-b4f3-45fb-83d9-8642554e2773) har inte rapporterats tidigare, vilket skapar en ny instans. UpdatesStore
Tillståndsmeddelandet har genererats för uppdatering (505fda07-b4f3-45fb-83d9-8642554e2773) med tillstånd (saknas). UpdatesStore
WMI-instansen av uppdateringsstatus har lagts till (505fda07-b4f3-45fb-83d9-8642554e2773). UpdatesStore
StateMessage.log som visar tillståndsmeddelande som spelas in med tillstånds-ID 2 (saknas):
Lägga till meddelande med TopicType 500 och TopicId 505fda07-b4f3-45fb-83d9-8642554e2773 till WMI StateMessage
Tillståndsmeddelande (tillstånds-ID : 2) med TopicType 500 och TopicId 505fda07-b4f3-45fb-83d9-8642554e2773 har registrerats för SYSTEM StateMessage
För varje uppdatering skapas eller uppdateras en instans av CCM_UpdateStatus
klassen och uppdateringens aktuella status lagras. Klassen CCM_UpdateStatus
finns i ROOT\CCM\SoftwareUpdates\UpdatesStore
namnområdet.
På samma sätt skapas eller uppdateras en instans av CCM_StateMsg
klassen, och den lagrar uppdateringens aktuella tillstånd. Klassen CCM_StateMsg
finns i ROOT\CCM\StateMsg
namnområdet.
Steg 6: Tillståndsmeddelanden skickas till hanteringsplatsen
Som tidigare nämnts skickas tillståndsmeddelanden till hanteringsplatsen baserat på tillståndsmeddelandets rapportcykelschema, som är konfigurerat till 15 minuter som standard. När ett tillståndsmeddelande har skickats till hanteringsplatsen MessageSent
är egenskapen för tillståndsmeddelandeinstansen CCM_StateMsg
i klassen inställd på Sant.
I StateMessage.log:
StateMessage-brödtext: <XML-rapportens brödtext trunkerad> statemessage
Tillståndsmeddelanden har vidarebefordrats till MP StateMessage
Så här ser statusmeddelandetexten ut för vår uppdatering. Normalt är den här XML-brödtexten för stor för loggen och trunkeras i CMTrace. Du kan dock se hela XML-brödtexten i Anteckningar.
StateMessage-brödtext: <?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><Prioritet>5</ Priority></Machine></Identification><ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType><Date>20140120194656.903000+000</Date><Version>1.0</Version><Format>1.0</Format></ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20140120171855.573000+000" SerialNumber="232"><Ämnes-ID="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
Tillståndsmeddelanden har vidarebefordrats till MP StateMessage
Tillståndsmeddelandebearbetningsflöde
Vi vet nu hur ett tillståndsmeddelande registreras och den WMI-plats där dessa tillståndsmeddelanden lagras. Vi vet också att meddelanden om oskickade tillstånd på en klient skickas till hanteringsplatsen var 15:e minut som standard, enligt rapportcykeln för tillståndsmeddelande. Det här schemat kan ändras i Tillståndsmeddelanden för anpassade klientinställningar eller standardklientinställningar.
Även om StateMessage.log rapporter vidarebefordrade tillståndsmeddelanden till MP skickar komponenten Tillståndsmeddelande inte själva meddelandena. Alla meddelanden som skickas och tas emot från hanteringsplatsen hanteras av CCM Messaging-komponenten på klienten. CCM Messaging är den faktiska komponenten som kommunicerar med hanteringsplatsen för att skicka och ta emot data. Hanteringsplatsen har olika köer definierade för att hantera olika typer av inkommande trafik. För tillståndsmeddelanden är MP_RelayEndpoint
kön som hanterar den här trafiken kön.
Steg 1: Komponenten Tillståndsmeddelande börjar skicka meddelanden till hanteringsplatsen
I StateMessage.log:
StateMessage-brödtext: <?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><Prioritet>5</ Priority></Machine></Identification><ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType><Date>20140120194656.903000+000</Date><Version>1.0</Version><Format>1.0</Format></ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20140120171855.573000+000" SerialNumber="232"><Ämnes-ID="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
Tillståndsmeddelanden har vidarebefordrats till MP StateMessage
Steg 2: CCM Messaging skickar ett meddelande som innehåller statusmeddelandets XML-brödtext till hanteringsplatsen
CCM Messaging skickar ett meddelande till MP_RelayEndpoint
kön. Det här meddelandet har inget svar, till skillnad från det vi märkte tidigare i avsnittet WSUS-platsbegäran där meddelandet med platsbegäran fick ett svar.
I CcmMessaging.log:
Skickar asynkront meddelande {95F79010-D0EB-49A6-8A1E-3897883105F2} till den utgående kön mp:mp_relayendpoint CcmMessaging
Skickar utgående meddelande {95F79010-D0EB-49A6-8A1E-3897883105F2}. Flaggor 0x200, avsändarkonto tom CcmMessaging
POST: Host=PS1SYS. CONTOSO.COM, Path=/ccm_system/request, Port=443, Protocol=https, Flags=512, Options=480 CcmMessaging
Meddelandet {95F79010-D0EB-49A6-8A1E-3897883105F2} har inte svaret CcmMessaging
OutgoingMessage(Queue='mp_mp_relayendpoint', ID={95F79010-D0EB-49A6-8A1E-3897883105F2}): Levereras som värd för "PS1SYS.CONTOSO.COM". CcmMessaging
Steg 3: Meddelandet tas emot på hanteringsplatsen och bearbetar sedan MP_Relay meddelandet och skapar en SMX-fil
Eftersom alla meddelanden skickas med HTTP/HTTPS och tas emot av IIS. I det här exemplet görs den här begäran till den CCM_System virtuella katalogen.
I IIS-loggen:
192.168.2.12 CCM_POST /ccm_system/request - 443 - 192.168.2.62 ccmhttp - 200 0 0 542 31
När meddelandet har tagits emot på hanteringsplatsen bearbetar komponenten MP_Relay
det här meddelandet, konverterar meddelandet till en SMX-fil och flyttar SMX-filen till rätt plats beroende på om hanteringsplatsen är samlokaliserad på platsservern eller inte.
- På en fjärrhanteringsplats: \SMS\mp\outboxes\StateMsg.box
- På en hanteringsplats som är samlokaliserad på platsservern: \inboxes\auth\StateSys.box\incoming
I MP_Relay.log på en hanteringsplats som finns på platsservern:
Mp-meddelandehanterare: starta meddelandebearbetningen för Relay----------------------- MP_RelayEndpoint
Mp-meddelandehanterare: FileType=SMX MP_RelayEndpoint
Meddelandetext: <XML-brödtext trunkerad> MP_RelayEndpoint
Relay: Outbox dir: E:\ConfigMgr\inboxes\auth\statesys.box\incoming MP_RelayEndpoint
Prioritet i meddelandet = 5 MP_RelayEndpoint
State Priority Directory = E:\ConfigMgr\inboxes\auth\statesys.box\incoming MP_RelayEndpoint
Inv-Relay: Uppgiften har slutförts MP_RelayEndpoint
I MP_Relay.log på en fjärrhanteringsplats:
Mp-meddelandehanterare: starta meddelandebearbetningen för Relay------------------------------ MP_RelayEndpoint
Mp-meddelandehanterare: FileType=SMX MP_RelayEndpoint
Meddelandetext:
<?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><Prioritet>5</ Priority></Machine></Identification><ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType><Date>20140120194656.903000+000</Date><Version>1.0</Version><Format>1.0</Format></ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20140120171855.573000+000" SerialNumber="232"><Ämnes-ID="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
Inv-Relay-uppgift: Bearbeta meddelandetexten MP_RelayEndpoint
Relay: Utkorgsdir: C:\SMS\mp\outboxes\StateMsg.box MP_RelayEndpoint
Prioritet i meddelandet = 5 MP_RelayEndpoint
State Priority Directory = C:\SMS\mp\outboxes\StateMsg.box MP_RelayEndpoint
Inv-Relay: Uppgiften har slutförts MP_RelayEndpoint
XML-brödtexten ser identisk ut med det som loggas i StateMessage.log på klienten.
Steg 4: MP File Dispatch Manager skickar SMX-filen till platsservern (endast när hanteringsplatsen inte är samlokaliserad på platsservern)
När hanteringsplatsen är fjärransluten till platsservern ansvarar MP File Dispatch Manager (MPFDM) för att flytta filerna till inkorgen StateMsg.box på platsservern när filen har anlänt i utkorgar\StateMsg.box. När hanteringsplatsen samplaceras på platsservern flyttas dessa filer direkt till lämplig inkorgsmapp, så MPFDM ingår inte.
I MPFDM.log på en fjärrhanteringsplats:
Flyttad fil C:\SMS\MP\OUTBOXES\statemsg.box\TAZGYTSJ. SMX till \\PS1SITE.CONTOSO.COM\SMS_PS1\inboxes\auth\statesys.box\incoming\TAZGYTSJ. SMX-SMS_MP_FILE_DISPATCH_MANAGER
För att MPFDM ska kunna flytta filerna till rätt inkorg måste fjärrhanteringsplatsen kunna komma åt platsserverns register för att fastställa inkorgens källplatser. Därför måste fjärrregistertjänsten köras och registeråtkomst ska inte blockeras av grupprincip. MPFDM avgör inkorgsplatserna genom att komma åt följande registernyckel på platsservern:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Inbox Source
Steg 5: StateSys-komponenten på platsservern bearbetar tillståndsmeddelandet till databasen
När filen har hämtats i \inboxes\auth\StateSys.box på platsservern, vaknar State System Manager-komponenten (StateSys) och bearbetar SMX-filen/SMX-filerna.
I StateSys.log med utförlig loggning aktiverat:
Inkorgsmeddelande utlöses, pausa i 10 sekunder...... SMS_STATE_SYSTEM
Hittade nya tillståndsmeddelanden att bearbeta och började bearbeta tråden SMS_STATE_SYSTEM
Tråden "State Message Processing Thread #0" id:4316 startade SMS_STATE_SYSTEM
totalt antal inlästa chuckar (1) SMS_STATE_SYSTEM
CMessageProcessor – Bearbetningsfil: YCE2H3VD. SMX-SMS_STATE_SYSTEM
CMessageProcessor – Bearbetade 1 poster med 0 ogiltiga poster. SMS_STATE_SYSTEM
CMessageProcessor – Bearbetade 1 meddelandefiler i den här batchen med 0 felaktiga filer. SMS_STATE_SYSTEM
totalt antal inlästa chuckar (0) SMS_STATE_SYSTEM
Tråden "State Message Processing Thread #0" id:4316 avslutades normalt SMS_STATE_SYSTEM
I StateSys.log utan utförlig loggning aktiverat:
Hittade nya tillståndsmeddelanden att bearbeta och började bearbeta tråden SMS_STATE_SYSTEM
Tråden "State Message Processing Thread #0" id:1988 startade SMS_STATE_SYSTEM
totalt antal inlästa chuckar (1) SMS_STATE_SYSTEM
totalt antal inlästa chuckar (0) SMS_STATE_SYSTEM
Tråden "State Message Processing Thread #0" id:1988 avslutades normalt SMS_STATE_SYSTEM
Filen StateSys.log loggar inte filnamnet om inte utförlig loggning är aktiverad för State System Manager.
SMX-filen som har flyttats till mappen StateSys.box innehåller xml-meddelandets brödtext. När StateSys bearbetar den här filen anropas den spProcessStateReport
lagrade proceduren och den här XML-brödtexten skickas vidare till den lagrade proceduren som en parameter.
I SQL Server Profiler-spårning:
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><Prioritet>5</ Priority></Machine></Identification><ReportDetails><ReportContent>State Message Data</ReportContent><ReportType>Full</ReportType><Date>20140120220131.071000+000</Date><Version>1.0</Version><Format>1.0</Format></ReportDetails></ReportHeader><ReportBody><StateMessage MessageTime="20140120171855.573000+000" SerialNumber="239"><Ämnes-ID="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>'
spProcessStateReport
är en CLR-lagrad procedur och CLR-definitionen har logiken för att fastställa vilken typ av tillståndsmeddelande som bearbetas. Beroende på typen av tillståndsmeddelande bearbetas tillståndsmeddelandet på lämpligt sätt och data infogas i databasen.
Du hittar egna namn på alla tillståndsmeddelandet Ämnestyper och ID: er genom att SR_StateNames
köra frågor mot tabellen med följande kommando:
SELECT * FROM SR_StateNames
Sammanfattning av programuppdatering
Innan efterlevnadsdata för programuppdateringar kan visas i konsolen eller rapporterna måste efterlevnadsdata för programuppdatering sammanfattas. Detta är nödvändigt eftersom konsolen och rapporterna vanligtvis bara visar sammanfattade data. Komponenten State System på platsservern utför sammanfattningen av programuppdateringen tillsammans med sammanfattning för andra komponenter, till exempel program, DCM-distributioner och klienthälsa. Du hittar information om alla sammanfattningsuppgifter som tillståndssystemet utför genom att vSR_SummaryTasks
fråga vyn i Configuration Manager-databasen. Tillståndssystemet kör dessa uppgifter enligt ett konfigurerat schema och loggar information om varje uppgift i StateSys.log:
Aktiviteten TaskName<> har startats SMS_STATE_SYSTEM
Uppgiften TaskName<> har slutförts efter att ha körts i 15 sekunder med status 8. SMS_STATE_SYSTEM
För de flesta av dessa uppgifter är statusen som loggas av StateSys.log inte en felkod. I stället är det antalet rader som returneras av lämplig lagrad SQL Server-procedur som utför sammanfattningen.
Sammanfattningsuppgifter som är specifika för programuppdateringar är:
Utvärderare för SUM-tilldelningsefterlevnad
Sammanfattar tillståndsmeddelanden för alla programuppdateringsgrupptilldelningar (distributioner). Den här aktiviteten körs varje timme som standard. Den kan initieras manuellt för en specifik distribution i Configuration Manager-konsolen >Övervakningsdistributioner>, högerklicka på distributionen och klicka sedan på Kör sammanfattning.
Summering av SUM Update Group Status
Sammanfattar status för uppdateringsgrupper. Den här aktiviteten körs varje timme som standard. Den kan initieras manuellt för en specifik uppdateringsgrupp i Configuration Manager-konsolen >Programvarubibliotek>Programuppdateringar>Programuppdateringsgrupper, högerklicka på uppdateringsgruppen och klicka sedan på Kör sammanfattning.
Du kan också ändra schemat för den här aktiviteten genom att högerklicka på Programuppdateringsgrupper eller genom att välja Schemasammanfattning i menyfliksområdet.
Summering av SUM-uppdateringsstatus
Sammanfattar status för uppdateringar för alla klienter. Den här aktiviteten körs varje timme som standard. Den kan initieras manuellt i Configuration Manager-konsolen >Programuppdateringar för programvarubibliotek>och klicka sedan på Kör sammanfattning. Du kan också ändra standardschemat genom att välja Schemasammanfattning.
SUM Migrate Update Status
Migrerar uppdateringsstatus internt i databasen. Den här aktiviteten körs var 24:e timme som standard. Det kan inte initieras manuellt från Configuration Manager-konsolen.
SUM Delete Aged Status
Tar bort föråldrade statusar från programuppdateringsspecifika tabeller i databasen. Den här aktiviteten körs var 24:e timme som standard. Det kan inte initieras manuellt från Configuration Manager-konsolen.
Växel för programuppdateringsplats
I System Center 2012 Configuration Manager SP1 och senare versioner kan en plats ha flera SUP:er. Detta ger feltolerans för situationer när en SUP blir otillgänglig. Mer information om sups redundans och växling finns i följande artiklar: