0x800706ba

An annoying issue kept recurring in distributing data from our main SCCM server to a remote distribution point.

The moment a file was fully transferred, it would be deleted by the DP and the PkgXferMgr.log would show the following:

Failed to get object class
ExecStaticMethod failed (800706ba) SMS_DistributionPoint,AddFile
CsendFileAction::AddFile failed; 0x800706ba
Sending failed.

After crossreferencing the time of failure with our firewall logs, we found a rule blocking RPC traffic down from the SCCM server to the distribution point.

 

Unknown Computer Support and Multiple Boot Images

I’ve been working on an SCCM 2012 SP1 implementation for a global sized company. This company would like a large degree of seperation in SCCM between departments.

Each department has their own distribution points and their own boot images. I ran into an issue when I attempted to PXE boot an unknown computer:

<![LOG[Client lookup reply: <ClientIDReply><Identification Unknown=”0″ ItemKey=”0″ ServerName=”” ServerRemoteName=””><Machine><ClientID/><NetbiosName/></Machine></Identification></ClientIDReply>
]LOG]!><time=”11:08:07.818-120″ date=”05-01-2014″ component=”SMSPXE” context=”” type=”1″ thread=”4320″ file=”libsmsmessaging.cpp:6363″>
<![LOG[00:0F:FE:C5:F0:65, 69DE15B4-D710-11DE-BBDA-FEC5F065000F: device is not in the database.]LOG]!><time=”11:08:07.818-120″ date=”05-01-2014″ component=”SMSPXE” context=”” type=”1″ thread=”4320″ file=”database.cpp:483″>
<![LOG[Getting boot action for unknown machine: item key: 2046820352]LOG]!><time=”11:08:07.818-120″ date=”05-01-2014″ component=”SMSPXE” context=”” type=”1″ thread=”4320″ file=”pxehandler.cpp:231″>
<![LOG[Client boot action reply: <ClientIDReply><Identification Unknown=”0″ ItemKey=”2046820352″ ServerName=”” ServerRemoteName=””><Machine><ClientID/><NetbiosName/></Machine></Identification><PXEBootAction LastPXEAdvertisementID=”” LastPXEAdvertisementTime=”” OfferID=”” OfferIDTime=”” PkgID=”” PackageVersion=”” PackagePath=”” BootImageID=”” Mandatory=””/></ClientIDReply>
]LOG]!><time=”11:08:08.364-120″ date=”05-01-2014″ component=”SMSPXE” context=”” type=”1″ thread=”4320″ file=”libsmsmessaging.cpp:6561″>
<![LOG[00:0F:FE:C5:F0:65, 69DE15B4-D710-11DE-BBDA-FEC5F065000F: no advertisements found]LOG]!><time=”11:08:08.364-120″ date=”05-01-2014″ component=”SMSPXE” context=”” type=”1″ thread=”4320″ file=”database.cpp:483″>
<![LOG[00:0F:FE:C5:F0:65, 69DE15B4-D710-11DE-BBDA-FEC5F065000F: No boot action. Rejected.]LOG]!><time=”11:08:08.535-120″ date=”05-01-2014″ component=”SMSPXE” context=”” type=”1″ thread=”4320″ file=”database.cpp:483″>
<![LOG[00:0F:FE:C5:F0:65, 69DE15B4-D710-11DE-BBDA-FEC5F065000F: Not serviced.]LOG]!><time=”11:08:08.535-120″ date=”05-01-2014″ component=”SMSPXE” context=”” type=”1″ thread=”4320″ file=”database.cpp:483″>

No advertisements were found. I was sure I had everything set up correctly!

  • A task sequence was deployed to the Unknown Computers group
  • The task sequence was set to PXE / Media mode
  • The boot image was present on the DP and set for PXE
  • The PXE was set to allow unknown computers

When adding the computer account to SCCM manually and adding it to a normal collection, then advertising a task sequence, things ran fine.

After much troubleshooting, I discovered that the distribution point checks in advance which boot images are assigned to the advertised task sequences. If it does not find at least 1 task sequence for the unknown computer with a boot image that has been distributed to the DP, it will error out with the above message. But we didn’t want the boot images of the other department on our own distribution points.

And we also didn’t want our task sequence deployed to the unknown computers group since that group is global and not department specific. We wanted to use the pre-execution hook in our boot image to select our own task sequence without letting the tech interact with the PXE process.

To accomplish this, we deployed a hidden task sequence to the Unknown Computers collection with the boot image that WAS distributed to the DP. This allowed the DP to let the client download the boot image itself. The boot image then runs a script to select the task sequence it needs instead of forcing the engineer to select a task sequence.

Inception

Welcome to my very first ever blog.

I’m going to use this blog to share little bits of knowledge with the world. I often run into issues that are hard or impossible to find using Google and would like to share those solutions for free.

And on occasion I’ll write scripts or more expansive articles which could be of use to others.