With Windows 10 migrations ramping up for the Business world the need to go from BIOS to UEFI(B2U) and turn on Secure Boot is important. If you are unable to take advantage of a Windows 10 In-Place upgrade and a B2U conversion with no data loss, you will need to format the hard drive. The next question is what about User data if the drive needs to be formatted? That’s where Peer Backup Assistant(PBA) comes in. PBA enables files and settings data to be backed-up to a peer computer so that they can be maintained when the computer is being migrated to a new Operating System. One common concern around PBA is how to make sure a computer starting the execution of a task sequence isn’t already a PBA host.
Place a PowerShell task in the New Computer section and the Refresh sections of the task sequence. The script(below) checks for the existence of PBA data and either fails the task sequence or it changes the MaximumMegaByte registry value to zero.
Changing the MaximumMegaByte value to zero ensures the computer running the task sequence doesn’t become a PBA Host before restarting into WinPE.
Next, in the Install Nomad task set the MaximumMegaByte value to zero.
At the end of the task sequence add a run command line step that changes the MaximumMegaByte value back to Nomad packaged value.
reg add HKLM\Software\1E\NomadBranch\NMDS /v MaximumMegaByte /t REG_DWORD /d 30720 /f
That’s it! The task sequence will only execute if the computer is not a PBA Host and this process ensures it will not become a PBA Host while the task sequence is executing.
Create a SCCM Package with the following PowerShell Script:
<#
.DESCRIPTION
Checks the existence of PBA data under c:\programdata\1E\NomadBranch\NMDS
#>
if (test-path C:\programdata\1e\NomadBranch\NMDS\*)
{ Write-Host "PBA Host found!"
Exit 1
}
else
{
Write-Host "NOT a PBA Host!"
New-ItemProperty -Path "HKLM:\SOFTWARE\1E\NomadBranch\NMDS" -Name "MaximumMegaByte" -Value 0 -force
Exit 0
}