Definitely use powershell, it's infinitely more flexible, easier to use, and has more support available. You should be able to do all of the things you want in Powershell, you'll just have to get a little creative. For the startup issues, the easiest solution would just be to code your script in such a way that after each step it creates a control file to know what step is next, set the script to run on startup and look for that control file to know which actions to take.
The toughest part will be logging in (assuming the account has a password). There was a post a while back relating to auto-login, I think the OP found a solution that worked so you might search for it.