Ive had the same issue when using provisioning.
it appears that script that Jan made (prefmap) looks for preferredservers.dat, not preferredserver.dat so we did a find/replace for that name within the au3 file and that is now able to find it no problem.
The script now works for me ...(well almost).
it seems that sdclient is adding in a timestamp of sorts...i saw this in a post but cant find it now. The fix was in the form of an 8.8 support requested patch.
Basically, from what i can gather
In 8.7-8.8 there was two changes made regarding preferred servers, the name changed as mentioned above and the timestamp was added to the preferreredservers.dat file.
The issue now is that the mapping process of prefmap is treating the timstamp as part of the hostname and hence failing.
If i remove the timestamp from the preferredserver.dat file, it works perfectly (once the provisioning process fails and i can open up a new console within winpe)
So, if what i said is actually correct, then i think all i need to do is figure out how to tell sdclient not to add in the timestamp and it will work, however im a little unsure if its a simple as a switch, seeing as a patch was required to "turn it on".
The sdclient switches i seen documented dont mention anything like a no timestamp switch, only /f /o which is for the default and overrite options.
Thanks for that, works a treat once we updated the registry key for winpe.
Very nice solution when you match it with your autoit script for installing drivers http://community.landesk.com/support/docs/DOC-8674