Tuesday, 25 February 2014

BITS issue with File extinction (Package is not downloading in SCCM BDP “Install pending”)

BitsAdmin Update
For Windows 7 & Server 2008

Troubleshooting BITS with PowerShell

For Windows 7 and Higher version.. 

http://blogs.technet.com/b/cmpfekevin/archive/2014/01/29/troubleshooting-bits-with-powershell.aspx

For Windows XP.. 

Over the past couple of days I've been fighting with a driver package is not downloading in the BDP Server. In total, the package has over 300 files and is about 400 MB in size.
Issue
The issue that was reported to me was that the content was not downloading, the BDP status in Install pending state. BDP “Peer DP.log, Datatransferservice.log, ContentTransferManager.log” all looked good. BDP is connecting the perfect server share to down load the driver package. So I figured BITS was the culprit here. Unfortunately there's no good logging for BITS without doing some nasty stuff. The good news is that BITSAdmin is a great utility (at least for now, according to BITSAdmin on a Server 2008 box they reference new BITS Related powershell cmdlets which I didn't find all that particularly useful).
In order to see what jobs are currently downloading, type in:
CMd: C:\Users\Ram>bitsadmin /list /allusers

This will give you output similar to the following:
BITSADMIN version 3.0 [ 7.5.7601 ]
BITS administration utility.
(C) Copyright 2000-2006 Microsoft Corp.

BITSAdmin is deprecated and is not guaranteed to be available in future versions
 of Windows.

Administrative tools for the BITS service are now provided by BITS PowerShell cm
dlets.

{5E7BB34B-A47B-4809-8910-71BF26350D4A} 'CCMDTS Job' ERROR 30 / 488 32404363 / UNKNOWN
Listed 1 job(s).

Notice how in this picture I have the following line:
{5E7BB34B-A47B-4809-8910-71BF26350D4A} 'CCMDTS Job' ERROR 30 / 488 32404363 / UNKNOWN
This is no good. This basically means there's an error somewhere in the transfer job.
What BDP is basically doing is grabbing the files from SCCM server and storing them in your BDP Share “SMSPKGE$” in the package ID.
So back to BITS. Since we saw an error in our bitsadmin /list /allusers, we need to find out exactly what that error is. The following command will show just that:
C:\Users\Ram>bitsadmin /info {5E7BB34B-A47B-4809-8910-71BF26350D4A} /verbose
> c:\bits2.txt
So what this command is doing is giving us the information about the failed BITS job that we saw before. The verbose command gives us the status of each file in the job. We then pipe this out to a file. Inside of that file, we see the following:
BITSADMIN version 3.0 [ 7.5.7601 ]
BITS administration utility.
(C) Copyright 2000-2006 Microsoft Corp.

BITSAdmin is deprecated and is not guaranteed to be available in future versions of Windows.
Administrative tools for the BITS service are now provided by BITS PowerShell cmdlets.

GUID: {5E7BB34B-A47B-4809-8910-71BF26350D4A} DISPLAY: 'CCMDTS Job'
TYPE: DOWNLOAD STATE: ERROR OWNER: NT AUTHORITY\SYSTEM
PRIORITY: NORMAL FILES: 30 / 488 BYTES: 32404363 / UNKNOWN
CREATION TIME: 2/24/2014 3:43:01 PM MODIFICATION TIME: 2/25/2014 1:00:46 AM
COMPLETION TIME: UNKNOWN ACL FLAGS:
NOTIFY INTERFACE: REGISTERED NOTIFICATION FLAGS: 3
RETRY DELAY: 60 NO PROGRESS TIMEOUT: 604800 ERROR COUNT: 31
PROXY USAGE: NO_PROXY PROXY LIST: NULL PROXY BYPASS LIST: NULL
ERROR FILE:    http://sccm1.PEA.Com:80/SMS_DP_CMPKE$/SMSPKG/PEA00097/B5487B63-0FE5-4DB7-9C28-552AF6ABFFB3/Gfxres.pt-BR.resources -> E:\BDPTmpWrkFldr\PDPCA3.tmp\B5487B63-0FE5-4DB7-9C28-552AF6ABFFB3/Gfxres.pt-BR.resources
ERROR CODE:    0x80190194 - HTTP status 404: The requested URL does not exist on the server.ERROR CONTEXT: 0x00000005 - The error occurred while the remote file was being processed.DESCRIPTION:
JOB FILES: ERROR CONTEXT: 0x00000005 - The error occurred while the remote file was being processed.
DESCRIPTION:
JOB FILES:
The above shows exactly what the issue is. a HTTP status error of 404 indicates that the file cannot be download from the server. In my case, the package that I am troubleshooting has .resources . In this case, if I try to visit that URL (which you can do in normal situations) you get a 404, which confirms the error BITS is reporting.

To fix this issue, you need to check the IIS Filter and change the Filtering option for .resources extinction File and give access to download this file.