One way to think about Powershell is to think of it similar to the python interpreter, but for .Net. And yes, given that IronPython exists, you can actually write your python if you so desire. The point here is, powershell becomes a rapid deployment mechanism for anything you write in .Net. Write your assembly, deploy to the GAC throughout the enterprise using SMS, and then push your powershell scripts out to the machines. This results in a very rapid design-develop-deploy cycle. You can almost get as fast as deployment as linux this way.