Paketaktionen in der Inhaltsverteilung

Dieser Artikel hilft Ihnen, Paketaktionen bei der Inhaltsverteilung zu verstehen.

Ursprüngliche Produktversion: Configuration Manager current branch, Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager

Einführung

Paketaktionen in der Inhaltsverteilung sind in folgendes unterteilt:

  • Distribute

    Die erste wichtige Aktion im Zusammenhang mit der Inhaltsverteilung ist die Aktion Verteilen. Dies bezieht sich auf die anfängliche Verteilung eines Pakets an einen Verteilungspunkt. Dies wird durch den Assistenten zum Verteilen von Inhalten in der Configuration Manager-Konsole ausgelöst. Dadurch werden alle Dateien in einem Paket an die Zielverteilungspunkte übertragen, mit Ausnahme der Dateien, die bereits in der Inhaltsbibliothek des DP als Teil eines anderen Pakets vorhanden sind. Wenn das Paket Dateien enthält, die sich bereits in der Inhaltsbibliothek auf dem Verteilungspunkt befinden, werden diese Dateien von mehreren Paketen gemeinsam genutzt.

  • Update

    Die zweite Hauptaktion ist die Aktion Aktualisieren. Dies wird in der Regel verwendet, wenn ein Paket geändert wurde und alle Verteilungspunkte, an die es verteilt wird, den aktualisierten Inhalt benötigen. Dies wird mit der Aktion Verteilungspunkte aktualisieren in der Konsole ausgelöst. Dadurch werden die geänderten Dateien an alle Verteilungspunkte übertragen. Unveränderte Dateien werden nicht übertragen. Wenn eine Datei in der aktualisierten Version aus dem Paket entfernt wird, wird sie aus dem Paket auf dem Verteilungspunkt gelöscht (solange sich keine anderen Pakete befinden, die die Datei gemeinsam nutzen).

  • Verteilen

    Die dritte wichtige Aktion ist die Aktion "Verteilen", die mit Redistribute in der Configuration Manager-Konsole ausgelöst wird. Dadurch wird der gesamte Inhalt an einen bestimmten Verteilungspunkt übertragen. Dateien werden übertragen und überschrieben, auch wenn sie bereits in der Inhaltsbibliothek auf dem Verteilungspunkt vorhanden sind. Der Hauptzweck der Aktion "Weiterverteilen" besteht darin, in der Inhaltsbibliothek möglicherweise vorhandene Inkonsistenzen zu korrigieren.

Erstellen eines Pakets

In den folgenden Schritten wird der Ablauf von Ereignissen erläutert, wenn Sie über die Administratorkonsole ein neues Paket erstellen, das noch nicht an DPs verteilt wurde:

Schritt 1: Admin-Konsole erstellt eine instance der SMS_PackageWMI -Klasse.

Nachdem der Administrator das Paket in der Konsole erstellt hat, erstellt die Verwaltungskonsole eine instance der SMS_Package WMI-Klasse im SMS-Anbieternamespace für das neu erstellte Paket. SMSProv.log zeigt Folgendes:

SMS Provider 4680 (0x1248) CExtProviderClassObject::D oPutInstanceInstance~
SMS Provider 4680 (0x1248) Auditing: User CONTOSO\Admin created an instance of class SMS_Package.~
SMS Provider 816 (0x330) Processed insert instance notification for: SMS_Package.PackageID="PackageID"~

Wenn dieser WMI-instance erstellt wird, fügt der SMS-Anbieter eine Zeile in die SMSPackages Ansicht in der Datenbank ein:

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)

Nachdem die Zeile eingefügt wurde, fügt ein Trigger in der Ansicht eine Zeile in SMSPackages_G - und SMS_Packages_L -Tabellen ein. Dies wiederum bewirkt, dass ein Trigger für die SMSPackages_G Tabelle eine Zeile in PkgNotification die Tabelle einfügt. Die Zeile in der PkgNotification Tabelle wird verwendet, um DistMgr zu benachrichtigen, das Paket zu verarbeiten, und diese Benachrichtigung wird distMgr von der SMSDBMON Komponente bereitgestellt.

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

Schritt 2: SMSDBMON erkennt eine Änderung und benachrichtigt DistMgr, das Paket zu verarbeiten, indem eine <PackageID gelöscht wird>. PKN-Datei

SMSDBMON erkennt eine Änderung in der PkgNotification Tabelle, wodurch eine <PackageID gelöscht wird>. PKN-Datei in DistMgr.box , um DistMgr anzuweisen, das Paket zu verarbeiten:

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> gelöscht. PKN [850902]

Schritt 3: DistMgr verarbeitet das Paket auf der Quellwebsite des Pakets.

DistMgr verarbeitet das Paket, nachdem die PKN-Datei in DistMgr.boxerkannt wurde. Die DistMgr-Verarbeitung wird von mehreren Threads ausgeführt.

  1. Der Standard DistMgr-Thread erstellt einen Paketverarbeitungsthread.

    Der DistMgr-Hauptthread wird aktiviert, fügt das Paket der Paketverarbeitungswarteschlange hinzu und erstellt einen Paketverarbeitungsthread zum Verarbeiten des Pakets:

    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) Aktualisierte Paketeigenschaften für Paket "PackageID" gefunden
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) Hinzufügen des Pakets "PackageID" zur Paketverarbeitungswarteschlange.
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~ Derzeit werden 0 von drei zulässigen Paketverarbeitungsthreads verwendet.
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~Paketverarbeitungsthread für Paket "PackageID" gestartet, Thread-ID = 0x16A8 (5800)

  2. Der Paketverarbeitungsthread erstellt ein Paket Momentaufnahme und schreibt Inhalte in die Inhaltsbibliothek.

    Der Paketverarbeitungsthread (in diesem Fall Thread-ID 5800) beginnt mit der Verarbeitung des Pakets und erstellt ein Paket Momentaufnahme. Nach dem Erstellen des Pakets Momentaufnahme schreibt dieser Thread auch den Paketinhalt in die Inhaltsbibliothek auf dem Standortserver.

    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 Mai 16 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) ~Verarbeitung des Pakets <PackageID> (SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Paket-ID> hinzufügen<...
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ Die Paketaktion ist 2, die Updatemaske ist 0 und UpdateMaskEx ist 0.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2300
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8): Paket Momentaufnahme für Paket-ID <> aus der Quelle \\CS1SITE\SOURCE\Packages\Dummy1
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Die Größe des Pakets <PackageID>, Version 1, beträgt 204800 KBytes
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Schreiben der Paketdefinition für <PackageID>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ RDC-Signaturen für PackageID Version 1 erfolgreich erstellt
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Erstellen eines Hashs für den Algorithmus 32780
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Der Hash für den Algorithmus 32780 ist <HashString>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Der RDC-Signaturhash für den Algorithmus 32780 ist <HashString.>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ Hinzufügen dieser Inhalte zum Paket 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=Mo Mai 16 14:34:04.611 2016 ISTR0="<PackageID>" ISTR1="" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"

  3. Der Paketverarbeitungsthread repliziert das Paket an andere Standorte.

    Der Paketverarbeitungsthread repliziert das Paket dann an die anderen Standorte in der Hierarchie. Paketmetadateninformationen werden über die Datenbankreplikation an andere Standorte repliziert, während Paketdateien mithilfe der Dateireplikation repliziert werden. Paketdateien werden jedoch nur an einen Standort gesendet, wenn dem Paket mindestens ein DP an dieser Website hinzugefügt wird. Paketdateien werden komprimiert, bevor sie an eine andere Website gesendet werden. Da in diesem Fall keine DPs als Ziel verwendet werden, werden nur Paketmetadaten an andere Standorte repliziert, paketdateien werden jedoch nicht repliziert.

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~Package <PackageID> hat keinen bevorzugten Absender.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) Ein Programm für PackageID <> wurde hinzugefügt oder entfernt, daher muss es an allen untergeordneten Standorten repliziert werden.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) PackageID <> ist neu oder hat sich geändert und wird an alle anwendbaren Standorte repliziert.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~StoredPkgVersion (1) des Pakets <PackageID>. StoredPkgVersion in der Datenbank ist 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~SourceVersion (1) des Pakets <PackageID>. SourceVersion in der Datenbank ist 1.
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~ Hinzufügen dieser Inhalte zum Paket <PackageID> Version 1.

  4. Der Paketverarbeitungsthread wird beendet.

    Der Paketverarbeitungsthread wird beendet, nachdem die Paketverarbeitung abgeschlossen ist, und löst eine status Nachricht mit der ID 2301 aus, was bedeutet, dass der Verteilungs-Manager paketname>< (Paket-ID = <PKGID>) erfolgreich verarbeitet hat.

    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=Mo Mai 16 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) ~ Beenden des Paketverarbeitungsthreads für PackageID<>.

Schritt 4: (falls zutreffend) REPLIZIERT DRS das Paket an andere Standorte

Wenn in der Hierarchie andere Standorte vorhanden sind, werden Paketmetadateninformationen über die Datenbankreplikation an andere Standorte repliziert. Nachdem die Paketinformationen repliziert wurden, wird eine Zeile in der SMSPackages_G Tabelle eingefügt, die eine Einfügung in die PkgNotification Tabelle auslöst.

Schritt 5: (Falls zutreffend) SMSDBMON auf der empfangenden Website benachrichtigt DistMgr durch Löschen einer <PackageID>. PKN-Datei

Am empfangenden Standort erkennt SMSDBMON eine Änderung in der PkgNotification Tabelle, die dazu führt, dass eine <PackageID gelöscht wird>. PKN-Datei in DistMgr.box , um DistMgr anzuweisen, das Paket zu verarbeiten:

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> gelöscht. PKN [1035019]

Schritt 6: (falls zutreffend) DistMgr auf der empfangenden Website verarbeitet das Paket

Auf der empfangenden Website nach dem Empfangen von . PKN-Datei , DistMgr reaktiviert, um das Paket zu verarbeiten.

  1. Der Standard DistMgr-Thread erstellt einen Paketverarbeitungsthread.

    Der Standard DistMgr-Thread fügt das Paket der Paketverarbeitungswarteschlange hinzu und erstellt einen Paketverarbeitungsthread:

    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) Aktualisierte Paketeigenschaften für Paket "<PackageID>" gefunden
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) Hinzufügen des Pakets "<PackageID>" zur Paketverarbeitungswarteschlange.
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~ Derzeit werden 0 von drei zulässigen Paketverarbeitungsthreads verwendet.
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~Paketverarbeitungsthread für Paket "<PackageID>" gestartet, Thread-ID = 0x1378 (4984)

  2. Der Paketverarbeitungsthread verarbeitet das Paket.

    In diesem Fall ist für diesen Thread nichts zu tun, da keine DPs als Ziel verwendet wurden.

    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=Mo Mai 16 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) ~Verarbeitung des Pakets <PackageID> (SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) Paket-ID> hinzufügen<...
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~ Die Paketaktion ist 2, die Updatemaske ist 0 und UpdateMaskEx ist 0.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~ Paket-ID erfolgreich erstellt/aktualisiert <>
    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=Mo Mai 16 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) ~Richtlinienanbietertrigger für ID <PackageID erstellt>
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~Package <PackageID> hat keinen bevorzugten Absender.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~StoredPkgVersion (0) des Pakets <PackageID>. StoredPkgVersion in der Datenbank ist 0.
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~SourceVersion (1) des Pakets <PackageID>. SourceVersion in der Datenbank ist 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=Mo Mai 16 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) ~ Beenden des Paketverarbeitungsthreads für PackageID<>.

Verteilen eines Pakets an dp standortübergreifend

Die folgenden Schritte beschreiben den Ablauf von Ereignissen, wenn ein Paket an einen Dp am primären Standort verteilt wird, der betreffende primäre Standortserver jedoch keine Kopie dieses Pakets in der Inhaltsbibliothek enthält. Dieses Paket wurde am Standort der zentralen Verwaltung erstellt. Daher ist der Standort der zentralen Verwaltung der Quellstandort des Pakets:

Auf der Paketquellwebsite

Schritt 1: Die Verwaltungskonsole fügt den DP zum Paket hinzu, indem die AddDistributionPoints -Methode für die SMS_PackageWMI -Klasse aufgerufen wird.

Nachdem der Administrator das Paket über die Konsole an einen DP verteilt hat, ruft die Verwaltungskonsole die AddDistributionPoints -Methode der SMS_Package -Klasse auf, um dem Paket den angegebenen DP hinzuzufügen. SMSProv.log zeigt Folgendes:

SMS Provider 4616 (0x1208) Context: SMSAppName=Configuration Manager Administrator console~
SMS Provider 4616 (0x1208) ExecMethodAsync : SMS_Package.PackageID="<PackageID>"::AddDistributionPoints~
SMS Provider 4616 (0x1208) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
SMS Provider 4616 (0x1208) Auditing: User CONTOSO\Admin called an audited method of an instance of class SMS_Package.~

Wenn diese Methode aufgerufen wird, fügt der SMS-Anbieter eine Zeile in ein, in PkgServers der Actionauf 2 (ADD) festgelegt ist.

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'

Nachdem eine Zeile in PkgServerseingefügt wurde, fügt der SMS-Anbieter auch eine Zeile in die PkgNotification Tabelle ein. Die Zeile in der PkgNotification Tabelle wird verwendet, um DistMgr zu benachrichtigen, das Paket zu verarbeiten, und diese Benachrichtigung wird distMgr von der SMSDBMON Komponente bereitgestellt.

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

Schritt 2: SMSDBMON erkennt die Paketänderung und benachrichtigt DistMgr durch Löschen einer <PackageID>. PKN-Datei in DistMgr.box

SMSDBMON erkennt eine Änderung in der PkgNotification Tabelle, die dazu führt, dass eine <PackageID gelöscht wird>. PKN-Datei in DistMgr.box , um DistMgr anzuweisen, das Paket zu verarbeiten.

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> gelöscht. PKN [850967]

Schritt 3: DistMgr reaktiviert, um das Paket nach dem Empfang der PKN-Datei zu verarbeiten.

  1. Der Standard DistMgr-Thread erstellt den Paketverarbeitungsthread.

    Der Standard DistMgr-Thread fügt das Paket der Paketverarbeitungswarteschlange hinzu und erstellt einen Paketverarbeitungsthread.

    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) Hinzufügen des Pakets "<PackageID>" zur Paketverarbeitungswarteschlange.
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~ Derzeit werden 0 von drei zulässigen Paketverarbeitungsthreads verwendet.
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~ Paketverarbeitungsthread für Paket "PackageID>"< gestartet, Thread-ID = 0x1164 (4452)

  2. Der Paketverarbeitungsthread verarbeitet die Paketaktionen.

    Der Paketverarbeitungsthread verarbeitet die Paketaktionen zum Hinzufügen/Aktualisieren/Entfernen des Pakets aus dem DP. In diesem Fall ist der Quellstandort des Pakets der Standort der zentralen Verwaltung, und es sind keine Paketaktionen zu verarbeiten, da der Standort der zentralen Verwaltung keine DPs enthält. Auf einem Standort, an dem Paketaktionen verarbeitet werden müssen, erstellt der Paketverarbeitungsthread DP-Threads zum Ausführen dieser Aktionen und wartet, bis die DP-Threads beendet werden, bevor sie mit Schritt 3-3 fortfahren.

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Verarbeitung des Pakets <PackageID> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Keine Aktion für das Paket <PackageID> angegeben, es kann jedoch Paketserveränderungen für dieses Paket geben.

  3. Der Paketverarbeitungsthread erstellt einen Miniauftrag, um die komprimierte Kopie des Pakets an den Zielstandort zu senden.

    Dieser Miniauftrag wird vom Scheduler verarbeitet, um eine Sendeanforderung für Sender zu erstellen, um die komprimierte Kopie des Pakets an den Zielstandort zu übertragen:

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Package <PackageID> hat keinen bevorzugten Absender.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Muss das komprimierte Paket für Paket-ID <> an Standort PS1 senden
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Senden einer Kopie des Pakets <PackageID> an Standort PS1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Die Berichtswebsite der Website PS1 ist diese Website.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Verwenden Sie Laufwerk E zum Speichern des komprimierten Pakets.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Einstellung CMiniJob root transfer root to E:\SMSPKG\<PackageID>. PCK.1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Inkrementierte Referenzanzahl für die Datei E:\SMSPKG\<PackageID>. PCK.1, count = 2
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Decremented ref count on file E:\SMSPKG\<PackageID>. PCK.1, count = 1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~ Minijob erstellt, um eine komprimierte Kopie des Pakets <PackageID> an site PS1 zu senden. Root übertragen = E:\SMSPKG\<PackageID>. PCK.1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Die Paket- und/oder Programmeigenschaften für PackageID <> haben sich nicht geändert, und es muss bestimmt werden, welche Websites aktualisierte Paketinformationen benötigen.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) An diesem Standort wurde ein Verteilungspunkt geändert, sodass standort PS1 der Liste der Standorte hinzugefügt wurde, an die Paket-ID <>gesendet wird.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) Übergeordnete Website von PS1 ist CS1

  4. Der Paketverarbeitungsthread wird nach der Verarbeitung des Pakets beendet:

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~StoredPkgVersion (1) des Pakets <PackageID>. StoredPkgVersion in der Datenbank ist 1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~SourceVersion (1) des Pakets <PackageID>. SourceVersion in der Datenbank ist 1.
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~Beenden des Paketverarbeitungsthreads für PackageID<>.

Schritt 4: Die Scheduler-Komponente verarbeitet den vom Paketverarbeitungsthread erstellten Miniauftrag und erstellt eine Sendeanforderung.

Die Scheduler-Komponente wird nach dem Empfang eines Auftrags zum Übertragen der komprimierten Kopie des Pakets reaktiviert und erstellt eine Sendeanforderung für Sender, damit der Absender die komprimierte Kopie an den Zielstandort senden kann.

SMS_SCHEDULER 5492 (0x1574) ======== Verarbeiten von Aufträgen ========
SMS_SCHEDULER 5492 (0x1574) <Aktivieren von JOB JOBID>[Softwareverteilung für Dummy1, Paket-ID = <Paket-ID>]~
SMS_SCHEDULER 5492 (0x1574) Zielwebsite: PS1, bevorzugte Adresse: *, Priorität: 2
SMS_SCHEDULER 5492 (0x1574) Anweisungstyp: MICROSOFT|SMS|MINIJOBINSTRUCTION|PAKET~
SMS_SCHEDULER 5492 (0x1574) Erstellen einer Anweisungsdatei: \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\JOBID. Icl~
SMS_SCHEDULER 5492 (0x1574) Stammübertragung: E:\SMSPKG\<PackageID>. PCK.1~
SMS_SCHEDULER 5492 (0x1574) <Aktualisieren von JOB JOBID>[Softwareverteilung für Dummy1, Paket-ID = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) Neue Sendeanforderungs-ID erstellt: 202SQCS1~

Der Scheduler aktualisiert die Sendeanforderungen in regelmäßigen Abständen und protokolliert nützliche Informationen zu den Sendeanforderungen, einschließlich Gesamtgröße und Restgröße:

====== SMS_SCHEDULER 5492 (0x1574) ======= aktualisieren
SMS_SCHEDULER 5492 (0x1574) Anforderung senden 202SQCS1 JobID: JOBID DestSite: PS1 FinalSite: State: Pending Status: Action: None Gesamtgröße: 204864k Rest: 204864k Takt: 12:23 Start: 12:00 Ende: 12:00 Wiederholung: SWD PkgID: <PackageID> SWD Pkg Version: 1

Schritt 5: Die Absenderkomponente beginnt mit der Arbeit an der Sendeanforderung

Die Absenderkomponente verarbeitet die Sendeanforderung und sendet die komprimierte Kopie des Pakets an den Zielstandort.

  1. Der Standard Absenderthread startet einen sendenden Thread, bei dem es sich um den Thread handelt, der die gesamte Arbeit für diese Sendeanforderung ausführt.

    SMS_LAN_SENDER 6700 (0x1a2c) Sendeanforderung gefunden. ID: 202SQCS1, Dest Site: PS1~
    SMS_LAN_SENDER 6700 (0x1a2c) Überprüfung auf standortspezifische Sendekapazität. Verwendet 0 von 3.~
    SMS_LAN_SENDER 6700 (0x1a2c) ~ Gesendeter Thread erstellt (Thread-ID = 1150)

  2. Der sendende Thread verarbeitet die Sendeanforderung und kopiert die komprimierte Paketdatei (PCK-Datei ) zusammen mit der Paketanweisungsdatei (SNI-Datei ) an den Zielstandort.

    SMS_LAN_SENDER 4432 (0x1150) ~ Versuchen Sie die Adresse Nr. 1 (von 1)
    SMS_LAN_SENDER 4432 (0x1150) ~ den xmit-Dateitest bestanden, verwenden Sie die vorhandene Verbindung.
    SMS_LAN_SENDER 4432 (0x1150) ~Paketdatei = E:\SMSPKG\<PackageID>. PCK.1
    SMS_LAN_SENDER 4432 (0x1150) ~Instruction file = E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl
    SMS_LAN_SENDER 4432 (0x1150) ~Überprüfung auf Remotedatei \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Überprüfung auf Remotedatei \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. SNI
    SMS_LAN_SENDER 4432 (0x1150) ~Überprüfung auf Remotedatei \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP...
    SMS_LAN_SENDER 4432 (0x1150) ~ Versuchen Sie, die Remotedatei \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 zu erstellen/zu öffnen. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Die Remotedatei \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 wurde erstellt/geöffnet. PCK
    SMS_LAN_SENDER 4432 (0x1150) ~Senden gestartet [E:\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~ Versuch, 1024 Bytes in \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 zu schreiben. PCK an Position 0
    SMS_LAN_SENDER 4432 (0x1150) ~1024 Bytes in \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 geschrieben. PCK an Position 0 ...
    SMS_LAN_SENDER 4432 (0x1150) ~ Versuch, 380731 Bytes in \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 zu schreiben. PCK an Position 209398784
    SMS_LAN_SENDER 4432 (0x1150) ~Geschriebene 380731 Bytes in \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. PCK an Position 209398784
    SMS_LAN_SENDER 4432 (0x1150) ~Senden abgeschlossen [E:\SMSPKG\<PackageID>. PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~ Senden des SWD-Pakets <PackageID> Version 1 an Site PS1 abgeschlossen ...
    SMS_LAN_SENDER 4432 (0x1150) ~Senden wurde gestartet [E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~Senden abgeschlossen [E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A. Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~ Senden des SWD-Pakets <PackageID> Version 1 an Site PS1 abgeschlossen ...
    SMS_LAN_SENDER 4432 (0x1150) ~Remotedatei \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 umbenennen. TMP auf \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. SNI
    MS_LAN_SENDER 4432 (0x1150) ~Umbenennen abgeschlossen [\\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1. TMP]
    SMS_LAN_SENDER 4432 (0x1150) ~Senden erfolgreich abgeschlossen

    Der sendende Thread kopiert diese Dateien in die SMS_SITE Freigabe auf der empfangenden Website.

    Tipp

    Die sender.log Datei protokolliert kontinuierlich die Position, an die sie schreibt. Beispielsweise ist die Position im obigen Protokoll 209398784 . Diese Position ist der Byteoffset, in den geschrieben wird. Sie können ermitteln, wie viele Daten kopiert wurden, indem Sie diesen Wert konvertieren. Beispiel: 209398784 Bytes = 199,69 MB.

Schritt 6: Die Scheduler-Komponente markiert den Auftrag als abgeschlossen und löscht die Sendeanforderung.

Die Scheduler-Komponente überwacht die Sendeanforderungen, und nachdem sender die Verarbeitung der Sendeanforderung abgeschlossen hat, markiert scheduler den Auftrag als abgeschlossen und löscht die Sendeanforderung:

SMS_SCHEDULER 5492 (0x1574) ====== Überprüfen des Status aller Sendeanforderungen ======
SMS_SCHEDULER 5492 (0x1574) ~=== Überprüfen von Sendeanforderungen für den Postausgang \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\outboxes\LAN.~~
SMS_SCHEDULER 5492 (0x1574) Überprüfung der Sendeanforderung 202SQCS1~
SMS_SCHEDULER 5492 (0x1574) Senden abgeschlossen (13985442 Bytes/Sekunde).~
SMS_SCHEDULER 5492 (0x1574) <Aktualisieren von JOB JOBID>[Softwareverteilung für Dummy1, Paket-ID = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) Anforderung senden wurde erfolgreich abgeschlossen.~
SMS_SCHEDULER 5492 (0x1574) <AUFTRAGSSTATUS – ABGESCHLOSSEN>~
SMS_SCHEDULER 5492 (0x1574) Anweisungsdatei \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\00000E2A gelöscht. Icl.~
SMS_SCHEDULER 5492 (0x1574) Löscht die Auftragspaketquelle [E:\SMSPKG\<PackageID>. PCK.1].~
SMS_SCHEDULER 5492 (0x1574) Gelöschte Verweiszählungsdatei E:\SMSPKG\<PackageID>. PCK.1
SMS_SCHEDULER 5492 (0x1574) Decremented ref count on file E:\SMSPKG\<PackageID>. PCK.1, count = 0
SMS_SCHEDULER 5492 (0x1574): Sendeanforderung mit der ID 202SQCS1 wird gelöscht.~
SMS_SCHEDULER 5492 (0x1574) JobID gelöscht.~

Nach diesem Schritt hat der sendende Standort keine weiteren Aufgaben mehr zu erledigen, und der empfangende Standort beginnt mit der Verarbeitung des Pakets.

Auf der Zielwebsite

Schritt 7: Despooler verarbeitet die PCK- und SNI-Dateien

Während Schritt 5 wurden PCK - und SNI-Dateien auf die SMS_SITE Freigabe auf der empfangenden Website kopiert. Auf jeder Configuration Manager Website wird der Ordner \inboxes\despoolr.box\receive als SMS_SITEfreigegeben. Wenn diese Dateien im Ordner despoolr.box\receive eingehen, wird die despooler Komponente aktiviert, um die SNI-Datei zu verarbeiten, die eine Anweisungsdatei ist.

  1. Der Standard Despoolerthreads erstellt einen Despoolingthread.

    Main Despooler sucht die Anweisungsdatei und erstellt einen Despoolingthread, um die Anweisungsdatei zu verarbeiten:

    SMS_DESPOOLER 6128 (0x17f0) ~Ready-Anweisung gefunden 202sqcs1.sni
    SMS_DESPOOLER 6128 (0x17f0) ~ Verwendet 0 von drei Despoolingthreads
    SMS_DESPOOLER 6128 (0x17f0) ~ Neuer Despoolingthread EE8 erstellt

  2. (Sporadisch) Beim Entpoolen des Threads kann die Anweisung beim ersten Versuch nicht verarbeitet werden und nach fünf Minuten wiederholt werden.

    Der Despoolingthread verarbeitet die Anweisungsdatei. In vielen Fällen versucht der Despooler jedoch zum ersten Mal, eine Anweisungsdatei für ein Paket zu verarbeiten. Dies schlägt mit der Meldung "Paketinformationen sind für diese Version noch nicht eingetroffen" fehl, da die Paketmetadateninformationen noch nicht an den empfangenden Standort repliziert wurden. In diesem Fall zeigt despooler.log "Fehlercode = 12" an, wiederholt diese Anweisung jedoch nach fünf Minuten. Dies ist erfolgreich, da die Paketinformationen während dieser Zeit repliziert werden. Schritt 7-3 zeigt die erfolgreiche Verarbeitung der Anweisung beim Wiederholen.

    SMS_DESPOOLER 3816 (0xee8) ~Signaturüberprüfung für die Anweisung E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.ist vom Typ MICROSOFT|SMS|MINIJOBINSTRUCTION|PAKET
    SMS_DESPOOLER 3816 (0xee8) ~Signature check out OK for instruction from site CS1, fahren Sie mit der Anweisungsausführung fort.
    SMS_DESPOOLER 3816 (0xee8) ~Anweisung vom Typ MICROSOFT|SMS|MINIJOBINSTRUCTION|PAKET
    SMS_DESPOOLER 3816 (0xee8) ~Paket-ID, Version 1, empfangen. Komprimierte Datei: E:\SMSPKG\<PackageID>. PCK.1 as E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.pkg
    SMS_DESPOOLER 3816 (0xee8) ~ Altes Paket gespeichertUNC-Pfad ist .
    SMS_DESPOOLER 3816 (0xee8) ~Informationen zu diesem Paket[<PackageID>] sind für diese Version noch nicht eingetroffen [1]. Versuchen Sie es später noch mal ...
    SMS_DESPOOLER 3816 (0xee8) ~ Wiederholungsanweisung für job JOBID erstellt
    SMS_DESPOOLER 3816 (0xee8) ~Despooler konnte die Anweisung nicht ausführen, Fehlercode = 12 ...
    SMS_DESPOOLER 6128 (0x17f0) ~Instruction E:\ConfigMgr\inboxes\despoolr.box\receive\ds_3kyyh.sni wird nicht bis zum 16.05.2016 12:29:11 PM Eastern Daylight Time verarbeitet

    In diesem Fall versucht DistMgr, das Paket zu verarbeiten. Da die komprimierte Kopie des Pakets jedoch nicht verarbeitet und in die Inhaltsbibliothek extrahiert wurde, protokolliert der Paketverarbeitungsthread Folgendes und beendet:

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ Paketverarbeitungsthread für Paket "<PackageID>" gestartet, Thread-ID = 0xAAC (2732)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~Verarbeitung des Pakets <PackageID> (SourceVersion:1; StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~ Der Inhalt des Pakets <PackageID> ist noch nicht vom Standort CS1 eingetroffen, wird später noch wiederholt.
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~ Alle DP-Threads wurden für den PackageID-Verarbeitungsthread <> abgeschlossen.
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~ Beenden des Paketverarbeitungsthreads für PackageID<>.

  3. Der Entpoolungsthread verarbeitet die Anweisung und schreibt Inhalte in die Inhaltsbibliothek.

    Der Entpoolungsthread verarbeitet die Anweisung, hebt die PCK-Datei an einen temporären Speicherort auf und schreibt den Inhalt dann in die Inhaltsbibliothek.

    SMS_DESPOOLER 4072 (0xfe8) ~Paket-ID>, Version 1, empfangen<. Komprimierte Datei: E:\SMSPKG\<PackageID>. PCK.1 as E:\ConfigMgr\inboxes\despoolr.box\receive\PKGj3uib.TRY
    SMS_DESPOOLER 4072 (0xfe8) ~Altes Paket gespeichertUNC-Pfad ist .
    SMS_DESPOOLER 4072 (0xfe8) ~ Verwenden Sie Laufwerk E zum Speichern des komprimierten Pakets.
    SMS_DESPOOLER 4072 (0xfe8) Keine Branchcacheregistrierungseinträge gefunden.
    SMS_DESPOOLER 4072 (0xfe8) Dekomprimierung von E:\SMSPKG\<PackageID>. PCK zu E:\SMSPKG\<PackageID>. PCK.temp
    SMS_DESPOOLER 4072 (0xfe8) Inhaltsbibliothek: E:\SCCMContentLib
    SMS_DESPOOLER 4072 (0xfe8) Extrahieren aus E:\SMSPKG\<PackageID>. PCK.temp
    SMS_DESPOOLER 4072 (0xfe8) Paket-ID extrahieren <>
    SMS_DESPOOLER 4072 (0xfe8) Extrahieren von Inhalten <PackageID.1>
    SMS_DESPOOLER 4072 (0xfe8) Schreiben der Paketdefinition für <PackageID>
    SMS_DESPOOLER 4072 (0xfe8) ~Package <PackageID> (Version 0) in der Verteilungsquelle vorhanden ist, speichern Sie die neuere Version (Version 1).
    SMS_DESPOOLER 4072 (0xfe8) ~Gespeicherte Paket-Paket-ID<>. Gespeicherte Paketversion = 1

    Nachdem der Inhalt erfolgreich in die Inhaltsbibliothek extrahiert wurde, aktualisiert StoredPkgVersion der Despooler die SMSPackages_L Tabelle und fügt eine Zeile in die PkgNotification Tabelle ein, damit DistMgr benachrichtigt werden kann, das Paket zu verarbeiten.

    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. Der Despoolingthread aktualisiert die Zeile Typ 1 für den empfangenden Standort in PkgStatus, löst eine status Nachricht mit der ID 4400 aus und wird dann beendet.

    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=Mo Mai 16 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 hat eine Anweisung erfolgreich ausgeführt.

Schritt 8: SMSDBMON benachrichtigt DistMgr, das Paket zu verarbeiten.

SMSDBMON erkennt eine Änderung in der PkgNotification Tabelle und löscht eine PKN-Datei in DistMgr.box , um DistMgr anzuweisen, das Paket zu verarbeiten.

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> gelöscht. PKN [1035289]

Schritt 9: DistMgr reaktiviert, um das Paket zu verarbeiten

DistMgr wird nach dem Erkennen der PKN-Datei aktiviert und verarbeitet das Paket.

  1. Der Standard DistMgr-Thread erstellt einen Paketverarbeitungsthread.

    Der Standard DistMgr-Thread fügt das Paket der Paketverarbeitungswarteschlange hinzu und erstellt einen Paketverarbeitungsthread.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Aktualisierte Paketeigenschaften für Paket "<PackageID>" gefunden
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Hinzufügen des Pakets "<PackageID>" zur Paketverarbeitungswarteschlange.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ Derzeit werden 0 von drei zulässigen Paketverarbeitungsthreads verwendet.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Paketverarbeitungsthread für Paket "<PackageID>" gestartet, Thread-ID = 0x93C (2364)

  2. Der Paketverarbeitungsthread erstellt DP-Threads zum Verarbeiten von Paketaktionen und wartet auf deren Beendigung.

    Der Paketverarbeitungsthread (TID 2364) verarbeitet die Paketaktionen (Hinzufügen/Aktualisieren/Entfernen) für die DPs. In diesem Fall wurde das Paket an einen DP verteilt, und der Paketverarbeitungsthread erstellt einen DP-Thread, um das Paket dem DP hinzuzufügen. Nach dem Erstellen des DP-Threads wartet der Paketverarbeitungsthread, bis alle DP-Threads beendet werden, bevor er fortfahren kann.

    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~Verarbeitung des Pakets <PackageID> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) Paket-ID> aktualisieren<...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Die Paketaktion ist 1, die Updatemaske ist 160 und UpdateMaskEx ist 0.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Verwenden Sie Laufwerk E zum Speichern des komprimierten Pakets.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Paket-ID> erfolgreich erstellt/aktualisiert <...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) Paket-ID> zum Server hinzufügen <["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~DP-Verarbeitungsthread 5204 zum Hinzufügen oder Aktualisieren des Pakets <PackageID> auf dem Server erstellt ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ ...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Warten auf den Abschluss aller DP-Threads für den PackageID-Verarbeitungsthread<>.

  3. Die DP-Threads erstellen einen PkgXferMgr-Auftrag, um Inhalte an die DPs zu übertragen, und werden dann beendet.

    Der DP-Thread (TID 5204) beginnt mit dem Hinzufügen des Pakets zum DP. DP-Threads kopieren den Paketinhalt nicht direkt in den DP, sondern erstellen stattdessen einen Auftrag für den Paketübertragungs-Manager (PkgXferMgr), der ihn anweist, den Paketinhalt auf den DP zu kopieren. Die folgenden Protokolleinträge zeigen, dass der DP-Thread einen PkgXferMgr-Auftrag erstellt. Nachdem der Auftrag erstellt wurde, ist die Arbeit des DP-Threads abgeschlossen, und der DP-Thread wird beendet.

    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) DP-Thread: Hinzufügen oder Aktualisieren des Pakets <PackageID> auf 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=Mo 16 Mai 16:31:37.364 2016 ISTR0="Dummy1" 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) Der aktuelle Benutzerkontext wird zum Herstellen einer Verbindung mit ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\.~ verwendet.
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) ~Paketübertragungsauftrag erstellt, um Paket-ID<> an den Verteilungspunkt ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ zu senden.
    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=Mo Mai 16 16:31:46.670 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 5204 (0x1454) Durchführen der Bereinigung vor der Rückgabe.
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454): Netzwerkverbindung zu \\PS1DP1.CONTOSO.COM\ADMIN$ wird abgebrochen.

    Wenn der DP-Thread einen PkgXferMgr-Auftrag erstellt, wird dazu eine Zeile in DistributionJobs die Tabelle eingefügt.

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

    Nach dem Erstellen des Auftrags setzt der DP-Thread auch die Aktion für den DP in der PkgServers_L Tabelle zurück.

    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. Der Paketprozessthread wird beendet, nachdem alle DP-Threads beendet wurden.

    Nachdem alle DP-Threads beendet wurden, wird auch der Paketverarbeitungsthread beendet:

    SMS_DISTRIBUTION_MANAGER ~DP-Thread 2364 (0x93c) für paket <PackageID> mit Threadhandle 00000000000000218C und Thread-ID 5204 beendet.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Alle DP-Threads wurden für den PackageID-Verarbeitungsthread <> abgeschlossen.
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ Beenden des Paketverarbeitungsthreads für PackageID<>.

Schritt 10: SMSDBMON benachrichtigt PkgXferMgr, den in Schritt 9-3 erstellten Auftrag zu verarbeiten.

Nachdem der PkgxferMgr-Auftrag in Schritt 9-3 erstellt wurde, erkennt SMSDBMON eine Änderung in der DistributionJobs Tabelle und löscht eine PKN-Datei in PkgTransferMgr.box , um PkgXferMgr anzuweisen, den Auftrag zu verarbeiten:

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> gelöscht. PKN [1035292]

Schritt 11: PkgXferMgr wird aktiviert, um den Auftrag zu verarbeiten

  1. Der Standard PkgXferMgr-Thread erstellt einen Thread, der an den angegebenen DP sendet:

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Sendeanforderung mit der ID: 577, Paket: <PackageID>, Version:1, Priorität: 2, Ziel: PS1DP1.CONTOSO.COM, DPPriorität: 200 gefunden
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~ Sendethread erstellt (Thread-ID = 0x12EC)

  2. Der sendende Thread kopiert den Inhalt in den DP.

    Der sendende Thread beginnt mit dem Kopieren des Paketinhalts auf den DP. Dieser Vorgang umfasst das Kopieren aller Dateien im Paket in den DP im SMS_DP$ Verzeichnis. Da das Paket nicht auf den DP verteilt wurde, wird die Aktion Weiterverteilen auf 0 festgelegt. Dies bedeutet, dass eine Datei, die bereits in der Inhaltsbibliothek auf dem DP vorhanden ist, nicht erneut kopiert wird.

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Senden eines Threads ab Auftrag: 577, Paket: <PackageID>, Version: 1, Priorität: 2, Server: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Gesendet status an den Verteilungs-Manager für pkg <PackageID>, Version 1, status 0 und Verteilungspunkt ["Display=\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Senden von Legacyinhalten <PackageID.1> für PackageID <>
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Redistribute=0, Related=
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Senden der Datei "\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp"
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Hinzufügen Dummy1.txt Datei in <PackageID.1>.
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Post-Aktionen für Remote-DP-PS1DP1.CONTOSO.COM abgeschlossen
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~Senden erfolgreich abgeschlossen
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) benutzer (NT AUTHORITY\SYSTEM), der die Anwendung (SMS_PACKAGE_TRANSFER_MANAGER) vom Computer (PS1SITE.CONTOSO.COM) aus führt, übermittelt SDK-Änderungen von site(PS1)
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~ Das Senden des SWD-Pakets <PackageID> Version 1 an den Verteilungspunkt 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=Mo 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. Der sendende Thread sendet eine status Nachricht an DistMgr.

    Nachdem der sendende Thread das Senden des Inhalts abgeschlossen hat (Erfolg/Fehler), sendet er die status an DistMgr, damit DistMgr die status in der Datenbank verarbeiten und aktualisieren kann. Diese status wird an DistMgr gesendet, indem eine STA-Datei mit dem Paket status im DistMgr.box\incoming Verzeichnis abgelegt wird.

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) Gesendet status an den Verteilungs-Manager für pkg <PackageID>, Version 1, status 3 und Verteilungspunkt ["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=Mo Mai 16 16:34:27.614 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR6="" ISTRR7="" 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) Thread wird abgeschlossen~

Schritt 12: SMS DP-Anbieter fügt den in Schritt 11-2 kopierten Inhalt der Inhaltsbibliothek hinzu

In Schritt 11-2 weist PkgXferMgr nach dem Kopieren jeder Datei den DP an, die Datei der Inhaltsbibliothek hinzuzufügen, indem Methoden für die SMS_DistributionPoint WMI-Klasse im SMS DP-Anbieternamespace (root\SCCMDP) ausgeführt werden. Wenn der Inhalt erfolgreich zur Inhaltsbibliothek hinzugefügt wurde, zeigt SMSDPProv.log Folgendes an:

2996 (0xbb4) Der Inhalt "<PackageID.1>" für das Paket "<PackageID>" wurde der Inhaltsbibliothek erfolgreich hinzugefügt.

Schritt 13: DistMgr verarbeitet die status Nachricht, die in Schritt 11-3 gesendet wurde.

Zum Verarbeiten der eingehenden STA-Datei (gesendet in Schritt 11-3) verwendet DistMgr den Replikationsverarbeitungsthread. Dieser Thread wird aktiviert, um die STA-Datei zu verarbeiten, aktualisiert die Zeile Typ 2 in den PkgStatusTabellen in der Datenbank und löst eine status Meldung mit der ID 2330 aus, was bedeutet, dass das Paket vom Verteilungs-Manager erfolgreich an den Verteilungspunkt verteilt wurde.

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Verarbeitung der eingehenden Datei E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU.STA.
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Verarbeitung von STA für reguläre DP ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~ Verarbeitung von status Update für PackageID <>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~ Der Paketserver wurde erfolgreich status für ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ für Paketpaket-ID <>aktualisiert, Status 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=Mo Mai 16 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) ~Paket status Datei E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU erfolgreich gelöscht. STA

Dieser Thread führt die folgende Abfrage aus, um die status in der Datenbank zu aktualisieren.

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\'

Schritt 14: Paket-status Änderungen werden über die Datenbankreplikation an anderen Standorten repliziert

Nachdem das Paket status in der Datenbank aktualisiert wurde, wird es über die Datenbankreplikation an andere Standorte repliziert.

Verteilen eines Pakets an standard-DP

Die folgenden Schritte beschreiben den Ereignisfluss, wenn ein Paket an einen Dp am primären Standort verteilt wird und dieser fragliche primäre Standortserver bereits über eine Kopie des Pakets in der Inhaltsbibliothek verfügt:

Schritt 1: Der Administrator verteilt das Paket an den DP. Der Administrator kann dies über die Verwaltungskonsole tun, die direkt mit dem betreffenden primären Standort, dem Standort der zentralen Verwaltung oder einem anderen primären Standort verbunden ist.

Nachdem der Administrator das Paket über die Konsole an einen DP verteilt hat, ruft die Verwaltungskonsole die AddDistributionPoints -Methode der SMS_Package -Klasse auf, um dem Paket den angegebenen DP hinzuzufügen. SMSProv.log zeigt Folgendes:

SMS Provider 4416 (0x1140) Context: SMSAppName=Configuration Manager Administrator console~
SMS Provider 4416 (0x1140) ExecMethodAsync : SMS_Package.PackageID="<PackageID>"::AddDistributionPoints~
SMS Provider 4416 (0x1140) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
SMS Provider 4416 (0x1140) Auditing: User CONTOSO\Admin called an audited method of an instance of class SMS_Package.~

Wenn diese Methode aufgerufen wird, fügt der SMS-Anbieter eine Zeile in ein, in PkgServers der Actionauf 2 (ADD) festgelegt ist:

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())

Schritt 2: Wenn der Administrator das Paket von einem anderen primären Standort oder vom Standort der zentralen Verwaltung aus verteilt, repliziert der Datenbankreplikationsdienst (DRS) Änderungen an dem betreffenden Standort.

Wenn der Administrator dieses Paket mit der Konsole verteilt, die mit dem Standort der zentralen Verwaltung oder einem anderen primären Standort verbunden ist, repliziert DRS die Änderungen an PkgServers anderen Standorten.

Schritt 3: SMSDBMON benachrichtigt DistMgr, das Paket zu verarbeiten

Nachdem die Änderung an dem Standort repliziert wurde, an dem sich der DP befindet, erkennt SMSDBMON eine Änderung in der PkgNotification Tabelle und löscht eine PKN-Datei in DistMgr.box , um DistMgr anzuweisen, das Paket zu verarbeiten:

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

Schritt 4: DistMgr reaktiviert, um das Paket zu verarbeiten

DistMgr wird nach dem Erkennen der PKN-Datei aktiviert und verarbeitet das Paket.

  1. Der Standard DistMgr-Thread startet einen Paketverarbeitungsthread.

    Der Standard DistMgr-Thread fügt das Paket der Paketverarbeitungswarteschlange hinzu und erstellt einen Paketverarbeitungsthread.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Hinzufügen des Pakets "<PackageID>" zur Paketverarbeitungswarteschlange.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ Derzeit werden 0 von drei zulässigen Paketverarbeitungsthreads verwendet.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Paketverarbeitungsthread für Paket "PackageID>"< gestartet, Thread-ID = 0xB58 (2904)

  2. Der Paketverarbeitungsthread erstellt DP-Threads zum Verarbeiten von Paketaktionen und wartet dann, bis sie beendet werden.

    Der Paketverarbeitungsthread (TID 2904) verarbeitet die Paketaktionen (Hinzufügen/Aktualisieren/Entfernen) für den DP. In diesem Fall wurde das Paket einem DP hinzugefügt, und der Paketverarbeitungsthread erstellt einen DP-Thread, um das Paket zum DP hinzuzufügen. Nach dem Erstellen des DP-Threads wartet der Paketverarbeitungsthread, bis alle DP-Threads beendet wurden, bevor er weitergeht:

    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Verarbeitung des Pakets <PackageID> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) Keine Aktion für das Paket <PackageID> angegeben, es kann jedoch Paketserveränderungen für dieses Paket geben.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) Paket-ID> zum Server hinzufügen <["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~DP-Verarbeitungsthread 3792 zum Hinzufügen oder Aktualisieren des Pakets <PackageID> auf dem Server erstellt ["Display=\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~Warten auf den Abschluss aller DP-Threads für den Paket-PAKET-ID-Verarbeitungsthread<>.

  3. Die DP-Threads erstellen einen PkgXferMgr-Auftrag (Paketübertragungs-Manager), um Inhalte an die DPs zu übertragen, und werden dann beendet.

    Der DP-Thread (TID 3792) beginnt mit dem Hinzufügen des Pakets zum DP. Die DP-Threads kopieren den Paketinhalt nicht direkt in den DP, sondern erstellen stattdessen einen Auftrag für PkgXferMgr, der ihn anweist, den Paketinhalt auf den DP zu kopieren. Die folgenden Protokolleinträge zeigen, dass der DP-Thread einen PkgXferMgr-Auftrag erstellt. Nachdem der Auftrag erstellt wurde, ist die Arbeit des DP-Threads abgeschlossen, und der DP-Thread wird beendet.

    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) DP-Thread: Versuch, Paket-ID <> auf DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~Paketübertragungsauftrag erstellt, umPaket-Paket-ID <> an den Verteilungspunkt ["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=Mo Mai 16 19:26:58.642 2016 ISTR0="<PackageID>" ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\" ISTR2="" 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\"

    Wenn der DP-Thread einen PkgXferMgr-Auftrag erstellt, wird dazu eine Zeile in DistributionJobs die Tabelle eingefügt.

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

    Nach dem Erstellen des Auftrags setzt der DP-Thread auch die Aktion für den DP in PkgServers_L der Tabelle zurück:

    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. Der Paketverarbeitungsthread wird beendet, nachdem alle DP-Threads beendet wurden.

    Nachdem alle DP-Threads beendet wurden, wird auch der Paketverarbeitungsthread beendet.

    SMS_DISTRIBUTION_MANAGER ~DP-Thread 2904 (0xb58) für PackageID <> mit 0000000000002524 Threadhandle und Thread-ID 3792 beendet.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~ Alle DP-Threads wurden für den PackageID-Verarbeitungsthread <> abgeschlossen.
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~ Beenden des Paketverarbeitungsthreads für PackageID<>.

Schritt 5: SMSDBMON benachrichtigt PkgXferMgr zur Verarbeitung des Auftrags

Nachdem der PkgxferMgr-Auftrag erstellt wurde, erkennt SMSDBMON dieses Mal eine Änderung in der DistributionJobs Tabelle und löscht eine PKN-Datei in PkgTransferMgr.box , um PkgXferMgr anzuweisen, den Auftrag zu verarbeiten:

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

Schritt 6: PkgXferMgr wird aktiviert, um den Auftrag zu verarbeiten

  1. Der Standard PkgXferMgr-Thread erstellt einen sendenden Thread.

    Der Standard PkgXferMgr-Thread erstellt einen sendenden Thread, um das Paket an den angegebenen DP zu senden.

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) Sendeanforderung mit id: 582, Paket: <PackageID>, Version:1, Priorität: 2, Ziel: PS1DP2.CONTOSO.COM, DPPriority: 200 gefunden
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~ Sendethread erstellt (Thread-ID = 0xBCC)

  2. Der sendende Thread kopiert Inhalt in den DP.

    Der sendende Thread (TID 3020) beginnt mit dem Kopieren des Paketinhalts in den DP. Dieser Vorgang umfasst das Kopieren aller Dateien im Paket in den DP im SMS_DP$ Verzeichnis. Da das Paket nicht erneut an den DP verteilt wurde, wird die Neuverteilungsaktion auf 0 festgelegt. Dies bedeutet, dass eine Datei, die bereits in der Inhaltsbibliothek auf dem DP vorhanden ist, nicht erneut kopiert wird.

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Thread wird für Auftrag gesendet: 582, Paket: <PackageID>, Version: 1, Priorität: 2, Server: PS1DP2.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Gesendet status an den Verteilungs-Manager für pkg <PackageID>, Version 1, status 0 und Verteilungspunkt ["Display=\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Senden von Legacyinhalten <PackageID.1> für PackageID <>
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Redistribute=0, Related= SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Senden der Datei "\\PS1DP2.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp"
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Hinzufügen Dummy1.txt Datei in <PackageID.1>
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Post-Aktionen für Remote-DP-PS1DP2.CONTOSO.COM abgeschlossen
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~Senden erfolgreich abgeschlossen
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~ Das Senden des SWD-Pakets <PackageID> Version 1 an den Verteilungspunkt 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=Mo Mai 16 19:28:12.991 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP2.CONTOSO.COM" ISTRR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

  3. Der sendende Thread sendet eine status Nachricht an DistMgr.

    Nachdem der sendende Thread das Senden des Inhalts abgeschlossen hat (Erfolg/Fehler), sendet er die status an DistMgr, damit DistMgr die status in der Datenbank verarbeiten und aktualisieren kann. Diese status wird an DistMgr gesendet, indem eine STA-Datei mit dem Paket status im DistMgr.box\incoming Verzeichnis abgelegt wird:

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) Gesendet status an den Verteilungs-Manager für pkg PackageID, Version 1, status 3 und Verteilungspunkt ["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=Mo 16 Mai 19:28:13.003 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP2.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" 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) Thread wird abgeschlossen~

Schritt 7: SMS DP-Anbieter fügt den Inhalt der Inhaltsbibliothek hinzu

Nach dem Kopieren jeder Datei weist PkgXferMgr den DP an, die Datei der Inhaltsbibliothek hinzuzufügen, indem Methoden für die SMS_DistributionPoint WMI-Klasse im SMS DP-Anbieternamespace (root\SCCMDP) ausgeführt werden. Wenn der Inhalt der Inhaltsbibliothek erfolgreich hinzugefügt wurde, zeigt SMSDPProv.log Folgendes an:

1304 (0x518) Der Inhalt "<PackageID.1>" für das Paket "<PackageID>" wurde der Inhaltsbibliothek erfolgreich hinzugefügt.

Schritt 8: DistMgr verarbeitet die von PkgXferMgr gesendeten status Nachrichten.

Zum Verarbeiten der eingehenden STA-Datei (gesendet in Schritt 6-3) verwendet DistMgr den Replikationsverarbeitungsthread. Dieser Thread wird aktiviert, um die STA-Datei zu verarbeiten, aktualisiert die Zeile Typ 2 in den PkgStatus Tabellen in der Datenbank und löst eine status Meldung mit der ID 2330 aus, was bedeutet, dass das Paket vom Verteilungs-Manager erfolgreich an den Verteilungspunkt verteilt wurde.

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Verarbeitung der eingehenden Datei E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M.STA.
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~Verarbeitung von STA für reguläre DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~ Verarbeitung von status Update für PackageID <>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~ Der Paketserver wurde erfolgreich aktualisiert, status für ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ für PackageID<>, Status 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=Mo Mai 16 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) ~Paket status Datei E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M erfolgreich gelöscht. STA

Dieser Thread führt die folgende Abfrage aus, um die status in der Datenbank zu aktualisieren.

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\'

Schritt 9: Paketänderungen status werden über DRS an andere Standorte repliziert

Nachdem das Paket status in der Datenbank aktualisiert wurde, wird es über die Datenbankreplikation an andere Standorte repliziert.

Verteilen eines Pakets zum Pullen von DP

In den folgenden Schritten wird der Ereignisfluss beschrieben, wenn ein Paket an einen Pull-DP am primären Standort verteilt wird und dieser betreffende primäre Standortserver bereits über eine Kopie des Pakets in der Inhaltsbibliothek verfügt.

Schritt 1: Der Administrator verteilt das Paket an den DP. Der Administrator kann dies über die Verwaltungskonsole tun, die direkt mit dem betreffenden primären Standort, dem Standort der zentralen Verwaltung oder einem anderen primären Standort verbunden ist.

Nachdem der Administrator das Paket über die Konsole an einen DP verteilt hat, ruft die Konsole die AddDistributionPoints -Methode der entsprechenden abgeleiteten Klasse der SMS_Package Klasse (SMS_ContentPackage für Anwendungen im folgenden Beispiel) auf, um dem Paket den angegebenen DP hinzuzufügen. SMSProv.log zeigt Folgendes an:

SMS Provider 22172 (0x569c) Context: SMSAppName=Configuration Manager Administrator console~
SMS Provider 22172 (0x569c) ExecMethodAsync : SMS_ContentPackage.PackageID='P010000F'::AddDistributionPoints~
SMS Provider 22172 (0x569c) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
SMS Provider 22172 (0x569c) Auditing: User CONTOSO\Admin called an audited method of an instance of class SMS_ContentPackage.~

Wenn diese Methode aufgerufen wird, fügt der SMS-Anbieter eine Zeile in PkgServers ein, die Action auf 2 (ADD) festgelegt ist, und eine Benachrichtigung wird in der PkgNotification Tabelle erstellt.

Schritt 2: Wenn der Administrator das Paket von einem anderen primären Standort oder vom Standort der zentralen Verwaltung aus verteilt, repliziert DRS Änderungen an dem betreffenden Standort.

Wenn der Administrator dieses Paket mit der Konsole verteilt hat, die mit dem Standort der zentralen Verwaltung oder einem anderen primären Standort verbunden ist, repliziert DRS die Änderungen in PkgServers an andere Standorte.

Schritt 3: SMSDBMON benachrichtigt DistMgr, das Paket zu verarbeiten

Nachdem diese Änderung an dem Standort repliziert wurde, an dem sich der DP befindet, erkennt SMSDBMON eine Änderung in der PkgNotification Tabelle und löscht eine PKN-Datei in DistMgr.box , um DistMgr anzuweisen, das Paket zu verarbeiten.

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

Schritt 4: DistMgr reaktiviert, um das Paket zu verarbeiten

DistMgr wird nach dem Erkennen der PKN-Datei aktiviert und verarbeitet das Paket.

  1. Der DistMgr-Hauptthread startet einen Paketverarbeitungsthread.

    Der DistMgr-Hauptthread fügt das Paket der Paketverarbeitungswarteschlange hinzu und erstellt einen Paketverarbeitungsthread.

    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) Hinzufügen des Pakets "P010000F" zur Paketverarbeitungswarteschlange.
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~ Derzeit werden 0 von drei zulässigen Paketverarbeitungsthreads verwendet.
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~Paketverarbeitungsthread für Paket 'P010000F', Thread-ID = 0x2C44 (11332)

  2. Der Paketverarbeitungsthread erstellt DP-Threads, um Paketaktionen zu verarbeiten, und wartet auf deren Beendigung.

    Der Paketverarbeitungsthread (TID 11332) verarbeitet die Paketaktionen (Hinzufügen/Aktualisieren/Entfernen) für die DP(s). In diesem Fall wurde das Paket einem DP hinzugefügt, und der Paketverarbeitungsthread erstellt einen DP-Thread, um das Paket zum DP hinzuzufügen. Nach dem Erstellen von DP-Threads wartet der Paketverarbeitungsthread, bis alle DP-Threads beendet werden, bevor er den Vorgang fortbewegt.

    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Verarbeitungspaket P010000F (SourceVersion:3; StoredVersion:3)
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) Keine Aktion für das Paket P010000F angegeben, es kann jedoch Paketserveränderungen für dieses Paket geben.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) Beginnen Sie mit dem Hinzufügen von Paketen P010000F zum Server ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~DP-Verarbeitungsthread 22444 zum Hinzufügen oder Aktualisieren von Paketen P010000F auf dem Server erstellt ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ Warten auf den Abschluss aller DP-Threads für den Paketverarbeitungsthread P010000F.

  3. Der DP-Thread erstellt einen PkgXferMgr-Auftrag zum Übertragen von Inhalten an die DPs und wird beendet.

    DER DP-Thread (TID 22444) beginnt mit dem Hinzufügen des Pakets zum DP. DP-Threads kopieren den Paketinhalt nicht direkt in den DP und erstellen stattdessen einen Auftrag für den Paketübertragungs-Manager (PkgXferMgr), der ihn anweist, den Paketinhalt auf den DP zu kopieren. Die folgenden Protokolleinträge zeigen, wie der DP-Thread einen PkgXferMgr-Auftrag erstellt. Nachdem der Auftrag erstellt wurde, ist die Arbeit des DP-Threads abgeschlossen, und der DP-Thread wird beendet.

    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) DP-Thread: Versuch, Paket-P010000F auf 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\ ist eine PullDP.
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) ~Paketübertragungsauftrag erstellt, um Paket-P010000F an den Verteilungspunkt ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ zu senden.
    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\"

    Wenn der DP-Thread einen PkgXferMgr-Auftrag erstellt, wird dazu eine Zeile in DistributionJobs die Tabelle eingefügt.

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

    Nach dem Erstellen des Auftrags setzt der DP-Thread auch die Aktion für den DP in PkgServers_L der Tabelle zurück.

  4. Der Paketverarbeitungsthread wird beendet, nachdem alle DP-Threads beendet wurden.

    Nachdem alle DP-Threads beendet wurden, wird auch der Paketverarbeitungsthread beendet.

    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~DP-Thread für paket P010000F mit Threadhandle 00000000000003E2C und Thread-ID 22444 beendet.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ Alle DP-Threads wurden für den Paketverarbeitungsthread P010000F abgeschlossen.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~StoredPkgVersion (3) des Pakets P010000F. StoredPkgVersion in der Datenbank ist 3.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~SourceVersion (3) des Pakets P010000F. SourceVersion in der Datenbank ist 3.
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~Beendeter Paketverarbeitungsthread für paket P010000F.

Schritt 5: SMSDBMON benachrichtigt PkgXferMgr zur Verarbeitung des Auftrags

Nachdem der PkgxferMgr-Auftrag erstellt wurde, erkennt SMSDBMON dieses Mal eine Änderung in DistributionJobs der Tabelle und löscht eine PKN-Datei in PkgTransferMgr.box , um PkgXferMgr anzuweisen, den Auftrag zu verarbeiten.

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

Schritt 6: PkgXferMgr wird aktiviert, um den Auftrag zu verarbeiten

  1. Der PkgXferMgr-Hauptthread erstellt einen Pull-DP-Sendethread, um das Paket an den angegebenen DP zu senden.

    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) Sendeanforderung mit der ID 190 gefunden, Paket: P010000F, Version:3, Priorität: 2, Ziel: P01PDP1.CONTOSO.COM, DPPriorität: 200
    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) ~ Sendethread erstellt (Thread-ID = 0x2B4C)

  2. Pull-DP-Sendethread sendet eine Benachrichtigung an den Pull-DP

    Im Gegensatz zu einem regulären sendenden Thread weist pull dp sending thread (TID 11084) den Pull-DP an, mit dem Herunterladen des Inhalts zu beginnen, indem eine Benachrichtigung gesendet wird. Dies erfolgt in 4 Phasen.

    Phase 1: Pull-DP sendet Threadüberprüfungen, um festzustellen, ob der inhalt, der an den Pull-DP verteilt wird, auf einer Quell-DP(n) verfügbar ist. Wenn der Inhalt auf dem Quell-DP nicht verfügbar ist, endet der Pull-DP-Sendethread mit der folgenden Meldung im Protokoll und löst die Statusmeldungs-ID 8212 aus, was bedeutet: "Dieser Pullverteilungspunkt verfügt über keine Quellen, von denen er Inhalte herunterladen kann. Wir werden es später noch einmal versuchen." Wiederholungsversuche werden später basierend auf den Wiederholungseinstellungen versucht, die auf der Registerkarte "Softwareverteilungskomponentenkonfiguration>Pullverteilungspunkt " konfiguriert sind.

    ~Quellspeicherorte für einen oder mehrere Inhalte unter Paket P0100009 für Pull-DP-P01PDP1 nicht gefunden werden. CONTOSO.COM. Benachrichtigung nicht gesendet.
    ~ PullDP-Benachrichtigung fehlgeschlagen. Fehleranzahl = 1/30, Neustartzeit = 10.01.2019 02:00:42 Uhr Eastern Standard Time
    STATMSG: ID=8212 SEV=I LEV=M SOURCE='SMS Server' COMP='SMS_PACKAGE_TRANSFER_MANAGER' SYS=P01SITE. CONTOSO.COM SITE=P01 PID=2336...

    Hier ist die Abfrage, die ausgeführt wird, um zu überprüfen, ob Inhalte auf einem Quell-DP verfügbar sind:

    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 sendet Threadüberprüfungen, um festzustellen, ob der Pull-DP über Kapazität für weitere Aufträge verfügt. Standardmäßig können Pull-DPs 50 Aufträge gleichzeitig verarbeiten. Dies wird durch die SCF-Eigenschaft SMS_DISTRIBUTION_MANAGERPullDP Number Of Active Jobs gesteuert, und es wird nicht empfohlen, die Kapazität zu erhöhen, da dies zu Skalierbarkeitsproblemen führen kann. Wenn der Pull-DP bereits mit maximaler Kapazität funktioniert (d. h. 50 ausgeführte Aufträge), endet der Pull-DP-Sendethread mit der folgenden Meldung im Protokoll und wiederholt später basierend auf den Einstellungen für Wiederholungen , die auf der Registerkarte "Softwareverteilungskomponentenkonfiguration>Pullverteilungspunkt " konfiguriert sind.

    PullDP <DPNALPATH> hat die maximale Kapazität 50 erreicht.
    PullDP hat keine Kapazität. Neustartzeit = <Zeitstempel>
    STATMSG: ID=8211 SEV=E LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=P01SITE. CONTOSO.COM SITE=P01 PID=17252 TID=4712...

    Hier ist die Abfrage, die verwendet wird, um zu bestimmen, ob der Pull-DP die Kapazität aufweist:

    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: Pull-DP-Sendethread sendet eine Paketinformationspaketdatei, die metadaten der Dateien enthält, die heruntergeladen werden müssen. Diese Datei ist eine <PackageID>. TZ-Datei , die aus der PAKET-INI-Datei aus der Inhaltsbibliothek des Standortservers generiert und in das SMS_DP$ Verzeichnis auf dem Pull-DP kopiert wird.

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Pull-DP-Thread ab Auftrag: 190, Paket: P010000F, Version: 3, Priorität: 2, Server: P01PDP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Senden des Paketinformationspakets P010000F an PullDP. ["Display=\\P01PDP1.CONTOSO.COM\"] MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\

    Phase 4: Pull-DP-Sendethread erstellt eine instance der SMS_PullDPNotification Klasse auf dem Pull-DP im root\SCCMDP Namespace, die die Paket-ID, die Paketversion und eine XML-Benachrichtigung enthält. Nach dem Erstellen des instance der SMS_PullDPNotification Klasse wird die NotifyPullDP -Methode in der SMS_DistributionPoint -Klasse im root\SCCMDP -Namespace ausgeführt, die den DP WMI-Anbieter anweist, die Pull-DP-Komponente zu benachrichtigen, um mit dem Herunterladen des Inhalts zu beginnen.

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~ WMI-Aktionen auf Pull-DP-P01PDP1 erfolgreich ausgeführt. CONTOSO.COM.
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~ PullDP-Benachrichtigung gesendet. Anzahl versucht = 1/30, Neustartzeit = 07.01.2019 16:06:04 Pm Eastern Standard Time
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) Pull DP Senden des Threads abgeschlossen~

    Benachrichtigungs-XML wird durch Aufrufen fnGetPullDPXMLNotificationvon generiert. So sieht eine Beispielabfrage aus, die die Benachrichtigungs-XML-Abfrage generiert, die zeigt, dass die Aktionhinzugefügt wird, da der Inhalt nicht neu verteilt wurde:

    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
    

    Die XML-Benachrichtigung enthält die Inhaltsmetadaten zusammen mit dem Dp-Quellspeicherort. So sieht eine BEISPIEL-XML-Benachrichtigung aus:

    <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. Der Pull-DP-Thread aktualisiert den Auftrag, damit status Abruf gestartet werden kann.

    Im Gegensatz zu einem sendenden Thread für einen Standard-DP, der den Auftrag nach erfolgreichem Abschluss löscht, aktualisiert pull DP sendenden Thread den Auftrag in DistributionJobs der Tabelle und legt den SendAction auf fest, PullQueryResultAction nachdem die Benachrichtigung erfolgreich an den Pull-DP gesendet wurde.

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

    Zustandsmeldungen werden als primärer Mechanismus für die Verteilung status der Berichterstellung vom Pull-DP verwendet, und der Verteilungsauftrag verbleibt in der Datenbank, bis wir über Erfolg/Fehler status des Auftrags benachrichtigt werden. PkgXferMgr beginnt mit dem Abruf in geplanten Intervallen (konfigurierbar auf der Registerkarte Eigenschaften der Softwareverteilungskomponente>Pullverteilungspunkt ), um zu überprüfen, ob der Inhalt auf den Pull-DP heruntergeladen wurde. Obwohl der Pull-DP eine Zustandsmeldung sendet, die die Verteilung status enthält, führt PkgXferMgr auch Abrufe als Sicherungsmechanismus durch, um die Verteilung status für den Fall, dass pull DP aus irgendeinem Grund keine Zustandsmeldung an den Verwaltungspunkt senden kann.

  4. (Im Abrufintervall): Der Pull-DP-Sendethread wird erstellt, um die Verteilung status aus dem Pull-DP abzufragen.

    Ein neuer Pull-DP-Sendethread wird nach dem Wert Delay before polling (minutes) gestartet, der in den Eigenschaften der Softwareverteilungskomponente angegeben ist, um die Verteilung status zu überprüfen. Im folgenden Beispiel fragt es den Pull-DP ab und stellt fest, dass der Inhalt erfolgreich installiert wurde, und sendet eine status Nachricht an den Verteilungs-Manager.

    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Pull-DP-Thread ab Auftrag: 194, Paket: P010000F, Version: 3, Priorität: 2, Server: P01PDP1.CONTOSO.COM, DPPriorität: 200
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) das Senden des SWD-Pakets P010000F Version 3 an den Verteilungspunkt P01PDP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) Gesendet status an den Verteilungs-Manager für pkg P010000F, Version 3, status 3 und Verteilungspunkt ["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-Thread wird abgeschlossen~

    Beachten Sie, dass der Auftrag aus der Datenbank gelöscht wird, wenn nach dem Empfang einer Erfolgsmeldung vom Pull-DP status, wodurch der Abruf beendet wird.

Schritt 7: SMS DP-Anbieter benachrichtigt pull DP-Komponente (CcmExec) zum Verarbeiten des Auftrags

Bei der Ausführung der Methode benachrichtigt der NotifyPullDP DP-WMI-Anbieter CcmExec, der die Pull-DP-Komponente hostet. SMSDPProv.log zeigt Folgendes an:

4688 (0x1250) PullDP erfolgreich benachrichtigt

Schritt 8: Pull DP lädt die Aufträge aus WMI

Beim Empfangen einer Benachrichtigung lädt die Pull-DP-Komponente die Aufträge aus WMI und überprüft die <PackageID>. TZ-Datei , die von PkgxferMgr kopiert wurde.

PullDP 4404 (0x1134) CPullDPService::LoadJobsFromXML für P010000F.3
PullDP 4404 (0x1134) – P010000F.3 – XML verfügt über 1 Inhaltsaufträge.
PullDP 4404 (0x1134) CPullDPPkgContJob::LoadContentJobFromXML(): Set JobState = NotStarted
PullDP 4404 (0x1134) - P010000F.3 - Loaded content job {C10457F9-DE3A-4B45-878C-345919AFF97E} for content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 from XML...
PullDP 4404 (0x1134) CPullDPPkgJob::LoadJobFromXML() wurde erfolgreich für Paket P010000F.3 geladen. Es gibt 1 Inhaltsaufträge. ...
PullDP 4404 (0x1134) Inhaltsinformationen erfolgreich überprüft Hash E:\SMS_DP$\P010000F.tz :3ED23B9869F7E10E19439F11341405FF76E22022E56468DCF211475899BD2914
PullDP 4404 (0x1134) CPullDPService::ExecuteJobs(). 1 zu erledigende Aufträge

Schritt 9: Pull-DP erstellt Inhaltsaufträge, um die dem Paket zugeordneten Inhalte herunterzuladen.

PullDP 4404 (0x1134) P010000F.3 Beim Download gibt es 1 Inhaltsaufträge.
PullDP 3812 (0xee4) Content-Auftrag {C10457F9-DE3A-4B45-878C-345919AFF97E} wird ausgeführt.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (Status: 1-NotStarted) für Paket P010000F.3-Inhalt Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Im obigen Beispiel ist der Auftrag {C10457F9-DE3A-4B45-878C-345919AFF97E} inhalt Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 zugeordnet. Für ein Paket mit mehreren Inhaltselementen wird die Anzahl der Aufträge (mit einer eindeutigen ID) angezeigt, die dem Paket zugeordnet sind.

PullDP 1320 (0x528) P010000A.2 Ab dem Download gibt es 2 Inhaltsaufträge.
PullDP 5012 (0x1394) ContentExecuteJob {55692006-DFE8-4357-86D9-9839C8BF79CF} (Status): 1-NotStarted) für paket P010000A.2 content 2484568c-7aba-44ae-8557-05b61d62e70d.
PullDP 4112 (0x1010) ContentExecuteJob {7175CD81-CF67-48C9-AA22-010BF60B640E} (state: 1-NotStarted) für paket P010000A.2 content c085b4ba-8e8f-42bf-8e2d-bc1067697722.

Schritt 10: (falls zutreffend) Pull-DP lädt Inhaltssignatur herunter

(Falls zutreffend) Der Inhaltsauftrag erstellt einen DTS-Auftrag (Data Transfer Service), um die Paketsignatur herunterzuladen. Die Signaturdatei ist eine TAR-Datei, die aus dem SMSSIG$ virtuellen Verzeichnis vom Quellverteilungspunkt heruntergeladen wird und die RDC-Signaturen für jede Datei im Inhalt enthält. Die RDC-Signaturen werden verwendet, um zu bestimmen, ob sich der Dateiinhalt geändert hat und ob Deltainhalt oder vollständiger Inhalt heruntergeladen werden soll. Dieser Schritt gilt nur für Inhalte, die sich geändert haben, sodass dieser Schritt möglicherweise nicht immer angezeigt wird und stattdessen Schritt 11 angezeigt wird.

PullDP 3812 (0xee4) Signature erstellt DtS-Auftrag herunterladen {3C962758-7ABE-40F2-A585-E5B59E378BEA} für Paket P010000F.3, Inhalts-ID Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. JobState = NotStarted
PullDP 3812 (0xee4) CPullDPPkgContJob::NotifyDeltaDownload. JobState = [Signatur herunterladen] Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 für Paket P010000F.3 Inhaltsauftrags-ID {C10457F9-DE3A-4B45-878C-345919AFF97E}
PullDP 752 (0x2f0) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (Status: 4-Downloading Signature) für Paket P010000F.3 Inhalt Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

DataTransferService.log zeigt den Fortschritt des DTS-Auftrags an, der einen BITS-Auftrag zum Herunterladen der Signaturdatei erstellt und nach Abschluss benachrichtigt:

DataTransferService 3812 (0xee4) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} erstellt, um von "<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSSIG$>" in herunterzuladen "E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1".
DataTransferService 3856 (0xf10) Starten des BITS-Downloads für DTS-Auftrag "{3C962758-7ABE-40F2-A585-E5B59E378BEA}".
DataTransferService 3856 (0xf10) Starten des BITS-Auftrags '{43647077-986C-4727-A954-B327ECA50302}' für DTS-Auftrag '{3C962758-7ABE-40F2-A585-E5B59E378BEA}' unter benutzer 'S-1-5-18'.
DataTransferService 3856 (0xf10) Hinzufügen zum BITS-Auftrag: Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.tar
DataTransferService 2528 (0x9e0) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} wurde erfolgreich heruntergeladen.
DataTransferService 3856 (0xf10) Ausführen für DTS-Auftrag "{3C962758-7ABE-40F2-A585-E5B59E378BEA}". Aktueller Status: "RetrievedData".
DataTransferService 3856 (0xf10) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} im Zustand "NotifiedComplete".
DataTransferService 3856 (0xf10) DTS-Auftrag {3C962758-7ABE-40F2-A585-E5B59E378BEA} wurde abgeschlossen:

Pull DP empfängt die Vervollständigungsbenachrichtigung und verarbeitet die Signaturen, um zu bestimmen, ob ein vollständiger download oder ein Delta-Download erforderlich ist.

PullDP 4300 (0x10cc) DTS-Nachricht für Den Inhaltsauftrag {C10457F9-DE3A-4B45-878C-345919AFF97E} empfangen, wobei 1 aktive Aufträge für alle aufträge gesucht werden, die diesen Inhaltsauftrag enthalten. DTS-Auftrag ist {3C962758-7ABE-40F2-A585-E5B59E378BEA}
PullDP 4300 (0x10cc) DTS succeeded message received for P010000F.3, content job {C10457F9-DE3A-4B45-878C-345919AFF97E}, status is 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (Status: 5-Signatur heruntergeladen) für Paket P010000F.3-Inhalt Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Schritt 11: Pull-DP erstellt einen DataTransferService-Auftrag (DTS) zum Herunterladen von Inhalten

Pull DP erstellt einen Downloadauftrag für den Inhalt. In diesem Beispiel war der Inhalt auf dem Pull-DP nicht vorhanden, sodass ein DTS-Auftrag für den vollständigen Download für das Paket erstellt wird. Der DTS-Auftrag kann verwendet werden, um den Downloadprozess im DataTransferService.log im nächsten Schritt nachzuverfolgen:

PullDP 4300 (0x10cc) DTS-Nachricht für Den Inhaltsauftrag {C10457F9-DE3A-4B45-878C-345919AFF97E} empfangen, wobei 1 aktive Aufträge für alle aufträge gesucht werden, die diesen Inhaltsauftrag enthalten. DTS-Auftrag ist {3C962758-7ABE-40F2-A585-E5B59E378BEA}
PullDP 4300 (0x10cc) DTS succeeded message received for P010000F.3, content job {C10457F9-DE3A-4B45-878C-345919AFF97E}, status is 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (Status: 5-Signatur heruntergeladen) für Paket P010000F.3-Inhalt Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. ...
PullDP 3856 (0xf10) Datei zum Herunterladen: ConfigMgrTools.msi
PullDP 3856 (0xf10) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: 0 Dateien sind bereits vorhanden, 1 Dateien zum Herunterladen
PullDP 3856 (0xf10) Erstellt fullDownload(Manifest) DTS-Auftrag {78635652-3D12-4A26-A51B-D553934ECB54} für Paket P010000F.3, inhalts-ID Content_3c9813ba-d7ab-4963-929c-36f90f479613.1, Inhaltsauftrags-ID {C10457F9-DE3A-4B45-878C-345919AFF97E}.

Schritt 12: DTS erstellt einen BITS-Auftrag, der den Inhalt herunterlädt und eine Abschlussbenachrichtigung sendet

DataTransferService.log zeigt den Fortschritt des Auftrags an. Wenn die ausführliche Protokollierung für den Pull-DP aktiviert ist, zeigen PullDP.log auch weitere Informationen zum Downloadfortschritt an.

DataTransferService 3856 (0xf10) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54}, erstellt zum Herunterladen von "<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1>" in "E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1\3".
DataTransferService 3812 (0xee4) Starten des BITS-Auftrags '{04498466-5A8E-4A22-97F2-A66306143A20}' für DTS-Auftrag '{78635652-3D12-4A26-A51B-D553934ECB54}' unter benutzer 'S-1-5-18'.
DataTransferService 3812 (0xee4) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54} im Zustand "DownloadingData".
DataTransferService 752 (0x2f0) DTS-Auftrag {78635652-3D12-4A26-A51B-D553934ECB54} wurde abgeschlossen:

Schritt 13: Pull DP verschiebt den Inhalt in den Zustand "Heruntergeladen".

Nach Abschluss des DTS-Auftrags wird der Pull-DP benachrichtigt und der Inhalt wird in den Zustand Heruntergeladen verschoben:

PullDP 3812 (0xee4) DTS-Nachricht für Den Inhaltsauftrag {C10457F9-DE3A-4B45-878C-345919AFF97E} empfangen, wobei 1 aktive Aufträge für alle aufträge gesucht werden, die diesen Inhaltsauftrag enthalten. DTS-Auftrag ist {78635652-3D12-4A26-A51B-D553934ECB54}
PullDP 3812 (0xee4) DTS succeeded message received for P010000F.3, content job {C10457F9-DE3A-4B45-878C-345919AFF97E}, status is 0x0 :
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (Status: 9-Heruntergeladen) für Paket P010000F.3 Inhalt Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

Schritt 14: Der Inhalt wird in die Inhaltsbibliothek verschoben, und der Status wird auf Erfolgreich verschoben.

Nachdem der Inhalt erfolgreich heruntergeladen wurde, verschieben Sie den Inhalt per Pullvorgang in die Inhaltsbibliothek (auch als Single Instance Storage bezeichnet). Nachdem der Inhalt in die Inhaltsbibliothek verschoben wurde, wird der Inhalt in den Zustand SIApplied verschoben, gefolgt vom Status Erfolgreich .

PullDP 3856 (0xf10) CPullDPPkgContJob::ApplySingleInstancing(): JobState = Downloaded
PullDP 3856 (0xf10) CPullDPPkgContJob::NotifySIApplied(). JobState = SIApplied
PullDP 3812 (0xee4) Content-Auftrag {C10457F9-DE3A-4B45-878C-345919AFF97E} wird ausgeführt.
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (Status: 1 3-SIApplied) für Paketinhalt P010000F.3 Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.
...
PullDP 3812 (0xee4) CPullDPPkgContJob::NotifySucceeded(). Der Inhaltsauftrag {C10457F9-DE3A-4B45-878C-345919AFF97E} für Paket P010000F.3 und Content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 wurde erfolgreich abgeschlossen. JobState = Succeeded
PullDP 3812 (0xee4) Benachrichtigung, dass der Inhaltsauftrag {C10457F9-DE3A-4B45-878C-345919AFF97E} für das Paket P010000F.3 abgeschlossen wurde.

Nachdem jedes Inhaltselement der Inhaltsbibliothek hinzugefügt wurde, wird SMSDPProv.log ebenfalls benachrichtigt und meldet Folgendes:

4688 (0x1250) Inhalt "Content_3c9813ba-d7ab-4963-929c-36f90f479613.1" für paket "P010000F" wurde der Inhaltsbibliothek erfolgreich hinzugefügt

Beachten Sie, dass einem einzelnen Paket möglicherweise mehrere Inhaltselemente zugeordnet sind (z. B. eine Anwendung mit mehr als einem Bereitstellungstyp oder einem Softwareupdatepaket). Für jeden Inhalt, der dem Paket zugeordnet ist, wird ein DTS-Auftrag zum Herunterladen von Inhalten erstellt, und der Inhalt wird nach erfolgreichem Abschluss in die Inhaltsbibliothek (Status Erfolgreich ) verschoben. Aus diesem Grund werden möglicherweise mehrere Inhaltselemente für ein Paket im PullDP.log in den Zustand Erfolgreich verschoben, aber das gesamte Paket status bleibt möglicherweise weiterhin im Status In Bearbeitung, wenn andere Inhaltselemente, die Teil des Pakets sind, weiterhin heruntergeladen werden.

Schritt 15: Nachdem alle Inhalte heruntergeladen wurden, wechselt das Paket in den Status "Erfolgreich".

Nachdem alle Inhaltsaufträge für das Paket erfolgreich abgeschlossen und auf die Inhaltsbibliothek angewendet wurden, verschiebt pull DP das Paket in den Zustand Erfolgreich .

PullDP 3812 (0xee4) Alle 1 Inhaltsaufträge für P010000F.3 wurden abgeschlossen, Benachrichtigung über den Erfolg für diesen Pull-DP-Auftrag.
PullDP 3812 (0xee4) P010000F.3 erfolgreich abgeschlossen wurde, löscht den Status des gespeicherten Inhaltsauftrags.

Schritt 16: Pull-DP sendet eine Statusmeldung an den Verwaltungspunkt (MP)

Nach Abschluss des Downloads wird eine Statusmeldung mit der Status-ID 1 an den Verwaltungspunkt gesendet, die auf Erfolg hinweist.

PullDP 3812 (0xee4) Statusmeldung 0x00000001 (1) an MP für das Paket "P010000F.3" melden
PullDP 3812 (0xee4) Anforderung war erfolgreich.
PullDP 3812 (0xee4) CPullDPResponse::ReportPackageState-Rückgabewert 0x00000000.

Wenn die ausführliche Protokollierung und Debugprotokollierung aktiviert ist, können Sie den gesamten Nachrichtentext anzeigen:

PullDP 3812 (0xee4) Bericht sendet
PullDP 3812 (0xee4) Report 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.00000+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>

Während des Inhaltsdownloads werden zwischengeschaltete Zustandsmeldungen an den Mp gesendet, die den Downloadprozentsatz enthalten. Alle verfügbaren Status-IDs finden Sie unter Erweiterte Tipps zur Problembehandlung für die Inhaltsverteilung.

Schritt 17: Pull DP löscht den Inhaltsauftragsstatus in WMI

Nach dem Senden der Erfolgsstatusmeldung löscht pull DP die Auftragszustände für das Paket.

PullDP 3812 (0xee4) Inhaltsauftragsstatus für alle 1 Inhaltsaufträge im Paket P010000F.3 löschen.
PullDP 3812 (0xee4) CPullDPService::ClearCompletedJobs(), entfernt 1 abgeschlossene Aufträge.
PullDP 3812 (0xee4) Entfernen des Auftrags für paket P010000F.3 aus Auftragsarray und WMI.
PullDP 3812 (0xee4) Inhaltsauftragsstatus für alle 1 Inhaltsaufträge im Paket P010000F.3 löschen.

Schritt 18: MP_Relay Endpunkt auf dem MP empfängt die Statusmeldung und verschiebt sie auf den Standortserver.

MP_Relay der Endpunkt auf dem Verwaltungspunkt verarbeitet die Statusmeldung und leitet die SMX-Datei der Statusmeldung an das auth\statesys.box\incoming Verzeichnis auf dem Standortserver weiter. Wenn sich der Mp auf dem Standortserver befindet (Beispiel unten), wird er direkt an das inboxes\auth\statesys.box\incoming Verzeichnis gesendet. Wenn es sich um eine Remoteinstanz handelt, wird sie in das \mp\outboxes\StateMsg.box Verzeichnis auf dem MP verschoben, und der MP-Dateiverteilungs-Manager (MPFDM) verschiebt die Datei in das inboxes\auth\statesys.box\incoming Verzeichnis auf dem Standortserver.

MP_RelayEndpoint 25912 (0x6538) MP-Nachrichtenhandler: Nachrichtenverarbeitung für Relay starten. -----------------------
MP_RelayEndpoint 25912 (0x6538) MP-Nachrichtenhandler: FileType=SMX
MP_RelayEndpoint 25912 (0x6538) Nachrichtentext :
<Bericht><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>
</Bericht>
MP_RelayEndpoint 25912 (0x6538) Inv-Relay Task: Verarbeitung des Nachrichtentexts
MP_RelayEndpoint 25912 (0x6538) Relay: Postausgangsverzeichnis: E:\ConfigMgr\inboxes\auth\statesys.box\incoming

Beachten Sie, dass die ausführliche Protokollierung und Die Debugprotokollierung für den MP aktiviert sein sollten, um die obigen Protokolleinträge auf dem MP anzuzeigen. Ohne ausführliche Protokolle und Debugprotokolle protokolliert MP_Relay.log einfach "".

Schritt 19: Die Zustandssystemkomponente auf dem Standortserver verarbeitet die Statusmeldung in die Datenbank.

Nachdem die SMX-Datei der StateSys.box\incoming Statusmeldung im Verzeichnis eingeht, verarbeitet die Zustandssystemkomponente auf dem Standortserver die Nachricht. Alle Zustandsmeldungen werden durch Aufrufen spProcessReport einer gespeicherten Prozedur verarbeitet. Für Pull-DP-Zustandsmeldungen rufen Sie aufspProcessPullDPMessage, spProcessReport die die PullDPResponse Tabelle mit den Statusmeldungsdetails aktualisiert.

SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor – Verarbeitungsdatei: N_6RB4OA3A. SMX
SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor – die Cmdline zu DB exec dbo.spProcessStateReport N'?<Bericht><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</Versionsformat><>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><Param>["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\</Param><Param>{04AD1BB3-5E54-457A-9873-DFB2E8035090}</Param><Param></UserParameters><></StateMessage></ReportBody>~~</Report>~~~'

Beachten Sie, dass StateSys.log den Nachrichtentext nur protokolliert, wenn die ausführliche Protokollierung für StateSys.log aktiviert ist. Informationen zum Aktivieren der ausführlichen Protokollierung für StateSys.log finden Sie unter Aktivieren der ausführlichen Protokollierung.

Hier ist der Auszug aus der spProcessReport gespeicherten Prozedur, die die Pull-DP-Zustandsmeldungen verarbeitet:

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  

Schritt 20: SMSDBMON benachrichtigt DistMgr, die status zu aktualisieren

Nachdem PullDPResponse die Tabelle aktualisiert wurde, erkennt SMSDBMON eine Änderung in der Tabelle und löscht eine . PUL-Datei für die Verarbeitung von DistMgr, wobei der Name der Datei die Zeile identifiziert, die eingefügt/geändert wurde.

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

Schritt 21: DistMgr aktualisiert die Verteilung status

DistMgr verarbeitet die . PUL-Datei und ruft die Zeile basierend auf dem Dateinamen aus PullDPResponse der Tabelle ab und aktualisiert das Paket status. Nachdem die Antwort verarbeitet wurde, löscht DistMgr die verarbeitete Zeile aus der PullDPResponse Tabelle.

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) ~Verarbeitung der PullDP-Antwort P01 – ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) Package P010000F, Version 3(3), ActionState 1, PkgStatus 0, ActionData =
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~Paketserver erfolgreich aktualisiert status für ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ für Paket P010000F, Status 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) ~PullDP-Antwortdatei erfolgreich verarbeitet E:\ConfigMgr\inboxes\distmgr.box\INCOMING\72057594037928008.PUL

Schritt 22: Datenbankreplikation repliziert die status Änderung an anderen Standorten

Nachdem das Paket status in der Datenbank aktualisiert wurde, wird es über die Datenbankreplikation an andere Standorte repliziert.

Aktualisieren eines Pakets

Wenn Sie ein Paket aktualisieren, wird der Paketinhalt erneut an alle Verteilungspunkte weitergegeben, an die das Paket verteilt wurde. Dies erfolgt durch Erhöhen der Paketquellversion, und nur die Inhaltsänderungen werden an die DPs gesendet, anstatt den gesamten Inhalt erneut zu senden.

In den folgenden Schritten wird der Ablauf von Ereignissen beschrieben, die auftreten, wenn ein Paket aktualisiert wird. In diesem Beispiel betrachten wir den Paketaktualisierungsvorgang für ein Paket, das an einem primären Standort erstellt wurde, und konzentrieren uns auf Prozessänderungen, die für den Paketaktualisierungsvorgang spezifisch sind.

Schritt 1: Die Verwaltungskonsole führt die RefreshPkgSource Methode für die SMS_Package WMI-Klasse im SMS-Anbieternamespace aus.

Nachdem der Administrator das Paket über die Konsole aktualisiert hat, ruft die Verwaltungskonsole die RefreshPkgSource -Methode der SMS_Package -Klasse auf, um das Paket zu aktualisieren. SMSProv.log zeigt Folgendes:

SMS Provider 4716 (0x126c) Context: SMSAppName=Configuration Manager Administrator console~
SMS Provider 4716 (0x126c) ExecMethodAsync : SMS_Package.PackageID="<PackageID>"::RefreshPkgSource ~
SMS Provider 4716 (0x126c) CExtProviderClassObject::D oExecuteMethod RefreshPkgSource~
SMS Provider 4716 (0x126c) Auditing: User CONTOSO\Admin called an audited method of an instance of class SMS_Package.~

Wenn diese Methode aufgerufen wird, wird der SMS-Anbieter aktualisiert SMSPackages , um Aktion auf 1(UPDATE) festzulegen und eine Zeile in die PkgNotification Tabelle einzufügen.

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())  

Schritt 2: SMSDBMON benachrichtigt DistMgr zur Verarbeitung des Pakets

SMSDBMON erkennt eine Änderung in der PkgNotification Tabelle, die dazu führt, dass eine <PackageID gelöscht wird>. PKN-Datei in DistMgr.box , um DistMgr anzuweisen, das Paket zu verarbeiten:

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

Schritt 3: DistMgr reaktiviert, um das Paket nach dem Empfang der PKN-Datei zu verarbeiten.

  1. Der Standard DistMgr-Thread startet einen Paketverarbeitungsthread.

    Der Standard DistMgr-Thread fügt das Paket der Paketverarbeitungswarteschlange hinzu und erstellt einen Paketverarbeitungsthread.

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Aktualisierte Paketeigenschaften für Paket "<PackageID>" gefunden
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) Hinzufügen des Pakets "<PackageID>" zur Paketverarbeitungswarteschlange.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~ Derzeit werden 0 von drei zulässigen Paketverarbeitungsthreads verwendet.
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~Paketverarbeitungsthread für Paket "PackageID>"< gestartet, Thread-ID = 0x1690 (5776)

  2. Der Paketverarbeitungsthread erstellt ein Paket Momentaufnahme, schreibt Inhalte in die Inhaltsbibliothek und erhöht die Paketversion.

    Der Paketverarbeitungsthread (in diesem Fall Thread-ID 5776) beginnt mit der Verarbeitung des Pakets und erstellt ein Paket Momentaufnahme. Nach dem Erstellen des Pakets Momentaufnahme schreibt dieser Thread auch den Paketinhalt in die Inhaltsbibliothek auf dem Standortserver:

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Verarbeitung des Pakets <PackageID> (SourceVersion:1; StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Paket-ID> aktualisieren<...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690): Paket Momentaufnahme für Paket-ID <> aus der Quelle \\PS1SITE\SOURCE\Packages\200MB_1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Die Größe des Pakets <PackageID>, Version 2, beträgt 204800 KBytes
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Schreiben der Paketdefinition für <PackageID>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ RDC-Signaturen für PackageID <> Version 2 erfolgreich erstellt
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690): Erstellen eines Hashs für den Algorithmus 32780
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Der Hash für den Algorithmus 32780 ist <HashString.>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Der RDC-Signaturhash für den Algorithmus 32780 ist 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=Di Mai 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) ~ Die Quelle für paket PS100039 geändert wurde, oder die Paketquelle muss aktualisiert werden.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Hinzufügen dieser Inhalte zum Paket PS100039 Version 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Die Paketaktion ist 1, die Updatemaske ist 32 und UpdateMaskEx ist 0.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Verwenden Sie Laufwerk E zum Speichern des komprimierten Pakets.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Das Paket wurde erfolgreich PS100039 erstellt/aktualisiert.
    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=Di Mai 17 18:31:23.982 2016 ISTR0="PS100039" ISTR1="" ISTR1="" ISTRR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"

  3. Paketverarbeitungsthreadprozesse starten DP-Threads, um Paketaktionen zu verarbeiten, und warten dann, bis sie beendet werden.

    Der Paketverarbeitungsthread verarbeitet die Paketaktionen, um das Paket zu aktualisieren. Dies umfasst die Aktualisierung des Pakets auf allen DPs, in denen dieses Paket verteilt ist. Da Paketaktionen verarbeitet werden müssen, erstellt der Paketverarbeitungsthread DP-Threads, um diese Aktionen auszuführen, und wartet, bis die DP-Threads beendet werden, bevor sie fortfahren.

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Updatepaket PS100039 auf server ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ DP-Verarbeitungsthread 920 zum Hinzufügen oder Aktualisieren von Paketen PS100039 auf dem Server erstellt ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Aktualisieren des Pakets PS100039 auf dem Server ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ DP-Verarbeitungsthread 2060 zum Hinzufügen oder Aktualisieren von Paketen PS100039 auf dem Server erstellt ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Update des Pakets PS100039 auf dem Server ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ DP-Verarbeitungsthread 6076 zum Hinzufügen oder Aktualisieren von Paketen PS100039 auf dem Server erstellt ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Aktualisieren des Pakets PS100039 auf dem Server ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ DP-Verarbeitungsthread 5948 zum Hinzufügen oder Aktualisieren von Paketen PS100039 auf dem Server erstellt ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Warten auf den Abschluss aller DP-Threads für den Paketverarbeitungsthread PS100039.

  4. DP-Threads starten und erstellen PkgXferMgr-Aufträge, um Inhalte an die DPs zu übertragen und dann zu beenden.

    DP-Threads beginnen mit der Erstellung eines PkgXferMgr-Auftrags, um das Paket auf den DPs zu aktualisieren. An diesem Punkt gibt es vier DP-Threads für vier verschiedene DPs:

    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) DP-Thread: Versuch, Paket-PS100039 auf DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) ~Paketübertragungsauftrag erstellt, um Paket-PS100039 an den Verteilungspunkt ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ zu senden.
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) Durchführen der Bereinigung vor der Rückgabe.
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c): Netzwerkverbindung wird zu \\PS1DP2.CONTOSO.COM\ADMIN$ abgebrochen.

    Wenn der DP-Thread einen PkgXferMgr-Auftrag erstellt, wird dazu eine Zeile in DistributionJobs die Tabelle eingefügt.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(35,N'PS100039',2,0,N'2016/05/17 14:31:35',1)
    
  5. (falls zutreffend) Der Paketverarbeitungsthread erstellt einen Miniauftrag, um die komprimierte Kopie des Pakets an andere Standorte zu senden.

    Nachdem alle DP-Threads ausgeführt wurden, erstellt der Paketverarbeitungsthread einen Miniauftrag, um die komprimierte Kopie des Pakets ggf. an andere Standorte zu senden. Dieser Miniauftrag wird vom Scheduler verarbeitet, um eine Sendeanforderung für Sender zu erstellen, um die komprimierte Kopie des Pakets an den Zielstandort zu übertragen:

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Alle DP-Threads wurden für den Paketverarbeitungsthread PS100039 abgeschlossen.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Package PS100039 hat keinen bevorzugten Absender.
    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=Di 17 Mai 18:31:44.977 2016 ISTR0="PS100039" ISTR1="PS2" IST2R2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039" ...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Muss das komprimierte Paket für paket PS100039 an site PS2 senden
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Senden einer Kopie des Pakets PS100039 an Site PS2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Verwenden Sie Laufwerk E zum Speichern des komprimierten Pakets.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Einstellung CMiniJob root transfer root to E:\SMSPKG\PS100039. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Minijob erstellt, um eine komprimierte Kopie des Pakets PS100039 an website PS2 zu senden. Stammübertragung = E:\SMSPKG\PS100039. DLT.1.2. ...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Muss das komprimierte Paket für das Paket PS100039 an Standort SS1 senden
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Senden einer Kopie des Pakets PS100039 an Standort SS1
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Verwenden Sie Laufwerk E zum Speichern des komprimierten Pakets.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ Einstellung CMiniJob root transfer root to E:\SMSPKG\PS100039. DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~Minijob erstellt, um eine komprimierte Kopie des Pakets PS100039 an Site SS1 zu senden. Stammübertragung = E:\SMSPKG\PS100039. DLT.1.2.

  6. Der Paketverarbeitungsthread wird nach der Verarbeitung des Pakets beendet:

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) Package PS100039 ist neu oder hat sich geändert und wird an alle anwendbaren Standorte repliziert.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=PS100039, Version=2, Status=2301
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~StoredPkgVersion (2) des Pakets PS100039. StoredPkgVersion in der Datenbank ist 2.
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~SourceVersion (2) des Pakets PS100039. SourceVersion in der Datenbank ist 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=Di 17 Mai 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) ~ Beenden des Paketverarbeitungsthreads für paket PS100039.

Schritt 4: SMSDBMON benachrichtigt PkgXferMgr zur Verarbeitung des Auftrags

SMSDBMON erkennt eine Änderung in der DistributionJobs Tabelle und löscht eine PKN-Datei in PkgTransferMgr.box , um PkgXferMgr anzuweisen, den Auftrag zu verarbeiten:

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 gelöscht. PKN [1036623]

Schritt 5: PkgXferMgr wird aktiviert, um den Auftrag zu verarbeiten

Bei Standard-DPs kopiert ein sendenden Thread den Inhalt in den DP, und der verbleibende Prozess ist identisch mit dem in Schritt 6 von Verteilen eines Pakets an den Standard-DP beschriebenen Prozess.

Bei Pull-DPs sendet ein Pull-DP-Thread die Benachrichtigung an den Pull-DP, um den Inhalt herunterzuladen. Pull-DP dann den Inhalt aus dem Quell-DP herunter, und der verbleibende Prozess ist identisch mit dem in Schritt 6 von Verteilen eines Pakets zum Pull-DP beschriebenen Prozess.

Schritt 6: Das Paket status Änderungen werden über DRS an andere Standorte repliziert

Nachdem das Paket status in der Datenbank aktualisiert wurde, wird es über die Datenbankreplikation an andere Standorte repliziert.

Verteilen eines Pakets

Wenn Sie ein Paket auf einen DP verteilen, werden alle Paketinhaltsdateien erneut in den DP kopiert, auch wenn der Inhalt bereits in der Inhaltsbibliothek auf dem DP vorhanden ist.

In den folgenden Schritten wird der Ablauf von Ereignissen beschrieben, die auftreten, wenn ein Paket auf einen DP verteilt wird. In diesem Beispiel verfügt der primäre Standortserver bereits über eine komprimierte Kopie des Pakets. Dieser Prozess ist identisch mit dem Prozess, der unter Verteilen eines Pakets an einen Standard-DP oder Verteilen eines Pakets zum Pullen von DP beschrieben wird. Daher sehen wir uns hier nur detaillierte Protokollausschnitte auf relevante Änderungen an.

Schritt 1: Der Administrator verteilt das Paket erneut an den DP.

Schritt 2: Wenn der Administrator das Paket von einem anderen primären Standort oder standort der zentralen Verwaltung neu verteilt hat, repliziert DRS Änderungen an dem betreffenden Standort.

Schritt 3: SMSDBMON benachrichtigt DistMgr, das Paket zu verarbeiten

Schritt 4: DistMgr reaktiviert, um das Paket zu verarbeiten

  1. Der Standard DistMgr-Thread startet einen Paketverarbeitungsthread.

  2. Der Paketverarbeitungsthread erstellt DP-Threads zum Verarbeiten von Paketaktionen und wartet auf deren Beendigung.

  3. Die DP-Threads erstellen einen PkgXferMgr-Auftrag, um das Paket den DPs hinzuzufügen, und beenden dann.

    Der DP-Thread beginnt mit dem Hinzufügen des Pakets zum DP. DP-Threads kopieren den Paketinhalt nicht direkt in den DP, sondern erstellen stattdessen einen Auftrag für den Paketübertragungs-Manager (PkgXferMgr), der ihn anweist, den Paketinhalt auf den DP zu kopieren. Die folgenden Protokolleinträge zeigen, dass der DP-Thread einen PkgXferMgr-Auftrag erstellt. Nachdem der Auftrag erstellt wurde, ist die Arbeit des DP-Threads abgeschlossen, und der DP-Thread wird beendet.

    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) DP-Thread: Versuch, Paket-ID <> auf DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~Paketübertragungsauftrag erstellt, um Paket-Paket-ID <> an den Verteilungspunkt ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ zu senden.
    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=Mo Mai 16 19:26:58.642 2016 ISTR0="<PackageID>" ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\" ISTR2="" 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\"

    Wenn der DP-Thread einen PkgXferMgr-Auftrag erstellt, wird dazu eine Zeile in die DistributionJobs Tabelle eingefügt. Für die Neuverteilung eines Pakets ist Action auf 2 festgelegt.

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(32,N'CS100026',1,0,N'2016/05/16 16:03:49',2)
    
  4. Der Paketverarbeitungsthread wird beendet, nachdem alle DP-Threads beendet wurden.

Schritt 5: SMSDBMON benachrichtigt PkgXferMgr zur Verarbeitung des Auftrags

Schritt 6: PkgXferMgr wird aktiviert, um den Auftrag zu verarbeiten

  1. Der Standard PkgXferMgr-Thread erstellt einen sendenden Thread.

  2. Der sendenden Thread oder Pull-DP-Sendethread verarbeitet den Auftrag.

    Standard-DP:

    Der sendende Thread beginnt mit dem Kopieren des Paketinhalts auf den DP. Dieser Vorgang umfasst das Kopieren aller Dateien im Paket in den DP im SMS_DP$ Verzeichnis. Da das Paket neu verteilt wurde, zeigt PkgXferMgr an, dass Redistribute auf 1 festgelegt ist, was bedeutet, dass alle Dateien erneut auf den DP kopiert werden, auch wenn sie bereits in der Inhaltsbibliothek auf dem DP vorhanden sind.

    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Senden des Threads ab Auftrag: 583, Paket: <PackageID>, Version: 1, Priorität: 2, Server: PS1DP1.CONTOSO.COM, DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Gesendet status an den Verteilungs-Manager für pkg <PackageID>, Version 1, status 0 und Verteilungspunkt ["Display=\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Ausführen von Voraktionen des Pakets <PackageID>, Verteilungspunkt PS1DP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Senden von Legacyinhalten <PackageID.1> für PackageID <>
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Redistribute=1, Related=
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Senden der Datei "\\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F6000226B330C73942454A174D7E26533-PackageID.1.temp<>"
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Senden gestartet [E:\SCCMContentLib\FileLib\73E0\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Versuch, 983040 Bytes in \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB zu schreiben6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> an Position 208732160
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~983040 Bytes in \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB geschrieben90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> an Position 208732160 in 344 Ticks
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Senden abgeschlossen [E:\SCCMContentLib\FileLib\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) Post-Aktionen für Remote-DP-PS1DP1.CONTOSO.COM abgeschlossen
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~Senden erfolgreich abgeschlossen
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~ Das Senden des SWD-Pakets <PackageID> Version 1 an den Verteilungspunkt 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=Mo Mai 16 20:06:36.827 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTRR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

    Pull-DP:

    Pull-DP-Sendethread sendet eine Benachrichtigung an den Pull-DP, um mit dem Herunterladen des Inhalts zu beginnen. Da das Paket neu verteilt wurde, zeigt die generierte Benachrichtigungs-XML an, dass Action auf Redist festgelegt ist. Dies bedeutet, dass alle Dateien vom Pull-DP erneut heruntergeladen werden, auch wenn sie bereits in der Inhaltsbibliothek auf dem Pull-DP vorhanden sind.

    So sieht eine Beispielabfrage, die die Benachrichtigungs-XML-Abfrage generiert, aus, die zeigt, dass die Aktion seit der Neuverteilung des Inhalts redist ist:

    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
    

    Wenn Sie eine Benachrichtigung für eine Neuverteilungsaktion erhalten, zeigt PullDP.log an, dass alle Inhalte erneut heruntergeladen werden, auch wenn einige oder alle Inhalte möglicherweise in der Inhaltsbibliothek vorhanden sind.

    PullDP 3676 (0xe5c) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: alle Dateien verteilen/erneut herunterladen

    Danach ähnelt der verbleibende Prozess dem in Schritt 6 von Verteilen eines Pakets zum Pullen des DP beschriebenen Prozesses.

  3. Der sendende Thread sendet eine status Nachricht an DistMgr.

Schritt 7: SMS DP-Anbieter fügt den Inhalt der Inhaltsbibliothek hinzu

Schritt 8: DistMgr verarbeitet die von PkgXferMgr gesendeten status Nachrichten.

Schritt 9: Paketänderungen status werden über DRS an andere Standorte repliziert