次の方法で共有


コンテンツ配布のパッケージ アクション

この記事は、コンテンツ配布のパッケージ アクションを理解するのに役立ちます。

元の製品バージョン: 現在のブランチConfiguration Manager、Microsoft System Center 2012 Configuration Manager、Microsoft System Center 2012 R2 Configuration Manager

概要

コンテンツ配布のパッケージ アクションは、次に分類されます。

  • Distribute

    コンテンツ配布に関連する最初の主要なアクションは、配布アクションです。 これは、パッケージの配布ポイントへの初期配布を指します。 これは、Configuration Manager コンソールの [コンテンツの配布] ウィザードによってトリガーされます。 これにより、パッケージ内のすべてのファイルがターゲット配布ポイントに転送されます。別のパッケージの一部として DP のコンテンツ ライブラリに既に存在するものは除きます。 配布ポイントのコンテンツ ライブラリに既にあるファイルがパッケージに含まれている場合、それらのファイルは複数のパッケージ間で共有されます。

  • Update

    2 番目の主要なアクションは、Update アクションです。 これは通常、パッケージが変更され、配布先のすべての配布ポイントで更新されたコンテンツが必要な場合に使用されます。 これは、コンソールの [配布ポイントの更新] アクションでトリガーされます。 これにより、変更されたファイルがすべての配布ポイントに転送されます。 変更されていないファイルは転送されません。 更新されたバージョンのパッケージからファイルが削除された場合、(ファイルを共有する他のパッケージが DP 上に存在しない限り) 配布ポイントのパッケージから削除されます。

  • 再 分配

    3 番目の主要なアクションは、Configuration Manager コンソールで再配布によってトリガーされる再配布アクションです。 これにより、コンテンツ全体が特定の配布ポイントに転送されます。 ファイルは、配布ポイントのコンテンツ ライブラリに既に存在する場合でも転送され、上書きされます。 再配布アクションの主な目的は、コンテンツ ライブラリに存在する可能性がある不整合を修正することです。

パッケージを作成する

次の手順では、まだ DP に配布されていない管理者コンソールから新しいパッケージを作成するときのイベントのフローについて説明します。

手順 1: コンソール管理クラスのインスタンスを作成するSMS_PackageWMI

管理者がコンソールでパッケージを作成した後、管理コンソールは、新しく作成されたパッケージの SMS_Package SMS プロバイダー名前空間内に WMI クラスのインスタンスを作成します。 SMSProv.log に次の情報が表示されます。

SMS プロバイダー 4680 (0x1248) CExtProviderClassObject::D oPutInstanceInstance~
SMS プロバイダー 4680 (0x1248) 監査: ユーザー CONTOSO\管理 は、クラス SMS_Packageのインスタンスを作成しました。
SMS プロバイダー 816 (0x330) の処理済み挿入インスタンス通知: SMS_Package.PackageID="PackageID"~

この WMI インスタンスが作成されると、SMS プロバイダーはデータベース内のビューに SMSPackages 行を挿入します。

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)

行が挿入されると、ビュー上のトリガーによって、 と テーブルに SMSPackages_G 行が SMS_Packages_L 挿入されます。 これにより、テーブルのトリガーがテーブルに SMSPackages_GPkgNotification を挿入します。 テーブル内の行は、パッケージを PkgNotification 処理するように DistMgr に通知するために使用され、この通知はコンポーネントによって SMSDBMON DistMgr に提供されます。

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

手順 2: SMSDBMON は変更を検出し、PackageID> を削除してパッケージを処理するように DistMgr に<通知します。PKN ファイル

SMSDBMON はテーブルの変更をPkgNotification検出し、PackageID> を<削除します。パッケージを処理するように DistMgr に指示する PKN ファイル:DistMgr.box

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

手順 3: DistMgr がパッケージ ソース サイトでパッケージを処理する

DistMgr は、 で PKN ファイルを検出した後にパッケージを DistMgr.box処理します。 DistMgr 処理は、複数のスレッドによって実行されます。

  1. メイン DistMgr スレッドは、パッケージ処理スレッドを作成します。

    メイン DistMgr スレッドが起動し、パッケージ処理キューにパッケージを追加し、パッケージ処理スレッドを作成してパッケージを処理します。

    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) パッケージのプロパティがパッケージ 'PackageID' の通知を更新しました
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) パッケージ処理キューへのパッケージ 'PackageID' の追加。
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~現在、許可されている 3 つのパッケージ処理スレッドのうち 0 個を使用しています。
    SMS_DISTRIBUTION_MANAGER 2624 (0xa40) ~パッケージ 'PackageID' のパッケージ処理スレッドを開始しました,スレッド ID = 0x16A8 (5800)

  2. パッケージ処理スレッドは、パッケージ スナップショットを作成し、コンテンツ ライブラリにコンテンツを書き込みます。

    パッケージ処理スレッド (この場合はスレッド ID 5800) は、パッケージの処理を開始し、パッケージ スナップショットを作成します。 パッケージ スナップショットを作成した後、このスレッドはパッケージ コンテンツもサイト サーバー上のコンテンツ ライブラリに書き込みます。

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) STATMSG: ID=2300 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=CS1SITE。CONTOSO.COM SITE=CS1 PID=1904 TID=5800 GMTDATE=Mon 16 14:33:55.691 2016 ISTR0="Dummy1" ISTR1="<PackageID>" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~処理パッケージ <PackageID> (SourceVersion:1;StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) パッケージ <PackageID> の追加を開始します...
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~パッケージ アクションは 2、Update Mask は 0、UpdateMaskEx は 0 です。
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2300
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ソース \\CS1SITE\SOURCE\Packages\Dummy1 からのパッケージ PackageID> のパッケージ <スナップショットの取得
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) パッケージ <PackageID> バージョン 1 のサイズは 204800 KB です
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) PackageID のパッケージ定義の <記述>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~パッケージ PackageID バージョン 1 の RDC 署名が正常に作成されました
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) アルゴリズム 32780 のハッシュの作成
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) アルゴリズム 32780 のハッシュは HashString です<>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) アルゴリズム 32780 の RDC 署名ハッシュは HashString です<>
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~パッケージ PackageID バージョン 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=Mon 16 14:34:04.611 2016 ISTR0="<PackageID>" ISTR1="" ISTR 2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"

  3. パッケージ処理スレッドは、パッケージを他のサイトにレプリケートします。

    次に、パッケージ処理スレッドは、階層内の他のサイトにパッケージをレプリケートします。 パッケージ メタデータ情報はデータベース レプリケーションを介して他のサイトにレプリケートされますが、パッケージ ファイルはファイル レプリケーションを使用してレプリケートされます。 ただし、パッケージ ファイルは、そのサイト内の少なくとも 1 つの DP がパッケージに追加された場合にのみ、サイトに送信されます。 パッケージ ファイルは、別のサイトに送信される前に圧縮されます。 この場合、対象となる DP がないため、パッケージ メタデータのみが他のサイトにレプリケートされますが、パッケージ ファイルはレプリケートされません。

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~PackageID <> には優先送信者がありません。
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) パッケージ <PackageID> のプログラムが追加または削除されているため、すべての子サイトにレプリケートする必要があります。
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) PackageID <> が新規または変更され、該当するすべてのサイトにレプリケートされます。
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    パッケージ PackageID> の 5800 (0x16a8) ~StoredPkgVersion (1) を<SMS_DISTRIBUTION_MANAGERします。 データベース内の StoredPkgVersion は 1 です。
    パッケージ PackageID> の 5800 (0x16a8) ~SourceVersion (1) を<SMS_DISTRIBUTION_MANAGERします。 データベースの SourceVersion は 1 です。
    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) ~パッケージ <PackageID> バージョン 1 にこれらのコンテンツを追加します。

  4. パッケージ処理スレッドが終了します。

    パッケージ処理スレッドは、パッケージ処理が完了した後に終了し、ID 2301 の状態メッセージを生成します。これは、"Distribution Manager がパッケージ PACKAGENAME> (パッケージ < ID = <PKGID>) を正常に処理したことを意味します。

    SMS_DISTRIBUTION_MANAGER 5800 (0x16a8) STATMSG: ID=2301 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=CS1SITE。CONTOSO.COM SITE=CS1 PID=1904 TID=5800 GMTDATE=Mon 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) ~PackageID> のパッケージ処理スレッドの<終了。

手順 4: (該当する場合) DRS はパッケージを他のサイトにレプリケートします

階層内に他のサイトがある場合、パッケージ メタデータ情報はデータベース レプリケーションを介して他のサイトにレプリケートされます。 パッケージ情報がレプリケートされると、テーブル内の SMSPackages_G 行が挿入され、テーブルへの挿入が PkgNotification トリガーされます。

手順 5: 受信サイトの (該当する場合) SMSDBMON は、PackageID> を削除して DistMgr に<通知します。PKN ファイル

受信サイトでは、SMSDBMON によってテーブル内の変更がPkgNotification検出され、PackageID> が<削除されます。パッケージを処理するように DistMgr に指示する PKN ファイル:DistMgr.box

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>。PKN [1035019]

手順 6: (該当する場合) 受信側サイトの DistMgr がパッケージを処理する

受信サイトで、 を受信した後 。PKN ファイルでは、DistMgr がウェイクアップしてパッケージを処理します。

  1. メイン DistMgr スレッドは、パッケージ処理スレッドを作成します。

    メイン DistMgr スレッドは、パッケージ処理キューにパッケージを追加し、パッケージ処理スレッドを作成します。

    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) パッケージのプロパティがパッケージ 'PackageID>' の<通知を更新しました
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) パッケージ処理キューへのパッケージ '<PackageID>' の追加。
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~現在、許可されている 3 つのパッケージ処理スレッドのうち 0 を使用しています。
    SMS_DISTRIBUTION_MANAGER 3648 (0xe40) ~パッケージ 'PackageID>'< のパッケージ処理スレッドを開始しました,スレッド ID = 0x1378 (4984)

  2. パッケージ処理スレッドがパッケージを処理します。

    この場合、このスレッドの対象となる DP がないため、何も実行されません。

    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) STATMSG: ID=2300 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE。CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Mon 16 14:36:08.809 2016 ISTR0="Dummy1" ISTR1="<PackageID>" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~処理パッケージ <PackageID> (SourceVersion:1;StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) パッケージ <PackageID> の追加を開始します。..
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~パッケージ アクションは 2、Update Mask は 0、UpdateMaskEx は 0 です。
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~パッケージ <PackageID が正常に作成または更新されました>
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) STATMSG: ID=2311 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE。CONTOSO.COM SITE=PS1 PID=4224 TID=4984 GMTDATE=Mon 5 月 16 日 14:36:09.486 2016 ISTR0="PackageID" ISTR1="ISTR 2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="<PackageID>"
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~ID <PackageID のポリシー プロバイダー トリガーを作成しました>
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~PackageID <> には優先送信者がありません。
    SMS_DISTRIBUTION_MANAGER 4984 (0x1378) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=<PackageID>, Version=1, Status=2301
    パッケージ PackageID> の 4984 (0x1378) ~StoredPkgVersion (0) を<SMS_DISTRIBUTION_MANAGERします。 データベース内の StoredPkgVersion は 0 です。
    パッケージ PackageID> の 4984 (0x1378) ~SourceVersion (1) を<SMS_DISTRIBUTION_MANAGERします。 データベースの SourceVersion は 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=Mon 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) ~PackageID> のパッケージ処理スレッドの<終了。

サイト間で DP にパッケージを配布する

次の手順では、パッケージがプライマリ サイトの DP に配布されているが、問題のプライマリ サイト サーバーにコンテンツ ライブラリにこのパッケージのコピーが含 まれていない 場合のイベントのフローについて説明します。 このパッケージは中央管理サイトで作成され、その結果、中央管理サイトがパッケージ ソース サイトになります。

パッケージ ソース サイトで

手順 1: 管理コンソールで、 クラスの メソッドを呼び出して DP をAddDistributionPointsパッケージに追加するSMS_PackageWMI

管理者がコンソールから DP にパッケージを配布した後、管理コンソールは クラスの SMS_Package メソッドをAddDistributionPoints呼び出して、指定した DP をパッケージに追加します。 SMSProv.log に次の情報が表示されます。

SMS プロバイダー 4616 (0x1208) コンテキスト: SMSAppName=Configuration Manager 管理者コンソール~
SMS プロバイダー 4616 (0x1208) ExecMethodAsync : SMS_Package.PackageID="<PackageID>"::AddDistributionPoints~
SMS プロバイダー 4616 (0x1208) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
SMS プロバイダー 4616 (0x1208) 監査: ユーザー CONTOSO\管理 は、クラス SMS_Packageのインスタンスの監査メソッドを呼び出しました。~

このメソッドが呼び出されると、SMS プロバイダーは 2 (ADD) に設定された 行を ActionPkgServers挿入します。

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'

に行が挿入された後、 PkgServersSMS プロバイダーはテーブルに PkgNotification 行も挿入します。 テーブル内の行は、パッケージを PkgNotification 処理するように DistMgr に通知するために使用され、この通知はコンポーネントによって SMSDBMON DistMgr に提供されます。

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

手順 2: SMSDBMON はパッケージの変更を検出し、PackageID> を削除して DistMgr に<通知します。DistMgr.box の PKN ファイル

SMSDBMON は、PackageID をPkgNotification削除する原因となるテーブルの変更を<検出します。>パッケージDistMgr.box処理するように DistMgr に指示する PKN ファイル。

SMS_DATABASE_NOTIFICATION_MONITOR 4944 (0x1350) RCV: INSERT on PkgNotification for PkgNotify_Add [<PackageID> ][850967]
SMS_DATABASE_NOTIFICATION_MONITOR 4944 (0x1350) SND: ドロップされた E:\ConfigMgr\inboxes\distmgr.box\<PackageID>。PKN [850967]

手順 3: DistMgr がウェイクアップして、PKN ファイルを受信した後にパッケージを処理する

  1. メイン DistMgr スレッドは、パッケージ処理スレッドを作成します。

    メイン DistMgr スレッドは、パッケージ処理キューにパッケージを追加し、パッケージ処理スレッドを作成します。

    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) パッケージ処理キューへのパッケージ '<PackageID>' の追加。
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~現在、許可されている 3 つのパッケージ処理スレッドのうち 0 個を使用しています。
    SMS_DISTRIBUTION_MANAGER 2496 (0x9c0) ~パッケージ 'PackageID>'< のパッケージ処理スレッドを開始しました,スレッド ID = 0x1164 (4452)

  2. パッケージ処理スレッドは、パッケージ アクションを処理します。

    パッケージ処理スレッドは、DP からパッケージを追加/更新/削除するためのパッケージ アクションを処理します。 この場合、パッケージ ソース サイトは中央管理サイトであり、中央管理サイトに DP が含まれているため、処理するパッケージ アクションはありません。 処理するパッケージ アクションがあるサイトでは、パッケージ処理スレッドは、これらのアクションを実行するための DP スレッドを作成し、DP スレッドが終了するのを待ってから手順 3-3 に進みます。

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~処理パッケージ <PackageID> (SourceVersion:1;StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) パッケージ <PackageID> に対してアクションを指定しませんが、このパッケージのパッケージ サーバーが変更される可能性があります。

  3. パッケージ処理スレッドは、パッケージの圧縮コピーをコピー先サイトに送信するミニ ジョブを作成します。

    このミニ ジョブはスケジューラによって処理され、Sender がパッケージの圧縮されたコピーをコピー先サイトに転送するための送信要求を作成します。

    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~PackageID <> には優先送信者がありません。
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~パッケージ <PackageID> の圧縮パッケージをサイト PS1 に送信する必要がある
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~パッケージ <PackageID> のコピーをサイト PS1 に送信する
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~サイト PS1 のレポートサイトがこのサイトです。
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~圧縮パッケージを格納するためにドライブ E を使用します。
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~CMiniJob 転送ルートを E:\SMSPKG\<PackageID> に設定します。PCK.1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ファイル E:\SMSPKG\<PackageID> の増分 ref カウント。PCK.1、count = 2
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ファイル E:\SMSPKG\<PackageID> に対するデクリメントされた ref count。PCK.1、count = 1
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~パッケージ <PackageID> の圧縮コピーをサイト PS1 に送信するミニジョブを作成しました。 転送ルート = E:\SMSPKG\<PackageID>。PCK.1。
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) PackageID <> のパッケージまたはプログラムのプロパティは変更されていません。更新されたパッケージ情報が必要なサイトを特定する必要があります。
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) このサイトで配布ポイントが変更され、パッケージ <PackageID> を送信しているサイトの一覧にサイト PS1 が追加されました。
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) PS1 の親サイトは CS1 です

  4. パッケージ処理スレッドは、パッケージの処理後に終了します。

    パッケージ PackageID> の 4452 (0x1164) ~StoredPkgVersion (1) を<SMS_DISTRIBUTION_MANAGERします。 データベース内の StoredPkgVersion は 1 です。
    パッケージ PackageID> の 4452 (0x1164) ~SourceVersion (1) を<SMS_DISTRIBUTION_MANAGERします。 データベースの SourceVersion は 1 です。
    SMS_DISTRIBUTION_MANAGER 4452 (0x1164) ~PackageID> の<パッケージ処理スレッドの終了

手順 4: スケジューラ コンポーネントは、パッケージ処理スレッドによって作成されたミニ ジョブを処理し、送信要求を作成します

スケジューラ コンポーネントは、パッケージの圧縮コピーを転送するジョブを受け取った後にウェイクアップし、Sender が圧縮コピーを宛先サイトに送信できるように Sender の送信要求を作成します。

SMS_SCHEDULER 5492 (0x1574) ========処理ジョブ ========
SMS_SCHEDULER 5492 (0x1574) <JOBID> のアクティブ化[Dummy1 のソフトウェア配布、パッケージ ID = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) 宛先サイト: PS1, 優先アドレス: *, Priority: 2
SMS_SCHEDULER 5492 (0x1574) 命令の種類: MICROSOFT|SMS|MINIJOBINSTRUCTION|パッケージ~
SMS_SCHEDULER 5492 (0x1574) 命令ファイルの作成: \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\JOBID。Icl~
SMS_SCHEDULER 5492 (0x1574) 転送ルート: E:\SMSPKG\<PackageID>。PCK.1~
SMS_SCHEDULER 5492 (0x1574) <JOBID> の更新[Dummy1 のソフトウェア配布、パッケージ ID = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) 作成された新しい送信要求 ID: 202SQCS1~

スケジューラは送信要求を定期的に更新し、合計サイズと残りのサイズを含む送信要求に関する有用な情報をログに記録します。

SMS_SCHEDULER 5492 (0x1574) ======送信要求リストの更新=======
SMS_SCHEDULER 5492 (0x1574) Send Request 202SQCS1 JobID: JOBID DestSite: PS1 FinalSite: State: Pending Status: Action: None Total size: 204864 残り: 204864k ハートビート: 12:23 Start: 12:00 Finish: 12:00 Retry: SWD PkgID: <PackageID> SWD Pkg Version: 1

手順 5: 送信者コンポーネントが送信要求の処理を開始する

送信者コンポーネントは送信要求を処理し、パッケージの圧縮コピーを宛先サイトに送信します。

  1. メイン送信者スレッドは、この送信要求のすべての作業を実行するスレッドである送信スレッドを開始します。

    SMS_LAN_SENDER 6700 (0x1a2c) 送信要求が見つかりました。 ID: 202SQCS1,Dest Site: PS1~
    SMS_LAN_SENDER 6700 (0x1a2c) サイト固有の送信容量の確認。 3~ のうち 0 個を使用しました。
    SMS_LAN_SENDER 6700 (0x1a2c) ~作成された送信スレッド (スレッド ID = 1150)

  2. 送信スレッドは送信要求を処理し、圧縮パッケージ ファイル (PCK ファイル) をパッケージ命令ファイル (SNI ファイル) と共にコピー先サイトにコピーします。

    SMS_LAN_SENDER 4432 (0x1150) ~No. 1 アドレス (1 個中) を試す
    SMS_LAN_SENDER 4432 (0x1150) ~xmit ファイル テストに合格し、既存の接続を使用する
    SMS_LAN_SENDER 4432 (0x1150) ~Package file = E:\SMSPKG\<PackageID>。PCK.1
    SMS_LAN_SENDER 4432 (0x1150) ~命令ファイル = E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A。Icl
    SMS_LAN_SENDER 4432 (0x1150) ~リモート ファイル \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 の確認。PCK
    SMS_LAN_SENDER 4432 (0x1150) ~リモート ファイル \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 の確認。Sni
    SMS_LAN_SENDER 4432 (0x1150) ~リモート ファイル \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 の確認。Tmp。。。
    SMS_LAN_SENDER 4432 (0x1150) ~リモート ファイル \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 を作成または開こうとします。PCK
    SMS_LAN_SENDER 4432 (0x1150) ~リモート ファイル \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 を作成/開きました。PCK
    SMS_LAN_SENDER 4432 (0x1150) ~送信開始 [E:\SMSPKG\<PackageID>。PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~1024 バイトを \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 に書き込もうとします。位置 0 の PCK
    SMS_LAN_SENDER 4432 (0x1150) ~1024 バイトを \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 に書き込みます。位置 0 ... の PCK。
    SMS_LAN_SENDER 4432 (0x1150) ~380731 バイトを \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 に書き込もうとします。位置209398784の PCK
    SMS_LAN_SENDER 4432 (0x1150) ~380731 バイトを \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 に書き込みます。位置209398784の PCK
    SMS_LAN_SENDER 4432 (0x1150) ~送信が完了しました [E:\SMSPKG\<PackageID>。PCK.1]
    SMS_LAN_SENDER 4432 (0x1150) ~SWD パッケージ <PackageID> バージョン 1 をサイト PS1 ..に送信し終えました。
    SMS_LAN_SENDER 4432 (0x1150) ~送信開始 [E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A。[Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~送信完了 [E:\ConfigMgr\inboxes\schedule.box\tosend\00000E2A。[Icl]
    SMS_LAN_SENDER 4432 (0x1150) ~SWD パッケージ <PackageID> バージョン 1 をサイト PS1 ..に送信し終えました。
    SMS_LAN_SENDER 4432 (0x1150) ~リモート ファイル \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 の名前変更。TMP から \\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1 へ。Sni
    MS_LAN_SENDER 4432 (0x1150) ~名前の変更が完了しました [\\PS1SITE.CONTOSO.COM\SMS_SITE\202SQCS1.TMP]
    SMS_LAN_SENDER 4432 (0x1150) ~正常に送信が完了しました

    送信スレッドは、これらのファイルを受信側サイトの SMS_SITE 共有にコピーします。

    ヒント

    sender.log ファイルは、書き込む位置を継続的にログに記録します。 たとえば、位置は上記のログに 209398784 されます。 この位置は、書き込み対象のバイト オフセットであり、この値を変換することで、コピーされたデータの量を確認できます。 たとえば、209398784 バイト = 199.69 MB です。

手順 6: スケジューラ コンポーネントはジョブを完了としてマークし、送信要求を削除します

スケジューラ コンポーネントは送信要求を監視し、Sender が送信要求の処理を完了した後、Scheduler はジョブを完了としてマークし、送信要求を削除します。

SMS_SCHEDULER 5492 (0x1574) ======すべての送信要求の状態の確認======
SMS_SCHEDULER 5492 (0x1574) ~=== 送信トレイ \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\outboxes\LAN.~~
SMS_SCHEDULER 5492 (0x1574) 送信要求 202SQCS1 の確認~
SMS_SCHEDULER 5492 (0x1574) 送信完了 (13985442 バイト/秒)。~
SMS_SCHEDULER 5492 (0x1574) <JOBID> の更新 [Dummy1 のソフトウェア配布、パッケージ ID = <PackageID>]~
SMS_SCHEDULER 5492 (0x1574) 送信要求が正常に完了しました。~
SMS_SCHEDULER 5492 (0x1574) <ジョブの状態 - 完了>~
SMS_SCHEDULER 5492 (0x1574) 命令ファイル \\CS1SITE.CONTOSO.COM\SMS_CS1\inboxes\schedule.box\tosend\00000E2A を削除します。Icl。~
SMS_SCHEDULER 5492 (0x1574) ジョブ パッケージ ソースの削除 [E:\SMSPKG\<PackageID>。PCK.1].~
SMS_SCHEDULER 5492 (0x1574) 削除された参照カウント ファイル E:\SMSPKG\<PackageID>。PCK.1
SMS_SCHEDULER 5492 (0x1574) ファイル E:\SMSPKG\<PackageID> に対するデクリメントされた ref カウント。PCK.1、count = 0
SMS_SCHEDULER 5492 (0x1574) ID を持つ送信要求の削除: 202SQCS1。~
SMS_SCHEDULER 5492 (0x1574) 削除されたジョブ JOBID.~

この手順の後、送信サイトはこれ以上作業を行う必要がなく、受信サイトはパッケージの処理を開始します。

移行先サイトで

手順 7: Despooler が PCK ファイルと SNI ファイルを処理する

手順 5 では、 PCK ファイルと SNI ファイルが受信側サイトの SMS_SITE 共有にコピーされました。 各Configuration Manager サイトでは、\inboxes\despoolr.box\receive フォルダーは としてSMS_SITE共有されます。 これらのファイルが despoolr.box\receive フォルダーに到着すると、コンポーネントは despooler ウェイクアップして命令ファイルである SNI ファイルを処理します。

  1. メイン despooler スレッドは、デスプール スレッドを作成します。

    Main Despooler は命令ファイルを検索し、命令ファイルを処理するデスプール スレッドを作成します。

    SMS_DESPOOLER 6128 (0x17f0) ~準備完了命令 202sqcs1.sni が見つかりました
    SMS_DESPOOLER 6128 (0x17f0) ~3 つのデスプール スレッドのうち 0 個を使用
    SMS_DESPOOLER 6128 (0x17f0) ~新しいデスプール スレッド EE8 を作成しました

  2. (散発的)スレッドのプールを停止すると、最初の試行時に命令の処理が失敗し、5 分後に再試行されることがあります。

    デスプール スレッドは命令ファイルを処理しますが、多くの場合、パッケージメタデータ情報がまだ受信サイトにレプリケートされていないため、パッケージの命令ファイルを初めて処理しようとすると、"このバージョンのパッケージ情報がまだ到着していません" というメッセージで失敗します。 この場合、 despooler.log は 'error code = 12' と表示されますが、5 分後にこの命令を再試行します。これは、パッケージ情報がこの間にレプリケートされると成功します。 手順 7-3 は、再試行時の命令の正常な処理を示しています。

    SMS_DESPOOLER 3816 (0xee8) ~命令 E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.ist 型 MICROSOFT|SMS|MINIJOBINSTRUCTION|パッケージ
    SMS_DESPOOLER 3816 (0xee8) ~署名は、サイト CS1 からの命令に対して [OK] をチェックアウトし、命令の実行を続行します。
    SMS_DESPOOLER 3816 (0xee8) ~型の命令の実行 MICROSOFT|SMS|MINIJOBINSTRUCTION|パッケージ
    SMS_DESPOOLER 3816 (0xee8) ~受信パッケージ PackageID バージョン 1。 圧縮ファイル - E:\SMSPKG\<PackageID>。PCK.1 as E:\ConfigMgr\inboxes\despoolr.box\receive\ds_s76nc.pkg
    SMS_DESPOOLER 3816 (0xee8) ~古いパッケージ格納UNC パスは です。
    SMS_DESPOOLER 3816 (0xee8) ~このパッケージ [<PackageID>] の情報は、このバージョン [1] にまだ届いていません。後で再試行 してください。...
    SMS_DESPOOLER 3816 (0xee8) ~ジョブ JOBID の再試行命令を作成しました
    SMS_DESPOOLER 3816 (0xee8) ~Despooler が命令を実行できませんでした。 エラー コード = 12 ...
    SMS_DESPOOLER 6128 (0x17f0) ~命令 E:\ConfigMgr\inboxes\despoolr.box\receive\ds_3kyyh.sni は、2016 年 5 月 16 日午後 12:29:11 東部夏時間まで処理されません

    この場合、DistMgr はパッケージの処理を試みますが、パッケージの圧縮コピーが処理されてコンテンツ ライブラリに抽出されていないため、パッケージ処理スレッドは次のログを記録して終了します。

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~パッケージ '<PackageID>' のパッケージ処理スレッドを開始しました。スレッド ID = 0xAAC (2732)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~処理パッケージ <PackageID> (SourceVersion:1;StoredVersion:0)
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~パッケージ <PackageID> の内容がサイト CS1 からまだ到着していない場合は、後で再試行されます
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~パッケージ <PackageID> 処理スレッドのすべての DP スレッドが完了しました。
    SMS_DISTRIBUTION_MANAGER 2732 (0xaac) ~PackageID> のパッケージ処理スレッドの<終了。

  3. デスプール スレッドは命令を処理し、コンテンツ ライブラリにコンテンツを書き込みます。

    デスプール スレッドは命令を処理し、PCK ファイルを一時的な場所に圧縮解除してから、コンテンツ ライブラリにコンテンツを書き込みます。

    SMS_DESPOOLER 4072 (0xfe8) ~受信パッケージ <PackageID> バージョン 1。 圧縮ファイル - E:\SMSPKG\<PackageID>。PCK.1 as E:\ConfigMgr\inboxes\despoolr.box\receive\PKGj3uib.TRY
    SMS_DESPOOLER 4072 (0xfe8) ~Old package storedUNC パスは です。
    SMS_DESPOOLER 4072 (0xfe8) ~圧縮パッケージの格納にドライブ E を使用します。
    SMS_DESPOOLER 4072 (0xfe8) ブランチ キャッシュ レジストリ エントリが見つかりません。
    SMS_DESPOOLER 4072 (0xfe8) 非圧縮 E:\SMSPKG\<PackageID>。PCK から E:\SMSPKG\<PackageID>。PCK.temp
    SMS_DESPOOLER 4072 (0xfe8) コンテンツ ライブラリ: E:\SCCMContentLib
    SMS_DESPOOLER 4072 (0xfe8) E:\SMSPKG\<PackageID> からの抽出。PCK.temp
    SMS_DESPOOLER 4072 (0xfe8) パッケージ <PackageID の抽出>
    SMS_DESPOOLER 4072 (0xfe8) コンテンツ<の抽出 PackageID.1>
    SMS_DESPOOLER 4072 (0xfe8) PackageID> のパッケージ定義の<記述
    SMS_DESPOOLER 4072 (0xfe8) ~PackageID <> (バージョン 0) が配布ソースに存在する場合は、新しいバージョン (バージョン 1) を保存します。
    SMS_DESPOOLER 4072 (0xfe8) ~ストアド パッケージ <PackageID>。 格納されているパッケージのバージョン = 1

    コンテンツ ライブラリにコンテンツを正常に抽出した後、despooler はテーブル内をSMSPackages_L更新StoredPkgVersionし、テーブルに行をPkgNotification挿入して、DistMgr に通知してパッケージを処理できるようにします。

    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. デスプール スレッドは、 の PkgStatus受信サイトの Type 1 行を更新し、ID 4400 の状態メッセージを生成してから終了します。

    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=Mon 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 が 1 つの命令を正常に実行しました。

手順 8: SMSDBMON がパッケージを処理するように DistMgr に通知する

SMSDBMON は、テーブルの変更を PkgNotification 検出し、 に PKN ファイル DistMgr.box をドロップして、DistMgr にパッケージを処理するように指示します。

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

手順 9: DistMgr がウェイクアップしてパッケージを処理する

DistMgr は、PKN ファイルを検出した後にウェイクアップし、パッケージを処理します。

  1. メイン DistMgr スレッドは、パッケージ処理スレッドを作成します。

    メイン DistMgr スレッドは、パッケージ処理キューにパッケージを追加し、パッケージ処理スレッドを作成します。

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) パッケージのプロパティがパッケージ 'PackageID>' の<通知を更新しました
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) パッケージ処理キューへのパッケージ '<PackageID>' の追加。
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~現在、許可されている 3 つのパッケージ処理スレッドのうち 0 個を使用しています。
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~パッケージ 'PackageID>'< のパッケージ処理スレッドを開始しました,スレッド ID = 0x93C (2364)

  2. パッケージ処理スレッドは、パッケージ アクションを処理する DP スレッドを作成し、それらが終了するのを待機します。

    パッケージ処理スレッド (TID 2364) は、DP のパッケージ アクション (追加/更新/削除) を処理します。 この場合、パッケージは DP に配布され、パッケージ処理スレッドによって DP スレッドが作成され、DP にパッケージが追加されます。 DP スレッドを作成した後、パッケージ処理スレッドは、すべての DP スレッドが終了するまで待ってから、さらに進みます。

    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~処理パッケージ <PackageID> (SourceVersion:1;StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) パッケージ <PackageID> の更新を開始します。..
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~パッケージ アクションは 1、更新マスクは 160、UpdateMaskEx は 0 です。
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~圧縮パッケージの格納にドライブ E を使用します。
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~パッケージ <PackageID> ..が正常に作成または更新されました。
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) パッケージ PackageID> のサーバーへの追加<を開始 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~サーバー上のパッケージ <PackageID> の追加または更新用に DP 処理スレッド 5204 を作成しました ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ ...
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~パッケージ <PackageID> 処理スレッドのすべての DP スレッドが完了するまで待機しています。

  3. DP スレッドは、コンテンツを DP に転送する PkgXferMgr ジョブを作成し、終了します。

    DP スレッド (TID 5204) は、DP へのパッケージの追加に関する作業を開始します。 DP スレッドは、パッケージの内容を DP に直接コピーするのではなく、パッケージの内容を DP にコピーするように指示するパッケージ転送マネージャー (PkgXferMgr) のジョブを作成します。 次のログ エントリは、PkgXferMgr ジョブを作成している DP スレッドを示しています。 ジョブが作成されると、DP スレッドの作業が完了し、DP スレッドが終了します。

    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) DP スレッド: DP でパッケージ <PackageID> を追加または更新しようとしています ["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=Mon 16 16:31:37.364 2016 ISTR0 ="Dummy1" ISTR1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\" ISTR2="" ISTR 3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"MSWNET:["SMS_SITE=PS1"\PS1DP1.CONTOSO.COM\PS1DP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) 現在のユーザー コンテキストは、["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\.~ に接続するために使用されます。
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) ~パッケージ PackageID> を配布ポイント ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ に送信<するパッケージ転送ジョブを作成しました。
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) STATMSG: ID=2357 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE。CONTOSO.COM SITE=PS1 PID=5428 TID=5204 GMTDATE=Mon 16 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="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\PS1DP1.CONTOSO.COM\PS1DP1.CONTOSO.COM"
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) を返す前にクリーンアップを実行します。
    SMS_DISTRIBUTION_MANAGER 5204 (0x1454) \\PS1DP1.CONTOSO.COM\ADMIN$ へのネットワーク接続を取り消します。

    DP スレッドが PkgXferMgr ジョブを作成する場合は、テーブルに DistributionJobs 行を挿入します。

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

    ジョブを作成した後、DP スレッドはテーブル内 PkgServers_L の DP のアクションもリセットします。

    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. パッケージ プロセス スレッドは、すべての DP スレッドが終了した後に終了します。

    すべての DP スレッドが終了すると、パッケージ処理スレッドも終了します。

    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~スレッド ハンドル 0000000000000218C とスレッド ID 5204 が終了したパッケージ <PackageID> の DP スレッド。
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~パッケージ <PackageID> 処理スレッドのすべての DP スレッドが完了しました。
    SMS_DISTRIBUTION_MANAGER 2364 (0x93c) ~ PackageID> の<パッケージ処理スレッドの終了

手順 10: SMSDBMON は、手順 9-3 で作成されたジョブを処理するように PkgXferMgr に通知します

手順 9- 3 で PkgxferMgr ジョブが作成された後、SMSDBMON はテーブルの変更を DistributionJobs 検出し、 に PKN ファイル PkgTransferMgr.box をドロップして、PkgXferMgr にジョブを処理するように指示します。

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: update on DistributionJobs for DistributionJob_Creation [<PackageID>][1035292]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: ドロップされた E:\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID>。PKN [1035292]

手順 11: PkgXferMgr がウェイクアップしてジョブを処理する

  1. メイン PkgXferMgr スレッドは、指定された DP への送信スレッドを作成します。

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ID を持つ送信要求が見つかりました:577、PackageID<>、バージョン:1、Priority: 2、Destination: PS1DP1.CONTOSO.COM、DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~作成された送信スレッド (スレッド ID = 0x12EC)

  2. 送信スレッドは、DP にコンテンツをコピーします。

    送信スレッドは、パッケージの内容の DP へのコピーを開始します。 このプロセスでは、パッケージ内のすべてのファイルをディレクトリ内の DP SMS_DP$ にコピーします。 パッケージは DP に再配布されていないため、再配布アクションは 0 に設定されます。つまり、ファイルが DP 上のコンテンツ ライブラリに既に存在する場合、再コピーされません。

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ジョブで開始するスレッドの送信: 577、パッケージ: <PackageID>、バージョン: 1、Priority: 2、server: PS1DP1.CONTOSO.COM、DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) pkg <PackageID>、バージョン 1、状態 0、配布ポイント ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) パッケージ <PackageID のレガシ コンテンツ <PackageID.1> の送信>
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) 再配布=0、Related=
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) 送信ファイル '\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp'
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) PackageID.1> で Dummy1.txt ファイルを<追加します。
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) リモート DP PS1DP1.CONTOSO.COM の事後操作が完了しました
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~正常に送信が完了しました
    コンピューター (PS1SITE.CONTOSO.COM) からアプリケーション (SMS_PACKAGE_TRANSFER_MANAGER) を実行しているSMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ユーザー (NT AUTHORITY\SYSTEM) がサイト (PS1) から SDK の変更を送信しています
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) ~SWD パッケージ <PackageID> バージョン 1 の配布ポイントへの送信が完了 しました 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=Mon 16 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. 送信スレッドは、DistMgr にステータス メッセージを送信します。

    送信スレッドは、コンテンツの送信が完了した後 (成功/失敗)、DistMgr に状態を送信して、DistMgr がデータベースの状態を処理および更新できるようにします。 この状態は、パッケージの状態を含む STA ファイルをディレクトリにドロップすることによって DistMgr に DistMgr.box\incoming 送信されます。

    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) pkg <PackageID>、バージョン 1、状態 3、配布ポイント ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~ の配布マネージャーに状態を送信しました
    SMS_PACKAGE_TRANSFER_MANAGER 4844 (0x12ec) STATMSG: ID=8210 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE。CONTOSO.COM SITE=PS1 PID=5428 TID=4844 GMTDATE=Mon 5 月 16 日 16:34:27.614 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4=""ISTR5=""ISTR6="ISTR6"ISTR5="ISTR6=" ISTR1TR7="" 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) 送信スレッドが完了しました~

手順 12: SMS DP プロバイダーは、手順 11-2 でコピーしたコンテンツをコンテンツ ライブラリに追加します

手順 11-2 では、各ファイルをコピーした後、PkgXferMgr は、SMS DP プロバイダー名前空間 (root\SCCMDP) の WMI クラスに対して SMS_DistributionPoint メソッドを実行して、ファイルをコンテンツ ライブラリに追加するように DP に指示します。 コンテンツがコンテンツ ライブラリに正常に追加されると、 SMSDPProv.log に次の内容が表示されます。

2996 (0xbb4) パッケージ 'PackageID' のコンテンツ '<<PackageID.1>>' がコンテンツ ライブラリに正常に追加されました

手順 13: DistMgr は、手順 11-3 で送信された状態メッセージを処理します

受信 STA ファイルを処理するには (手順 11- 3 で送信)、DistMgr はレプリケーション処理スレッドを使用します。 このスレッドは、STA ファイルを処理するためにウェイクアップし、データベース内のテーブルの PkgStatusType 2 行を更新し、ID 2330 の状態メッセージを生成します。これは、"ディストリビューション マネージャーが配布ポイントにパッケージを正常に配布しました" ことを意味します。

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~受信ファイル E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU.STA の処理。
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~通常の DP の STA の処理 ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:[["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~パッケージ <PackageID の処理状態の更新>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~パッケージ PackageID> の ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\ のパッケージ <サーバーの状態が正常に更新されました。状態 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=Mon 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="" 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) ~パッケージ状態ファイル E:\ConfigMgr\inboxes\distmgr.box\INCOMING\1R7IEEHU が正常に削除されました。駅

このスレッドは、次のクエリを実行して、データベースの状態を更新します。

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

手順 14: パッケージの状態の変更は、データベース レプリケーションを介して他のサイトにレプリケートされます

データベースでパッケージの状態が更新されると、データベース レプリケーションを介して他のサイトにレプリケートされます。

パッケージを標準 DP に配布する

次の手順では、パッケージがプライマリ サイトの DP に配布され、問題のこのプライマリ サイト サーバーにコンテンツ ライブラリにパッケージのコピーが既に存在する場合のイベントのフローについて説明します。

手順 1: 管理者はパッケージを DP に配布します。 管理者は、対象のプライマリ サイトまたは中央管理サイト、または別のプライマリ サイトに直接接続されている管理コンソールから実行できます

管理者がコンソールから DP にパッケージを配布した後、管理コンソールは クラスの SMS_Package メソッドをAddDistributionPoints呼び出して、指定した DP をパッケージに追加します。 SMSProv.log に次の情報が表示されます。

SMS プロバイダー 4416 (0x1140) コンテキスト: SMSAppName=Configuration Manager 管理者コンソール~
SMS プロバイダー 4416 (0x1140) ExecMethodAsync : SMS_Package.PackageID="<PackageID>"::AddDistributionPoints~
SMS プロバイダー 4416 (0x1140) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
SMS プロバイダー 4416 (0x1140) 監査: ユーザー CONTOSO\管理 は、クラス SMS_Packageのインスタンスの監査メソッドを呼び出しました。

このメソッドが呼び出されると、SMS プロバイダーは 2 (ADD) に設定された 行を ActionPkgServers挿入します。

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

手順 2: 管理者が別のプライマリ サイトまたは中央管理サイトからパッケージを配布する場合、データベース レプリケーション サービス (DRS) は問題のサイトに変更をレプリケートします

管理者がこのパッケージを中央管理サイトまたは別のプライマリ サイトに接続された本体と共に配布する場合、DRS は変更を他の PkgServers サイトにレプリケートします。

手順 3: SMSDBMON がパッケージを処理するように DistMgr に通知する

変更が DP が存在するサイトにレプリケートされた後、SMSDBMON はテーブル内の変更を PkgNotification 検出し、 に PKN ファイル DistMgr.box をドロップして DistMgr にパッケージを処理するように指示します。

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: INSERT on PkgNotification for PkgNotify_Add [<PackageID>][1035417]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: ドロップされた E:\ConfigMgr\inboxes\distmgr.box\<PackageID>。PKN [1035417]

手順 4: DistMgr がウェイクアップしてパッケージを処理する

DistMgr は、PKN ファイルを検出した後にウェイクアップし、パッケージを処理します。

  1. メイン DistMgr スレッドは、パッケージ処理スレッドを開始します。

    メイン DistMgr スレッドは、パッケージ処理キューにパッケージを追加し、パッケージ処理スレッドを作成します。

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) パッケージ処理キューへのパッケージ '<PackageID>' の追加。
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~現在、許可されている 3 つのパッケージ処理スレッドのうち 0 個を使用しています。
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~パッケージ 'PackageID>'< のパッケージ処理スレッドを開始しました,スレッド ID = 0xB58 (2904)

  2. パッケージ処理スレッドは、パッケージ アクションを処理する DP スレッドを作成し、終了するまで待機します。

    パッケージ処理スレッド (TID 2904) は、DP のパッケージ アクション (追加/更新/削除) を処理します。 この場合、パッケージが DP に追加され、パッケージ処理スレッドによって DP スレッドが作成され、パッケージが DP に追加されます。 DP スレッドを作成した後、パッケージ処理スレッドは、すべての DP スレッドが終了するまで待ってから、さらに進みます。

    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~処理パッケージ <PackageID> (SourceVersion:1;StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) パッケージ <PackageID> に対してアクションを指定しませんが、このパッケージのパッケージ サーバーが変更される可能性があります。
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) パッケージ PackageID> のサーバーへの追加<を開始 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~サーバー上のパッケージ <PackageID> の追加または更新用に DP 処理スレッド 3792 を作成しました ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~パッケージ <ID> 処理スレッドのすべての DP スレッドが完了するまで待機しています。

  3. DP スレッドは、コンテンツを DP に転送して終了するパッケージ転送マネージャー (PkgXferMgr) ジョブを作成します。

    DP スレッド (TID 3792) は、DP にパッケージを追加する作業を開始します。 DP スレッドは、パッケージの内容を DP に直接コピーするのではなく、パッケージの内容を DP にコピーするように指示する PkgXferMgr のジョブを作成します。 次のログ エントリは、PkgXferMgr ジョブを作成している DP スレッドを示しています。 ジョブが作成されると、DP スレッドの作業が完了し、DP スレッドが終了します。

    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) DP スレッド: DP でパッケージ <PackageID> を追加または更新しようとしています ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~パッケージ PackageID> を配布ポイント ["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=Mon 5 月 16 日 19:26:58.642 2016 ISTR0 ="<PackageID>" ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\" ISTR2="" ISTR 3="" 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\PS1DP2.CONTOSO.COM\PS1DP2.CONTOSO.COM"

    DP スレッドが PkgXferMgr ジョブを作成する場合は、テーブルに DistributionJobs 行を挿入します。

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

    ジョブを作成した後、DP スレッドはテーブル内PkgServers_Lの DP のアクションもリセットします。

    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. すべての DP スレッドが終了すると、パッケージ処理スレッドが終了します。

    すべての DP スレッドが終了すると、パッケージ処理スレッドも終了します。

    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~スレッド ハンドル 0000000000002524とスレッド ID 3792 が終了したパッケージ <PackageID> の DP スレッド。
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~パッケージ <PackageID> 処理スレッドのすべての DP スレッドが完了しました。
    SMS_DISTRIBUTION_MANAGER 2904 (0xb58) ~PackageID> のパッケージ処理スレッドの<終了。

手順 5: SMSDBMON がジョブを処理するように PkgXferMgr に通知する

PkgxferMgr ジョブが作成された後、SMSDBMON は今度はテーブルの変更を DistributionJobs 検出し、 に PKN ファイル PkgTransferMgr.box をドロップして PkgXferMgr にジョブを処理するように指示します。

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: Update on DistributionJobs for DistributionJob_Creation [<PackageID>][1035419]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: ドロップされた E:\ConfigMgr\inboxes\PkgTransferMgr.box\<PackageID>。PKN [1035419]

手順 6: PkgXferMgr がウェイクアップしてジョブを処理する

  1. メイン PkgXferMgr スレッドは、送信スレッドを作成します。

    メイン PkgXferMgr スレッドは、指定された DP にパッケージを送信する送信スレッドを作成します。

    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ID を持つ送信要求が見つかりました:582、PackageID<>、バージョン:1、Priority: 2、Destination: PS1DP2.CONTOSO.COM、DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5392 (0x1510) ~作成された送信スレッド (スレッド ID = 0xBCC)

  2. 送信スレッドは、DP にコンテンツをコピーします。

    送信スレッド (TID 3020) は、パッケージの内容の DP へのコピーを開始します。 このプロセスでは、パッケージ内のすべてのファイルをディレクトリ内の DP SMS_DP$ にコピーします。 パッケージは DP に再配布されていないため、再配布アクションは 0 に設定されます。つまり、DP 上のコンテンツ ライブラリにファイルが既に存在する場合は、再コピーされません。

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ジョブの開始スレッドの送信: 582、パッケージ: <PackageID>、バージョン: 1、Priority: 2、server: PS1DP2.CONTOSO.COM、DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) pkg <PackageID>、バージョン 1、状態 0、配布ポイント ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\~ の配布マネージャーに状態を送信しました
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) パッケージ <PackageID のレガシ コンテンツ <PackageID.1> の送信>
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) 再配布=0、 Related= SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ファイル '\\PS1DP2.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F6000226B330C73942454A174D7E26533-PackageID.1 temp'
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) PackageID.1> で Dummy1.txt ファイルを<追加する
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) リモート DP PS1DP2.CONTOSO.COM の事後操作が完了しました
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~送信が正常に完了しました
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) ~SWD パッケージ <PackageID> バージョン 1 の配布ポイントへの送信が完了しました PS1DP2.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) STATMSG: ID=8200 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE。CONTOSO.COM SITE=PS1 PID=5428 TID=3020 GMTDATE=Mon 19:28:12.991 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP2.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

  3. 送信スレッドは、DistMgr にステータス メッセージを送信します。

    送信スレッドは、コンテンツの送信が完了した後 (成功/失敗)、DistMgr に状態を送信して、DistMgr がデータベースの状態を処理および更新できるようにします。 この状態は、ディレクトリにパッケージの状態を含む STA ファイルを削除することによって DistMgr に DistMgr.box\incoming 送信されます。

    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) pkg PackageID、バージョン 1、状態 3、配布ポイント ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\~ の配布マネージャーに状態を送信しました
    SMS_PACKAGE_TRANSFER_MANAGER 3020 (0xbcc) STATMSG: ID=8210 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_PACKAGE_TRANSFER_MANAGER" SYS=PS1SITE。CONTOSO.COM SITE=PS1 PID=5428 TID=3020 GMTDATE=Mon 5 月 16 日 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) 送信スレッドが完了しました~

手順 7: SMS DP プロバイダーがコンテンツ ライブラリにコンテンツを追加する

各ファイルをコピーした後、PkgXferMgr は、SMS DP プロバイダー名前空間 (root\SCCMDP) 内の WMI クラスに対して SMS_DistributionPoint メソッドを実行して、ファイルをコンテンツ ライブラリに追加するように DP に指示します。 コンテンツがコンテンツ ライブラリに正常に追加されると、 SMSDPProv.log に次の内容が表示されます。

1304 (0x518) パッケージ 'PackageID' のコンテンツ '<<PackageID.1>>' がコンテンツ ライブラリに正常に追加されました

手順 8: DistMgr は、PkgXferMgr によって送信された状態メッセージを処理します

受信 STA ファイル (手順 6- 3 で送信) を処理するために、DistMgr はレプリケーション処理スレッドを使用します。 このスレッドは、STA ファイルを処理するためにウェイクアップし、データベース内のテーブルの PkgStatus Type 2 行を更新し、ID 2330 の状態メッセージを生成します。これは、"ディストリビューション マネージャーが配布ポイントにパッケージを正常に配布しました" ことを意味します。

SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~受信ファイル E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M.STA の処理。
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~通常の DP の STA の処理 ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:[["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~パッケージ <PackageID の処理状態の更新>
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~パッケージ PackageID> の ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ のパッケージ <サーバーの状態が正常に更新されました。状態 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=Mon 5 月 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="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=404 AVAL1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\PS1DP2.CONTOSO.COM"
SMS_DISTRIBUTION_MANAGER 6116 (0x17e4) ~パッケージ状態ファイル E:\ConfigMgr\inboxes\distmgr.box\INCOMING\FV8S6B6M が正常に削除されました。駅

このスレッドは、次のクエリを実行して、データベースの状態を更新します。

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

手順 9: パッケージの状態の変更が DRS 経由で他のサイトにレプリケートされる

データベースでパッケージの状態が更新されると、データベース レプリケーションを介して他のサイトにレプリケートされます。

DP をプルするパッケージを配布する

次の手順では、パッケージがプライマリ サイトのプル DP に配布され、問題のこのプライマリ サイト サーバーにコンテンツ ライブラリにパッケージのコピーが既に存在する場合のイベントのフローについて説明します。

手順 1: 管理者は、DP にパッケージを配布します。 管理者は、該当するプライマリ サイトまたは中央管理サイトまたは別のプライマリ サイトに直接接続されている管理コンソールから実行できます

管理者がコンソールから DP にパッケージを配布した後、コンソールは (SMS_ContentPackage 下の例のアプリケーションの場合) クラスの適切な派生クラスのSMS_Packageメソッドを呼び出AddDistributionPointsして、指定した DP をパッケージに追加します。 SMSProv.log には、次の情報が表示されます。

SMS プロバイダー 22172 (0x569c) コンテキスト: SMSAppName=Configuration Manager 管理者コンソール~
SMS プロバイダー 22172 (0x569c) ExecMethodAsync : SMS_ContentPackage.PackageID='P010000F'::AddDistributionPoints~
SMS プロバイダー 22172 (0x569c) CExtProviderClassObject::D oExecuteMethod AddDistributionPoints~
SMS Provider 22172 (0x569c) Auditing: ユーザー CONTOSO\管理 は、クラス SMS_ContentPackage のインスタンスの監査メソッドを呼び出しました。

このメソッドが呼び出されると、SMS プロバイダーは PkgServers Action2 (ADD) に設定された行を挿入し、テーブルに通知が PkgNotification 作成されます。

手順 2: 管理者が別のプライマリ サイトまたは中央管理サイトからパッケージを配布する場合、DRS は問題のサイトに変更をレプリケートします

管理者が中央管理サイトまたは別のプライマリ サイトに接続されたコンソールでこのパッケージを配布した場合、DRS は PkgServers の変更を他のサイトにレプリケートします。

手順 3: SMSDBMON がパッケージを処理するように DistMgr に通知する

この変更が DP が存在するサイトにレプリケートされた後、SMSDBMON はテーブルの変更を検出し、 に PkgNotification PKN ファイル DistMgr.box をドロップして DistMgr にパッケージを処理するように指示します。

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

手順 4: DistMgr がウェイクアップしてパッケージを処理する

DistMgr は、PKN ファイルを検出した後にウェイクアップし、パッケージを処理します。

  1. メイン DistMgr スレッドは、パッケージ処理スレッドを開始します。

    メイン DistMgr スレッドは、パッケージ処理キューにパッケージを追加し、パッケージ処理スレッドを作成します。

    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) パッケージ処理キューにパッケージ 'P010000F' を追加します。
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~現在、許可されている 3 つのパッケージ処理スレッドのうち 0 個を使用しています。
    SMS_DISTRIBUTION_MANAGER 5292 (0x14ac) ~パッケージ 'P010000F' のパッケージ処理スレッドを開始しました,スレッド ID = 0x2C44 (11332)

  2. パッケージ処理スレッドは、パッケージ アクションを処理する DP スレッドを作成し、それらが終了するのを待機します。

    パッケージ処理スレッド (TID 11332) は、DP のパッケージ アクション (追加/更新/削除) を処理します。 この場合、パッケージが DP に追加され、パッケージ処理スレッドによって DP スレッドが作成され、パッケージが DP に追加されます。 DP スレッドを作成した後、パッケージ処理スレッドは、すべての DP スレッドが終了するまで待ってから、さらに進みます。

    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~処理パッケージ P010000F (SourceVersion:3;StoredVersion:3)
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) パッケージ P010000Fに対してアクションを指定しませんが、このパッケージのパッケージ サーバーが変更される可能性があります。
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) サーバーへのパッケージ P010000Fの追加を開始します ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:[["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~サーバー上のパッケージ P010000Fを追加または更新するための DP 処理スレッド 22444 を作成しました ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~すべての DP スレッドが完了するまで待機P010000F処理スレッド。

  3. DP スレッドは、コンテンツを DP に転送して終了する PkgXferMgr ジョブを作成します。

    DP スレッド (TID 22444) は、DP へのパッケージの追加に関する作業を開始します。 DP スレッドはパッケージの内容を DP に直接コピーせず、代わりにパッケージの内容を DP にコピーするように指示するパッケージ転送マネージャー (PkgXferMgr) のジョブを作成します。 次のログ エントリは、PkgXferMgr ジョブを作成している DP スレッドを示しています。 ジョブが作成されると、DP スレッドの作業が完了し、DP スレッドが終了します。

    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) DP スレッド: DP ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ でパッケージ P010000Fを追加または更新しようとしています
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) パッケージ サーバー ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ は PullDP です。
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) ~パッケージP010000Fを配布ポイントに送信するパッケージ転送ジョブを作成しました ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:[["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\。
    SMS_DISTRIBUTION_MANAGER 22444 (0x57ac) STATMSG: ID=2357 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=P01SITE。CONTOSO.COM SITE=P01 PID=36968 TID=22444 GMTDATE=Mon Jan 07 20:05:18.665 2019 ISTR0 ="P010000F" ISTR1="["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0 ="P010000F" AID1=404 AVAL1="["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\"

    DP スレッドが PkgXferMgr ジョブを作成する場合は、テーブルに DistributionJobs 行を挿入します。

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

    ジョブを作成した後、DP スレッドはテーブル内 PkgServers_L の DP のアクションもリセットします。

  4. すべての DP スレッドが終了すると、パッケージ処理スレッドが終了します。

    すべての DP スレッドが終了すると、パッケージ処理スレッドも終了します。

    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~スレッド ハンドル 0000000000003E2C とスレッド ID 22444 を持つパッケージ P010000Fの DP スレッドが終了しました。
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~パッケージ P010000F処理スレッドのすべての DP スレッドが完了しました。
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~ StoredPkgVersion (3) のパッケージ P010000F。 データベース内の StoredPkgVersion は 3 です。
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~SourceVersion (3) のパッケージ P010000F。 データベースの SourceVersion は 3 です。
    SMS_DISTRIBUTION_MANAGER 11332 (0x2c44) ~パッケージP010000Fのパッケージ処理スレッドの終了。

手順 5: SMSDBMON がジョブを処理するように PkgXferMgr に通知する

PkgxferMgr ジョブが作成された後、SMSDBMON はテーブルの DistributionJobs 変更を検出し、 に PKN ファイル PkgTransferMgr.box をドロップして、PkgXferMgr にジョブの処理を指示します。

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

手順 6: PkgXferMgr がウェイクアップしてジョブを処理する

  1. Main PkgXferMgr スレッドは、指定された DP にパッケージを送信するプル DP 送信スレッドを作成します。

    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) ID を持つ送信要求が見つかりました:190、パッケージ: P010000F、バージョン:3、Priority: 2、Destination: P01PDP1.CONTOSO.COM、DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 32936 (0x80a8) ~作成された送信スレッド (スレッド ID = 0x2B4C)

  2. プル DP 送信スレッドがプル DP に通知を送信する

    通常の送信スレッドとは異なり、プル DP 送信スレッド (TID 11084) は、通知の送信によってコンテンツのダウンロードを開始するようにプル DP に指示します。 これは 4 つのフェーズで行われます。

    フェーズ 1: プル DP 送信スレッドは、プル DP に配布されているコンテンツがソース DP で使用できるかどうかを確認します。 ソース DP でコンテンツを使用できない場合、プル DP 送信スレッドはログ内の次のメッセージで終了し、 ステータス メッセージ ID 8212 を生成します。つまり、"このプル配布ポイントにはコンテンツをダウンロードできるソースがありません。後でもう一度やり直します。 再試行は、ソフトウェア配布コンポーネント>構成プル配布ポイント タブで構成された再試行設定に基づいて、後で試行されます。

    ~プル DP P01PDP1のパッケージ P0100009で 1 つ以上のコンテンツのソースの場所が見つかりません。CONTOSO.COM。 通知は送信されません。
    ~ PullDP 通知に失敗しました。 エラー数 = 1/30、再起動時間 = 1/10/2019 2:00:42 AM 東部標準時
    STATMSG: ID=8212 SEV=I LEV=M SOURCE='SMS Server' COMP='SMS_PACKAGE_TRANSFER_MANAGER' SYS=P01SITE。CONTOSO.COM SITE=P01 PID=2336...

    ソース DP でコンテンツを使用できる場合にチェックするために実行されるクエリを次に示します。

    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
    

    フェーズ 2: プル DP 送信スレッドは、プル DP にさらに多くのジョブの容量があるかどうかを確認します。 既定では、pull DP は 50 個のジョブを同時に処理できます。 これは、 PullDP のアクティブ ジョブ 数 SCF プロパティ SMS_DISTRIBUTION_MANAGER によって制御され、 スケーラビリティの問題が発生する可能性があるため、容量を増やすことはお勧めしません。 プル DP が既に最大容量で動作している場合 (つまり、50 個の実行中のジョブがあります)、プル DP 送信スレッドはログの下のメッセージで終了し、[ソフトウェア配布コンポーネントの構成>][プル配布ポイント] タブで構成された [再試行] 設定に基づいて後で再試行します。

    PullDP <DPNALPATH> が最大容量 50 に達しました
    PullDP には容量がありません。 再起動時刻 = <タイムスタンプ>
    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...

    プル DP が容量を持っているかどうかを判断するために使用されるクエリを次に示します。

    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, '') <> '')
    

    フェーズ 3: プル DP 送信スレッドは、ダウンロードする必要があるファイルのメタデータを含むパッケージ情報バンドル ファイルを送信します。 このファイルは <PackageID です>。 サイト サーバー コンテンツ ライブラリからパッケージ INI ファイルから生成され、プル DP の SMS_DP$ ディレクトリにコピーされる TZ ファイル。

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ジョブで開始する DP 送信スレッドをプルする: 190、パッケージ: P010000F、バージョン: 3、Priority: 2、サーバー: P01PDP1.CONTOSO.COM、DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) パッケージ情報バンドル P010000Fを PullDP に送信します。 ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\

    フェーズ 4: プル DP 送信スレッドは、パッケージ ID、パッケージ バージョン SMS_PullDPNotification 、および XML 通知を含む、名前空間内 root\SCCMDP のプル DP 上のクラスのインスタンスを作成します。 クラスのインスタンスを作成した後、名前空間の SMS_PullDPNotification クラスで root\SCCMDP メソッドをSMS_DistributionPointNotifyPullDP実行します。このメソッドは、DP WMI プロバイダーに、プル DP コンポーネントにコンテンツのダウンロードを開始するように通知するように指示します。

    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~プル DP P01PDP1で WMI アクションが正常に実行されました。CONTOSO.COM。
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) ~ PullDP 通知が送信されます。 試行回数 = 1/30、再起動時間 = 1/7/2019 4:06:04 PM 東部標準時
    SMS_PACKAGE_TRANSFER_MANAGER 11084 (0x2b4c) プル DP 送信スレッド完了~

    通知 XML は を呼び出 fnGetPullDPXMLNotificationすことによって生成されます。 通知 XML クエリを生成するサンプル クエリの例を次に示します。これは、コンテンツが再配布されていないために アクション追加 されることを示しています。

    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
    

    XML 通知には、ソース DP の場所と共にコンテンツ メタデータが含まれています。 サンプル XML 通知の外観を次に示します。

    <PullDPNotification>
       <PullDPPackageNotification PackageID='P010000F' Version='3' Action='redist' AllowFallback='true' Priority='2' PackageType='content' PackageTypeID='8' PackageFlags='16777216' PackageSize='5532' SDDL='O:SYG:BAD:P(A;;FA;;;BA)(A;OICIIO;GA;;;BA)(A;;0x1200a9;;;BU)(A;OICIIO;GXGR;;;BU)(A;;FA;;;BA)(A;OICIIO;GA;;;BA)' HashAlgorithm='32780' Hash='3ED23B9869F7E10E19439F11341405FF76E22022E56468DCF211475899BD2914' ExpandShare='0' ShareName='' ShareType='1'>
         <PullDPPackageContent ContentID='Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' RelatedContentID='Content_162d6f21-176e-4e4b-a620-6e94a4b9f73e.1'>
            <DPLocation DPUrl='http://P01MP.CONTOSO.COM/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' Rank='1' Type='Windows NT Server' Protocol='https' />
         </PullDPPackageContent>
       </PullDPPackageNotification>
    </PullDPNotification>
    
  3. プル DP 送信スレッドは、状態ポーリングを開始できるようにジョブを更新します。

    正常に完了した後にジョブを削除する標準 DP の送信スレッドとは異なり、プル DP 送信スレッドはテーブル内のDistributionJobsジョブを更新し、プル DP に通知を正常に送信した後に を に設定SendActionPullQueryResultActionします。

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

    状態メッセージはプル DP からの配布状態レポートの主要なメカニズムとして使用され、ジョブの成功/失敗状態が通知されるまで、配布ジョブはデータベースに残ります。 PkgXferMgr は、スケジュールされた間隔 ([ソフトウェア配布コンポーネントのプロパティ>][プル配布ポイント] タブで構成可能) でポーリングを開始し、コンテンツがプル DP にダウンロードされたかどうかをチェックします。 プル DP は配布状態を含む状態メッセージを送信しますが、プル DP が何らかの理由で状態メッセージを管理ポイントに送信できない場合に備えて、PkgXferMgr もバックアップ メカニズムとしてポーリングを実行して配布状態を取得します。

  4. (ポーリング間隔時): プル DP 送信スレッドが作成され、プル DP から配布状態がポーリングされます。

    新しいプル DP 送信スレッドは、[ソフトウェア配布コンポーネントのプロパティ] で指定された [ポーリング前の遅延 (分)] 値の後に開始され、配布状態をチェックします。 次の例では、プル DP に対してクエリを実行し、コンテンツが正常にインストールされていることを確認し、状態メッセージを Distribution Manager に送信します。

    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) ジョブ用に開始する DP 送信スレッドをプルする: 194、パッケージ: P010000F、バージョン: 3、Priority: 2、サーバー: P01PDP1.CONTOSO.COM、DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) ~バージョン 3 P010000F SWD パッケージの配布ポイントへの送信が完了しました P01PDP1.CONTOSO.COM
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) pkg P010000F、バージョン 3、状態 3、配布ポイント ["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\P01PDP1.CONTOSO.COM\"
    SMS_PACKAGE_TRANSFER_MANAGER 18724 (0x4924) プル DP 送信スレッド完了~

    プル DP から成功状態メッセージを受信すると、ジョブがデータベースから削除され、ポーリングが停止することに注意してください。

手順 7: SMS DP プロバイダーがプル DP コンポーネント (CcmExec) にジョブを処理するように通知する

メソッドの実行時に NotifyPullDP 、DP WMI プロバイダーはプル DP コンポーネントをホストする CcmExec に通知します。 SMSDPProv.log には、次の情報が表示されます。

4688 (0x1250) PullDP に正常に通知されました

手順 8: プル DP は WMI からジョブを読み込みます

通知を受信すると、プル DP コンポーネントは WMI からジョブを読み込み、PackageID> を<検証します。 PkgxferMgr によってコピーされた TZ ファイル。

PullDP 4404 (0x1134) CPullDPService::LoadJobsFromXML for P010000F.3
PullDP 4404 (0x1134) - P010000F.3 - XML には 1 つのコンテンツ ジョブがあります。
PullDP 4404 (0x1134) CPullDPPkgContJob::LoadContentJobFromXML(): Set JobState = NotStarted
PullDP 4404 (0x1134) - P010000F.3 - コンテンツ ジョブ {C10457F9-DE3A-4B45-878C-345919AFF97E} for content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 from XML...
PullDP 4404 (0x1134) CPullDPPkgJob::LoadJobFromXML() がパッケージ P010000F.3 のジョブを正常に読み込み、1 つのコンテンツ ジョブがあります。 ...
PullDP 4404 (0x1134) コンテンツ情報ハッシュ E:\SMS_DP$\P010000F.tz :3ED23B9869F7E10E11341405FF76E22022E56468DCF211475899BD29144
PullDP 4404 (0x1134) CPullDPService::ExecuteJobs()。 1 つのジョブを実行する

手順 9: プル DP は、パッケージに関連付けられているコンテンツをダウンロードするコンテンツ ジョブを作成します

PullDP 4404 (0x1134) P010000F.3 ダウンロードの開始には、1 つのコンテンツ ジョブがあります。
PullDP 3812 (0xee4) コンテンツ ジョブ {C10457F9-DE3A-4B45-878C-345919AFF97E} が実行されています。
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (state: 1-NotStarted) for package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

上の例では、ジョブ {C10457F9-DE3A-4B45-878C-345919AFF97E} はコンテンツ Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 に関連付けられています。 複数のコンテンツ項目を含むパッケージの場合、パッケージに関連付けられているジョブの数 (一意の ID を持つ) が表示されます。

PullDP 1320 (0x528) P010000A.2 ダウンロードの開始には、2 つのコンテンツ ジョブがあります。
PullDP 5012 (0x1394) ContentExecuteJob {55692006-DFE8-4357-86D9-9839C8BF79CF} (state: 1-NotStarted) for package P010000A.2 content 2484568c-7aba-44ae-8557-05b61d62e70d.
PullDP 4112 (0x1010) ContentExecuteJob {7175CD81-CF67-48C9-AA22-010BF60B640E} (state: 1-NotStarted) for package P010000A.2 content c085b4ba-8e8f-42bf-8e2d-bc1067697722.

手順 10: (該当する場合) プル DP ダウンロード コンテンツ署名

(該当する場合)コンテンツ ジョブは、パッケージ署名をダウンロードするデータ転送サービス (DTS) ジョブを作成します。 署名ファイルは TAR ファイルであり、ソース配布ポイントから仮想ディレクトリから SMSSIG$ ダウンロードされ、コンテンツ内の各ファイルの RDC 署名が含まれています。 RDC 署名は、ファイル コンテンツが変更されたかどうか、および差分コンテンツまたは完全なコンテンツをダウンロードするかどうかを判断するために使用されます。 この手順は変更されたコンテンツにのみ適用されるため、常にこの手順が表示されるとは限らず、代わりに手順 11 が表示されます。

PullDP 3812 (0xee4) Created SignatureDownload DTS job {3C962758-7ABE-40F2-A585-E5B59E378BEA} for package P010000F.3, content id Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. JobState = NotStarted
PullDP 3812 (0xee4) CPullDPPkgContJob::NotifyDeltaDownload。 JobState = [Downloading Signature] Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 for package P010000F.3 content job id {C10457F9-DE3A-4B45-878C-345919AFF97E}
PullDP 752 (0x2f0) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (state: 4-Downloading Signature) for package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

DataTransferService.log は、署名ファイルをダウンロードする BITS ジョブを作成し、完了時に通知する DTS ジョブの進行状況を示します。

DataTransferService 3812 (0xee4) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} が作成され、'<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSSIG$>' からにダウンロードされます 'E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1'。
DataTransferService 3856 (0xf10) DTS ジョブ '{3C962758-7ABE-40F2-A585-E5B59E378BEA}' の BITS ダウンロードを開始します。
DataTransferService 3856 (0xf10) DTS ジョブ '{3C962758-7ABE-40F2-A585-E5B59E378BEA} のユーザー 'S-1-5-18' の BITS ジョブ '{43647077-986C-4727-A954-B327ECA50302}' を開始します。
DataTransferService 3856 (0xf10) BITS ジョブへの追加: Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.tar
DataTransferService 2528 (0x9e0) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} のダウンロードが正常に完了しました。
DataTransferService 3856 (0xf10) DTS ジョブ '{3C962758-7ABE-40F2-A585-E5B59E378BEA}' に対して呼び出された実行。 現在の状態: 'RetrievedData'。
DataTransferService 3856 (0xf10) DTSJob {3C962758-7ABE-40F2-A585-E5B59E378BEA} 状態 'NotifiedComplete' です。
DataTransferService 3856 (0xf10) DTS ジョブ {3C962758-7ABE-40F2-A585-E5B59E378BEA} が完了しました。

Pull DP は完了通知を受け取り、署名を処理して、完全ダウンロードまたは差分ダウンロードが必要かどうかを判断します。

PullDP 4300 (0x10cc) コンテンツ ジョブ {C10457F9-DE3A-4B45-878C-345919AFF97E} の DTS メッセージを受信し、このコンテンツ ジョブを含むアクティブ ジョブが 1 つ検索されました。 DTS ジョブは {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} (状態: 5-Signature Downloads) for package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

手順 11: プル DP は、コンテンツのダウンロード用に DataTransferService (DTS) ジョブを作成します

Pull DP は、コンテンツのダウンロード ジョブを作成します。 この例では、プル DP にコンテンツが存在しなかったため、パッケージの完全なダウンロード DTS ジョブが作成されます。 DTS ジョブを使用して、次の手順の DataTransferService.log のダウンロード プロセスを追跡できます。

PullDP 4300 (0x10cc) コンテンツ ジョブ {C10457F9-DE3A-4B45-878C-345919AFF97E} の DTS メッセージを受信し、このコンテンツ ジョブを含むアクティブ ジョブが 1 つ検索されました。 DTS ジョブは {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} (状態: 5-Signature Downloads) for package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1. ...
ダウンロードする PullDP 3856 (0xf10) ファイル: ConfigMgrTools.msi
PullDP 3856 (0xf10) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: 0 ファイルが既に存在し、ダウンロードするファイルが 1 つ
PullDP 3856 (0xf10) が作成された FullDownload(Manifest) DTS ジョブ {78635652-3D12-4A26-A51B-D553934ECB54} for package P010000F.3, content id Content_3c9813ba-d7ab-4963-929c-36f90f479613.1, コンテンツ ジョブ ID {C10457F9-DE3A-4B45-878C-345919AFF97E}.

手順 12: DTS は、コンテンツをダウンロードして完了通知を送信する BITS ジョブを作成します

DataTransferService.log は、ジョブの進行状況を示します。 プル DP に対して詳細ログが有効になっている と、PullDP.log ダウンロードの進行状況に関する詳細情報も表示されます。

DataTransferService 3856 (0xf10) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54} が作成され、'<https://P01MP.CONTOSO.COM:443/SMS_DP_SMSPKG$/Content_3c9813ba-d7ab-4963-929c-36f90f479613.1>' からにダウンロードされます 'E:\SMS_DP$\P010000F\Content_3c9813ba-d7ab-4963-929c-36f90f479613.1\3'。
DataTransferService 3812 (0xee4) DTS ジョブ '{78635652-3D12-4A26-A51B-D553934ECB54} のユーザー 'S-1-5-18' の BITS ジョブ '{04498466-5A8E-4A22-97F2-A66306143A20}' を開始します。
DataTransferService 3812 (0xee4) DTSJob {78635652-3D12-4A26-A51B-D553934ECB54} 状態 'DownloadingData' です。
DataTransferService 752 (0x2f0) DTS ジョブ {78635652-3D12-4A26-A51B-D553934ECB54} が完了しました。

手順 13: プル DP はコンテンツをダウンロード済み状態に移動します

DTS ジョブが完了すると、プル DP が通知され、コンテンツが [ダウンロード済み ] 状態に移動されます。

PullDP 3812 (0xee4) コンテンツ ジョブ {C10457F9-DE3A-4B45-878C-345919AFF97E} の DTS メッセージを受信し、このコンテンツ ジョブを含む任意のアクティブ ジョブを検索します。 DTS ジョブは {78635652-3D12-4A26-A51B-D553934ECB54} です
PullDP 3812 (0xee4) DTS の成功したメッセージは、P010000F.3、コンテンツ ジョブ {C10457F9-DE3A-4B45-878C-345919AFF97E} で受信され、状態は0x0。
PullDP 3856 (0xf10) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (state: 9-Downloaded) for package P010000F.3 content Content_3c9813ba-d7ab-4963-929c-36f90f479613.1.

手順 14: コンテンツがコンテンツ ライブラリに移動され、状態が [成功] に移動する

コンテンツが正常に ダウンロードされたら、DP をプルしてコンテンツ ライブラリ (シングル インスタンス ストレージとも呼ばれます) にコンテンツを移動します。 コンテンツがコンテンツ ライブラリに移動されると、コンテンツは SIApplied 状態に移動し、その後に 成功状態になります

PullDP 3856 (0xf10) CPullDPPkgContJob::ApplySingleInstancing(): JobState = Downloaded
PullDP 3856 (0xf10) CPullDPPkgContJob::NotifySIApplied()。 JobState = SIApplied
PullDP 3812 (0xee4) コンテンツ ジョブ {C10457F9-DE3A-4B45-878C-345919AFF97E} が実行されています。
PullDP 3812 (0xee4) ContentExecuteJob {C10457F9-DE3A-4B45-878C-345919AFF97E} (状態: 1 パッケージ P010000F.3 コンテンツ Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 用の 3-SIApplied)。
...
PullDP 3812 (0xee4) CPullDPPkgContJob::NotifySucceeded()。 パッケージ P010000F.3 およびコンテンツ Content_3c9813ba-d7ab-4963-929c-36f90f479613.1 のコンテンツ ジョブ {C10457F9-DE3A-4B45-878C-345919AFF97E} は正常に完了しました。 JobState = 成功
PullDP 3812 (0xee4) パッケージ P010000F.3 のコンテンツ ジョブ {C10457F9-DE3A-4B45-878C-345919AFF97E} が完了したことを通知します。

各コンテンツ アイテムがコンテンツ ライブラリに追加されると、SMSDPProv.logも通知され、次の内容が報告されます。

4688 (0x1250) パッケージ 'P010000F' のコンテンツ 'Content_3c9813ba-d7ab-4963-929c-36f90f479613.1' がコンテンツ ライブラリに正常に追加されました

1 つのパッケージ (展開の種類やソフトウェア更新プログラム パッケージを超えるアプリケーションなど) に複数のコンテンツ項目が関連付けられている可能性があることに注意してください。 パッケージに関連付けられているコンテンツごとに、コンテンツのダウンロード用に DTS ジョブが作成され、コンテンツが正常に完了するとコンテンツ ライブラリ (成功状態) 移動されます。 このため、パッケージの複数のコンテンツ 項目がPullDP.log[成功] 状態に移行される場合がありますが、パッケージの一部である他のコンテンツ アイテムがまだダウンロードされている場合は、パッケージの全体的な状態は引き続き進行中の状態のままになることがあります。

手順 15: すべてのコンテンツがダウンロードされた後、パッケージは "成功" 状態に移動します

パッケージのすべてのコンテンツ ジョブが正常に完了し、コンテンツ ライブラリに適用されたら、プル DP はパッケージを [成功] 状態に 移動します。

PullDP 3812 (0xee4) P010000F.3 のすべての 1 つのコンテンツ ジョブが完了し、このプル dp ジョブの成功を通知します。
PullDP 3812 (0xee4) P010000F.3 が正常に完了すると、格納されているコンテンツ ジョブの状態がクリアされます。

手順 16: プル DP が管理ポイント (MP) に状態メッセージを送信する

ダウンロードが完了すると、状態メッセージが、成功を示す状態 ID 1 を持つ管理ポイントに送信されます。

PullDP 3812 (0xee4) パッケージ 'P010000F.3' の MP に0x00000001 (1) の状態メッセージを報告する
PullDP 3812 (0xee4) 要求が成功しました。
PullDP 3812 (0xee4) CPullDPResponse::ReportPackageState 戻り値0x00000000。

詳細ログとデバッグ ログが有効になっていると、メッセージ本文全体を確認できます。

PullDP 3812 (0xee4) 送信レポート
PullDP 3812 (0xee4) レポート 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></ReportHeaderer>
<ReportBody><StateMessage MessageTime="20190107200618.000000+000" SerialNumber="3"><Topic ID="P010000F" Type="902" IDType="0"/><State ID="1" Criticality="0"/><UserParameters Flags="0" Count 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>

コンテンツのダウンロード中に、ダウンロード率を含む中間状態メッセージが MP に送信されます。 使用可能なすべての状態 ID を確認するには、「 コンテンツ配布の高度なトラブルシューティングのヒント」を参照してください。

手順 17: プル DP によって WMI のコンテンツ ジョブの状態がクリアされる

成功状態メッセージを送信した後、プル DP はパッケージのジョブの状態をクリアします。

PullDP 3812 (0xee4) パッケージ P010000F.3 のすべての 1 つのコンテンツ ジョブのコンテンツ ジョブの状態をクリアします。
PullDP 3812 (0xee4) CPullDPService::ClearCompletedJobs() により、完了した 1 つのジョブが削除されます。
PullDP 3812 (0xee4) ジョブ配列と WMI からパッケージ P010000F.3 のジョブを削除します。
PullDP 3812 (0xee4) パッケージ P010000F.3 のすべての 1 つのコンテンツ ジョブのコンテンツ ジョブの状態をクリアします。

手順 18: MP 上MP_Relayエンドポイントが状態メッセージを受信し、サイト サーバーに移動する

MP_Relay エンドポイントは、状態メッセージを処理し、状態メッセージ SMX ファイルをサイト サーバー上の auth\statesys.box\incoming ディレクトリにルーティングします。 MP がサイト サーバー上に併置されている場合 (下の例)、ディレクトリに inboxes\auth\statesys.box\incoming 直接送信されます。 MP がリモートの場合、MP は MP 上のディレクトリに \mp\outboxes\StateMsg.box 移動し、MP ファイル ディスパッチ マネージャー (MPFDM) はファイルをサイト サーバー上の inboxes\auth\statesys.box\incoming ディレクトリに移動します。

MP_RelayEndpoint 25912 (0x6538) Mp メッセージ ハンドラー: Relay のメッセージ処理を開始します。 -----------------------
MP_RelayEndpoint 25912 (0x6538) Mp メッセージ ハンドラー: FileType=SMX
MP_RelayEndpoint 25912 (0x6538) メッセージ本文:
<ReportHeader Identification Machine ClientInstalled>0</ClientInstalled><ClientType>1</ClientType><Unknown>0</Unknown><ClientID IDType="0" IDFlag="1">925b0ab0-247b-466b-be0f-93d7cb032c87</ClientID><ClientVersion>5.00.0000.0000</ClientVersion><NetBIOSName>P01PDP1.CONTOSO.COM</NetBIOSName><CodePage>437</CodePage><SystemDefaultLCID>><><><><1033</SystemDefaultLCID></Machine></Identification><ReportDetails><ReportContent StateMessage</ReportContent><>ReportType>Full</ReportType><Date>20190107200618.000000</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 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>
</レポート>
MP_RelayEndpoint 25912 (0x6538) Inv-Relay タスク: メッセージ本文の処理
MP_RelayEndpoint 25912 (0x6538) リレー: Outbox dir: E:\ConfigMgr\inboxes\auth\statesys.box\incoming

MP で上記のログ エントリを確認するには、MP で詳細ログとデバッグ ログを有効にする必要があることに注意してください。 詳細ログとデバッグ ログがないと、 MP_Relay.log は "" のみをログに記録します。

手順 19: サイト サーバー上の状態システム コンポーネントが状態メッセージをデータベースに処理する

状態メッセージ SMX ファイルがディレクトリに到着すると StateSys.box\incoming 、サイト サーバー上の State System コンポーネントによってメッセージが処理されます。 すべての状態メッセージは、ストアド プロシージャを呼び出 spProcessReport すことによって処理されます。 プル DP 状態メッセージの場合は、spProcessReport状態メッセージの詳細を使用してテーブルをPullDPResponse更新するを呼び出spProcessPullDPMessageします。

SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor - 処理ファイル: N_6RB4OA3A。Smx
SMS_STATE_SYSTEM 23544 (0x5bf8) CMessageProcessor - DB exec dbo.spProcessStateReport N'への cmdline?<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.0000000+000</Date><Version>1.0</Version><Format>1.1</Format></ReportDetails></ReportHeader>~~ <ReportBody><StateMessage MessageTime="20190107200618.000000+000" SerialNumber="3"><><<トピック 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></Param></UserParameters></StateMessage></ReportBody>~~</Report>~~'

StateSys.logの詳細ログが有効になっていない限り、StateSys.logはメッセージ本文をログに記録しません。 StateSys.logの詳細ログを有効にするには、「詳細ログを有効にする」を参照してください。

プル DP 状態メッセージを処理するストアド プロシージャからの spProcessReport 抜粋を次に示します。

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  

手順 20: SMSDBMON が DistMgr に通知して状態を更新する

PullDPResponseテーブルが更新されると、SMSDBMON はテーブルの変更を検出し、 を削除します DistMgr が処理する PUL ファイル。このファイルの名前は、挿入または変更された行を識別します。

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

手順 21: DistMgr によって配布状態が更新される

DistMgr は を処理します 。PUL ファイル、およびファイル名に基づいてテーブルから PullDPResponse 行を取得し、パッケージの状態を更新します。 応答が処理されると、DistMgr は処理された行を PullDPResponse テーブルから削除します。

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.PkgIDID
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~PullDP 応答 P01 の処理 - ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) パッケージ P010000F、バージョン 3(3)、ActionState 1、PkgStatus 0、ActionData =
SMS_DISTRIBUTION_MANAGER 32876 (0x806c) ~パッケージ P010000Fの ["Display=\\P01PDP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=P01"]\\P01PDP1.CONTOSO.COM\ のパッケージ サーバーの状態が正常に更新されました。状態 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 応答ファイル E:\ConfigMgr\inboxes\distmgr.box\INCOMING\72057594037928008.PUL が正常に処理されました

手順 22: データベース レプリケーションによって状態の変更が他のサイトにレプリケートされる

データベースでパッケージの状態が更新されると、データベース レプリケーションを介して他のサイトにレプリケートされます。

パッケージを更新する

パッケージを更新すると、パッケージコンテンツは、パッケージが配布されたすべての配布ポイントに再送信されます。 これはパッケージ ソースのバージョンをインクリメントすることで行われ、すべてのコンテンツを再度送信する代わりに、コンテンツの変更のみが IP に送信されます。

次の手順では、パッケージの更新時に発生するイベントのフローについて説明します。 この例では、プライマリ サイトで作成されたパッケージのパッケージ更新操作を確認し、パッケージ更新操作に固有のプロセス変更に焦点を当てます。

手順 1: 管理コンソールは、SMS プロバイダー名前空間の RefreshPkgSource WMI クラスに SMS_Package 対してメソッドを実行します

管理者がコンソールからパッケージを更新した後、管理コンソールは クラスの メソッドをRefreshPkgSourceSMS_Package呼び出してパッケージを更新します。 SMSProv.log に次の情報が表示されます。

SMS プロバイダー 4716 (0x126c) コンテキスト: SMSAppName=Configuration Manager 管理者コンソール~
SMS プロバイダー 4716 (0x126c) ExecMethodAsync : SMS_Package.PackageID="<PackageID>"::RefreshPkgSource ~
SMS プロバイダー 4716 (0x126c) CExtProviderClassObject::D oExecuteMethod RefreshPkgSource~
SMS プロバイダー 4716 (0x126c) 監査: ユーザー CONTOSO\管理 は、クラス SMS_Package のインスタンスの監査メソッドを呼び出しました。~

このメソッドが呼び出されると、SMS プロバイダーは Action1(UPDATE) に設定するように更新SMSPackagesし、テーブルにPkgNotification行を挿入します。

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

手順 2: SMSDBMON がパッケージを処理するように DistMgr に通知する

SMSDBMON は、テーブルの変更をPkgNotification検出し、PackageID> を<削除します。パッケージを処理するように DistMgr に指示する PKN ファイル:DistMgr.box

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: INSERT on PkgNotification for PkgNotify_Add [<PackageID>][1036610]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: ドロップされた E:\ConfigMgr\inboxes\distmgr.box\<PackageID>。PKN [1036610]

手順 3: DistMgr がウェイクアップして、PKN ファイルを受信した後にパッケージを処理する

  1. メイン DistMgr スレッドは、パッケージ処理スレッドを開始します。

    メイン DistMgr スレッドは、パッケージ処理キューにパッケージを追加し、パッケージ処理スレッドを作成します。

    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) パッケージのプロパティがパッケージ 'PackageID>' の<通知を更新しました
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) パッケージ処理キューへのパッケージ '<PackageID>' の追加。
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~現在、許可されている 3 つのパッケージ処理スレッドのうち 0 個を使用しています。
    SMS_DISTRIBUTION_MANAGER 4824 (0x12d8) ~パッケージ 'PackageID>'< のパッケージ処理スレッドを開始しました,スレッド ID = 0x1690 (5776)

  2. パッケージ処理スレッドは、パッケージ スナップショットを作成し、コンテンツ ライブラリにコンテンツを書き込み、パッケージ のバージョンをインクリメントします。

    パッケージ処理スレッド (この場合はスレッド ID 5776) は、パッケージの処理を開始し、パッケージ スナップショットを作成します。 パッケージ スナップショットを作成した後、このスレッドはパッケージ コンテンツをサイト サーバー上のコンテンツ ライブラリにも書き込みます。

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~処理パッケージ <PackageID> (SourceVersion:1;StoredVersion:1)
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) パッケージ <PackageID> の更新を開始します。..
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ソース \\PS1SITE\SOURCE\Packages\200MB_1 から PackageID> のパッケージ <スナップショットを取得する
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) パッケージ <PackageID> のサイズ、バージョン 2 は 204800 KB です
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) PackageID のパッケージ定義の <記述>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ <PackageID> バージョン 2 の RDC 署名が正常に作成されました
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) アルゴリズム 32780 のハッシュの作成
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) アルゴリズム 32780 のハッシュは HashString です<>
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) アルゴリズム 32780 の RDC 署名ハッシュは 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=火 5 月 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) ~パッケージ PS100039のソースが変更されたか、パッケージ ソースを更新する必要がある
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~バージョン 2 PS100039パッケージにこれらのコンテンツを追加します。
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ アクションは 1、更新マスクは 32、UpdateMaskEx は 0 です。
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~圧縮パッケージの格納にドライブ E を使用します。
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ PS100039が正常に作成または更新されました。
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) STATMSG: ID=2311 SEV=I LEV=M SOURCE="SMS Server" COMP="SMS_DISTRIBUTION_MANAGER" SYS=PS1SITE。CONTOSO.COM SITE=PS1 PID=5428 TID=5776 GMTDATE=火 5 月 17 日 18:31:23.982 2016 ISTR0="PS100039" ISTR1="" ISTR 2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"

  3. パッケージ処理スレッド プロセスは、DP スレッドを開始してパッケージ アクションを処理し、終了するまで待機します。

    パッケージ処理スレッドは、パッケージを更新するためのパッケージ アクションを処理します。これには、このパッケージが配布されているすべての DP でパッケージを更新する必要があります。 処理するパッケージ アクションがあるため、パッケージ処理スレッドは DP スレッドを作成してこれらのアクションを実行し、DP スレッドが終了するのを待ってから次に進みます。

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690 PS100039) サーバー ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~サーバー上のパッケージ PS100039の追加または更新用に DP 処理スレッド 920 を作成しました ["Display=\\PS1SITE.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SITE.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) サーバー上のパッケージ PS100039の更新を開始する ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:[["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~サーバー上のパッケージ PS100039の追加または更新用に DP 処理スレッド 2060 を作成しました ["Display=\\PS1SYS.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1SYS.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690 PS100039) サーバー ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~サーバー上のパッケージ PS100039の追加または更新用に DP 処理スレッド 6076 を作成しました ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690 PS100039) サーバー ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~サーバー上のパッケージ PS100039の追加または更新用に DP 処理スレッド 5948 を作成しました ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~すべての DP スレッドが完了するまで待機PS100039処理スレッド。

  4. DP スレッドが起動し、PkgXferMgr ジョブを作成して、コンテンツを DP に転送してから終了します。

    DP スレッドは、PkgXferMgr ジョブの作成に取り組み始め、DP 上のパッケージを更新します。 この時点では、4 つの異なる DP に対して 4 つの DP スレッドがあります。

    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) DP スレッド: DP ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\ でパッケージ PS100039を追加または更新しようとしています
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) ~パッケージPS100039を配布ポイントに送信するパッケージ転送ジョブを作成しました ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\。
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) を返す前にクリーンアップを実行します。
    SMS_DISTRIBUTION_MANAGER 5948 (0x173c) \\PS1DP2.CONTOSO.COM\ADMIN$ へのネットワーク接続を取り消します。

    DP スレッドが PkgXferMgr ジョブを作成する場合は、テーブルに DistributionJobs 行を挿入します。

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(35,N'PS100039',2,0,N'2016/05/17 14:31:35',1)
    
  5. (該当する場合)パッケージ処理スレッドは、パッケージの圧縮コピーを他のサイトに送信するミニ ジョブを作成します。

    すべての DP スレッドの動作が完了すると、パッケージ処理スレッドによってミニ ジョブが作成され、パッケージの圧縮されたコピーが他のサイトに送信されます (該当する場合)。 このミニ ジョブは Scheduler によって処理され、Sender がパッケージの圧縮されたコピーをコピー先サイトに転送するための送信要求を作成します。

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ PS100039処理スレッドのすべての DP スレッドが完了しました。
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ PS100039には優先送信者がありません。
    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=火 5 月 17 日 18:31:44.977 2016 ISTR0="PS100039" ISTR1="PS2" ISTR2 ="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039" ...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ PS100039の圧縮パッケージをサイト PS2 に送信する必要がある
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ PS100039のコピーをサイト PS2 に送信する
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~圧縮パッケージの格納にドライブ E を使用します。
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~CMiniJob 転送ルートを E:\SMSPKG\PS100039 に設定します。DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ PS100039の圧縮コピーをサイト PS2 に送信するミニジョブを作成しました。 転送ルート = E:\SMSPKG\PS100039。DLT.1.2。 ...
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ PS100039の圧縮パッケージをサイト SS1 に送信する必要がある
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ PS100039のコピーをサイト SS1 に送信する
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~圧縮パッケージの格納にドライブ E を使用します。
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~CMiniJob 転送ルートを E:\SMSPKG\PS100039 に設定します。DLT.1.2
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ PS100039の圧縮コピーをサイト SS1 に送信するミニジョブを作成しました。 転送ルート = E:\SMSPKG\PS100039。DLT.1.2。

  6. パッケージ処理スレッドは、パッケージの処理後に終了します。

    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) パッケージ PS100039が新規または変更され、該当するすべてのサイトにレプリケートされます。
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~CDistributionSrcSQL::UpdateAvailableVersion PackageID=PS100039, Version=2, Status=2301
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~ StoredPkgVersion (2) のパッケージ PS100039。 データベース内の StoredPkgVersion は 2 です。
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~SourceVersion (2) のパッケージ PS100039。 データベースの SourceVersion は 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=火 5 月 17 日 18:31:45.415 2016 ISTR0="Dummy2" ISTR1="PS100039" ISTR2="" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=1 AID0=400 AVAL0="PS100039"
    SMS_DISTRIBUTION_MANAGER 5776 (0x1690) ~パッケージ PS100039のパッケージ処理スレッドの終了。

手順 4: SMSDBMON がジョブを処理するように PkgXferMgr に通知する

SMSDBMON は、テーブルの変更を DistributionJobs 検出し、 に PKN ファイル PkgTransferMgr.box をドロップして、ジョブを処理するように PkgXferMgr に指示します。

SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) RCV: Update on DistributionJobs for DistributionJob_Creation [PS100039][1036623]
SMS_DATABASE_NOTIFICATION_MONITOR 1792 (0x700) SND: ドロップされた E:\ConfigMgr\inboxes\PkgTransferMgr.box\PS100039。PKN [1036623]

手順 5: PkgXferMgr がウェイクアップしてジョブを処理する

標準 DP の場合、送信スレッドはコンテンツを DP にコピーします。残りのプロセスは、「パッケージを標準 DP に 配布する」の手順 6 で説明されているプロセスと同じです。

プル DP の場合、プル DP 送信スレッドはプル DP に通知を送信してコンテンツのダウンロードを実行します。 プル DP はソース DP からコンテンツをダウンロードし、残りのプロセスは「 DP をプルするパッケージを配布する」の手順 6 で説明されているプロセスと同じです。

手順 6: パッケージの状態の変更が DRS 経由で他のサイトにレプリケートされる

データベースでパッケージの状態が更新されると、データベース レプリケーションを介して他のサイトにレプリケートされます。

パッケージを再配布する

DP にパッケージを再配布すると、コンテンツが DP のコンテンツ ライブラリに既に存在する場合でも、すべてのパッケージ コンテンツ ファイルが DP に再コピーされます。

次の手順では、パッケージが DP に再配布されるときに発生するイベントのフローについて説明します。 この例では、プライマリ サイト サーバーにパッケージの圧縮コピーが既に含まれています。 このプロセスは、「 パッケージを標準 DP に配布する 」または「DP を プルするパッケージを配布する」で説明されているプロセスと同じであるため、ここでは、関連する変更の詳細なログ スニペットのみを確認します。

手順 1: 管理者がパッケージを DP に再配布する

手順 2: 管理者が別のプライマリ サイトまたは中央管理サイトからパッケージを再配布した場合、DRS は問題のサイトに変更をレプリケートします

手順 3: SMSDBMON がパッケージを処理するように DistMgr に通知する

手順 4: DistMgr がウェイクアップしてパッケージを処理する

  1. メイン DistMgr スレッドは、パッケージ処理スレッドを開始します。

  2. パッケージ処理スレッドは、パッケージ アクションを処理する DP スレッドを作成し、それらが終了するのを待機します。

  3. DP スレッドは、パッケージを DP に追加する PkgXferMgr ジョブを作成し、終了します。

    DP スレッドは、DP へのパッケージの追加に関する作業を開始します。 DP スレッドは、パッケージコンテンツを DP に直接コピーするのではなく、パッケージの内容を DP にコピーするように指示するパッケージ転送マネージャー (PkgXferMgr) のジョブを作成します。 次のログ エントリは、PkgXferMgr ジョブを作成している DP スレッドを示しています。 ジョブが作成されると、DP スレッドの作業が完了し、DP スレッドが終了します。

    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) DP スレッド: DP でパッケージ <PackageID> を追加または更新しようとしています ["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\
    SMS_DISTRIBUTION_MANAGER 3792 (0xed0) ~パッケージ PackageID> を配布ポイント ["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=Mon 5 月 16 日 19:26:58.642 2016 ISTR0 ="<PackageID>" ISTR1="["Display=\\PS1DP2.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP2.CONTOSO.COM\" ISTR2="" ISTR 3="" 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\PS1DP2.CONTOSO.COM\PS1DP2.CONTOSO.COM"

    DP スレッドが PkgXferMgr ジョブを作成する場合は、テーブルに DistributionJobs 行を挿入します。 パッケージを再配布する場合、 Action2 に設定されます。

    insert into DistributionJobs (DPID,PkgID,PackageVersion,State,CreationTime,Action) values(32,N'CS100026',1,0,N'2016/05/16 16:03:49',2)
    
  4. すべての DP スレッドが終了すると、パッケージ処理スレッドが終了します。

手順 5: SMSDBMON がジョブを処理するように PkgXferMgr に通知する

手順 6: PkgXferMgr がウェイクアップしてジョブを処理する

  1. メイン PkgXferMgr スレッドは、送信スレッドを作成します。

  2. 送信スレッドまたはプル DP 送信スレッドは、ジョブを処理します。

    Standard DP:

    スレッドを送信すると、パッケージの内容の DP へのコピーが開始されます。 このプロセスでは、パッケージ内のすべてのファイルをディレクトリ内の DP SMS_DP$ にコピーします。 パッケージが再配布されたため、PkgXferMgr は 1 に設定されていることを示Redistributeします。つまり、DP 上のコンテンツ ライブラリに既に存在していても、すべてのファイルが DP に再コピーされます。

    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ジョブで開始するスレッドの送信: 583、パッケージ: <PackageID>、バージョン: 1、Priority: 2、server: PS1DP1.CONTOSO.COM、DPPriority: 200
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) pkg <PackageID>、バージョン 1、状態 0、配布ポイント ["Display=\\PS1DP1.CONTOSO.COM\"]MSWNET:["SMS_SITE=PS1"]\\PS1DP1.CONTOSO.COM\~ の配布マネージャーに状態を送信しました
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) プレアクション パッケージ <PackageID>、配布ポイント PS1DP1.CONTOSO.COM の実行
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) パッケージ <PackageID のレガシ コンテンツ <PackageID.1> の送信>
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) 再配布=1、Related=
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) 送信ファイル '\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BCB90919F6000226B330C73942454A174D7E26533-PackageID.1.temp<>'
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~送信開始 [E:\SCCMContentLib\FileLib\73E0\73E055438D4731F41DB6C3BCB9000226B330C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~983040 バイトを \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB に書き込もうとします 6C3BCB90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> 位置208732160
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~983040 バイトを \\PS1DP1.CONTOSO.COM\SMS_DP$\73E055438D4731F41DB6C3BC に書き込んだ B90919F60000226B330C73942454A174D7E26533-PackageID.1.temp<> 位置208732160 344 ティック
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~送信完了 [E:\SCCMContentLib\FileLib\73E0\73E055438D4731F41DB6C3BCB9000226B330C73942454A174D7E26533]
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) リモート DP PS1DP1.CONTOSO.COM の事後操作が完了しました
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~正常に送信が完了しました
    SMS_PACKAGE_TRANSFER_MANAGER 5272 (0x1498) ~SWD パッケージ <PackageID> バージョン 1 の配布ポイントへの送信が完了しました 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=Mon 20:06:36.827 2016 ISTR0="<PackageID>" ISTR1="1" ISTR2="PS1DP1.CONTOSO.COM" ISTR3="" ISTR4="" ISTR5="" ISTR6="" ISTR7="" ISTR8="" ISTR9="" NUMATTRS=2 AID0=400 AVAL0="<PackageID>" AID1=410 AVAL1="1"

    プル DP:

    プル DP 送信スレッドは、プル DP に通知を送信してコンテンツのダウンロードを開始します。 パッケージが再配布されたので、生成された通知 XML は 、Actionredist に設定されていることを示します。つまり、プル DP のコンテンツ ライブラリに既に存在する場合でも、すべてのファイルがプル DP によって再ダウンロードされます。

    通知 XML クエリを生成するサンプル クエリは、コンテンツが再配布されてから アクション再リスト されていることを示しています。

    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
    

    再配布アクションの通知を受け取ると、 PullDP.log は、コンテンツ ライブラリにコンテンツの一部または全部が存在する可能性がある場合でも、すべてのコンテンツが再ダウンロードされることを示します。

    PullDP 3676 (0xe5c) Content_3c9813ba-d7ab-4963-929c-36f90f479613.1: すべてのファイルの再配布/再ダウンロード

    これを行った後、残りのプロセスは、「 DP をプルするパッケージを配布する」の手順 6 で説明されているプロセスに似ています。

  3. 送信スレッドは、DistMgr にステータス メッセージを送信します。

手順 7: SMS DP プロバイダーがコンテンツ ライブラリにコンテンツを追加する

手順 8: DistMgr は、PkgXferMgr によって送信された状態メッセージを処理します

手順 9: パッケージの状態の変更が DRS 経由で他のサイトにレプリケートされる