Búsqueda de sitios web

Introducción a la Galería PowerShell


La Galería de PowerShell es el destino definitivo para todas sus necesidades de PowerShell, ya sea un principiante o un usuario experimentado. Y la buena noticia es que existe una amplia colección de documentación, scripts, módulos y otros recursos creados por la comunidad de PowerShell.

En este tutorial, aprenderá a buscar, descargar e instalar recursos desde la Galería de PowerShell.

¡Estén atentos y mejoren su juego de secuencias de comandos hoy!

Requisitos previos

Este tutorial será una demostración práctica. Para seguir adelante, asegúrese de tener un sistema con PowerShell 5.1 o posterior instalado. Este tutorial utiliza Windows 10 con PowerShell 5.3 instalado, pero otras versiones de Windows y PowerShell también deberían funcionar.

Instalación del marco .NET

Antes de sumergirse en la Galería de PowerShell, primero necesita una forma de interactuar con la Galería de PowerShell, y .NET Framework es la forma principal.

Primero debe instalar .NET Framework, que es crucial para el módulo PowerShellGet. El módulo PowerShellGet requiere al menos .NET Framework v4.5+. El módulo PowerShellGet le permite descubrir, instalar, actualizar y publicar artefactos de PowerShell.

Pero en este tutorial, instalará .NET Framework v4.8.

? Tenga en cuenta que es posible que .NET Framework v4.8 ya esté instalado en su sistema. Si es así, puedes saltarte este paso. Pero si tiene una versión anterior de .NET Framework, desinstálela y actualice a una versión más nueva.

Para instalar .NET Framework, siga estos pasos:

1. Abra su navegador web favorito y navegue hasta la página oficial de descarga de .NET Framework.

2. A continuación, haga clic en el enlace Descargar .NET Framework 4.8 Developer Pack para descargar un archivo similar a ndp48-devpack-enu. Este archivo es el paquete de instalación para la versión de NET Framework. 4.8.

3. Espere a que se complete la descarga y haga doble clic en el archivo descargado para iniciar el instalador de .NET Framework.

? Si tiene problemas para instalar .NET Framework, intente ejecutar el archivo de instalación en [modo de compatibilidad]

4. Marque la casilla de verificación en la parte inferior para aceptar los términos de la licencia y haga clic en el botón Instalar para instalar .NET Framework 4.8.

A continuación, puede ver el progreso de la instalación, que puede tardar unos minutos, según la configuración de su sistema.

5. Ahora, haga clic en el botón Cerrar para cerrar el instalador una vez que se complete la instalación.

6. Por último, abra PowerShell como administrador y ejecute el siguiente comando [Start-Process] para abrir la aplicación Agregar o quitar programas (appwiz.cpl). Esta aplicación te permite ver una lista de programas instalados en tu sistema.

Start-Process "appwiz.cpl”

Verá entradas para .NET Framework 4.8 en la lista de programas instalados, como se muestra a continuación.

Instalación del módulo PowerShellGet

Con .NET Framework instalado y en ejecución, ahora puede instalar el componente principal de PowerShell Gallery, el módulo PowerShellGet.

La versión de PowerShellGet (1.0.0.1) preinstalada con Windows Power Shell 5.1 tiene funciones limitadas. Si está utilizando Windows PowerShell 5.1 o anterior, considere utilizar las capacidades actualizadas de la Galería de PowerShell. La última versión es 3.0.17-beta17 en el momento de escribir este artículo.

Para instalar el módulo PowerShellGet, siga los pasos a continuación:

1. Ejecute el siguiente comando, que no produce resultados, pero habilita Transport Layer Security (TLS) 1.2 en su sesión de PowerShell. TLS es un protocolo de seguridad que cifra los datos transmitidos a través de Internet.

Habilitar TLS 1.2 es crucial ya que PowerShell no está configurado para usar TLS 1.2 de forma predeterminada. Este comando establece el SecurityProtocol para el objeto System.Net.ServicePointManager en TLS 1.2 (Tls12). A su vez, obtienes acceso a la Galería PowerShell utilizando TLS 1.2 o superior.

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

? Tenga en cuenta que este cambio solo se aplica a la sesión actual de PowerShell. Pero puede configurar PowerShell para usar siempre TLS 1.2 agregando el comando anterior a su perfil de PowerShell.

A continuación, ejecute el comando Install-PackageProvider a continuación para instalar el proveedor de paquetes NuGet. El proveedor de paquetes NuGet le permite instalar y administrar paquetes desde el repositorio de paquetes NuGet. Este repositorio es un repositorio central de paquetes de código abierto para la plataforma .NET.

Se requiere el proveedor de paquetes NuGet antes de usar el cmdlet [Install-Module] para instalar módulos desde la Galería de PowerShell. ¿Por qué? Muchos de los módulos de la Galería PowerShell se distribuyen como paquetes NuGet.

Install-PackageProvider -Name NuGet -Force

Una vez instalada, ahora puede aprovechar la API de NuGet. La API de NuGet le permite acceder al repositorio de paquetes NuGet para crear herramientas y aplicaciones que puedan interactuar con el repositorio de paquetes NuGet. ¿Interactuar cómo? Realice diversas tareas, como buscar, instalar y actualizar paquetes.

Generalmente, existen dos versiones de la API de NuGet, que puede utilizar según sus requisitos y las capacidades de su cliente y servidor.

VersionDescriptionUsage
v2Uses XML as the data format for communication between the client and server.

This version is based on the original NuGet API introduced in 2011 and is the legacy version of the API.

The v2 API is recommended if you use an older version of NuGet or a client or server that does not support the v3 API.

This version is supported by all versions of NuGet and is compatible with older clients and servers.

v3Uses JSON as the data format for communication between the client and server. This version was introduced in 2013 as an improvement over the v2 API and included many new features and improvements.

Many new features included are support for side-by-side package installation, improved search capabilities, and large package support.

The v3 API is recommended if you use a newer NuGet version. The v3 API is faster and more efficient than the v2 API.

This version is not supported by older versions of NuGet and may not be compatible with older clients and servers.

? En general, se recomienda NuGet API v3 ya que proporciona las características y capacidades más actualizadas.

3. Ejecute el siguiente comando Set-PSRepository, que no proporciona resultados, pero configura su repositorio de PowerShell Gallery (PSGallery) como una fuente de paquetes confiable. Hacerlo le permitirá instalar módulos desde la Galería de PowerShell.

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted -ErrorAction Stop

4. Ahora, ejecute el comando Install-Module a continuación para instalar la última versión (-AllowPrerelease) del módulo PowerShellGet.

Install-Module -Name PowerShellGet -AllowPrerelease -Force

5. Finalmente, ejecute el comando Get-InstalledModule a continuación para verificar que el módulo PowerShellGet se haya instalado correctamente.

Get-InstalledModule PowerShellGet

Verá el módulo PowerShellGet en la lista, como se muestra a continuación, con PSGallery como repositorio si se instaló correctamente.

Descubriendo módulos de la galería de PowerShell

Ahora que ha instalado el módulo PowerShellGet, puede buscar e instalar módulos desde la Galería de PowerShell. Hacerlo le permite ampliar las capacidades de su entorno PowerShell y automatizar tareas complejas de manera más eficiente.

Para buscar un módulo en la Galería de PowerShell, puede utilizar el cmdlet Find-Module. Este cmdlet busca en la Galería de PowerShell módulos que coincidan con criterios de búsqueda específicos, como el nombre, la versión o la etiqueta del módulo.

1. Ejecute el comando Find-Module siguiente para buscar en la Galería de PowerShell módulos con nombres que coincidan con AzureRM.

Find-Module -Name AzureRM

El resultado siguiente indica solo un módulo que coincide con el nombre AzureRM en la Galería de PowerShell. También podrás ver información básica de cada módulo, como su nombre, versión, repositorio, etc.

2. A continuación, ejecute cualquiera de los siguientes comandos para buscar módulos usando una -Tag con la palabra clave Azure. El parámetro -Tag no distingue entre mayúsculas y minúsculas, por lo que puede usar azure o Azure como palabra clave de etiqueta.

¿Por qué utilizar etiquetas para un módulo? Una etiqueta es una palabra clave o etiqueta asociada con un módulo, que describe su contenido y funcionalidad en la Galería de PowerShell.

Por ejemplo, si un módulo está relacionado con la plataforma en la nube de Azure, puede etiquetar la palabra clave Azure. Esto permite a los usuarios interesados en recursos relacionados con Azure encontrar y descubrir fácilmente el módulo buscando la etiqueta Azure.

Find-Module -Tag 'Azure'
Find-Module -Tag 'azure'

PowerShell Gallery es un repositorio extenso de recursos aportados por una amplia gama de autores y hay muchos módulos relacionados con palabras clave populares como Azure.

Como resultado, verá una larga lista de módulos que coinciden con su palabra clave o etiqueta, como se muestra en las siguientes capturas de pantalla.

? También puedes usar etiquetas para agrupar módulos relacionados y agilizar la búsqueda de recursos relacionados. Por ejemplo, utilice la etiqueta Virtualización para agrupar módulos relacionados con tecnologías de virtualización, como Hyper-V o VMware.

3. Ahora, ejecute el siguiente comando para limitar su búsqueda y encontrar un módulo específico combinando los parámetros en el cmdlet Find-Module.

El siguiente comando busca un módulo de la Galería de PowerShell considerando los siguientes parámetros:

  • -Name: busca módulos con un nombre específico Az.Compute.< /li>

  • -Tag: busca módulos con etiquetas Azure y Microsoft.

Find-Module -Name 'Az.Compute' -Tag 'Azure', 'Microsoft’

Instalación y actualización de módulos

Una vez que haya encontrado un módulo que le interese utilizar, instalarlo está a solo unas pocas teclas de distancia. Puede utilizar el cmdlet Install-Module para descargar módulos de la Galería de PowerShell e instalarlos en su sistema local.

1. Ejecute el siguiente comando para descargar e instalar el módulo Az.Compute desde la Galería de PowerShell.

Si tiene éxito, este comando no produce resultados, pero verificará la instalación en el siguiente paso.

Install-Module -Name 'Az.Compute'

2. A continuación, ejecute el siguiente comando Get-InstalledModule para verificar que el módulo Az.Compute se haya instalado en su sistema.

Get-InstalledModule -Name 'Az.Compute'

? Como alternativa, ejecute el cmdlet Get-InstalledModule sin parámetros para mostrar una lista de todos los módulos instalados en su sistema. Pero tenga cuidado, puede lastimarse la vista al desplazarse por la lista si hay demasiados módulos instalados.

3. Ahora, ejecute el siguiente comando Update-Module, que no proporciona resultados sino que busca la última versión de un módulo específico (es decir, Az.Compute) y las actualizaciones. él.

La actualización de los módulos instalados puede incluir correcciones de errores, nuevas funciones u otras mejoras.

Update-Module -Name Az.Compute

Desinstalación de módulos PowerShell

Hay ocasiones en las que es posible que desee eliminar un módulo de su sistema. Por ejemplo, si ya no necesitas un módulo o es problemático.

Para desinstalar un módulo de su sistema, puede utilizar el cmdlet Uninstall-Module. Este cmdlet elimina un módulo y todos sus archivos de su sistema, desinstalándolo efectivamente.

? Asegúrese de considerar cuidadosamente las implicaciones de desinstalar un módulo antes de continuar. Desinstalar un módulo puede tener consecuencias no deseadas, como dañar otros programas o scripts que dependen del módulo.

Ejecute el siguiente comando Uninstall-Module para desinstalar un módulo específico (Az.Compute) de su sistema. Este comando no produce resultados si la desinstalación se realiza correctamente.

Uninstall-Module -Name Az.Compute

? Si otros programas o scripts están usando actualmente el módulo, el cmdlet Uninstall-Module generará un error y la desinstalación fallará.

Conclusión

Los módulos de PowerShell son herramientas poderosas que le permiten agregar funcionalidad a su entorno de PowerShell rápidamente. Y en este tutorial, junto con la Galería de PowerShell, puedes descubrir e instalar módulos con unos pocos comandos.

¡Aproveche la Galería de PowerShell y busque módulos de PowerShell para personalizar y potenciar sus scripts y flujos de trabajo de PowerShell hoy mismo!

Artículos relacionados