title: What problem did MS solve by creating PowerShell?
body: <p>I'm asking because PowerShell confuses me.</p>
  
  <p>I've been trying to write some deployment scripts using PowerShell and I've been less than enthused by the result.  I have a co-worker who loves PowerShell and defends it at every turn.  Said co-worker claims PowerShell was never written to be a strong shell, but instead was written to:</p>
  
  <p>a) Allow you to peek and poke at .NET assemblies on the command-line (why is this a reason for PowerShell to exist?)</p>
  
  <p>b) To be hosted in .NET applications for automation, similar to DCOP in KDE and how Gnome is using CORBA.</p>
  
  <p>c) to be treated as ".NET script" rather than as an actual shell (related to b).</p>
  
  <p>I've always felt like Windows was missing a decent way to bang out automation scripts.  cmd is too simplistic in many cases, and WSH is too obtuse (although the combination can be used successfully, I'm not a fan).  When I first heard about PowerShell I felt like Windows was finally getting a decent shell that would be able to help with automation of many tasks, but recent experiences, and my co-worker, tell me otherwise.</p>
  
  <p>To be clear, I don't take issue with the fact that it's built on .NET, or that it passes objects around rather than text (despite my Unix background :]), and I'm not arguing that PowerShell is useless, but from what I can see, it doesn't solve the problem I was hoping it would solve very well.  As soon as you step outside of the .NET/Powershell world, things quit being nice and cozy for you.</p>
  
  <p>So with all that out of the way, what problem did MS solve by creating PowerShell, or is it some political bastard child as I suspect?  I've googled and haven't hit upon anything that sufficiently answered that for me, but the more citations the better.</p>