Does a clean install of PowerShell on its own have enough functionally to Admin a Windows domain environment and/or SQL Servers?
If not what are good, free or pay for, third party add-ons?
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.Sign up to join this community
To answer this question, you need to zoom out to the bigger picture and ask what it means to administer Windows and SQL Servers. For example, how many of these other things do you have in your environment:
All of these things have their own mechanisms for management, and since PowerShell is still relatively new, not all services will be PowerShell-enabled. For now, you may need to jump out of PowerShell in order to manage things like those.
On the flip side, there's no other language that works better across all of those Windows tools either.
When you say "functionality to administer servers", that doesn't come from a Windows language yet. In the *nix world, you can stay inside a scripting environment, but the Windows world isn't quite there yet.
The answer to your first question is a resounding "YES".
To manage an existing Windows domain, "vanilla" PowerShell (no additional snapins) provides out of the box support for WMI, ADSI, COM, and .NET.
Managing remote machines is handled through WMI (or COM / .NET depending on the use case).
Managing SQL Server can use the SMO libraries (see the SQL Server PowerShell Extensions for ideas). You can access data via ADO.NET.
To answer the second part of your question, as to what are good third party addons, really depends on what you need to do. As John Cook mentioned, the PowerShell Community Extensions are a great general addition. There are many, many others. PowerShellCommunity.Org has a number of great references for third party products and Codeplex has a great number of open source PowerShell projects.
More Microsoft products are adding PowerShell support (like SQL Server 2008, Exchange, Active Directory, etc..)
V2 (which is getting near) contains some great remoting and background job capabilities.
The PowerShell Community Extenstions (PSCX) are free and convenient to have.
By itself and on your own, PowerShell is not enough.
But PowerShell is not alone, and neither are you. There are extensions such as John D. Cook mentions above, as well as a vibrant community sharing what they learn about it.
It's made to be easily and constantly extended, and gives you access to COM and .NET objects necessary to administer whatever you like.
There is always Perl. :) For SQL Server DBAs, see Linchi Shea's book.