ConfigMgr 2007 PXE Password ist not geting set

So you have ConfigMgr 2007 and some remote PXE. You want to set  PXE password and for some reason on some reason on one particular PXE it does not stick.

The first thing to check is that for this site de Serial number in the database  is the same with the one in the site control file.

You can run this query in SQL (using the SMS_XYZ database-XYZ is the sitecode e.g. CM7)

select * from SiteControl

and then check in the sitectrl.ct0 file (more info about site control file here). You can also dump the Site Control file from the database and compare it to the sitectrl.ct0 (more info on preinst /dump are found here)

site ctrl number

If numbers match than you can proceed to check if the password is stored in the site control file. Search for PXEPassword and make sure it matches the PXE site system:

Here is a sample where we have a password

pxe in site control file

And here we do not have a password:

no pxe pass

During troubleshooting I found out  is that  the …\Microsoft Configuration Manager\inboxes\sitectrl.box\sitectrl.ct0 is either setting or clearing the 2nd instance of:
–  when setting  –  <PXEPassword><{{STRING_OF_HEX_CHARACTERS}}><><0>
–  when clearing  –  <PXEPassword><><><0>

Site Reset did not help.

Verbos logging in for AdminUI.log might show the following:

[3][23/7/2015 11:22:07 PM] :Found Site code ‘KP1’ for RefreshScf
[3][23/7/2015 11:22:07 PM] :Executing static method SMS_SiteControlFile.RefreshScf()
[3][23/7/2015 11:24:07 PM] :Refresh of SCF successful
[3][23/7/2017 11:24:07 PM] :Get()
[3][23/7/2015 11:24:07 PM] :
instance of SMS_SCI_SysResUse

instance of SMS_EmbeddedProperty
{
PropertyName = “PXEPassword”;
Value = 0;
Value1 = “”;
Value2 = “”;},

So if you see only GET calls but no PUT or SET might be an indication.

We should also check in the WMI :
Wbemtest – Connect to root\sms\site_XYZ

Query:
SELECT * FROM SMS_SCI_SysResUse WHERE SiteCode=’XYZ’ AND FileType=2 AND RoleName=’SMS PXE Service Point’

Double click on problematic server
– Double click on Props
– View Embedded
– Find the property with PropertyName = PXEPassword
– Double click on Value1 and Copy Value
– Exit the  problematic server

wmi

 

If the password is not there and Value 1 is empty but you have another PXE that works when setting the password than we can  use this value to configure it dor the bad PXE .

Here are the steps:

Wbemtest – Connect to root\sms\site_y=XYZ

Query:

SELECT * FROM SMS_SCI_SysResUse WHERE SiteCode=’XYZ’ AND FileType=2 AND RoleName=’SMS PXE Service Point’

 

Double click on Good Server

  – Double click on Props

  – View Embedded

  – Find the property with PropertyName = PXEPassword

  – Double click on Value1 and Copy Value

  – Exit the Good Server

 

Double click on Bad Server

  – Double click on Props

  – View Embedded

  – Find the property with PropertyName = PXEPassword

  – Double click on Value1 and Paste Value copied from the Good Server

  – Save Property and then Save object

  – Close then Save Property & Save Object again.

 

Click on Execute Method

  – Specify SMS_SiteControlFile under Object Path and click Ok

  – Select CommitSCF Method 

  – Click Edit In Parameters

  – Double click on SiteCode

  – Click on “Not NULL” and specify XYZ as value

  – Save Property & Save Object

  – Execute Method

 

Look at SMSProv.log for this line to ensure it worked:

CSspSiteControl::CommitSCF – Delta was created