In certain environments, even though all SBS(PXE) services are active, the SBS(PXE) Server(s) are not listed in the PXE Servers list on the PXE Server Configuration Policy page.
The role of each of these services is described in other KB articles.(cite) For our purposes we will only be discussing the _Symantec_netBoot_NSiSignal and _Symantec_netBoot_Server services, as they are the two services that work together to populate the PXE server field.
To populate the PXE Server field, first start the _Symantec_netBoot_NSiSignal service followed by the _Symantec_netBoot_Server service. As shown below, the _Symantec_netBoot_NSiSignal service does the work to populate the PXE server field; however, it doesn't do this unless the _Symantec_netBoot_Server is also running.
The _Symantec_netBoot_NSiSignal service starts the process by reading the SbsNSiSignal.ini file to find the location of the PxeStartupInfo.exe file (both of the aforementioned files are located in the ...\SBS directory).(1)(2) After the location of PxeStartupInfo.exe is found, it is executed. PxeStartupInfo starts by reading the value of the 'HasSBSRegistered' registry key located at 'HKLM\Software\Altiris\Deployment\Symantec Boot Services'. This process can be seen in the 'PxeStartupInfo.log' file located in the 'Windows\system32' directory:
5/7/2010 11:10:25 AM Entering Main function
5/7/2010 11:10:25 AM Successfully reads the registry value of HasBeenRegistered Key
5/7/2010 11:10:26 AM The machine Guid fetched from the registry is 0F82E0EB-C001-4EDE-94D1-292E6FCEDE31
If the value of the key is set to '0', PxeStartupInfo.exe fetches the GUID of the system from the registry. It then takes this GUID and the IP address of the system and populates the 'sbs_ServerList' within the 'Symantec_CMDB' database. The 'HasSbsRegistered' key is set to '1' to tell the PxeStatupInfo.exe executable that the next time it is ran, it does not need to run thru this process as it has already been completed. Finally, the NS console reads the GUID and IP address from the aforementioned table, resolves the GUID, and displays the PXE Server to the 'PXE Server Configuration' policy page.
5/7/2010 11:10:25 AM Entering Main function
No other entries will be made in the log because PxeStatupInfo.exe is incorrectly informed that the table has already been populated.
(1) PxeStartupInfo.exe has many purposes but, for our discussion, I will only describe how it populates the PXE Servers field.
(2) Note: To learn more about the other purposes of PxeStartupInfo.exe, gather the pxestartupinfo.log files located in the 'windows\system32' and '..\SBS' directories. Open the pxestartupinfo.log file located in 'windows\system32' first and when done continue reading the pxestartupinfo.log file located in the '..\SBS' directory. There are two log files because of bug in the code that has already been addressed in the next release of DS 7.1 due out fourth quarter 2010.
PxeStartupInfo.exe will now update the 'sbs_ServerList' table and the PXE Server field will be populated on the 'PXE Server Configuration' policy page.
One customer reported success when he copied the file initialpxeconfigpath.txt from Notification Server to the child server.
Applies To
Notification Solution 7.0 SP4 with Deployment Solution 7.1 installed.
This issue may also occur on any site server that has Deployment Site Handlers installed.