¿Una instalación limpia de PowerShell por sí sola tiene suficiente funcionalidad para administrar un entorno de dominio de Windows y / o servidores SQL?
Si no, ¿qué son los complementos de terceros buenos, gratuitos o de pago?
¿Una instalación limpia de PowerShell por sí sola tiene suficiente funcionalidad para administrar un entorno de dominio de Windows y / o servidores SQL?
Si no, ¿qué son los complementos de terceros buenos, gratuitos o de pago?
Respuestas:
Para responder a esta pregunta, debe alejar la imagen y preguntar qué significa administrar servidores Windows y SQL. Por ejemplo, cuántas de estas otras cosas tiene en su entorno:
Todas estas cosas tienen sus propios mecanismos de administración, y dado que PowerShell todavía es relativamente nuevo, no todos los servicios estarán habilitados para PowerShell. Por ahora, es posible que deba abandonar PowerShell para administrar cosas como esas.
Por otro lado, tampoco hay otro idioma que funcione mejor en todas esas herramientas de Windows.
Cuando dice "funcionalidad para administrar servidores", todavía no proviene de un lenguaje de Windows. En el mundo * nix, puede permanecer dentro de un entorno de secuencias de comandos, pero el mundo de Windows aún no está allí.
La respuesta a su primera pregunta es un rotundo "SÍ".
Para administrar un dominio de Windows existente, PowerShell "vainilla" (sin complementos adicionales) proporciona compatibilidad inmediata para WMI, ADSI, COM y .NET.
La administración de máquinas remotas se maneja a través de WMI (o COM / .NET dependiendo del caso de uso).
La administración de SQL Server puede usar las bibliotecas SMO (consulte las Extensiones de SQL Server PowerShell para obtener ideas). Puede acceder a los datos a través de ADO.NET.
Para responder a la segunda parte de su pregunta, en cuanto a qué son buenos complementos de terceros, realmente depende de lo que necesite hacer. Como John Cook mencionó, las Extensiones de comunidad de PowerShell son una gran adición general. Hay muchos, muchos otros. PowerShellCommunity.Org tiene una serie de excelentes referencias para productos de terceros y Codeplex tiene una gran cantidad de proyectos de código abierto de PowerShell.
Más productos de Microsoft están agregando compatibilidad con PowerShell (como SQL Server 2008, Exchange, Active Directory, etc.)
V2 (que se está acercando) contiene algunas excelentes capacidades de trabajo remoto y en segundo plano.
Powershell no se entrega con herramientas de administración de SQL, aunque podría seguir usando cosas como osql o isql. Sé que hay complementos de Powershell que le permiten "montar" un servidor SQL y navegar como si fuera un sistema de archivos (al igual que las cosas del Registro que están integradas).
Las Extensiones de comunidad de PowerShell ( PSCX ) son gratuitas y convenientes.
Por sí mismo y solo, PowerShell no es suficiente.
Pero PowerShell no está solo, y tú tampoco. Hay extensiones como las mencionadas anteriormente por John D. Cook, así como una comunidad vibrante que comparte lo que aprenden al respecto.
Está hecho para extenderse fácil y constantemente, y le da acceso a los objetos COM y .NET necesarios para administrar lo que quiera.
Siempre hay Perl. :) Para los DBA de SQL Server, vea el libro de Linchi Shea .
Realmente he encontrado que el complemento Quest ActiveRoles es muy útil para trabajar y administrar Active Directory. Puede obtener el complemento aquí , pero creo que esta publicación de blog hace un excelente trabajo explicando qué es, cómo configurarlo y cómo usarlo.
Como DBA en un entorno bastante grande, mi opinión es SÍ. Hemos creado un marco completo de monitor y mantenimiento de MS SQL Server utilizando nada más que PowerShell 1.0. Este sistema automatiza el monitoreo diario de la capacidad, así como la automatización del mantenimiento del índice de respaldo, etc.