Not really an issue with Invoke-LenovoBIOSUpdate.ps1 but more of a problem with Lenovo's consistency... Their P320 package for BIOS date 20190418, revision S06KT47A (1.47 if imported via the DAT) only contains a Flash.cmd file and no WinUPTP file. So although the Flash.cmd works in 64-bit Windows / WinPE, the script ignores it because it's looking for Flash64.cmd. Maybe change the logic so that the Get-ChildItem ELSE line looks for Flash* instead of Flash.cmd? This might also be a good thing to do for WinUPTP as well.
Not really an issue with Invoke-LenovoBIOSUpdate.ps1 but more of a problem with Lenovo's consistency... Their P320 package for BIOS date 20190418, revision S06KT47A (1.47 if imported via the DAT) only contains a Flash.cmd file and no WinUPTP file. So although the Flash.cmd works in 64-bit Windows / WinPE, the script ignores it because it's looking for Flash64.cmd. Maybe change the logic so that the Get-ChildItem ELSE line looks for Flash* instead of Flash.cmd? This might also be a good thing to do for WinUPTP as well.