Configuration ManagerTroubleshooting

Content not reaching distribution points: distmgr.log, PkgXferMgr.log and validation

Follow content from the site server to a distribution point through distmgr.log, PkgXferMgr.log and smsdpprov.log, and know when to update, redistribute or validate.

A deployment is only as good as its content: if a package never lands on the distribution point (DP) in a client's boundary group, the download sits at 0% in Software Center. Configuration Manager's content status tells you that something is wrong; three logs, distmgr.log and PkgXferMgr.log on the site server and smsdpprov.log on the DP, tell you what. In this post I'll follow content from the site server to a DP, cover the common failures, and explain when to update, redistribute or validate.

Errors this guide fixes

  • ~Currently using 3 out of 3 allowed package processing threads.distmgr.log
  • 0x80070070smsdpprov.log (distribution point)
  • 0x800706BAPkgXferMgr.log+1 more guide
  • 0x80070005smsdpprov.log (distribution point)
How this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Prevent it next timeFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (5 steps: Pin down what's failing; Follow the package in distmgr.log; Follow the transfer in PkgXferMgr.log; Check the DP: smsdpprov.log and the content library; Choose the right action). 4. Verify the fix. 5. Prevent it next time. Toolbox: 0x800706BA, 0x80070070, 0x80070005, distmgr.log, smsdpprov.log.1Symptoms2Why it happens3How to fix it4Verify the fix5Prevent it nexttime1Pin down what'sfailing2Follow the packagein distmgr.log3Follow the transferin PkgXferMgr.log4Check the DP:smsdpprov.log an…5Choose the rightactionTOOLBOX0x800706BA0x800700700x80070005distmgr.logsmsdpprov.logHow this guide is organised: Symptoms → Why it happens → How to fix it → Verify the fix → Prevent it next timeFlow diagram of the article's sections in reading order: 1. Symptoms. 2. Why it happens. 3. How to fix it (5 steps: Pin down what's failing; Follow the package in distmgr.log; Follow the transfer in PkgXferMgr.log; Check the DP: smsdpprov.log and the content library; Choose the right action). 4. Verify the fix. 5. Prevent it next time. Toolbox: 0x800706BA, 0x80070070, 0x80070005, distmgr.log, smsdpprov.log.1Symptoms2Why it happens3How to fix it1Pin down what's failing2Follow the package in distmgr.log3Follow the transfer in PkgXferMgr.log4Check the DP: smsdpprov.log and the contentlibrary5Choose the right action4Verify the fix5Prevent it next timeTOOLBOX0x800706BA0x800700700x80070005distmgr.logsmsdpprov.log
At a glance: how this guide is organised · 5 fix steps · 5 key tools

Symptoms#

  • Monitoring › Distribution Status › Content Status shows a package In Progress for hours, or Error for one or more DPs.
  • Monitoring › Distribution Status › Distribution Point Configuration Status shows a DP with errors.
  • Clients in one location wait for content while other locations are fine.

Why it happens#

Content moves in a fixed chain, and each link has its own log:

  1. When you distribute or update content, Distribution Manager (SMS_DISTRIBUTION_MANAGER) on the site server processes the package, adds the source files to the site server's content library and starts a thread for each DP.
  2. For a standard DP, Package Transfer Manager copies the files to the DP, then calls the DP's WMI provider to add them to the DP's content library (SCCMContentLib).
  3. For a pull DP, Package Transfer Manager only notifies it, and the pull DP downloads from its source DP.
  4. Status flows back to Distribution Manager (or arrives as a state message from the pull DP) and the console updates.
LogWhereLook for
distmgr.logSite server of the DP's site, <install path>\Logs~Processing package for your package ID, the DP thread and the transfer job
PkgXferMgr.logSame site serverFound send request with ID, then the sending thread's result
smsdpprov.logDP, SMS_DP$\sms\logsFiles added to the content library
PullDP.log, DataTransferService.logPull DPDownloads from the source DP
smsdpmon.logDPContent validation results

The usual causes: the site server's computer account can't read the source; the site server can't reach the DP (no local admin rights, SMB or RPC blocked); a full DP disk; a busy Distribution Manager; rate limits on a slow link; prestaged content not yet imported on the DP; or content that no longer matches its hashes.

How to fix it#

1. Pin down what's failing#

In Content Status, select the package and choose View Status; the In Progress and Error tabs list each DP with its latest message. Note the package ID. To list every unhealthy package and DP pair, run this on the SMS Provider (usually the site server):

PowerShell
Get-CimInstance -Namespace root\SMS\site_PS1 -ClassName SMS_PackageStatusDistPointsSummarizer -Filter 'State <> 0' |
  Select-Object PackageID, ServerNALPath, State

State 0 means installed; 1 and 2 are pending or retrying, and 3 is failed.

2. Follow the package in distmgr.log#

Filter distmgr.log on the package ID, find the ~Processing package entry and then filter on that thread ID to see whether a DP thread and a transfer job were created. Typical findings:

  • Source errors: grant the site server's computer account read access to the share and folder, or fix the path.
  • A busy queue: ~Currently using 3 out of 3 allowed package processing threads. Watch the Package Processing Queue and Packages Being Processed values under HKLM\SOFTWARE\Microsoft\SMS\Components\SMS_DISTRIBUTION_MANAGER. If the queue moves slowly, raise Maximum number of packages in the Software Distribution site component properties. If it never moves, Distribution Manager may be stuck; Microsoft suggests capturing a dump of SMSExec.exe.

3. Follow the transfer in PkgXferMgr.log#

Search for Found send request with ID, find the sending thread for your package and DP, and filter on it. Errors here are about reaching the DP: access denied (the site server's computer account must be a local administrator on the DP), network path not found, or RPC failures such as 0x800706BA. Test the same path from the site server over SMB and DCOM:

PowerShell
Test-NetConnection dp01.contoso.com -Port 445
$s = New-CimSession -ComputerName dp01.contoso.com -SessionOption (New-CimSessionOption -Protocol Dcom)
Get-CimInstance -CimSession $s -Namespace root\SCCMDP -ClassName SMS_PackagesInContLib | Select-Object -First 5

If the last command returns packages, remote WMI to the DP's provider works.

4. Check the DP: smsdpprov.log and the content library#

On a standard DP, smsdpprov.log records each package being added to SCCMContentLib (its PkgLib, DataLib and FileLib folders). Common errors:

  • 0x80070070: not enough disk space. Free space or move content, and put a NO_SMS_ON_DRIVE.SMS file in the root of any drive Configuration Manager mustn't use.
  • 0x80070005: access denied. Check permissions on the content library drive and whether security software is interfering.

For a pull DP, read PullDP.log and DataTransferService.log instead; most failures there come from the pull DP failing to reach its source DP.

5. Choose the right action#

ActionWhat it doesUse it when
Update Distribution Points (packages) or Update Content (deployment types)Builds a new content version from the source and sends it to every DP that has the contentThe source files changed
Redistribute (package Properties › Content Locations, or the Content tab of a DP or DP group)Recopies the current content from the site server's content library to the selected DP, overwriting existing filesOne DP failed or its copy is damaged
Validate (Content Locations, or a schedule on the DP's Content Validation tab)Checks the hashes of the content on the DP and reports to Content Status; changes nothingYou suspect corruption or want proof
Remove, then distribute againDeletes the content from the DP and sends it freshRedistribution keeps failing

From the Configuration Manager PowerShell site drive:

PowerShell
Invoke-CMContentRedistribution -InputObject (Get-CMPackage -Id 'PS100012') -DistributionPointName 'dp01.contoso.com'
Update-CMDistributionPoint -PackageName 'Contoso Tools'

Redistribution doesn't re-read the source. If the source changed or is broken, fix it and update instead.

Verify the fix#

  1. PkgXferMgr.log shows the send finishing without errors, smsdpprov.log on the DP has no new errors, and distmgr.log processes the resulting status.
  2. Content Status shows Success for the DP (status processing can take a few minutes).
  3. Run Validate for that DP; Content Status and smsdpmon.log confirm it passed.
  4. A client in that boundary group downloads the content: CAS.log and ContentTransferManager.log show the DP location and a completed download.

Prevent it next time#

  • Schedule content validation on DPs so corruption shows up before clients find it.
  • Monitor DP free space and give the content library its own drive.
  • Never move or delete source folders for content that's still deployed.
  • Use DP groups, and rate limits, schedules or pull DPs for locations behind slow links.
  • Remove orphaned content with the content library cleanup tool (ContentLibraryCleanup.exe), which only reports unless you add /delete.
  • Content problems can look like client problems; rule out client health too.

References#

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

Written by

Omer Eltayeb

Intune Subject Matter Expert in Cairo, Egypt, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Configuration Manager, Microsoft Entra ID, Microsoft Defender, Exchange and Microsoft 365 with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)