Actions de package dans la distribution de contenu

Cet article vous aide à comprendre les actions de package dans la distribution de contenu.

Version du produit d’origine : Configuration Manager Current Branch, Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager

Introduction

Les actions de package dans la distribution de contenu sont divisées comme suit :

  • Distribute

    La première action majeure relative à la distribution de contenu est l’action Distribuer. Il s’agit de la distribution initiale d’un package sur un point de distribution. Cette opération est déclenchée par l’Assistant Distribution de contenu dans la console Configuration Manager. Cela transfère tous les fichiers d’un package vers les points de distribution cibles, à l’exception de ceux qui sont déjà présents dans la bibliothèque de contenu du dp dans le cadre d’un autre package. Si le package contient des fichiers qui se trouvent déjà dans la bibliothèque de contenu sur le point de distribution, ces fichiers sont partagés entre plusieurs packages.

  • Mettre à jour

    La deuxième action majeure est l’action Mettre à jour. Il est généralement utilisé lorsqu’un package a été modifié et que tous les points de distribution sur lesquels il est distribué ont besoin du contenu mis à jour. Cela est déclenché avec l’action Mettre à jour les points de distribution dans la console. Cela transfère les fichiers modifiés à tous les points de distribution. Les fichiers inchangés ne seront pas transférés. Si un fichier est supprimé du package dans la version mise à jour, il est supprimé du package sur le point de distribution (tant qu’aucun autre package qui partage le fichier ne se trouve sur le dp).

  • Redistribuer

    La troisième action majeure est l’action Redistribuer, déclenchée avec Redistribuer dans la console Configuration Manager. Cela permet de transférer l’intégralité du contenu vers un point de distribution spécifique. Les fichiers sont transférés et remplacés même s’ils sont déjà présents dans la bibliothèque de contenu sur le point de distribution. L’objectif principal de l’action Redistribuer est de corriger les incohérences qui peuvent exister dans la bibliothèque de contenu.

Créer un package

Les étapes suivantes expliquent le flux d’événements lorsque vous créez un package à partir de la console administrateur qui n’a pas encore été distribué aux fournisseurs de services :

Étape 1 : Administration console crée un instance de la SMS_PackageWMI classe

Une fois que l’administrateur a créé le package dans la console, la console d’administration crée un instance de la SMS_Package classe WMI dans l’espace de noms du fournisseur SMS pour le package nouvellement créé. SMSProv.log affiche les éléments suivants :

Fournisseur SMS 4680 (0x1248) CExtProviderClassObject ::D oPutInstanceInstance~
Audit du fournisseur SMS 4680 (0x1248) : l’utilisateur CONTOSO\Administration a créé un instance de classe SMS_Package.~
Fournisseur SMS 816 (0x330) Notification d’insertion instance traitée pour : SMS_Package.PackageID="PackageID"~

Lorsque cette instance WMI est créée, le fournisseur SMS insère une ligne dans la SMSPackages vue dans la base de données :

insert SMSPackages (PkgID, Name, Version, Language, Manufacturer, Description, ISVString, Hash, NewHash, Source, SourceSite, StoredPkgPath, RefreshSchedule, LastRefresh, StoredPkgVersion, ShareName, PreferredAddress, StorePkgFlag, ShareType, HashVersion,Architecture, ImagePath,Permission, UseForcedDisconnect, ForcedRetryDelay, DisconnectDelay, IgnoreSchedule, Priority, PkgFlags, MIFFilename, MIFPublisher, MIFName, MIFVersion, SourceVersion, SourceDate, SourceSize, SourceCompSize, ImageFlags, PackageType, AlternateContentProviders, SourceLocaleID,  TransformReadiness, TransformAnalysisDate, UpdateMask, UpdateMaskEx, Action, DefaultImage) values (N'PackageID', N'Dummy1', N'', N'',N'',N'',N'',N'',N'',N'\\CS1SITE\SOURCE\Packages\Dummy1',N'CS1',N'',N'',N'04/10/1970 06:35:00', 0, N'',N'', 2, 1, 1, N'', N'', 15, 0, 2, 5, 0, 2, 16777216, N'',N'',N'',N'', 1, N'05/16/2016 15:22:12', 0, 0, 0, 0, N'', 1033, 0, N'1980/01/01 00:00:00', 0, 0, 2, 0)

Une fois la ligne insérée, un déclencheur sur la vue insère une ligne dans SMSPackages_G les tables et SMS_Packages_L . À son tour, un déclencheur sur la SMSPackages_G table insère une ligne dans PkgNotification la table. La ligne de la PkgNotification table est utilisée pour informer DistMgr de traiter le package, et cette notification est fournie à DistMgr par le SMSDBMON composant.

insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'PackageID', 2, 2, GetDate())

Étape 2 : SMSDBMON détecte une modification et avertit DistMgr de traiter le package en supprimant un <PackageID>. Fichier PKN

SMSDBMON détecte une modification dans la table, ce qui entraîne la PkgNotification suppression d’un <PackageID>. Fichier PKN dans DistMgr.box pour indiquer à DistMgr de traiter le package :

SMS_DATABASE_NOTIFICATION_MONITOR 3240 (0xca8) RCV : INSERT on PkgNotification for PkgNotify_Add [<PackageID>][850902]
SMS_DATABASE_NOTIFICATION_MONITOR 3240 (0xca8) SND : E :\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [850902]

Étape 3 : DistMgr traite le package sur le site source du package

DistMgr traite le package après la détection du fichier PKN dans DistMgr.box. Le traitement DistMgr est effectué par plusieurs threads.

  1. Le thread main DistMgr crée un thread de traitement de package.

    Le thread DistMgr principal se réveille, ajoute le package à la file d’attente de traitement du package et crée un thread de traitement de package pour traiter le package :

    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) La notification des propriétés du package a été mise à jour pour le package « PackageID »
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) Ajout du package « PackageID » à la file d’attente de traitement du package.
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~ Actuellement, 0 threads de traitement de package autorisés sur 3.
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~ Thread de traitement de package démarré pour le package « PackageID », THREAD ID = 0x16A8 (5800)

  2. Le thread de traitement de package crée un package instantané et écrit du contenu dans la bibliothèque de contenu.

    Le thread de traitement du package (ID de thread 5800 dans ce cas) commence à traiter le package et crée un package instantané. Après avoir créé le package instantané, ce thread écrit également le contenu du package dans la bibliothèque de contenu sur le serveur de site.

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) STATMSG : ID=2300 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=CS1SITE. CONTOSO.COM SITE=CS1 PID=1904 TID=5800 GMTDATE=Mon 16 mai 14 :33 :55.691 2016 ISTR0="Dummy1 » ISTR1="<PackageID> » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=1 AID0=400 AVAL0="<PackageID> »
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~PackageID> du package <de traitement (SourceVersion :1 ; StoredVersion :0)
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Commencer à ajouter package <PackageID>...
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ L’action de package est 2, le masque de mise à jour est 0 et UpdateMaskEx est 0.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL ::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2300
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Prise de instantané de package pour <package PackageID> à partir de la source \\CS1SITE\SOURCE\Packages\Dummy1
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) La taille du package <PackageID>, version 1 est de 204800 Kooctets
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Écriture de la définition de package pour <PackageID>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ Signatures RDC créées avec succès pour le package PackageID version 1
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Création d’un hachage pour l’algorithme 32780
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Le hachage de l’algorithme 32780 est <HashString>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Le hachage de signature RDC pour l’algorithme 32780 est <HashString>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ Ajout de ces contenus au package PackageID version 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) STATMSG : ID=2376 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=CS1SITE. CONTOSO.COM SITE=CS1 PID=1904 TID=5800 GMTDATE=Lun 16 mai 14 :34 :04.611 2016 ISTR0="<PackageID> » ISTR1=" » ISTR1=" » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=1 AID0=400 AVAL0="<PackageID> »

  3. Le thread de traitement du package réplique le package sur d’autres sites.

    Le thread de traitement du package réplique ensuite le package sur les autres sites de la hiérarchie. Les informations de métadonnées de package sont répliquées vers d’autres sites via la réplication de base de données, tandis que les fichiers de package sont répliqués à l’aide de la réplication de fichiers. Toutefois, les fichiers de package sont envoyés à un site uniquement si au moins un dp de ce site est ajouté au package. Les fichiers de package sont compressés avant d’être envoyés à un autre site. Dans ce cas, étant donné qu’aucune DP n’est ciblée, seules les métadonnées de package sont répliquées sur d’autres sites, mais les fichiers de package ne sont pas répliqués.

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~PackageID <> n’a pas d’expéditeur préféré.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Un programme pour <package PackageID> a été ajouté ou supprimé. Il doit donc être répliqué sur tous les sites enfants.
    SMS_DISTRIBUTION_MANAGER package 5800 (0x16a8) <PackageID> est nouveau ou a changé, répliquant sur tous les sites applicables.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL ::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~StoredPkgVersion (1) du packageID<>. StoredPkgVersion dans la base de données est 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~SourceVersion (1) du package <PackageID>. SourceVersion dans la base de données est 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ Ajout de ces contenus au package <PackageID> version 1.

  4. Le thread de traitement du package se termine.

    Le thread de traitement du package se termine une fois le traitement du package terminé et génère un message status avec l’ID 2301, ce qui signifie que le gestionnaire de distribution a traité le package <PACKAGENAME> (ID de package = <PKGID>). »

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) STATMSG : ID=2301 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=CS1SITE. CONTOSO.COM SITE=CS1 PID=1904 TID=5800 GMTDATE=Lun 16 mai 14 :34 :06.736 2016 ISTR0="Dummy1 » ISTR1="<PackageID> » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=1 AID0=400 AVAL0="<PackageID> »
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Sortie du thread de traitement de package pour <packageID>.

Étape 4 : (le cas échéant) DRS réplique le package vers d’autres sites

S’il existe d’autres sites dans la hiérarchie, les informations de métadonnées de package sont répliquées vers d’autres sites via la réplication de base de données. Une fois les informations de package répliquées, une ligne de la SMSPackages_G table est insérée, ce qui déclenche une insertion dans la PkgNotification table.

Étape 5 : (le cas échéant) SMSDBMON sur le site de réception avertit DistMgr en supprimant un <PackageID>. Fichier PKN

Sur le site de réception, SMSDBMON détecte une modification dans la table qui entraîne la PkgNotification suppression d’un <PackageID>. Fichier PKN dans DistMgr.box pour indiquer à DistMgr de traiter le package :

SMS_DATABASE_NOTIFICATION_MONITOR 3120 (0xc30) RCV : INSERT on PkgNotification for PkgNotify_Add [<PackageID> ][1035019]
SMS_DATABASE_NOTIFICATION_MONITOR 3120 (0xc30) SND : E :\ConfigMgr\inboxes\distmgr.box\<PackageID> supprimé. PKN [1035019]

Étape 6 : (le cas échéant) DistMgr sur le site de réception traite le package

Sur le site de réception, après avoir reçu le . Fichier PKN , DistMgr se réveille pour traiter le package.

  1. Le thread main DistMgr crée un thread de traitement de package.

    Le main thread DistMgr ajoute le package à la file d’attente de traitement du package et crée un thread de traitement de package :

    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) Notification mise à jour des propriétés de package pour le package «< PackageID> »
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) Ajout du package «< PackageID> » à la file d’attente de traitement du package.
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~ Actuellement, 0 threads de traitement de package autorisés sur 3.
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~ Thread de traitement de package démarré pour le package « PackageID> »,< thread ID = 0x1378 (4984)

  2. Le thread de traitement du package traite le package.

    Dans ce cas, ce thread n’a rien à faire, car aucun fournisseur de services n’a été ciblé.

    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) STATMSG : ID=2300 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Mon 16 mai 14 :36 :08.809 2016 ISTR0="Dummy1 » ISTR1="<PackageID> » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=1 AID0=400 AVAL0="<PackageID> »
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~PackageID> de traitement <(SourceVersion :1 ; StoredVersion :0)
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) Commencer à ajouter package <PackageID>...
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~ L’action de package est 2, le masque de mise à jour est 0 et UpdateMaskEx la valeur 0.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~ Création/mise à jour du package <PackageID>
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) STATMSG : ID=2311 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Mon 16 mai 14 :36 :09.486 2016 ISTR0="PackageID » ISTR1=" » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=1 AID0=400 AVAL0="<PackageID> »
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~Déclencheur de fournisseur de stratégie créé pour ID <PackageID>
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~PackageID <> n’a pas d’expéditeur préféré.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~CDistributionSrcSQL ::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~StoredPkgVersion (0) du packageID<>. StoredPkgVersion dans la base de données est 0.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~SourceVersion (1) du package <PackageID>. SourceVersion dans la base de données est 1.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) STATMSG : ID=2301 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Lun 16 mai 14 :36 :10.061 2016 ISTR0="Dummy1 » ISTR1="<PackageID> » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=1 AID0=400 AVAL0="<PackageID> »
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~Sortie du thread de traitement de package pour <packageID>.

Distribuer un package à dp sur plusieurs sites

Les étapes suivantes décrivent le flux des événements lorsqu’un package est distribué à un dp du site principal, mais que le serveur de site principal en question ne contient pas de copie de ce package dans la bibliothèque de contenu. Ce package a été créé sur le site d’administration centrale et, par conséquent, le site d’administration centrale est le site source du package :

Sur le site source du package

Étape 1 : La console d’administration ajoute le dp au package en appelant la AddDistributionPoints méthode sur la SMS_PackageWMI classe

Une fois que l’administrateur a distribué le package à un dp à partir de la console, la console d’administration appelle la AddDistributionPoints méthode de la SMS_Package classe pour ajouter le dp spécifié au package. SMSProv.log affiche les éléments suivants :

Contexte du fournisseur SMS 4616 (0x1208) : SMSAppName=Configuration Manager Console administrateur~
Fournisseur SMS 4616 (0x1208) ExecMethodAsync : SMS_Package.PackageID="<PackageID> » ::AddDistributionPoints~
Fournisseur SMS 4616 (0x1208) CExtProviderClassObject ::D oExecuteMethod AddDistributionPoints~
Audit du fournisseur SMS 4616 (0x1208) : l’utilisateur CONTOSO\Administration appelé une méthode auditée d’une instance de classe SMS_Package.~

Lorsque cette méthode est appelée, le fournisseur SMS insère une ligne dans PkgServers avec Action la valeur 2 (ADD).

insert PkgServers (PkgID, NALPath, SiteCode, SiteName, SourceSite, LastRefresh, RefreshTrigger, UpdateMask, Action) select N'PackageID', N'['Display=\\PS1SITE.CONTOSO.COM\']MSWNET:['SMS_SITE=PS1']\\PS1SITE.CONTOSO.COM\', N'PS1', Sites.SiteName, N'CS1', N'04/10/1970 06:35:00', 0, 0, 2  from Sites where SiteCode = N'PS1'

Une fois qu’une ligne est insérée dans PkgServers, le fournisseur SMS insère également une ligne dans la PkgNotification table. La ligne de la PkgNotification table est utilisée pour informer DistMgr de traiter le package, et cette notification est fournie à DistMgr par le SMSDBMON composant.

insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'PackageID', 2, 4, GetDate())

Étape 2 : SMSDBMON détecte la modification du package et avertit DistMgr en supprimant un <PackageID>. Fichier PKN dans DistMgr.box

SMSDBMON détecte une modification dans la table qui entraîne la PkgNotification suppression d’un <PackageID>. Fichier PKN dans DistMgr.box pour indiquer à DistMgr de traiter le package.

SMS_DATABASE_NOTIFICATION_MONITOR 4944 (0x1350) RCV : INSERT on PkgNotification for PkgNotify_Add [<PackageID> ][850967]
SMS_DATABASE_NOTIFICATION_MONITOR 4944 (0x1350) SND : E :\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [850967]

Étape 3 : DistMgr se réveille pour traiter le package après avoir reçu le fichier PKN

  1. Le thread main DistMgr crée le thread de traitement de package.

    Le thread main DistMgr ajoute le package à la file d’attente de traitement du package et crée un thread de traitement de package.

    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) Ajout du package «< PackageID> » à la file d’attente de traitement du package.
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~ Actuellement 0 threads de traitement de package autorisés sur 3.
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~Thread de traitement de package démarré pour le package « PackageID> »,< THREAD ID = 0x1164 (4452)

  2. Le thread de traitement de package traite les actions de package.

    Le thread de traitement de package traite les actions de package pour ajouter/mettre à jour/supprimer le package du dp. Dans ce cas, le site source du package est le site d’administration centrale et il n’y a aucune action de package à traiter, car le site d’administration centrale ne contient pas de DPS. Sur un site où il y a des actions de package à traiter, le thread de traitement de package crée des threads DP pour effectuer ces actions et attend que les threads DP se terminent avant de passer à l’étape 3-3.

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~PackageID> de traitement <(SourceVersion :1 ; StoredVersion :1)
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Aucune action spécifiée pour le package <PackageID>, mais il peut y avoir des modifications du serveur de package pour ce package.

  3. Le thread de traitement du package crée un mini-travail pour envoyer la copie compressée du package au site de destination.

    Ce mini-travail est traité par le planificateur pour créer une demande d’envoi pour que l’expéditeur transfère la copie compressée du package vers le site de destination :

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~PackageID <> n’a pas d’expéditeur préféré.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Doit envoyer le package compressé pour packageID <> au site PS1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Envoi d’une copie du package <PackageID> au site PS1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Le site de création de rapports du site PS1 est ce site.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Utiliser le lecteur E pour stocker le package compressé.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Définition de la racine de transfert CMiniJob sur E :\SMSPKG\<PackageID>. PCK.1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Nombre de références incrémentées sur le fichier E :\SMSPKG\<PackageID>. PCK.1, count = 2
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Nombre de références décrémentées sur le fichier E :\SMSPKG\<PackageID>. PCK.1, count = 1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Création d’un mini-travail pour envoyer une copie compressée de packageID <> au site PS1. Racine de transfert = E :\SMSPKG\<PackageID>. PCK.1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Les propriétés du package et/ou du programme du package <PackageID> n’ont pas changé, vous devez déterminer quel(s) site(s) ont besoin d’informations de package mises à jour.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Un point de distribution a été modifié sur ce site, ajoutant le site PS1 à la liste des sites auxquels nous envoyons le package <PackageID>.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Le site parent de PS1 est CS1

  4. Le thread de traitement du package se termine après le traitement du package :

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~StoredPkgVersion (1) du package <PackageID>. StoredPkgVersion dans la base de données est 1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~SourceVersion (1) du package <PackageID>. SourceVersion dans la base de données est 1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Thread de traitement de package de sortie pour <package PackageID>.

Étape 4 : le composant du planificateur traite le mini-travail créé par le thread de traitement du package et crée une demande d’envoi

Le composant planificateur se réveille après avoir reçu un travail pour transférer la copie compressée du package et crée une demande d’envoi pour l’expéditeur afin que l’expéditeur puisse envoyer la copie compressée au site de destination.

SMS_SCHEDULER 5492 (0x1574) ======== ======== des travaux de traitement
SMS_SCHEDULER 5492 (0x1574) <Activation de JOB JOBID>[Software Distribution for Dummy1, Package ID = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) Site de destination : PS1, Adresse préférée : *, Priorité : 2
SMS_SCHEDULER 5492 (0x1574) Type d’instruction : MICROSOFT|SMS|MINIJOBINSTRUCTION|PAQUET~
SMS_SCHEDULER 5492 (0x1574) Création du fichier d’instructions : \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\JOBID. Icl~
SMS_SCHEDULER 5492 (0x1574) Racine de transfert : E :\SMSPKG\<PackageID>. PCK.1~
SMS_SCHEDULER 5492 (0x1574) <Mise à jour de JOBID>[Software Distribution for Dummy1, Package ID = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) ID de demande d’envoi créé : 202SQCS1~

Le planificateur met régulièrement à jour les demandes d’envoi et consigne des informations utiles sur les demandes d’envoi, notamment la taille totale et la taille restante :

SMS_SCHEDULER 5492 (0x1574) ====== mise à jour de la liste des demandes d’envoi =======
SMS_SCHEDULER 5492 (0x1574) Send Request 202SQCS1 JobID : JOBID DestSite : PS1 FinalSite : State : Pending Status : Action : None Taille totale : 204864k Restant : 204864k Pulsation : 12 :23 Début : 12 :00 Fin : 12 :00 Nouvelle tentative : SWD PkgID : <PackageID> SWD Pkg Version : 1

Étape 5 : Le composant expéditeur commence à travailler sur la demande d’envoi

Le composant expéditeur traite la demande d’envoi et envoie la copie compressée du package au site de destination.

  1. Le thread expéditeur main démarre un thread d’envoi, qui est le thread qui effectuera tout le travail pour cette demande d’envoi.

    SMS_LAN_SENDER 6700 (0x1a2c) Demande d’envoi trouvée. ID : 202SQCS1, Site dest : PS1~
    SMS_LAN_SENDER 6700 (0x1a2c) Vérification de la capacité d’envoi spécifique au site. Utilisé 0 sur 3.~
    SMS_LAN_SENDER 6700 (0x1a2c) ~ Thread d’envoi créé (ID de thread = 1150)

  2. Le thread d’envoi traite la demande d’envoi et copie le fichier de package compressé (fichier PCK ) sur le site de destination, ainsi que le fichier d’instructions du package (fichier SNI ).

    SMS_LAN_SENDER 4432 (0x1150) ~ Tentative de l’adresse n° 1 (sur 1)
    SMS_LAN_SENDER 4432 (0x1150) ~ Réussite du test du fichier xmit, utilisez la connexion existante
    SMS_LAN_SENDER 4432 (0x1150) ~Fichier de package = E :\SMSPKG\<PackageID>. PCK.1
    SMS_LAN_SENDER 4432 (0x1150) ~Fichier d’instructions = E :\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl
    SMS_LAN_SENDER 4432 (0x1150) ~Vérification du fichier distant \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Vérification du fichier distant \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. SNI
    SMS_LAN_SENDER 4432 (0x1150) ~Vérification du fichier distant \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP...
    SMS_LAN_SENDER 4432 (0x1150) ~ Tentative de création/ouverture du fichier distant \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~ Création/ouverture du fichier distant \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Envoi démarré [E :\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~ Tentative d’écriture de 1 024 octets dans \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK à la position 0
    SMS_LAN_SENDER 4432 (0x1150) ~ Écrit 1 024 octets dans \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK à la position 0 ...
    SMS_LAN_SENDER 4432 (0x1150) ~ Tentative d’écriture de 380731 octets dans \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK en position 209398784
    SMS_LAN_SENDER 4432 (0x1150) ~ Écrit 380731 octets dans \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK en position 209398784
    SMS_LAN_SENDER 4432 (0x1150) ~Envoi terminé [E :\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~ Fin de l’envoi du package <SWD PackageID> version 1 au site PS1 ...
    SMS_LAN_SENDER 4432 (0x1150) ~Envoi démarré [E :\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~Envoi terminé [E :\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~ Fin de l’envoi du package <SWD PackageID> version 1 au site PS1 ...
    SMS_LAN_SENDER 4432 (0x1150) ~ Renommage du fichier distant \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP vers \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. SNI
    MS_LAN_SENDER 4432 (0x1150) ~Rename completed [\\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP]
    SMS_LAN_SENDER 4432 (0x1150) ~ L’envoi s’est terminé avec succès

    Le thread d’envoi copie ces fichiers dans le SMS_SITE partage sur le site de réception.

    Conseil

    Le fichier sender.log journalise en permanence la position dans laquelle il écrit. Par exemple, la position est 209398784 dans le journal ci-dessus. Cette position est le décalage d’octet dans lequel il écrit, et vous pouvez trouver la quantité de données copiées en convertissant cette valeur. Par exemple, 209398784 octets = 199,69 Mo.

Étape 6 : Le composant du planificateur marque le travail comme terminé et supprime la demande d’envoi

Le composant planificateur surveille les demandes d’envoi et, une fois que l’expéditeur a terminé de traiter la demande d’envoi, scheduler marque le travail comme terminé et supprime la demande d’envoi :

SMS_SCHEDULER 5492 (0x1574) ====== Vérification de l’état de toutes les demandes d’envoi ======
SMS_SCHEDULER 5492 (0x1574) ~=== Vérification des demandes d’envoi pour la boîte d’envoi \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\outboxes\LAN.~~
SMS_SCHEDULER 5492 (0x1574) Vérification de la demande d’envoi 202SQCS1~
SMS_SCHEDULER 5492 (0x1574) Envoi terminé (13985442 octets/s).~
SMS_SCHEDULER 5492 (0x1574) <mise à jour de JOBID>[Software Distribution for Dummy1, Package ID = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) La demande d’envoi s’est terminée avec succès.~
SMS_SCHEDULER 5492 (0x1574) <ÉTAT DU TRAVAIL - TERMINÉ>~
SMS_SCHEDULER 5492 (0x1574) Suppression du fichier d’instructions \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\00000E2A. Icl.~
SMS_SCHEDULER 5492 (0x1574) Suppression de la source du package de travail [E :\SMSPKG\<PackageID>. PCK.1].~
SMS_SCHEDULER 5492 (0x1574) Fichier de référence supprimé E :\SMSPKG\<PackageID>. PCK.1
SMS_SCHEDULER 5492 (0x1574) Nombre de références décrémentées sur le fichier E :\SMSPKG\<PackageID>. PCK.1, count = 0
SMS_SCHEDULER 5492 (0x1574) Suppression de la demande d’envoi avec l’ID : 202SQCS1.~
SMS_SCHEDULER 5492 (0x1574) JobID supprimé.~

Après cette étape, le site d’envoi n’a plus de travail à effectuer et le site de réception démarre le traitement du package.

Sur le site de destination

Étape 7 : Le dépooleur traite les fichiers PCK et SNI

À l’étape 5, les fichiers PCK et SNI ont été copiés sur le SMS_SITE partage sur le site de réception. Sur chaque Configuration Manager site, le dossier \inboxes\despoolr.box\receive est partagé en tant que SMS_SITE. Lorsque ces fichiers arrivent dans le dossier despoolr.box\receive , le despooler composant se réveille pour traiter le fichier SNI qui est un fichier d’instructions.

  1. Le thread de dépoolage main crée un thread de déspooling.

    Le despooler principal recherche le fichier d’instructions et crée un thread de dépoolage pour traiter le fichier d’instructions :

    SMS_DESPOOLER 6128 (0x17f0) ~Instruction prête à l’emploi 202sqcs1.sni
    SMS_DESPOOLER 6128 (0x17f0) ~ 0 threads de dépoolage sur 3 utilisés
    SMS_DESPOOLER 6128 (0x17f0) ~Création d’un thread de dépoolage EE8

  2. (Sporadiquement) Le thread de dépooling échoue parfois à traiter l’instruction lors de la première tentative et effectue de nouvelles tentatives au bout de 5 minutes.

    Le thread de dépooling traite le fichier d’instructions, mais dans de nombreux cas, le dépooleur tente de traiter un fichier d’instructions pour un package, il échoue avec un message « Les informations de package n’ont pas encore été reçues pour cette version », car les informations de métadonnées du package n’ont pas encore été répliquées sur le site de réception. Dans ce cas, despooler.log affiche « code d’erreur = 12 », mais réessaie cette instruction au bout de cinq minutes, ce qui réussit à mesure que les informations du package se répliquent pendant cette période. L’étape 7-3 montre le traitement réussi de l’instruction lors de la nouvelle tentative.

    SMS_DESPOOLER 3816 (0xee8) ~Vérification de la signature pour l’instruction E :\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.ist de type MICROSOFT|SMS|MINIJOBINSTRUCTION|PAQUET
    SMS_DESPOOLER 3816 (0xee8) ~Signature extrait OK pour les instructions provenant du site CS1, poursuivez l’exécution de l’instruction.
    SMS_DESPOOLER 3816 (0xee8) ~Exécution de l’instruction de type MICROSOFT|SMS|MINIJOBINSTRUCTION|PAQUET
    SMS_DESPOOLER 3816 (0xee8) ~PackageID reçu version 1. Fichier compressé : E :\SMSPKG\<PackageID>. PCK.1 as E :\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.pkg
    SMS_DESPOOLER 3816 (0xee8) ~Ancien package storedUNC path is .
    SMS_DESPOOLER 3816 (0xee8) ~Les informations de ce package[<PackageID>] ne sont pas encore arrivées pour cette version [1]. Réessayez ultérieurement ...
    SMS_DESPOOLER 3816 (0xee8) ~Instruction de nouvelle tentative créée pour job JOBID
    SMS_DESPOOLER 3816 (0xee8) ~Despooler n’a pas pu exécuter l’instruction, code d’erreur = 12 ...
    SMS_DESPOOLER 6128 (0x17f0) ~Instruction E :\ConfigMgr\inboxes\despoolr.box\receive\ds_3kyyh.sni ne sera pas traitée avant le 16/5/2016 12 :29 :11 PM (heure d’été de l’Est)

    Si cela se produit, DistMgr tente de traiter le package. Toutefois, étant donné que la copie compressée du package n’a pas été traitée et extraite dans la bibliothèque de contenu, le thread de traitement du package journalisera les éléments suivants et quittera :

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ Thread de traitement de package démarré pour le package « PackageID> »,< thread ID = 0xAAC (2732)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~PackageID> de traitement <(SourceVersion :1 ; StoredVersion :0)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~ Le contenu du package <PackageID> n’est pas encore arrivé du site CS1, réessayera ultérieurement.
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~ Tous les threads DP sont terminés pour le thread de traitement PackageID> du package<.
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~ Thread de traitement de package de sortie pour <package PackageID>.

  3. Le thread de dépooling traite l’instruction et écrit le contenu dans la bibliothèque de contenu.

    Le thread de dépooling traite l’instruction, annule le traitement du fichier PCK dans un emplacement temporaire, puis écrit le contenu dans la bibliothèque de contenu.

    SMS_DESPOOLER 4072 (0xfe8) ~PackageID> reçu <version 1. Fichier compressé : E :\SMSPKG\<PackageID>. PCK.1 as E :\ConfigMgr\inboxes\despoolr.box\receive\PKGj3uib.TRY
    SMS_DESPOOLER 4072 (0xfe8) ~Ancien package storedUNC path is .
    SMS_DESPOOLER 4072 (0xfe8) ~Utiliser le lecteur E pour stocker le package compressé.
    SMS_DESPOOLER 4072 (0xfe8) Aucune entrée de Registre du cache de branche n’a été trouvée.
    SMS_DESPOOLER 4072 (0xfe8) Décompression E :\SMSPKG\<PackageID>. PCK en E :\SMSPKG\<PackageID>. PCK.temp
    Bibliothèque de contenu SMS_DESPOOLER 4072 (0xfe8) : E :\SCCMContentLib
    SMS_DESPOOLER 4072 (0xfe8) Extraction de E :\SMSPKG\<PackageID>. PCK.temp
    SMS_DESPOOLER 4072 (0xfe8) Extracting packageID <>
    SMS_DESPOOLER 4072 (0xfe8) Extraction de contenu <PackageID.1>
    SMS_DESPOOLER 4072 (0xfe8) Écriture d’une définition de package pour <PackageID>
    SMS_DESPOOLER 4072 (0xfe8) ~Package <PACKAGEID> (version 0) existe dans la source de distribution, enregistrez la version la plus récente (version 1).
    SMS_DESPOOLER 4072 (0xfe8) ~Stored PackageID<>. Version du package stocké = 1

    Après avoir extrait le contenu dans la bibliothèque de contenu, le dépooleur se met à jour StoredPkgVersion dans la SMSPackages_L table et insère une ligne dans la PkgNotification table afin que DistMgr puisse être averti du traitement du package.

    update SMSPackages_L set StoredPkgPath = N'\\PS1SITE.CONTOSO.COM\E$\SMSPKG\<PackageID>.PCK', StoredPkgVersion = 1, UpdateMask = 160, UpdateMaskEx = 0, Action = 1 where PkgID = N'<PackageID>'
    insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'<PackageID>', 2, 1, GetDate())
    
  4. Le thread de dépooling met à jour la ligne Type 1 pour le site de réception dans PkgStatus, déclenche un message status avec l’ID 4400, puis se ferme.

    update PkgStatus set Status = 2, UpdateTime = N'Date Time', Location = N'\\PS1SITE.CONTOSO.COM\E$\SMSPKG\PackageID.PCK', ShareName = N'', HTTPUrl = N'', SourceVersion = 1, Personality = 0, State = 0, SigURL = N'', SigLocation = N'' where ID = N'PackageID' and Type = 1 and SiteCode = N'PS1' and PkgServer = N'PS1SITE.CONTOSO.COM'
    

    SMS_DESPOOLER 4072 (0xfe8) STATMSG : ID=4400 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DESPOOLER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=4072 GMTDATE=Lun 16 mai 16 :31 :21.400 2016 ISTR0="<PackageID> » ISTR1="\\PS1SITE.CONTOSO.COM\E$\SMSPKG\<PackageID>. PCK » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=1 AID0=400 AVAL0="<PackageID> »
    SMS_DESPOOLER 4072 (0xfe8) ~Despooler a correctement exécuté une instruction.

Étape 8 : SMSDBMON avertit DistMgr de traiter le package

SMSDBMON détecte une modification dans la PkgNotification table et supprime un fichier PKN dans DistMgr.box pour indiquer à DistMgr de traiter le package.

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV : INSERT on PkgNotification for PkgNotify_Add [<PackageID> ][1035289]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND : E :\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1035289]

Étape 9 : DistMgr se réveille pour traiter le package

DistMgr se réveille après la détection du fichier PKN et traite le package.

  1. Le thread main DistMgr crée un thread de traitement de package.

    Le thread main DistMgr ajoute le package à la file d’attente de traitement du package et crée un thread de traitement de package.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Notification mise à jour des propriétés du package pour le package «< PackageID> »
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Ajout du package «< PackageID> » à la file d’attente de traitement du package.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ Utilisation de 0 threads de traitement de package sur 3 autorisés.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ Thread de traitement de package démarré pour le package « PackageID> »,< THREAD ID = 0x93C (2364)

  2. Le thread de traitement de package crée des threads DP pour traiter les actions de package et attend qu’ils se terminent.

    Le thread de traitement de package (TID 2364) traite les actions de package (ajout/mise à jour/suppression) pour les DPS. Dans ce cas, le package a été distribué à un dp et le thread de traitement du package crée un thread DP pour ajouter le package au dp. Après avoir créé le thread DP, le thread de traitement de package attend que tous les threads DP se terminent avant de continuer.

    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~PackageID> de traitement <(SourceVersion :1 ; StoredVersion :1)
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) Commencer à mettre à jour le package <PackageID>...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ L’action de package est 1, le masque de mise à jour est 160 et UpdateMaskEx est 0.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Utiliser le lecteur E pour stocker le package compressé.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Création/mise à jour du package <PackageID> ...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) Commencer à ajouter package <PackageID> au serveur ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Thread de traitement dp 5204 créé pour l’ajout ou la mise à jour du package <PackageID> sur le serveur ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ ...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Attente de la fin de tous les threads DP pour <le thread de traitement packageID> .

  3. Les threads DP créent un travail PkgXferMgr pour transférer du contenu vers les fournisseurs de services, puis se terminent.

    Le thread DP (TID 5204) commence à travailler sur l’ajout du package au dp. Les threads DP ne copient pas directement le contenu du package dans le dp, mais créent à la place un travail pour Package Transfer Manager (PkgXferMgr) en lui demandant de copier le contenu du package vers le dp. Les entrées de journal suivantes montrent le thread DP qui crée un travail PkgXferMgr. Une fois le travail créé, le travail du thread DP est terminé et le thread DP se ferme.

    thread DP SMS_DISTRIBUTION_MANAGER 5204 (0x1454) : tentative d’ajout ou de mise à jour du package <PackageID> sur DP ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) STATMSG : ID=2342 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5204 GMTDATE=Lun 16 mai 16 :31 :37.364 2016 ISTR0="Dummy1 » ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=2 AID0=400 AVAL0="<PackageID> » AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ »
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) Le contexte utilisateur actuel sera utilisé pour se connecter à ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\.~
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) ~Tâche de transfert de package créée pour envoyer<packageID> au point de distribution ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) STATMSG : ID=2357 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5204 GMTDATE=Mon 16 mai 16 :31 :46.670 2016 ISTR0="PackageID » ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ » ISTR2=" » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=2 AID0=400 AVAL0="<PackageID> » AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\\PS1DP1.CONTOSO.COM\ »
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) Nettoyage avant le retour.
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) Annulation de la connexion réseau à \\PS1DP1.CONTOSO.COM\ADMIN$.

    Lorsque le thread DP crée un travail PkgXferMgr, il le fait en insérant une ligne dans DistributionJobs la table.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(32,N'PackageID',1,0,N'Date Time',1)
    

    Après avoir créé le travail, le thread DP réinitialise également l’action du dp dans la PkgServers_L table.

    update PkgServers_L set UpdateMask = 0, Action = 0, RefreshTrigger = 0, LastRefresh = N'Date Time' where PkgID = N'PackageID' and NALPath = N'["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\' and SiteCode = N'PS1' and Action <> 3
    
  4. Le thread de processus de package se termine après la fermeture de tous les threads DP.

    Une fois tous les threads DP arrêtés, le thread de traitement du package se termine également :

    SMS_DISTRIBUTION_MANAGER thread 2364 (0x93c) ~DP pour package <PackageID> avec le handle de thread 0000000000000218C et l’ID de thread 5204 terminé.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Tous les threads DP sont terminés pour le thread de traitement PackageID> du package<.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Sortie du thread de traitement de package pour<packageID>.

Étape 10 : SMSDBMON avertit PkgXferMgr de traiter le travail créé à l’étape 9-3

Une fois le travail PkgxferMgr créé à l’étape 9-3, SMSDBMON détecte une modification dans la DistributionJobs table et supprime un fichier PKN dans PkgTransferMgr.box pour indiquer à PkgXferMgr de traiter le travail :

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV : UPDATE on DistributionJobs for DistributionJob_Creation [<PackageID>][1035292]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND : E :\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID>. PKN [1035292]

Étape 11 : PkgXferMgr se réveille pour traiter le travail

  1. Le thread main PkgXferMgr crée un thread d’envoi au dp spécifié :

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Demande d’envoi trouvée avec l’ID : 577, Package : <PackageID>, Version : 1, Priorité : 2, Destination : PS1DP1.CONTOSO.COM, DPPriority : 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~ Thread d’envoi créé (ID de thread = 0x12EC)

  2. Le thread d’envoi copie le contenu dans le dp.

    Le thread d’envoi commence à copier le contenu du package dans le dp. Ce processus implique la copie de tous les fichiers du package dans le dp SMS_DP$ du répertoire. Étant donné que le package n’a pas été redistribué au dp, l’action Redistribuer est définie sur 0, ce qui signifie que si un fichier existe déjà dans la bibliothèque de contenu sur le dp, il n’est pas recopié.

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Thread d’envoi à partir du travail : 577, package : <PackageID>, Version : 1, Priorité : 2, serveur : PS1DP1.CONTOSO.COM, DPPriority : 200
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Envoyé status au gestionnaire de distribution pour pkg <PackageID>, version 1, status 0 et point de distribution ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Envoi du contenu <hérité PackageID.1> pour packageID <>
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Redistribute=0, Related=
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Envoi du fichier '\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp'
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Ajout du fichier Dummy1.txt dans <PackageID.1>.
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Post-actions terminées pour les PS1DP1.CONTOSO.COM dp à distance
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~Envoi terminé
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) utilisateur (NT AUTHORITY\SYSTEM) exécutant l’application(SMS_PACKAGE_TRANSFER_MANAGER) à partir de l’ordinateur (PS1SITE.CONTOSO.COM) envoie des modifications du SDK à partir du site (PS1)
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~ Fin de l’envoi du package <SWD PackageID> version 1 au point de distribution PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) STATMSG : ID=8200 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_PACKAGE_TRANSFER_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=4844 GMTDATE=Lun 16 mai 16 :34 :27.614 2016 ISTR0="<PackageID> » ISTR1="1 » ISTR2="PS1DP1.CONTOSO.COM » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=2 AID0=400 AVAL0="<PackageID> » AID1=410 AVAL1="1 »

  3. Le thread d’envoi envoie un message status à DistMgr.

    Une fois que le thread d’envoi a terminé l’envoi du contenu (réussite/échec), il envoie le status à DistMgr afin que DistMgr puisse traiter et mettre à jour les status dans la base de données. Cette status est envoyée à DistMgr en supprimant un fichier STA contenant le package status dans le DistMgr.box\incoming répertoire.

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Envoyé status au gestionnaire de distribution pour pkg <PackageID>, version 1, status 3 et point de distribution ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) STATMSG : ID=8210 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_PACKAGE_TRANSFER_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=4844 GMTDATE=Mon 16 mai 16 :34 :27.614 2016 ISTR0="<PackageID> » ISTR1="1 » ISTR2="PS1DP1.CONTOSO.COM » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR6="" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=3 AID0=400 AVAL0="<PackageID> » AID1=410 AVAL1="1 » AID2=404 AVAL2="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ »
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) L’envoi du thread est terminé~

Étape 12 : Le fournisseur DP SMS ajoute le contenu copié à l’étape 11-2 à la bibliothèque de contenu

À l’étape 11-2, après avoir copié chaque fichier, PkgXferMgr indique au DP d’ajouter le fichier à la bibliothèque de contenu en exécutant des méthodes sur la SMS_DistributionPoint classe WMI dans l’espace de noms du fournisseur SMS DP (root\SCCMDP). Lorsque le contenu est correctement ajouté à la bibliothèque de contenu, SMSDPProv.log affiche ce qui suit :

2996 (0xbb4) Le contenu «< PackageID.1> » pour le package «< PackageID> » a été ajouté à la bibliothèque de contenu avec succès

Étape 13 : DistMgr traite le message status envoyé à l’étape 11-3

Pour traiter le fichier STA entrant (envoyé à l’étape 11-3), DistMgr utilise le thread de traitement de la réplication. Ce thread s’éveille pour traiter le fichier STA, met à jour la ligne Type 2 dans les tables de la PkgStatusbase de données et génère un message status avec l’ID 2330, ce qui signifie que le gestionnaire de distribution a correctement distribué le package vers le point de distribution.

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Traitement du fichier entrant E :\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU.STA.
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Traitement DE STA pour le DP standard ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Traitement de la mise à jour status pour package <PackageID>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Mise à jour réussie de l’status du serveur de packages pour ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ pour package <PackageID>, État 3
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) STATMSG : ID=2330 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=6116 GMTDATE=Lun 16 mai 16 :34 :31.679 2016 ISTR0="<PackageID> » ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=2 AID0=400 AVAL0="<PackageID> » AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ »
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~ Suppression réussie du package status fichier E :\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU. STA

Ce thread exécute la requête suivante pour mettre à jour le status dans la base de données.

update PkgStatus set Status = 3, UpdateTime = N'Date Time', Location = N'MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\SMSPKGC$\PackageID\', ShareName = N'', HTTPUrl = N'http://PS1DP1.CONTOSO.COM/SMS_DP_SMSPKG$/\PackageID', SourceVersion = 1, Personality = 0, State = 0, SigURL = N'http://PS1DP1.CONTOSO.COM/SMS_DP_SMSSIG$/\PackageID', SigLocation = N'MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\SMSSIG$\\PackageID.1.tar'  where ID = N'\PackageID' and Type = 2 and SiteCode = N'PS1' and PkgServer = N'["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\'

Étape 14 : Les modifications de status de package sont répliquées vers d’autres sites via la réplication de base de données

Une fois le package status mis à jour dans la base de données, il est répliqué vers d’autres sites via la réplication de base de données.

Distribuer un package à dp standard

Les étapes suivantes décrivent le flux des événements lorsqu’un package est distribué à un dp dans le site principal, et que ce serveur de site principal en question dispose déjà d’une copie du package dans la bibliothèque de contenu :

Étape 1 : L’administrateur distribue le package au dp. L’administrateur peut le faire à partir de la console d’administration connectée directement au site principal en question, au site d’administration centrale ou à un autre site principal

Une fois que l’administrateur a distribué le package à un dp à partir de la console, la console d’administration appelle la AddDistributionPoints méthode de la SMS_Package classe pour ajouter le dp spécifié au package. SMSProv.log affiche les éléments suivants :

Sms Provider 4416 (0x1140) Context : SMSAppName=Configuration Manager Administrator console~
Fournisseur SMS 4416 (0x1140) ExecMethodAsync : SMS_Package.PackageID="<PackageID> » ::AddDistributionPoints~
Fournisseur SMS 4416 (0x1140) CExtProviderClassObject ::D oExecuteMethod AddDistributionPoints~
Audit du fournisseur SMS 4416 (0x1140) : l’utilisateur CONTOSO\Administration appelé une méthode auditée d’un instance de classe SMS_Package.~

Lorsque cette méthode est appelée, le fournisseur SMS insère une ligne dans PkgServers avec Action la valeur 2 (ADD) :

insert PkgServers (PkgID, NALPath, SiteCode, SiteName, SourceSite, LastRefresh, RefreshTrigger, UpdateMask, Action) select N'<PackageID>', N'["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\', N'PS1', Sites.SiteName, N'PS1', N'04/10/1970 06:35:00', 0, 0, 2  from Sites where SiteCode = N'PS1'
insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'<PackageID>', 2, 4, GetDate())

Étape 2 : Si l’administrateur distribue le package à partir d’un autre site principal ou d’un site d’administration centrale, le service de réplication de base de données (DRS) réplique les modifications apportées au site en question

Si l’administrateur distribue ce package avec la console connectée au site d’administration centrale ou à un autre site principal, DRS réplique les modifications apportées PkgServers à d’autres sites.

Étape 3 : SMSDBMON avertit DistMgr de traiter le package

Une fois la modification répliquée sur le site où réside le dp, SMSDBMON détecte une modification dans la PkgNotification table et supprime un fichier PKN dans DistMgr.box pour indiquer à DistMgr de traiter le package :

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV : INSERT on PkgNotification for PkgNotify_Add [<PackageID>][1035417]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND : E :\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1035417]

Étape 4 : DistMgr se réveille pour traiter le package

DistMgr se réveille après la détection du fichier PKN et traite le package.

  1. Le thread DistMgr main démarre un thread de traitement de package.

    Le thread main DistMgr ajoute le package à la file d’attente de traitement du package et crée un thread de traitement de package.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Ajout du package «< PackageID> » à la file d’attente de traitement du package.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ Utilisation de 0 threads de traitement de package sur 3 autorisés.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Thread de traitement de package démarré pour le package « PackageID> »,< thread ID = 0xB58 (2904)

  2. Le thread de traitement de package crée des threads DP pour traiter les actions de package, puis attend qu’ils se terminent.

    Le thread de traitement de package (TID 2904) traite les actions de package (ajout/mise à jour/suppression) pour le dp. Dans ce cas, le package a été ajouté à un dp et le thread de traitement du package crée un thread DP pour ajouter le package au dp. Après avoir créé le thread DP, le thread de traitement de package attend que tous les threads DP se terminent avant de poursuivre :

    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~PackageID> de traitement <(SourceVersion :1 ; StoredVersion :1)
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) Aucune action spécifiée pour le package <PackageID>, mais il peut y avoir des modifications du serveur de package pour ce package.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) Commencer à ajouter <package PackageID> au serveur ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Création du thread de traitement dp 3792 pour l’ajout ou la mise à jour du package <PackageID> sur le serveur ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Attente de la fin de tous les threads DP pour le traitement du package <PackageID> .

  3. Les threads DP créent un travail Package Transfer Manager (PkgXferMgr) pour transférer du contenu vers les fournisseurs de services, puis se ferme.

    Le thread DP (TID 3792) commence le travail d’ajout du package au dp. Les threads DP ne copient pas directement le contenu du package dans le dp, mais créent à la place un travail pour PkgXferMgr en lui demandant de copier le contenu du package dans le dp. Les entrées de journal suivantes montrent le thread DP qui crée un travail PkgXferMgr. Une fois le travail créé, le travail du thread DP est terminé et le thread DP se ferme.

    thread DP SMS_DISTRIBUTION_MANAGER 3792 (0xed0) : tentative d’ajout ou de mise à jour du package <PackageID> sur DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~Tâche de transfert de package créée pour envoyer<packageID> au point de distribution ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) STATMSG : ID=2357 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3792 GMTDATE=Lun 16 mai 19 :26 :58.642 2016 ISTR0="<PackageID> » ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=2 AID0=400 AVAL0="<PackageID> » AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ »

    Lorsque le thread DP crée un travail PkgXferMgr, il le fait en insérant une ligne dans DistributionJobs la table.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(35,N'PackageID',1,0,N'2016/05/16 15:26:58',1)
    

    Après avoir créé le travail, le thread DP réinitialise également l’action pour le dp dans PkgServers_L la table :

    update PkgServers_L set UpdateMask = 0, Action = 0, RefreshTrigger = 0, LastRefresh = N'05/16/2016 19:26:58' where PkgID = N'PackageID' and NALPath = N'["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\' and SiteCode = N'PS1' and Action <> 3
    
  4. Le thread de traitement de package se termine après la fermeture de tous les threads DP.

    Une fois tous les threads DP arrêtés, le thread de traitement du package s’arrête également.

    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~DP thread for packageID <> with thread handle 0000000000002524 and thread ID 3792 terminé.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~ Tous les threads DP sont terminés pour le thread de traitement PackageID> du package<.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~ Thread de traitement de package de sortie pour <package PACKAGEID>.

Étape 5 : SMSDBMON avertit PkgXferMgr de traiter le travail

Une fois le travail PkgxferMgr créé, SMSDBMON détecte cette fois une modification dans la DistributionJobs table et supprime un fichier PKN dans PkgTransferMgr.box pour indiquer à PkgXferMgr de traiter le travail :

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV : UPDATE on DistributionJobs for DistributionJob_Creation [<PackageID>][1035419]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND : E :\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID>. PKN [1035419]

Étape 6 : PkgXferMgr se réveille pour traiter le travail

  1. Le thread main PkgXferMgr crée un thread d’envoi.

    Le thread main PkgXferMgr crée un thread d’envoi pour envoyer le package au dp spécifié.

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Demande d’envoi trouvée avec l’ID : 582, Package : <PackageID>, Version : 1, Priorité : 2, Destination : PS1DP2.CONTOSO.COM, DPPriority : 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~Thread d’envoi créé (ID de thread = 0xBCC)

  2. Le thread d’envoi copie le contenu dans le dp.

    Le thread d’envoi (TID 3020) commence à copier le contenu du package dans le dp. Ce processus implique la copie de tous les fichiers du package dans le dp du SMS_DP$ répertoire. Étant donné que le package n’a pas été redistribué au dp, l’action redistribuer est définie sur 0, ce qui signifie que si un fichier existe déjà dans la bibliothèque de contenu sur le dp, il n’est pas recopié.

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Thread d’envoi à partir du travail : 582, package : <PackageID>, Version : 1, Priorité : 2, serveur : PS1DP2.CONTOSO.COM, DPPriority : 200
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Envoyé status au gestionnaire de distribution pour pkg <PackageID>, version 1, status 0 et point de distribution ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Envoi du contenu <hérité PackageID.1> pour packageID <>
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Redistribute=0, Related= SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Envoi du fichier '\\PS1DP2.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp'
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Ajout d’un fichier Dummy1.txt dans <PackageID.1>
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Post-actions terminées pour les PS1DP2.CONTOSO.COM dp à distance
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~ Envoi terminé
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~ Fin de l’envoi du package <SWD PackageID> version 1 au point de distribution PS1DP2.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) STATMSG : ID=8200 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_PACKAGE_TRANSFER_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3020 GMTDATE=Mon 16 mai 19 :28 :12.991 2016 ISTR0="<PackageID> » ISTR1="1 » ISTR2="PS1DP2.CONTOSO.COM » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=2 AID0=400 AVAL0="<PackageID> » AID1=410 AVAL1="1 »

  3. Le thread d’envoi envoie un message status à DistMgr.

    Une fois que le thread d’envoi a terminé l’envoi du contenu (réussite/échec), il envoie le status à DistMgr afin que DistMgr puisse traiter et mettre à jour les status dans la base de données. Cette status est envoyée à DistMgr en supprimant un fichier STA contenant le package status dans le DistMgr.box\incoming répertoire :

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Envoyé status au gestionnaire de distribution pour pkg PackageID, version 1, status 3 et point de distribution ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\PS1DP2.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) STATMSG : ID=8210 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_PACKAGE_TRANSFER_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3020 GMTDATE=Mon 16 mai 19 :28 :13.003 2016 ISTR0="<PackageID> » ISTR1="1 » ISTR2="PS1DP2.CONTOSO.COM » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR6=""" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=3 AID0=400 AVAL0="<PackageID> » AID1=410 AVAL1="1 » AID2=404 AVAL2="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ »
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) L’envoi du thread est terminé~

Étape 7 : Le fournisseur SMS DP ajoute le contenu à la bibliothèque de contenu

Après avoir copié chaque fichier, PkgXferMgr indique au DP d’ajouter le fichier à la bibliothèque de contenu en exécutant des méthodes sur la classe WMI dans l’espace SMS_DistributionPoint de noms du fournisseur SMS DP (root\SCCMDP). Lorsque le contenu est correctement ajouté à la bibliothèque de contenu, SMSDPProv.log affiche les éléments suivants :

1304 (0x518) Le contenu «< PackageID.1> » du package «< PackageID> » a été ajouté à la bibliothèque de contenu

Étape 8 : DistMgr traite les messages status envoyés par PkgXferMgr

Pour traiter le fichier STA entrant (envoyé à l’étape 6-3), DistMgr utilise le thread de traitement de réplication. Ce thread se déclenche pour traiter le fichier STA, met à jour la ligne type 2 dans les tables de la PkgStatus base de données et génère un message status avec l’ID 2330, qui signifie « Package distribué avec succès par le gestionnaire de distribution vers le point de distribution ».

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Traitement du fichier entrant E :\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M.STA.
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Traitement STA pour le dp standard ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Traitement de la mise à jour status pour package <PackageID>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Mise à jour réussie du serveur de package status pour ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ pour package <PackageID>, État 3
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) STATMSG : ID=2330 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=6116 GMTDATE=Lun 16 mai 19 :28 :16.577 2016 ISTR0="<PackageID> » ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=2 AID0=400 AVAL0="<PackageID> » AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ »
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~ Suppression réussie du status fichier e :\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M. STA

Ce thread exécute la requête suivante pour mettre à jour le status dans la base de données.

update PkgStatus set Status = 3, UpdateTime = N'Date Time', Location = N'MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\SMSPKGC$\\PackageID\', ShareName = N'', HTTPUrl = N'http://PS1DP2.CONTOSO.COM/SMS_DP_SMSPKG$/\PackageID', SourceVersion = 1, Personality = 0, State = 0, SigURL = N'http://PS1DP2.CONTOSO.COM/SMS_DP_SMSSIG$/\PackageID', SigLocation = N'MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\SMSSIG$\\PackageID.1.tar'  where ID = N'\PackageID' and Type = 2 and SiteCode = N'PS1' and PkgServer = N'["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\'

Étape 9 : Les modifications de status de package sont répliquées vers d’autres sites via DRS

Une fois le package status mis à jour dans la base de données, il est répliqué vers d’autres sites via la réplication de base de données.

Distribuer un package pour extraire le dp

Les étapes suivantes décrivent le flux des événements lorsqu’un package est distribué à un collecteur de données dans le site principal et que ce serveur de site principal en question dispose déjà d’une copie du package dans la bibliothèque de contenu.

Étape 1 : l’administrateur distribue le package au dp. L’administrateur peut le faire à partir de la console d’administration connectée directement au site principal en question, au site d’administration centrale ou à un autre site principal.

Une fois que l’administrateur a distribué le package à un dp à partir de la console, la console appelle la AddDistributionPoints méthode de la classe dérivée appropriée de SMS_Package la classe (SMS_ContentPackage pour les applications dans l’exemple ci-dessous) pour ajouter le dp spécifié au package. SMSProv.log montre :

Contexte du fournisseur SMS 22172 (0x569c) : SMSAppName=Configuration Manager Console administrateur~
Fournisseur SMS 22172 (0x569c) ExecMethodAsync : SMS_ContentPackage.PackageID='P010000F' ::AddDistributionPoints~
Fournisseur SMS 22172 (0x569c) CExtProviderClassObject ::D oExecuteMethod AddDistributionPoints~
Fournisseur SMS 22172 (0x569c) Audit : l’utilisateur CONTOSO\Administration appelé une méthode auditée d’un instance de classe SMS_ContentPackage.~

Lorsque cette méthode est appelée, le fournisseur SMS insère une ligne dans PkgServers avec Action la valeur 2 (ADD) et une notification est créée dans la PkgNotification table.

Étape 2 : si l’administrateur distribue le package à partir d’un autre site principal ou du site d’administration centrale, DRS réplique les modifications apportées au site en question

Si l’administrateur a distribué ce package avec la console connectée au site d’administration centrale ou à un autre site principal, DRS réplique les modifications apportées dans PkgServers à d’autres sites.

Étape 3 : SMSDBMON avertit DistMgr de traiter le package

Une fois cette modification répliquée sur le site où réside le dp, SMSDBMON détecte une modification dans PkgNotification la table et supprime un fichier PKN dans DistMgr.box pour indiquer à DistMgr de traiter le package.

SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) RCV : INSERT on PkgNotification for PkgNotify_Add [P010000F ][145011]
SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) SND : E :\ConfigMgr\inboxes\distmgr.box\P010000F. PKN [145011]

Étape 4 : DistMgr se réveille pour traiter le package

DistMgr se réveille après la détection du fichier PKN et traite le package.

  1. Le thread DistMgr principal démarre un thread de traitement de package.

    Le thread DistMgr principal ajoute le package à la file d’attente de traitement du package et crée un thread de traitement de package.

    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) Ajout du package « P010000F » à la file d’attente de traitement du package.
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~ Utilisation de 0 threads de traitement de package autorisés sur 3.
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~ Thread de traitement de package démarré pour le package « P010000F », ID de thread = 0x2C44 (11332)

  2. Le thread de traitement de package crée un ou plusieurs threads DP pour traiter les actions de package et attend qu’ils se terminent.

    Le thread de traitement de package (TID 11332) traite les actions de package (ajout/mise à jour/suppression) pour les dp(s). Dans ce cas, le package a été ajouté à un dp et le thread de traitement du package crée un thread DP pour ajouter le package au dp. Après avoir créé le ou les threads DP, le thread de traitement du package attend que tous les threads DP se terminent avant de continuer.

    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Traitement du package P010000F (SourceVersion :3 ; StoredVersion :3)
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) Aucune action spécifiée pour le package P010000F, mais il peut y avoir des modifications du serveur de package pour ce package.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) Commencer à ajouter des P010000F de package au serveur ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Thread de traitement dp 22444 créé pour l’ajout ou la mise à jour du package P010000F sur le serveur ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ Attente de la fin de tous les threads DP pour le thread de traitement du package P010000F.

  3. Le thread DP crée un travail PkgXferMgr pour transférer du contenu vers les fournisseurs de données et les quitter.

    Le thread DP (TID 22444) commence à travailler sur l’ajout du package au dp. Les threads DP ne copient pas le contenu du package directement dans le dp, et créent à la place un travail pour Le Gestionnaire de transfert de package (PkgXferMgr) en lui demandant de copier le contenu du package dans le dp. Les entrées de journal suivantes montrent le thread DP qui crée un travail PkgXferMgr. Une fois le travail créé, le travail du thread DP est terminé et le thread DP se ferme.

    thread DP SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) : tentative d’ajout ou de mise à jour d’P010000F de package sur dp ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) Package Server ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ est un PullDP.
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) ~ Tâche de transfert de package créée pour envoyer des P010000F de package au point de distribution ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) STATMSG : ID=2357 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=P01SITE. CONTOSO.COM SITE=P01 PID=36968 TID=22444 GMTDATE=Mon Jan 07 20 :05 :18.665 2019 ISTR0="P010000F » ISTR1="["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ » ISTR2="" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=2 AID0=400 AVAL0="P010000F » AID1=404 AVAL1="["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ »

    Lorsque le thread DP crée un travail PkgXferMgr, il le fait en insérant une ligne dans DistributionJobs la table.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(8,N'P010000F',3,0,N'2019/01/07 20:05:18',1)
    

    Après avoir créé le travail, le thread DP réinitialise également l’action pour le dp dans PkgServers_L la table.

  4. Le thread de traitement de package se termine après la fermeture de tous les threads DP.

    Une fois tous les threads DP arrêtés, le thread de traitement de package se termine également.

    SMS_DISTRIBUTION_MANAGER thread 11332 (0x2c44) ~DP pour les P010000F de package avec le handle de thread 00000000000003E2C et l’ID de thread 22444 s’est terminé.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ Tous les threads DP sont terminés pour le thread de traitement du package P010000F.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~StoredPkgVersion (3) du package P010000F. StoredPkgVersion dans la base de données est 3.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~SourceVersion (3) de P010000F de package. SourceVersion dans la base de données est 3.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ Thread de traitement de package de sortie pour les P010000F de package.

Étape 5 : SMSDBMON avertit PkgXferMgr de traiter le travail

Une fois le travail PkgxferMgr créé, SMSDBMON détecte cette fois une modification dans DistributionJobs la table et supprime un fichier PKN dans PkgTransferMgr.box pour indiquer à PkgXferMgr de traiter le travail.

SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) RCV : UPDATE on DistributionJobs for DistributionJob_Creation [P010000F ][145013]
SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) SND : E :\ConfigMgr\inboxes\PkgTransferMgr.box\P010000F. PKN [145013]

Étape 6 : PkgXferMgr se réveille pour traiter le travail

  1. Le thread PkgXferMgr principal crée un thread pull DP d’envoi pour envoyer le package au dp spécifié.

    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) Demande d’envoi trouvée avec l’ID : 190, Package : P010000F, Version : 3, Priorité : 2, Destination : P01PDP1.CONTOSO.COM, DPPriority : 200
    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) ~ Thread d’envoi créé (ID de thread = 0x2B4C)

  2. Le thread d’envoi pull DP envoie une notification au dp de tirage

    Contrairement à un thread d’envoi standard, le thread d’envoi par extraction de données (TID 11084) indique au dp de tirage de commencer à télécharger le contenu en envoyant une notification. Cette opération se fait en 4 phases.

    Phase 1 : Pull DP envoyant des vérifications de thread pour voir si le contenu distribué au dp de tirage est disponible sur un ou plusieurs dp(s) source(s). Si le contenu n’est pas disponible sur le dp source, le thread d’envoi de la demande d’extraction se termine par le message ci-dessous dans le journal et déclenche l’ID de message d’état 8212 , ce qui signifie que « Ce point de distribution d’extraction n’a aucune source à partir de laquelle il peut télécharger du contenu. Nous réessayerons plus tard. Les nouvelles tentatives sont tentées ultérieurement en fonction des paramètres de nouvelle tentative configurés dans l’ongletPoint de distribution d’extractionde la configuration du> composant de distribution de logiciels.

    ~Impossible de trouver des emplacements sources pour un ou plusieurs contenus sous le P0100009 du package, pour les P01PDP1 d’extraction de données. CONTOSO.COM. Notification non envoyée.
    ~ Échec de la notification PullDP. Nombre d’échecs = 1/30, Heure de redémarrage = 1/10/2019 2 :00 :42 AM Heure standard de l’Est
    STATMSG : ID=8212 SEV=I LEV=M SOURCE='SMS Server' COMP='SMS_PACKAGE_TRANSFER_MANAGER' SYS=P01SITE. CONTOSO.COM SITE=P01 PID=2336...

    Voici la requête qui est exécutée pour case activée si le contenu est disponible sur un DP source :

    SELECT p.SourceDPServerName FROM PullDPMap p INNER JOIN ContentDPMap c ON p.SourceDPServerName = c.ServerName WHERE c.AccessType = 1 AND p.PullDPServerName = 'P01PDP1.CONTOSO.COM' AND c.ContentID = 'P0100009' AND c.Version = 4
    

    Phase 2 : Pull DP envoyant des vérifications de thread pour voir si le dp d’extraction a une capacité pour d’autres travaux. Par défaut, les fournisseurs de services d’extraction peuvent gérer 50 travaux simultanément. Cela est contrôlé par la propriété PullDP Number Of Active Jobs SCF pour SMS_DISTRIBUTION_MANAGER et il n’est pas recommandé d’augmenter la capacité, car cela peut introduire des problèmes de scalabilité. Si le dp d’extraction fonctionne déjà à la capacité maximale (c’est-à-dire qu’il a 50 travaux en cours d’exécution), le thread d’envoi de la demande de tirage se termine par le message ci-dessous dans le journal et effectue une nouvelle tentative ultérieurement en fonction des paramètres de nouvelle tentative configurés dans l’ongletPoint de distribution d’extractionde la configuration> du composant de distribution de logiciels.

    PullDP <DPNALPATH> a atteint une capacité maximale de 50
    PullDP n’a pas de capacité. Heure de redémarrage = <horodatage>
    STATMSG : ID=8211 SEV=E LEV=M SOURCE="SERVEUR SMS » COMP="SMS_PACKAGE_TRANSFER_MANAGER » SYS=P01SITE. CONTOSO.COM SITE=P01 PID=17252 TID=4712...

    Voici la requête utilisée pour déterminer si l’extraction de données est à la capacité :

    SELECT COUNT(*) FROM DistributionJobs job
    JOIN DistributionPoints dp ON dp.DPID=job.DPID AND dp.NALPath='["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\'
    WHERE job.State in (2, 3, 4) AND (job.Action<>5) AND (ISNULL(job.SendAction, '') <> '')
    

    Phase 3 : Le thread d’envoi par extraction de données envoie un fichier groupé d’informations de package qui contient les métadonnées des fichiers qui doivent être téléchargés. Ce fichier est un <PackageID>. Fichier TZ généré à partir du fichier INI du package à partir de la bibliothèque de contenu des serveurs de site et copié dans le SMS_DP$ répertoire sur le dp d’extraction.

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Thread Pull DP Sending à partir du travail : 190, package : P010000F, Version : 3, Priorité : 2, serveur : P01PDP1.CONTOSO.COM, DPPriority : 200
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Envoi de P010000F d’informations sur le package à PullDP. ["Display=\\P01PDP1.CONTOSO.COM\"] MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\

    Phase 4 : Le thread d’envoi pull DP crée un instance de SMS_PullDPNotification classe sur le dp pull dans root\SCCMDP l’espace de noms, qui contient l’ID du package, la version du package et une notification XML. Après avoir créé le instance de SMS_PullDPNotification classe, il exécute la méthode dans la NotifyPullDP classe dans l’espace root\SCCMDPSMS_DistributionPoint de noms qui indique au fournisseur WMI DP d’avertir le composant pull DP DP de commencer à télécharger le contenu.

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~ Des actions WMI ont été effectuées avec succès sur les P01PDP1 d’extraction de données. CONTOSO.COM.
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~ Notification PullDP envoyée. Nombre de tentatives = 1/30, Heure de redémarrage = 1/7/2019 4 :06 :04 PM Heure standard de l’Est
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Pull DP Sending thread complete~

    Le code XML de notification est généré en appelant fnGetPullDPXMLNotification. Voici à quoi ressemble un exemple de requête qui génère la requête XML de notification qui montre que l’action est ajoutée , car le contenu n’a pas été redistribué :

    SELECT [dbo].[fnGetPullDPXMLNotification]('P010000F', 3, 'P01PDP1.CONTOSO.COM', 2, 'add', 1, 'O:SYG:BAD:P(A;;FA;;;BA)(A;OICIIO;GA;;;BA)(A;;0x1200a9;;;BU)(A;OICIIO;GXGR;;;BU)(A;;FA;;;BA)(A;OICIIO;GA;;;BA)', 0, 32780, '3ED23B9869F7E10E19439F11341405FF76E22022E56468DCF211475899BD2914', '') AS Notification
    

    La notification XML contient les métadonnées de contenu ainsi que l’emplacement dp source. Voici à quoi ressemble un exemple de notification XML :

    <PullDPNotification>
       <PullDPPackageNotification PackageID='P010000F' Version='3' Action='redist' AllowFallback='true' Priority='2' PackageType='content' PackageTypeID='8' PackageFlags='16777216' PackageSize='5532' SDDL='O:SYG:BAD:P(A;;FA;;;BA)(A;OICIIO;GA;;;BA)(A;;0x1200a9;;;BU)(A;OICIIO;GXGR;;;BU)(A;;FA;;;BA)(A;OICIIO;GA;;;BA)' HashAlgorithm='32780' Hash='3ED23B9869F7E10E19439F11341405FF76E22022E56468DCF211475899BD2914' ExpandShare='0' ShareName='' ShareType='1'>
         <PullDPPackageContent ContentID='Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' RelatedContentID='Content_162d6f21-176e-4e4b-a620-6e94a4b9f73e.1'>
            <DPLocation DPUrl='http://P01MP.CONTOSO.COM/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' Rank='1' Type='Windows NT Server' Protocol='https' />
         </PullDPPackageContent>
       </PullDPPackageNotification>
    </PullDPNotification>
    
  3. L’envoi de threads par extraction de données met à jour le travail afin que status’interrogation puisse démarrer.

    Contrairement à un thread d’envoi pour un dp standard qui supprime le travail après l’achèvement réussi, le thread pull DP d’envoi met à jour le travail dans DistributionJobs la table et définit la SendActionPullQueryResultAction sur après avoir correctement envoyé la notification au dp d’extraction.

    update DistributionJobs set DPID=8,SendAction = N'PullQueryResultAction', LastUpdateTime = N'2019/01/07 21:07:14' where JobID = 194
    

    Les messages d’état sont utilisés comme mécanisme principal pour la distribution status la création de rapports à partir du dp de tirage et le travail de distribution reste dans la base de données jusqu’à ce que nous ayons été avertis de la réussite/échec status du travail. PkgXferMgr démarre l’interrogation à intervalles planifiés (configurable dans l’ongletPoint de distribution d’extractiondes propriétés> du composant de distribution de logiciels) pour case activée si le contenu a été téléchargé sur le dp d’extraction. Bien que le dp d’extraction envoie un message d’état contenant le status de distribution, PkgXferMgr effectue également une interrogation en tant que mécanisme de sauvegarde pour obtenir le status de distribution au cas où l’extraction de données ne peut pas envoyer un message d’état au point de gestion pour une raison quelconque.

  4. (Lors de l’intervalle d’interrogation) : le thread d’envoi pull DP est créé pour interroger le status de distribution à partir du dp de tirage.

    Un nouveau thread d’envoi de données d’extraction démarre après la valeur Délai avant interrogation (minutes) spécifiée dans les propriétés du composant de distribution de logiciels pour case activée le status de distribution. Dans l’exemple ci-dessous, il interroge le dp d’extraction et constate que le contenu a été correctement installé et envoie un message status au Gestionnaire de distribution.

    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Pull DP Sending thread starting for Job : 194, package : P010000F, Version : 3, Priority : 2, server : P01PDP1.CONTOSO.COM, DPPriority : 200
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) ~ Fin de l’envoi du package SWD P010000F version 3 au point de distribution P01PDP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Envoyé status au gestionnaire de distribution pour pkg P010000F, version 3, status 3 et point de distribution ["Display=\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) STATMSG : ID=8210 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_PACKAGE_TRANSFER_MANAGER » SYS=P01SITE. CONTOSO.COM SITE=P01 PID=36968 TID=18724 GMTDATE=Mon Jan 07 22 :22 :16.059 2019 ISTR0="P010000F » ISTR1="3 » ISTR2="P01PDP1.CONTOSO.COM » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6 =" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=3 AID0=400 AVAL0="P010000F » AID1=410 AVAL1="3 » AID2=404 AVAL2="["Display=\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ »
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Pull DP Sending thread complete~

    Notez que le travail est supprimé de la base de données quand après avoir reçu un message de réussite status de la dp de tirage, ce qui entraîne l’arrêt de l’interrogation.

Étape 7 : Le fournisseur DE DP SMS avertit le composant pull DP (CcmExec) de traiter le travail

Lors de l’exécution de la méthode, le NotifyPullDP fournisseur WMI DP informe CcmExec qui héberge le composant pull DP. SMSDPProv.log montre :

4688 (0x1250) Notification à PullDP réussie

Étape 8 : Pull DP charge la ou les tâches à partir de WMI

Lors de la réception d’une notification, le composant pull DP charge les travaux à partir de WMI et valide le <PackageID>. Fichier TZ copié par PkgxferMgr.

PullDP 4404 (0x1134) CPullDPService ::LoadJobsFromXML pour P010000F.3
PullDP 4404 (0x1134) - P010000F.3 - XML a 1 travail de contenu.
PullDP 4404 (0x1134) CPullDPPkgContJob ::LoadContentJobFromXML() : Set JobState = NotStarted
PullDP 4404 (0x1134) - P010000F.3 - Tâche de contenu chargée {C10457F9-DE3A-4B45-878C-345919AFF97E} pour le contenu Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 à partir de XML...
PullDP 4404 (0x1134) CPullDPPkgJob ::LoadJobFromXML() correctement chargé pour le package P010000F.3, il existe 1 travail de contenu. ...
PullDP 4404 (0x1134) Hash E :\SMS_DP$\P010000F.tz :3ED23B9869F7E10E19439F11341405FF76E2202E56468DCF211475899BD2914
PullDP 4404 (0x1134) CPullDPService ::ExecuteJobs(). 1 travaux à effectuer

Étape 9 : Pull DP crée des travaux de contenu pour télécharger le contenu associé au package

PullDP 4404 (0x1134) P010000F.3 À partir du téléchargement, il y a 1 travail de contenu.
Tâche de contenu PullDP 3812 (0xee4) {C10457F9-DE3A-4B45-878C-345919AFF97E} en cours d’exécution.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (état : 1-NotStarted) pour le package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Dans l’exemple ci-dessus, le travail {C10457F9-DE3A-4B45-878C-345919AFF97E} est associé au contenu Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. Pour un package avec plusieurs éléments de contenu, vous voyez le nombre de travaux (avec un ID unique) associés au package.

PullDP 1320 (0x528) P010000A.2 À partir du téléchargement, il y a 2 travaux de contenu.
PullDP 5012 (0x1394) ContentExecuteJob {55692006-DFE8-4357-86D9-9839C8BF79CF} (état : 1-NotStarted) pour le package P010000A.2 contenu 2484568c-7aba-44ae-8557-05b61d62e70d.
PullDP 4112 (0x1010) ContentExecuteJob {7175CD81-CF67-48C9-AA22-010BF60B640E} () state : 1-NotStarted) pour le contenu du package P010000A.2 c085b4ba-8e8f-42bf-8e2d-bc1067697722.

Étape 10 : (le cas échéant) Pull DP télécharge la signature de contenu

(Le cas échéant) Le travail de contenu crée un travail DTS (Data Transfer Service) pour télécharger la signature du package. Le fichier de signature est un fichier TAR qui est téléchargé à partir du SMSSIG$ répertoire virtuel à partir du point de distribution source et qui contient les signatures RDC pour chaque fichier dans le contenu. Les signatures RDC sont utilisées pour déterminer si le contenu du fichier a changé et s’il faut télécharger le contenu delta ou le contenu complet. Cette étape s’applique uniquement au contenu qui a changé. Vous pouvez donc ne pas toujours voir cette étape et l’étape 11 à la place.

PullDP 3812 (0xee4) Created SignatureDownload DTS job {3C962758-7ABE-40F2-A585-E5B59E378BEA} for package P010000F.3, content id Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. JobState = NotStarted
PullDP 3812 (0xee4) CPullDPPkgContJob ::NotifyDeltaDownload. JobState = [Signature de téléchargement] Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 pour l’ID de tâche de contenu du package P010000F.3 {C10457F9-DE3A-4B45-878C-345919AFF97E}
PullDP 752 (0x2f0) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (état : 4-Downloading Signature) pour le package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

DataTransferService.log indique la progression du travail DTS, qui crée un travail BITS pour télécharger le fichier de signature et avertit à l’achèvement :

DataTransferService 3812 (0xee4) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} créé à télécharger de '<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSSIG$>' à 'E :\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1'.
DataTransferService 3856 (0xf10) Démarrage du téléchargement BITS pour la tâche DTS « {3C962758-7ABE-40F2-A585-E5B59E378BEA} ».
DataTransferService 3856 (0xf10) Travail BITS de démarrage « {43647077-986C-4727-A954-B327ECA50302} » pour la tâche DTS « {3C962758-7ABE-40F2-A585-E5B59E378BEA} » sous l’utilisateur « S-1-5-18 ».
DataTransferService 3856 (0xf10) Ajout à la tâche BITS : Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.tar
DataTransferService 2528 (0x9e0) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} a réussi le téléchargement.
DataTransferService 3856 (0xf10) Exécuter pour la tâche DTS « {3C962758-7ABE-40F2-A585-E5B59E378BEA} ». État actuel : « RetrievedData ».
DataTransferService 3856 (0xf10) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} dans l’état « NotifiedComplete ».
La tâche DTS DataTransferService 3856 (0xf10) {3C962758-7ABE-40F2-A585-E5B59E378BEA} est terminée :

Pull DP reçoit la notification d’achèvement et traite les signatures pour déterminer si un téléchargement complet ou delta est nécessaire.

Message DTS PullDP 4300 (0x10cc) pour le travail de contenu {C10457F9-DE3A-4B45-878C-345919AFF97E} reçu, recherchant 1 travail actif pour tout contenant ce travail de contenu. Le travail DTS est {3C962758-7ABE-40F2-A585-E5B59E378BEA}
Message de réussite pullDP 4300 (0x10cc) DTS reçu pour P010000F.3, travail de contenu {C10457F9-DE3A-4B45-878C-345919AFF97E}, status est 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (état : 5-Signature téléchargée) pour le package P010000F.3 contenu Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Étape 11 : Pull DP crée un travail DataTransferService (DTS) pour le téléchargement de contenu

Pull DP crée un travail de téléchargement pour le contenu. Dans cet exemple, le contenu n’existait pas sur le dp d’extraction, donc un travail DTS de téléchargement complet est créé pour le package. Le travail DTS peut être utilisé pour suivre le processus de téléchargement dans le DataTransferService.log à l’étape suivante :

Message DTS PullDP 4300 (0x10cc) pour le travail de contenu {C10457F9-DE3A-4B45-878C-345919AFF97E} reçu, recherchant 1 travail actif pour tout contenant ce travail de contenu. Le travail DTS est {3C962758-7ABE-40F2-A585-E5B59E378BEA}
Message de réussite pullDP 4300 (0x10cc) DTS reçu pour P010000F.3, travail de contenu {C10457F9-DE3A-4B45-878C-345919AFF97E}, status est 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (état : 5-Signature téléchargée) pour le package P010000F.3 contenu Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. ...
Fichier PullDP 3856 (0xf10) à télécharger : ConfigMgrTools.msi
PullDP 3856 (0xf10) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 : 0 fichiers existent déjà, 1 fichier à télécharger
PullDP 3856 (0xf10) Création de la tâche DTS FullDownload(Manifest) {78635652-3D12-4A26-A51B-D553934ECB54} pour le package P010000F.3, id de contenu Content_3c9813ba-d7ab-4963-929c-36f90f479613.1, id de travail de contenu {C10457F9-DE3A-4B45-878C-345919AFF97E}.

Étape 12 : DTS crée un travail BITS qui télécharge le contenu et envoie une notification d’achèvement

DataTransferService.log indique la progression du travail. Une fois la journalisation détaillée activée pour le dp d’extraction, PullDP.log afficherait également plus d’informations sur la progression du téléchargement.

DataTransferService 3856 (0xf10) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54} créé pour le téléchargement à partir de '<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1>' to 'E :\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1\3'.
DataTransferService 3812 (0xee4) Travail BITS de démarrage « {04498466-5A8E-4A22-97F2-A66306143A20} » pour la tâche DTS « {78635652-3D12-4A26-A51B-D553934ECB54} » sous l’utilisateur « S-1-5-18 ».
DataTransferService 3812 (0xee4) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54} dans l’état « DownloadingData ».
La tâche DTS DataTransferService 752 (0x2f0) {78635652-3D12-4A26-A51B-D553934ECB54} s’est terminée :

Étape 13 : Pull DP déplace le contenu à l’état Téléchargé

Une fois le travail DTS terminé, pull DP est averti et déplace le contenu à l’état Téléchargé :

Message DTS PullDP 3812 (0xee4) pour le travail de contenu {C10457F9-DE3A-4B45-878C-345919AFF97E} reçu, en recherchant 1 travail actif pour tout contenant ce travail de contenu. Le travail DTS est {78635652-3D12-4A26-A51B-D553934ECB54}
Message de réussite pullDP 3812 (0xee4) DTS reçu pour P010000F.3, tâche de contenu {C10457F9-DE3A-4B45-878C-345919AFF97E}, status est 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (état : 9-Downloaded) pour le package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Étape 14 : le contenu est déplacé vers la bibliothèque de contenu et l’état passe à Réussi

Une fois que le contenu a été téléchargé avec succès, pull DP, puis déplace le contenu vers la bibliothèque de contenu (également appelée Stockage à instance unique). Une fois le contenu déplacé vers la bibliothèque de contenu, le contenu passe à l’état SIApplied suivi de l’état Réussi .

PullDP 3856 (0xf10) CPullDPPkgContJob ::ApplySingleInstancing() : JobState = Downloaded
PullDP 3856 (0xf10) CPullDPPkgContJob ::NotifySIApplied(). JobState = SIApplied
Tâche de contenu PullDP 3812 (0xee4) {C10457F9-DE3A-4B45-878C-345919AFF97E} en cours d’exécution.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (état : 1 3-SIApplied) pour le package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.
...
PullDP 3812 (0xee4) CPullDPPkgContJob ::NotifySucceeded(). Le travail de contenu {C10457F9-DE3A-4B45-878C-345919AFF97E} pour le package P010000F.3 et le contenu Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 s’est terminé avec succès. JobState = Succeeded
PullDP 3812 (0xee4) Notification indiquant que le travail de contenu {C10457F9-DE3A-4B45-878C-345919AFF97E} pour le package P010000F.3 est terminé.

Une fois chaque élément de contenu ajouté à la bibliothèque de contenu, SMSDPProv.log est également averti et signale les éléments suivants :

4688 (0x1250) Le contenu « Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 » pour le package « P010000F » a été correctement ajouté à la bibliothèque de contenu

Notez que plusieurs éléments de contenu peuvent être associés à un seul package (par exemple, une application avec plus d’un type de déploiement ou un package de mise à jour logicielle). Pour chaque contenu associé au package, un travail DTS est créé pour le téléchargement du contenu et le contenu est déplacé vers la bibliothèque de contenu (état Réussi ) une fois l’exécution réussie. Pour cette raison, vous pouvez voir plusieurs éléments de contenu d’un package passer à l’état Réussi dans le PullDP.log, mais le package global status peut rester à l’état En cours si d’autres éléments de contenu qui font partie du package sont toujours en cours de téléchargement.

Étape 15 : Une fois tout le contenu téléchargé, le package passe à l’état « Réussi »

Une fois que tous les travaux de contenu du package ont été correctement exécutés et appliqués à la bibliothèque de contenu, l’extraction de données déplace le package à l’état Réussi .

PullDP 3812 (0xee4) Toutes les 1 tâches de contenu pour P010000F.3 sont terminées, notez la réussite de ce travail pull dp.
PullDP 3812 (0xee4) P010000F.3 s’est correctement terminé, efface l’état du travail de contenu stocké.

Étape 16 : Pull DP envoie un message d’état au point de gestion (MP)

Une fois le téléchargement terminé, un message d’état est envoyé au point de gestion avec l’ID d’état 1 indiquant la réussite.

PullDP 3812 (0xee4) Message d’état de rapport 0x00000001 (1) au mp pour le package « P010000F.3 »
La requête PullDP 3812 (0xee4) a réussi.
Valeur de retour PullDP 3812 (0xee4) CPullDPResponse ::ReportPackageState 0x00000000.

Une fois la journalisation détaillée et de débogage activée, vous pouvez voir tout le corps du message :

Envoi du rapport PullDP 3812 (0xee4)
PullDP 3812 (0xee4) <ReportHeader><><Identification><Machine><ClientInstalled>0</ClientInstalled><ClientType>1</ClientType Inconnu>><0</Unknown><ClientID IDType="0 » IDFlag="1">925b0ab0-247b-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>1033</SystemDefaultLCID></Machine></Identification><ReportDetails><ReportContent>StateMessage</ReportContent><ReportType>Full</ReportType><Date>20190107200618.000000+000</Date><Version>1.0</Version><Format>1.1</Format></ReportDetails></ReportHeader>
<ReportBody><StateMessage MessageTime="20190107200618.000000+000 » SerialNumber="3"><Topic ID="P010000F » Type="902 » IDType="0"/><State ID="1 » Criticality="0"/><UserParameters Flags="0 » Count="0"4"><Param>P010000F</Param Param><>["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param Param>><{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param Param><></Param></UserParameters></StateMessage></ReportBody>

Pendant le téléchargement du contenu, des messages d’état intermédiaires sont envoyés au mp mp, qui incluent le pourcentage de téléchargement. Pour voir tous les ID d’état disponibles, consultez Conseils de dépannage avancés pour la distribution de contenu.

Étape 17 : L’extraction de données efface l’état du travail de contenu dans WMI

Après avoir envoyé le message d’état de réussite , l’extraction de données efface les états du travail pour le package.

PullDP 3812 (0xee4) Suppression des états des travaux de contenu pour les 1 travaux de contenu dans le package P010000F.3.
PullDP 3812 (0xee4) CPullDPService ::ClearCompletedJobs(), supprimant 1 travail terminé.
PullDP 3812 (0xee4) Suppression du travail pour le package P010000F.3 du tableau de travaux et de WMI.
PullDP 3812 (0xee4) Suppression des états des travaux de contenu pour les 1 travaux de contenu dans le package P010000F.3.

Étape 18 : MP_Relay point de terminaison sur le mp reçoit le message d’état et le déplace vers le serveur de site

MP_Relay point de terminaison sur le point de gestion traite le message d’état et achemine le fichier SMX du message d’état vers le auth\statesys.box\incoming répertoire sur le serveur de site. Si le MP est colocalisé sur le serveur de site (exemple ci-dessous), il est directement envoyé au inboxes\auth\statesys.box\incoming répertoire. Si le mp est distant, il le déplace vers \mp\outboxes\StateMsg.box le répertoire sur le MP, et le gestionnaire de distribution de fichiers MP (MPFDM) déplace le fichier vers le inboxes\auth\statesys.box\incoming répertoire sur le serveur de site.

MP_RelayEndpoint 25912 (0x6538) Mp Message Handler : démarrer le traitement des messages pour Relay. -----------------------
Gestionnaire de messages Mp MP_RelayEndpoint 25912 (0x6538) : FileType=SMX
corps du message MP_RelayEndpoint 25912 (0x6538) :
<ReportHeader Identification Machine ClientInstalled>0</ClientInstalled><ClientType>1</ClientType><Unknown>0</Unknown><ClientID IDType="0 » IDFlag="1">925b0ab0-247b-466b-be0f -93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>><><><><1033/SystemDefaultLCID/Machine></Identification><ReportDetails><ReportContent>StateMessage</ReportContent><ReportType>Full</ReportType><Date>20190107200618.000000+000</Date><Version>1.0</Version><Format>1.1</Format></ReportDetails></ReportHeader><<>
<ReportBody><StateMessage MessageTime="20190107200618.000000+000 » SerialNumber="3"><Topic ID="P010000F » Type="902 » IDType="0"/><State ID="1 » Criticality="0"/><UserParameters Flags="0 » Count="0"4"><Param>P010000F</Param Param><>["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param Param>><{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param Param><></Param></UserParameters></StateMessage></ReportBody>
</Rapport>
MP_RelayEndpoint 25912 (0x6538) Inv-Relay Tâche : Traitement du corps du message
MP_RelayEndpoint 25912 (0x6538) Relais : rép de la boîte d’envoi : E :\ConfigMgr\inboxes\auth\statesys.box\incoming

Notez que la journalisation détaillée et de débogage doit être activée sur le mp pour voir les entrées de journal ci-dessus sur le mp mp. Sans journaux détaillés et de débogage, MP_Relay.log journalisera simplement « ».

Étape 19 : Le composant State System sur le serveur de site traite le message d’état dans la base de données

Une fois le fichier SMX du message d’état arrivé dans le répertoire, le StateSys.box\incoming composant Système d’état sur le serveur de site traite le message. Tous les messages d’état sont traités en appelant spProcessReport une procédure stockée. Pour les messages d’état pull DP, spProcessReport appelle spProcessPullDPMessage qui met à jour la PullDPResponse table avec les détails du message d’état.

SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor - Fichier de traitement : N_6RB4OA3A. SMX
SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor : le cmdline vers db exec dbo.spProcessStateReport N' ?<ReportHeader Identification Machine ClientInstalled>0</ClientInstalled><ClientType>1</ClientType><Unknown>0</Unknown><ClientID IDType="0 » IDFlag="1">925b0ab0-247b-466b-be0f -93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>><><><><1033/SystemDefaultLCID/Machine></Identification><ReportDetails><ReportContent>StateMessage</ReportContent><ReportType>Full</ReportType><Date>20190107200618.000000+000</Date><Version>1.1 /<Version><Format>1.1</Format></ReportDetails></ReportHeader>~~ <ReportBody><StateMessage MessageTime="20190107200618.000000+000 » SerialNumber="3 »><><<Topic ID="P010000F » Type="902 » IDType="0"/><State ID="1 » Criticality="0"/><UserParameters Flags="0 » Count="4"Param P010000F</Param>><["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :"4"><Param>["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param Param>><{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param><></Param></UserParameters></StateMessage></ReportBody>~~</Report>~~'

Notez que StateSys.log n’enregistre pas le corps du message, sauf si la journalisation détaillée pour StateSys.log est activée. Pour activer la journalisation détaillée pour StateSys.log, consultez Activer la journalisation détaillée.

Voici l’extrait de spProcessReport la procédure stockée qui traite les messages d’état pull DP :

else if @TopicType=902 -- Pull Distribution Point  
        exec @Ret=spProcessPullDPMessage @SenderID=@SenderID, @MessageTime=@tmMessageTime, @PkgID=@TopicID, @PkgVersion=@MessageSerialNumber, @StateID=@StateID, @P1=@P1, @P2=@P2, @P3=@P3, @P4=@P4, @P5=@P5, @Error=@Error OUTPUT  

Étape 20 : SMSDBMON avertit DistMgr de mettre à jour le status

Une PullDPResponse fois la table mise à jour, SMSDBMON détecte une modification dans la table et supprime un . Fichier PUL à traiter pour DistMgr, où le nom du fichier identifie la ligne qui a été insérée/modifiée.

SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) RCV : INSERT on PullDPResponse for PullDPResponse_UpdIns [72057594037928008 ][145014]
SMS_DATABASE_NOTIFICATION_MONITOR 29748 (0x7434) SND : E :\ConfigMgr\inboxes\distmgr.box\incoming\72057594037928008.PUL [145014]

Étape 21 : DistMgr met à jour le status de distribution

DistMgr traite le . Pul, et récupère la ligne de la table en fonction du PullDPResponse nom de fichier et met à jour le package status. Une fois la réponse traitée, DistMgr supprime la ligne traitée de la PullDPResponse table.

SMS_DISTRIBUTION_MANAGER 32876 (0x806c) SQL>>>select s.ID, s.PkgServer, s.SiteCode, p.StoredPkgVersion, s.Status, r.PkgVersion, r.ActionState, r.ActionData, p.PkgFlags, p.ShareType, CONVERT(VARCHAR(64), r.MessageTime, 127) AS MessageTime from PullDPResponse r join PkgStatus s on r.PkgStatusID = s.PKID AND r.PkgStatusID = 72057594037928008 join SMSPackages p on s.ID = p.PkgID
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~Traitement de la réponse PullDP P01 - ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
package SMS_DISTRIBUTION_MANAGER 32876 (0x806c) P010000F, version 3(3), ActionState 1, PkgStatus 0, ActionData =
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~Mise à jour réussie de l’status du serveur de package pour ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ pour le package P010000F, État 3
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) SQL>>>DELETE FROM PullDPResponse WHERE PkgStatusID = 72057594037928008 AND MessageTime = '2019-01-07T20 :06 :18'
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~ Traitement réussi du fichier réponse PullDP E :\ConfigMgr\inboxes\distmgr.box\INCOMING\720575940379280008.PUL

Étape 22 : La réplication de base de données réplique la modification status sur d’autres sites

Une fois le package status mis à jour dans la base de données, il est répliqué vers d’autres sites via la réplication de base de données.

Mettre à jour un package

Lorsque vous mettez à jour un package, le contenu du package est renvoyé à tous les points de distribution vers lesquels le package a été distribué. Pour ce faire, incrémentez la version de la source du package, et seules les modifications de contenu sont envoyées aux fournisseurs de services au lieu d’envoyer à nouveau tout le contenu.

Les étapes suivantes décrivent le flux d’événements qui se produisent lorsqu’un package est mis à jour. Dans cet exemple, nous allons examiner l’opération de mise à jour du package pour un package créé sur un site principal et nous concentrer sur les modifications de processus spécifiques à l’opération de mise à jour du package.

Étape 1 : La console d’administration exécute la méthode sur la RefreshPkgSourceSMS_Package classe WMI dans l’espace de noms du fournisseur SMS

Une fois que l’administrateur a mis à jour le package à partir de la console, la console d’administration appelle la RefreshPkgSource méthode de la SMS_Package classe pour mettre à jour le package. SMSProv.log affiche les éléments suivants :

Contexte du fournisseur SMS 4716 (0x126c) : SMSAppName=Configuration Manager Console administrateur~
Fournisseur SMS 4716 (0x126c) ExecMethodAsync : SMS_Package.PackageID="<PackageID> » ::RefreshPkgSource ~
Fournisseur SMS 4716 (0x126c) CExtProviderClassObject ::D oExecuteMethod RefreshPkgSource~
Audit du fournisseur SMS 4716 (0x126c) : l’utilisateur CONTOSO\Administration appelé une méthode auditée d’une instance de classe SMS_Package.~

Lorsque cette méthode est appelée, le fournisseur SMS se met à jour SMSPackages pour définir Action sur 1(UPDATE) et insère une ligne dans PkgNotification la table.

update SMSPackages set Source = N'\\PS1SITE\SOURCE\Packages\200MB_1', StoredPkgVersion = 1, UpdateMask = 32, UpdateMaskEx = 8388608, Action = 1 where PkgID = N'PackageID'
insert PkgNotification (PkgID, Priority, Type, TimeKey) values (N'PackageID', 2, 1, GetDate())  

Étape 2 : SMSDBMON avertit DistMgr de traiter le package

SMSDBMON détecte une modification dans la table qui entraîne la PkgNotification suppression d’un <PackageID>. Fichier PKN dans DistMgr.box pour indiquer à DistMgr de traiter le package :

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV : INSERT on PkgNotification for PkgNotify_Add [<PackageID>][1036610]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND : E :\ConfigMgr\inboxes\distmgr.box\<PackageID>. PKN [1036610]

Étape 3 : DistMgr se réveille pour traiter le package après avoir reçu le fichier PKN

  1. Le thread DistMgr main démarre un thread de traitement de package.

    Le thread main DistMgr ajoute le package à la file d’attente de traitement du package et crée un thread de traitement de package.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Notification mise à jour des propriétés du package pour le package «< PackageID> »
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Ajout du package «< PackageID> » à la file d’attente de traitement du package.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ Utilisation de 0 threads de traitement de package sur 3 autorisés.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ Thread de traitement de package démarré pour le package '< PackageID>', THREAD ID = 0x1690 (5776)

  2. Le thread de traitement de package crée un package instantané, écrit le contenu dans la bibliothèque de contenu et incrémente la version du package.

    Le thread de traitement de package (ID de thread 5776 dans ce cas) démarre le traitement du package et crée un package instantané. Après avoir créé le package instantané, ce thread écrit également le contenu du package dans la bibliothèque de contenu sur le serveur de site :

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~PackageID> de traitement du package <(SourceVersion :1 ; StoredVersion :1)
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Commencer à mettre à jour le package <PackageID>...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Prise de instantané de package pour <package PACKAGEID> à partir de la source \\PS1SITE\SOURCE\Packages\200MB_1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) La taille du package <PackageID>, version 2 est de 204800 Kooctets
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Écriture de la définition de package pour <PackageID>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Signatures RDC créées avec succès pour le package <PackageID> version 2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Création d’un hachage pour l’algorithme 32780
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Le hachage de l’algorithme 32780 est <HashString>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Le hachage de signature RDC pour l’algorithme 32780 est 79A56464F7BAC44B3D183D5EFC1160E51F95A34FECA492AAD73BC73C8B6DBA38
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG : ID=2376 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Mar May 17 18 :31 :23.782 2016 ISTR0="PS100039 » ISTR1=" » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=1 AID0=400 AVAL0="PS100039 »
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ La source du package PS100039 a changé ou la source du package doit être actualisée
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Ajout de ces contenus au package PS100039 version 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ L’action de package est 1, le masque de mise à jour est 32 et UpdateMaskEx la valeur 0.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Utiliser le lecteur E pour stocker le package compressé.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Création/mise à jour réussie du package PS100039.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG : ID=2311 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Mar 17 mai 18 :31 :23.982 2016 ISTR0="PS100039 » ISTR1=" » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=1 AID0=400 AVAL0="PS100039 »

  3. Les processus de thread de traitement de package démarrent les threads DP pour traiter les actions de package, puis attend qu’ils se terminent.

    Le thread de traitement de package traite les actions de package pour mettre à jour le package, ce qui implique la mise à jour du package sur toutes les adresses DPs où ce package est distribué. Étant donné qu’il y a des actions de package à traiter, le thread de traitement de package crée des threads DP pour effectuer ces actions et attend que les threads DP se terminent avant de continuer.

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Commencer à mettre à jour le package PS100039 sur le serveur ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Thread de traitement dp 920 créé pour l’ajout ou la mise à jour de PS100039 de package sur le serveur ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Démarrer la mise à jour du package PS100039 sur le serveur ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Thread de traitement dp 2060 créé pour l’ajout ou la mise à jour de PS100039 de package sur le serveur ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Commencer à mettre à jour le package PS100039 sur le serveur ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Thread de traitement dp 6076 créé pour l’ajout ou la mise à jour des PS100039 de package sur le serveur ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Démarrer la mise à jour du package PS100039 sur le serveur ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Thread de traitement dp 5948 créé pour l’ajout ou la mise à jour de PS100039 de package sur le serveur ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Attente de la fin de tous les threads DP pour le traitement du package PS100039 thread.

  4. Les threads DP démarrent et créent des travaux PkgXferMgr pour transférer du contenu vers les fournisseurs de données, puis se terminent.

    Les threads DP commencent à travailler sur la création d’un travail PkgXferMgr pour mettre à jour le package sur les fournisseurs de services. À ce stade, il existe quatre threads DP pour quatre fournisseurs de données différents :

    thread DP SMS_DISTRIBUTION_MANAGER 5948 (0x173c) : tentative d’ajout ou de mise à jour d’PS100039 de package sur dp ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) ~Tâche de transfert de package créée pour envoyer des PS100039 de package au point de distribution ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) Nettoyage avant le retour.
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) Annulation de la connexion réseau à \\PS1DP2.CONTOSO.COM\ADMIN$.

    Lorsque le thread DP crée un travail PkgXferMgr, il le fait en insérant une ligne dans DistributionJobs la table.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(35,N'PS100039',2,0,N'2016/05/17 14:31:35',1)
    
  5. (le cas échéant) Le thread de traitement de package crée un mini-travail pour envoyer la copie compressée du package à d’autres sites.

    Une fois que tous les threads DP ont fini de fonctionner, le thread de traitement du package crée un mini-travail pour envoyer la copie compressée du package à d’autres sites, le cas échéant. Ce mini-travail est traité par scheduler pour créer une demande d’envoi pour que l’expéditeur transfère la copie compressée du package vers le site de destination :

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Tous les threads DP sont terminés pour le thread de traitement du package PS100039.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Package PS100039 n’a pas d’expéditeur préféré.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG : ID=2333 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Mar 17 mai 18 :31 :44.977 2016 ISTR0="PS100039 » ISTR1="PS2 » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=1 AID0=400 AVAL0="PS100039 » ...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Doit envoyer le package compressé pour le package PS100039 au site PS2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Envoi d’une copie du package PS100039 au site PS2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Utiliser le lecteur E pour stocker le package compressé.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Définition de la racine de transfert CMiniJob sur E :\SMSPKG\PS100039. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Minijob créé pour envoyer une copie compressée du package PS100039 au site PS2. Racine de transfert = E :\SMSPKG\PS100039. DLT.1.2. ...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Doit envoyer le package compressé pour le package PS100039 au site SS1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Envoi d’une copie du package PS100039 au site SS1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Utiliser le lecteur E pour stocker le package compressé.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Définition de la racine de transfert CMiniJob sur E :\SMSPKG\PS100039. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Minijob créé pour envoyer une copie compressée du package PS100039 au site SS1. Racine de transfert = E :\SMSPKG\PS100039. DLT.1.2.

  6. Le thread de traitement de package se termine après le traitement du package :

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) PS100039 de package est nouveau ou a changé, répliquant sur tous les sites applicables.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~CDistributionSrcSQL ::UpdateAvailableVersion PackageID=PS100039, Version=2, Status=2301
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~StoredPkgVersion (2) de PS100039 de package. StoredPkgVersion dans la base de données est 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~SourceVersion (2) de PS100039 de package. SourceVersion dans la base de données est 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG : ID=2301 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=Mar Mai 17 18 :31 :45.415 2016 ISTR0="Dummy2 » ISTR1="PS100039 » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=1 AID0=400 AVAL0="PS100039 »
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Sortie du thread de traitement du package pour les PS100039 de package.

Étape 4 : SMSDBMON avertit PkgXferMgr de traiter le travail

SMSDBMON détecte une modification dans la DistributionJobs table et dépose un fichier PKN dans PkgTransferMgr.box pour indiquer à PkgXferMgr de traiter le travail :

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV : UPDATE on DistributionJobs for DistributionJob_Creation [PS100039 ][1036623]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND : E :\ConfigMgr\inboxes\PkgTransferMgr.box\PS100039. PKN [1036623]

Étape 5 : PkgXferMgr se réveille pour traiter le travail

Pour les fournisseurs de données standard, un thread d’envoi copie le contenu dans le dp, et le processus restant est identique au processus décrit à l’étape 6 de Distribuer un package au dp standard.

Pour les fournisseurs de données pull, un thread pull DP d’envoi envoie la notification au dp de tirage pour effectuer le téléchargement de contenu. Pull DP télécharge ensuite le contenu à partir du dp source, et le processus restant est identique au processus décrit à l’étape 6 de Distribuer un package pour extraire un dp.

Étape 6 : Le package status modifications sont répliquées vers d’autres sites via DRS

Une fois le package status mis à jour dans la base de données, il est répliqué vers d’autres sites via la réplication de base de données.

Redistribuer un package

Lorsque vous redistribuez un package à un dp, tous les fichiers de contenu du package sont recopiés dans le dp même si le contenu existe déjà dans la bibliothèque de contenu sur le dp.

Les étapes suivantes décrivent le flux d’événements qui se produisent lorsqu’un package est redistribué à un dp. Dans cet exemple, le serveur de site principal dispose déjà d’une copie compressée du package. Ce processus est identique au processus décrit dans Distribuer un package au dp standard ou Distribuer un package pour extraire un dp. Nous examinons donc ici uniquement les extraits de journal détaillés pour les modifications pertinentes.

Étape 1 : L’administrateur redistribue le package au dp

Étape 2 : Si l’administrateur redistribue le package à partir d’un autre site principal ou du site d’administration centrale, DRS réplique les modifications apportées au site en question

Étape 3 : SMSDBMON avertit DistMgr de traiter le package

Étape 4 : DistMgr se réveille pour traiter le package

  1. Le thread DistMgr main démarre un thread de traitement de package.

  2. Le thread de traitement de package crée des threads DP pour traiter les actions de package et attend qu’ils se terminent.

  3. Les threads DP créent un travail PkgXferMgr pour ajouter le package aux fournisseurs de données, puis se terminent.

    Le thread DP commence à travailler sur l’ajout du package au dp. Les threads DP ne copient pas directement le contenu du package dans le dp, mais créent à la place un travail pour Package Transfer Manager (PkgXferMgr) en lui demandant de copier le contenu du package dans le dp. Les entrées de journal suivantes montrent le thread DP qui crée un travail PkgXferMgr. Une fois le travail créé, le travail du thread DP est terminé et le thread DP se ferme.

    thread DP SMS_DISTRIBUTION_MANAGER 3792 (0xed0) : tentative d’ajout ou de mise à jour du package <PackageID> sur DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~Tâche de transfert de package créée pour envoyer <packageID> au point de distribution ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\.
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) STATMSG : ID=2357 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_DISTRIBUTION_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=3792 GMTDATE=Lun 16 mai 19 :26 :58.642 2016 ISTR0="<PackageID> » ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ » ISTR2=" » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=2 AID0=400 AVAL0="<PackageID> » AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ »

    Lorsque le thread DP crée un travail PkgXferMgr, il le fait en insérant une ligne dans la DistributionJobs table. Pour redistribuer un package, action est définie sur 2.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(32,N'CS100026',1,0,N'2016/05/16 16:03:49',2)
    
  4. Le thread de traitement de package se termine après la fermeture de tous les threads DP.

Étape 5 : SMSDBMON avertit PkgXferMgr de traiter le travail

Étape 6 : PkgXferMgr se réveille pour traiter le travail

  1. Le thread main PkgXferMgr crée un thread d’envoi.

  2. Le thread d’envoi ou le thread d’envoi par extraction de données traite le travail.

    Dp standard :

    L’envoi du thread commence à copier le contenu du package vers le dp. Ce processus implique la copie de tous les fichiers du package dans le dp du SMS_DP$ répertoire. Étant donné que le package a été redistribué, PkgXferMgr indique que Redistribute est défini sur 1, ce qui signifie que tous les fichiers sont recopiés dans le dp même s’ils existent déjà dans la bibliothèque de contenu sur le dp.

    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Thread d’envoi à partir du travail : 583, package : <PackageID>, Version : 1, Priorité : 2, serveur : PS1DP1.CONTOSO.COM, DPPriority : 200
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Envoyé status au gestionnaire de distribution pour pkg <PackageID>, version 1, status 0 et point de distribution ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET :["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Exécution de packages de préactions <PackageID>, point de distribution PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Envoi du contenu <hérité PackageID.1> pour packageID <>
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Redistribute=1, Related=
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Envoi du fichier '\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<>'
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Envoi démarré [E :\SCCMContentLib\FileLib\73E0\73E055438D4731F41F41DB6C3BCB90919F60000226B330C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~ Tentative d’écriture de 983040 octets dans \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DBC3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> à la position 208732160
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~ Écrit 983040 octets dans \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> à la position 208732160 en 344 cycles
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Envoi terminé [E :\SCCMContentLib\FileLib\73E0\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Post-actions terminées pour les PS1DP1.CONTOSO.COM dp distantes
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~ L’envoi s’est terminé avec succès
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~ Fin de l’envoi du package <SWD PackageID> version 1 au point de distribution PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) STATMSG : ID=8200 SEV=I LEV=M SOURCE="SMS Server » COMP="SMS_PACKAGE_TRANSFER_MANAGER » SYS=PS1SITE. CONTOSO.COM SITE=PS1 PID=5428 TID=5272 GMTDATE=Lun 16 mai 20 :06 :36.827 2016 ISTR0="<PackageID> » ISTR1="1 » ISTR2="PS1DP1.CONTOSO.COM » ISTR3=" » ISTR4=" » ISTR5=" » ISTR6=" » ISTR7=" » ISTR8=" » ISTR9=" » NUMATTRS=2 AID0=400 AVAL0="<PackageID> » AID1=410 AVAL1="1 »

    Pull DP :

    Le thread d’envoi pull DP envoie une notification au dp de tirage pour commencer à télécharger le contenu. Étant donné que le package a été redistribué, le code XML de notification généré indique qu’Action est défini sur Redist, ce qui signifie que tous les fichiers sont téléchargés à nouveau par le dp de tirage, même s’ils existent déjà dans la bibliothèque de contenu sur le dp d’extraction.

    Voici à quoi ressemble un exemple de requête qui génère la requête XML de notification montrant que l’action est redistribuée depuis que le contenu a été redistribué :

    SELECT [dbo].[fnGetPullDPXMLNotification]('P010000F', 3, 'P01PDP1.CONTOSO.COM', 2, 'redist', 1, 'O:SYG:BAD:P(A;;FA;;;BA)(A;OICIIO;GA;;;BA)(A;;0x1200a9;;;BU)(A;OICIIO;GXGR;;;BU)(A;;FA;;;BA)(A;OICIIO;GA;;;BA)', 0, 32780, '3ED23B9869F7E10E19439F11341405FF76E22022E56468DCF211475899BD2914', '') AS Notification
    

    Lors de la réception d’une notification pour une action redistribuer, PullDP.log indique que tout le contenu est téléchargé à nouveau même si une partie/la totalité du contenu peut exister dans la bibliothèque de contenu.

    PullDP 3676 (0xe5c) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 : redistribuer/télécharger à nouveau tous les fichiers

    Une fois cette opération effectuée, le processus restant est similaire au processus décrit à l’étape 6 de Distribuer un package pour extraire le dp.

  3. Le thread d’envoi envoie un message status à DistMgr.

Étape 7 : Le fournisseur SMS DP ajoute le contenu à la bibliothèque de contenu

Étape 8 : DistMgr traite les messages status envoyés par PkgXferMgr

Étape 9 : Les modifications de status de package sont répliquées vers d’autres sites via DRS