animind - Fotolia
Cuatro módulos de PowerShell que todo profesional de TI debe conocer
Descubra cómo usar cuatro de los módulos más populares de la comunidad de PowerShell en la Galería de PowerShell para ayudar a administrar mejor su centro de datos y automatizar ciertas tareas.
La comunidad de PowerShell es vibrante, ya que muchos de sus desarrolladores aportan nuevos cmdlets y scripts al PowerShell Core de código abierto y crean módulos de PowerShell que automatizan los procesos y la administración del centro de datos.
La mayoría de los módulos de la comunidad se encuentran en el repositorio central de PowerShell, PowerShell Gallery. Sin embargo, los profesionales de TI también pueden encontrar módulos o scripts en GitHub.
Módulo PSWindowsUpdate
Implementar actualizaciones de Windows con código nunca es una tarea fácil, pero el módulo PSWindowsUpdate puede ayudar. Este módulo le permite ver el historial de instalación actualizado y las actualizaciones pendientes, actualizaciones para desinstalar, actualizaciones locales por instalar y actualizaciones por instalar de forma remota.
Uno de los cmdlets especialmente útiles en PSWindowsUpdate es Get-WULastResults, que recupera el último resultado de una búsqueda de actualización de Windows y el estado de la instalación.
El cmdlet Get-WUInstall instala actualizaciones e incluso puede filtrar categorías específicas de actualización y actualizaciones de la base de conocimientos (KB). Este ejemplo instala la actualización KB4034658:
Módulo poshWSUS
PoshWSUS es un módulo para administrar los aún populares Servicios de actualización de Windows Server. Con este módulo, puede buscar actualizaciones instaladas en el servidor WSUS, aprobar o rechazar actualizaciones y cambiar las configuraciones de WSUS.
Hay una forma práctica de automatizar el rechazo de las actualizaciones de vista previa de Windows. Este ejemplo consulta al servidor WSUS por cualquier actualización que contenga la cadena "Vista previa de" que aún no se haya rechazado y canaliza eso a Deny-PoshWSUSUpdate.
Otra gran tarea para automatizar con WSUS es sincronizar las actualizaciones de los servidores de Microsoft a su servidor interno WSUS. Puede lograr esto con el cmdlet Start-PoshWSUSSync:
PowerShell también le permite combinar fácilmente los cmdlets en scripts. Puede, por ejemplo, sincronizar WSUS y luego configurar su sistema para rechazar cualquier actualización.
Módulo Carbon
Carbon es un módulo popular, y por una buena razón. Es un módulo creado para muchas tareas diferentes. Carbon interactúa con usuarios, sitios web, certificados, servicios, archivos de host, permisos de archivos y otras áreas en Windows.
Un cmdlet único es Get-CProgramInstallInfo, que es el equivalente a usar Programas y características en la GUI de Windows.
El siguiente ejemplo muestra cómo obtener información en una instalación local de Google Chrome. En este ejemplo, puede ver información útil, como la fecha de instalación, el lenguaje, la fuente de instalación y la cadena de desinstalación. Tenga en cuenta que la cadena de desinstalación es el comando utilizado para desinstalar el software del sistema.
Muchas aplicaciones requieren que instale .NET Framework en un sistema. Con Carbon, puede usar el cmdlet Test-CDotNet para ver si ha instalado la versión 2 o la versión 4.
Módulo NTFSSecurity
Aunque PowerShell tiene soporte nativo para trabajar con permisos de archivos NTFS, el módulo NTFSSecurity proporciona un enfoque más intuitivo y fácil de usar.
Una información común que un administrador de TI necesita saber es el permiso efectivo para un usuario en un archivo o carpeta. El permiso efectivo es el resultado de la pertenencia a un grupo de un usuario, permisos heredados, grupos anidados y permisos denegados.
Aquí es cómo el cmdlet Get-NTFSEffectiveAccess encuentra el permiso efectivo de la ruta local c:\temp:
Otra tarea común es establecer la propiedad en un archivo o carpeta con NTFS. Aquí, la carpeta c:\temp está configurada para tener "Dan" como propietario. Luego, puede usar Get-NTFSSOwner para mostrar el propietario actual.
Hay más de 3.000 módulos en la Galería de PowerShell, y la comunidad de PowerShell continúa publicando métodos para usar PowerShell para la automatización.
Las posibilidades son que, si necesita interactuar con un sistema de centro de datos, haya un módulo de PowerShell disponible. Instalar módulos comunitarios es tan simple como usar el cmdlet PowerShell Install-Module.