In Server 2012 R2 you can hold Shift when you choose to reboot from the start menu it brings you to a screen that lets you choose which OS you want to boot to if you have multi-boot set up. This change is only a one time change, it does not change the default OS that will be boot to, the next reboot you do will have the system boot back into the default OS.
Is there any way a script, running with administrator privileges, could do the same thing?
I know I could use bcdedit /default <guid>
to change the default permanently then in the 2nd OS use a similar script to change it back to the original default on startup, but I would really prefer it to do the "one time change" behavior I get from the shift menu so I don't need to ensure that I change the default back.
Is the one time change possible to script or is that an action only windows itself can perform?
Just use
bcdedit /bootsequence <guid>
. See the following article if you need more details: https://technet.microsoft.com/en-us/magazine/ff700231.aspx