¿Vanilla Powershell es un lenguaje suficiente para los administradores de servidores Windows y DB?

8

¿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?

MotoWilliams
fuente

Respuestas:

8

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:

  • Productos de respaldo de terceros como NetBackup o BackupExec
  • Productos antivirus
  • Herramientas de almacenamiento
  • Cortafuegos o software de filtrado web
  • Alerta de hardware (como IBM Director o HP SIM)

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í.

Brent Ozar
fuente
2
Estoy en desacuerdo. Creo que PowerShell contiene la funcionalidad para "administrar servidores" y donde puede faltar cmdlets específicos, aún puede aprovechar las aplicaciones de consola existentes, aplicaciones COM y ensamblados .NET. Algo de eso requerirá trabajo para desarrollar la solución, pero cuanto más tiempo esté disponible PowerShell, más soluciones refinadas estarán disponibles.
Steven Murawski el
Correcto, como dijiste, aún requerirá trabajo para desarrollar tu propia solución. Nos dirigimos hacia el día en el que nunca tendrá que abandonar PowerShell para hacer su trabajo, pero todavía no estamos allí, ¿estaría de acuerdo?
Brent Ozar
Estoy mucho más cerca de aceptar eso. Tal vez estoy obsesionado con la semántica, pero "dejar" PowerShell para mí significa dejar el shell, el script o el host, lo cual no es necesario. Si definimos "abandonar" PowerShell como alejarse de los cmdlets, entonces estoy de acuerdo. :)
Steven Murawski
No estoy seguro de estar de acuerdo. Si puede administrar con WSH, Perl o C # (a través de WMI, API de Windows, dlls de terceros, etc.), puede hacer lo mismo en PowerShell con el mismo código o menos.
Wedge
Correcto, no puede administrar Windows completamente a través de CUALQUIER lenguaje, como dije. "Tampoco hay otro lenguaje que funcione mejor en todas esas herramientas de Windows". Eso es lo que dije.
Brent Ozar
4

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.

Steven Murawski
fuente
3

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).

Brad Wilson
fuente
1
A partir de SQL Server 2008, hay cmdlets nativos de PowerShell y un proveedor.
Steven Murawski el
2

Las Extensiones de comunidad de PowerShell ( PSCX ) son gratuitas y convenientes.

John D. Cook
fuente
1

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.

John Saunders
fuente
0

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.

Abdominales
fuente
0

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.

Jagoop
fuente