Uma instalação limpa do PowerShell por si só tem funcionalidade suficiente para administrar um ambiente de domínio do Windows e/ou SQL Servers?
Se não, quais são os complementos de terceiros bons, gratuitos ou pagos?
Uma instalação limpa do PowerShell por si só tem funcionalidade suficiente para administrar um ambiente de domínio do Windows e/ou SQL Servers?
Se não, quais são os complementos de terceiros bons, gratuitos ou pagos?
Para responder a essa pergunta, você precisa diminuir o zoom e perguntar o que significa administrar Windows e SQL Servers. Por exemplo, quantas dessas outras coisas você tem em seu ambiente:
Todas essas coisas têm seus próprios mecanismos de gerenciamento e, como o PowerShell ainda é relativamente novo, nem todos os serviços serão habilitados para PowerShell. Por enquanto, pode ser necessário sair do PowerShell para gerenciar coisas como essas.
Por outro lado, também não há outro idioma que funcione melhor em todas essas ferramentas do Windows.
Quando você diz "funcionalidade para administrar servidores", isso ainda não vem de uma linguagem do Windows. No mundo * nix, você pode ficar dentro de um ambiente de script, mas o mundo do Windows ainda não chegou lá.
A resposta à sua primeira pergunta é um retumbante "SIM".
Para gerenciar um domínio existente do Windows, o PowerShell "vanilla" (sem snap-ins adicionais) fornece suporte pronto para WMI, ADSI, COM e .NET.
O gerenciamento de máquinas remotas é feito através do WMI (ou COM/.NET, dependendo do caso de uso).
O gerenciamento do SQL Server pode usar as bibliotecas SMO (consulte SQL Server PowerShell Extensions para obter ideias). Você pode acessar dados via ADO.NET.
Para responder à segunda parte da sua pergunta, sobre o que são bons complementos de terceiros, realmente depende do que você precisa fazer. Como John Cook mencionou, as PowerShell Community Extensions são uma ótima adição geral. Há muitos, muitos outros. O PowerShellCommunity.Org tem várias ótimas referências para produtos de terceiros e o Codeplex tem um grande número de projetos PowerShell de software livre.
Mais produtos da Microsoft estão adicionando suporte ao PowerShell (como SQL Server 2008, Exchange, Active Directory, etc.)
O V2 (que está chegando) contém ótimos recursos de trabalho remoto e em segundo plano.
O Powershell não vem com ferramentas de administração SQL, embora você possa continuar a usar coisas como osql ou isql. Eu sei que existem suplementos do Powershell que permitem "montar" um servidor SQL e navegá-lo como se fosse um sistema de arquivos (muito parecido com o material do Registro embutido).
As PowerShell Community Extensions ( PSCX ) são gratuitas e convenientes de se ter.
Por si só, o PowerShell não é suficiente.
Mas o PowerShell não está sozinho e você também não. Existem extensões como as mencionadas por John D. Cook acima, bem como uma comunidade vibrante compartilhando o que aprenderam sobre isso.
Ele é feito para ser fácil e constantemente estendido, e dá acesso aos objetos COM e .NET necessários para administrar o que você quiser.
Há sempre Perl. :) Para SQL Server DBAs, consulte o livro de Linchi Shea .
Eu realmente achei o snap-in Quest ActiveRoles muito útil para trabalhar e gerenciar o Active Directory. Você pode obter o snap-in aqui , mas acho que esta postagem do blog faz um excelente trabalho explicando o que é, como configurá-lo e como usá-lo.
Como DBA em um ambiente bastante grande, minha opinião é SIM. Construímos um monitor MS SQL Server inteiro e uma estrutura de manutenção usando nada além do PowerShell 1.0. Este sistema automatiza o monitoramento diário da capacidade, bem como automatiza a manutenção do índice de backup, etc.