PowerShell Gallery Recurso Gratuito para Encontrar Scripts
PowerShell Gallery Recurso Gratuito para Encontrar Scripts

PowerShell Gallery: Recurso Gratuito para Encontrar Scripts

Como alguien que le encanta utilizar PowerShell, uno adquiere el hábito de crear todos sus scripts de PowerShell desde cero. Sin embargo, no tiene por qué ser así. Hay numerosos scripts de PowerShell preconstruidos y otros recursos como módulos disponibles para su descarga. Lo que es aún mejor es que no tienes que recurrir a la descarga de estos recursos desde un sitio web poco fiable en el que los scripts pueden o no ser seguros. Microsoft proporciona una Galería PowerShell (PowerShell Gallery) que contiene numerosos recursos que están disponibles gratuitamente para su uso. En este artículo, quiero mostrarte cómo adquirir recursos de la PowerShell Gallery.

Módulo PowerShellGet

Antes de poder utilizar cualquier contenido de la PowerShell Gallery, deberás descargar e instalar el módulo PowerShellGet. Este módulo añade varios cmdlets a PowerShell. Estos cmdlets pueden utilizarse para localizar, instalar y actualizar los paquetes que se encuentran en la PowerShell Gallery. Los paquetes de la Galería pueden consistir en módulos, scripts o incluso recursos que se pueden utilizar con la herramienta de configuración de estado deseado.

Técnicamente, el módulo PowerShellGet funcionará con la versión 3.0 o superior de PowerShell. Sin embargo, la técnica de despliegue que estoy a punto de mostrarte supone que estás utilizando la versión 5.0 o superior de PowerShell. La versión 5 de PowerShell está incluida en Windows 10 y Windows Server 2016.

El módulo también requiere que instales la versión 4.5 o superior de .NET Framework. En Windows 10, accede al panel de control (Windows + R, escribe control y pulsa Ejecutar, consulta + de 200 comandos para ejecutar en Windows). Desde allí, haz clic en Programas, seguido de Activar o desactivar las características de Windows. El cuadro de diálogo resultante te mostrará qué versiones de .NET Framework están actualmente instaladas y te permitirá instalar la versión correcta si es necesario. Puede ver el aspecto de este cuadro en la siguiente captura de pantalla.

Requisito de NET Framework en Windows
Requisito de NET Framework en Windows

Otro componente que PowerShellGet requiere es un paquete llamado NuGet. El paquete NuGet está instalado por defecto, pero es una buena idea asegurarte de que tienes la versión más reciente antes de intentar instalar el módulo PowerShellGet. Puedes actualizar el paquete NuGet introduciendo este comando:

Install-PackageProvider -Name NuGet -Force
Instalar paquete NuGet en PowerShell
Instalar paquete NuGet en PowerShell

Una vez que hayas verificado que tienes la versión correcta de .NET Framework y la última versión del paquete NuGet instalado, puedes instalar PowerShellGet abriendo una sesión elevada (de privilegios) de PowerShell e introduciendo el siguiente comando:

Install-Module -Name PowerShellGet -Force

Si tienes instalada una versión anterior del módulo PowerShellGet, puedes actualizarla a la última versión introduciendo este comando:

Update-Module -Name PowerShellGet

Puedes ver ambos comandos en la siguiente captura de pantalla.

Instalar y actualizar PowerShellGet
Instalar y actualizar PowerShellGet

Ahora que tu ordenador está bien preparado, puedes empezar a buscar y descargar elementos de la PowerShell Gallery. Hay dos métodos diferentes que puedes utilizar para encontrar elementos dentro de la Galería. La primera opción es visitar el sitio web de la PowerShell Gallery y examinar los elementos de la galería.

Sitio web de PowerShell Gallery
Sitio web de PowerShell Gallery

Aunque navegar por la galería puede ayudarte a hacerte una idea de su contenido si estás empezando, ayuda a tener alguna idea de lo que estás buscando para que puedas buscarlo en lugar de navegar casualmente. La razón por la que digo esto es porque la PowerShell Gallery contiene casi 9.000 paquetes únicos y aproximadamente 73.000 paquetes en total.

La otra opción para encontrar paquetes dentro de la PowerShell Gallery es utilizar PowerShell para buscar un paquete. El cmdlet que utilizarás para buscar el contenido de la PowerShell Gallery dependerá del tipo de paquete que estés buscando. Los cmdlets disponibles son

  • Find-Module
  • Find-DscResource
  • Find-Script

Para mostrarte cómo funciona esto, echemos un vistazo a un script PowerShell llamado Get-WindowsUpTime. Sólo para hacer las cosas interesantes, vamos a suponer también que se desconoce el nombre exacto del script. Podrías escribir Find-Script Uptime, pero ese comando sólo devolvería una coincidencia exacta (el script tendría que llamarse Uptime). Si no estuvieras seguro del nombre exacto, sería mejor incluir algunos caracteres comodín (Find-Script *Uptime*). Puedes ver cómo funciona esto en la siguiente captura de pantalla.

Find-Script *Uptime*
Buscar scripts con Find-Script
Buscar scripts con Find-Script en PowerShell

Si quieres saber un poco más sobre el script de PowerShell antes de instalarlo, introduce de nuevo el cmdlet Find-Script, pero esta vez añade el cmdlet Get-Member después del nombre del script. Esto hará que PowerShell te muestre los metadatos del script. Como puedes ver en la siguiente captura de pantalla, estos metadatos no siempre son muy útiles, pero coinciden con la información mostrada en el sitio web de la PowerShell Gallery.

Find-Script Get-WindowsUpTime | Get-Member
Información de script PowerShell con Get-Member
Información de script PowerShell con Get-Member

Si decides descargar el script de PowerShell de la PowerShell Gallery, el proceso consta de dos pasos. El primer paso es descargar el paquete. Para ello, deberás utilizar el cmdlet Save-Script (o Save-Module), seguido del nombre del script. Esto hará que el paquete se descargue y se guarde en tu disco duro local. Para utilizar este cmdlet, deberás utilizar el parámetro -Repository y establecer PSGallery como repositorio. También deberás utilizar el modificador -Path y especificar la ruta en la que deseas guardar el script. He aquí un ejemplo:

Save-Script -Name Get-WindowsUpTime -Repository PSGallery –Path C:\Scripts
Instalar Scripts de la PowerShell Gallery
Instalar Scripts de la PowerShell Gallery

Después de descargar el script de la PowerShell Gallery, es una buena idea comprobarlo para asegurarte de que el script no es malicioso. Si el script parece estar bien, entonces puedes instalarlo con el cmdlet Install-Script. Los scripts se instalan en la carpeta \ProgramFiles\WindowsPowerShell\Scripts.

Install-Script -Name Get-WindowsUpTime

Si te aparece un mensaje de confianza de la instalación, intenta ejecutar el siguiente comando:

Set-PSRepository -Name 'PSGallery' -InstallationPolicy Trusted

Por otro lado, también es posible actualizar los módulos y scripts instalados. Para ello, utilizaremos los comandos Update-Module o Update-Script. Por último, también es posible comprobar lo que está instalado desde la PowerShell Gallery. Basta con utilizar los comandos Get-InstalledModule y Get-InstalledScript. En definitiva, hemos visto qué es la PowerShell Gallery. Así que tienes a mano este gestor de paquetes nutrido por Microsoft.

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda