The one feature that would make me consider using windows again is if it supported bash as a first class shell option and had a built in x server.
Instead of piping text from one command to the other, you pipe entire objects back and forth. A lot of bash commands are aliased to Powershell commandlets out of the box. And, as of Powershell 2.0, you have remote scripting similar to SSH.
I choose to do Python Web development on Windows, and I spend my whole day on the PS command line, and I'm really pleased.
What, instead of actually using the ubiquitous, widely installed SSH? Some things don't seem to change.
That will get you far, right?
Also, when I pipe an object to another program, can the receiver call methods on it and are the changes visible to the sender?