For something else (I forget what, but it wasn't powershell), where it was working for some and not other boxes to find cmds... it boiled down to the PATH= statement being either really long (something kept adding more and more to the 'beginning' of the PATH statement, so that %windir%, and etc were bumped so far down that the OS couldn't resolve them), or the PATH= entry had bad characters in it, causing it to choke at that point, and again, not be able to resolve for paths past the invalid character.
So... just for fun, check your path on your desktop, under the "can't hurt to look" philosophy. Compare the PATH= between the laptop and desktop.