Your powershell script needs to output the value, not store it in a variable. Two different solutions(untested), inspired by @zdan's answer in a differen SO question:
FOR /F "usebackq delims=" %%v IN (`powershell -noprofile "& { (get-date).ToString('MMddyy') }"`) DO set "d=%%v"
Or:
getdate.ps1:
$a = Get-Date
$b = $a.ToString('MMddyy')
$b
Batch:
FOR /F "usebackq delims=" %%v IN (`powershell -noprofile -File "C:\Users\ab\Desktop\getdate.ps1"`) DO set "d=%%v"