@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

Curso básico de Powershell: Ampliando la funcionalidad

Además de los cmdlets, funciones, alias … que tiene Powershell por defecto, se pueden añadir nuevas funcionalidades, normalmente creadas por fabricantes y asociadas a aplicaciones o recursos concretos.

Actualmente hay dos formas de ampliar esa funcionalidad de PowerShell, y es mediante PSSnapin o mediante Módulos

PSSnapins

  • Normalmente requieren de la instalación de un ejecutable
  • Puede ser necesario registrarlos de forma manual en .NET Framework
  • Incluyen cmdlets, ayuda, extensiones, providers…
  • Es necesario cargarlos en cada sesión PowerShell

Los comandos para gestionarlos son:

  • Get-PSSnapin
  • Remove-PSSnapin
  • Add-PSSanpin

Por ejemplo si queremos obtener los Snapin cargados en una sesión Powershell podemos ejecutar:

 

Get-PSSnapin
Get-PSSnapin

Vemos que solo hay uno cargado: Microsoft.PowerShell.Core

Si ejecutamos:

Get-PSSnapin - Registered
Get-PSSnapin – Registered

Podemos ver los que tenemos disponibles para cargar.

Para ver como funciona vamos a mostrar la ayuda para comandos relacionados con Citrix en una sesión PowerShell por defecto:

No tenemos cargada la Snapin de Citrix
No tenemos cargada la Snapin de Citrix

Cargamos el Snapin de Citrix

Cargando Snapin de Citrix
Cargando Snapin de Citrix

Y volvemos a solicitar la ayuda:

Ahora si tenemos la ayuda para Citrix
Ahora si tenemos la ayuda para Citrix

Vemos que ahora tenemos disponibles algunos comandos tras cargar el PSSnapin de Citrix
Algunos ejemplos de PSSnapin:

  • Citrix SDK
  • VMware PowerCLI

Módulos

Los módulos es otro concepto que se está imponiendo a la hora de extender la funcionalidad de PowerShell.

  • Pueden requerir instalación pero normalmente no es necesario
  • Basado en archivos que se encuentran en la ruta $env:PSModulePath
  • Módulos de terceros pueden añadir nuevas carpetas a este path
  • Se puede modificar via GPO
  • Con añadirlos a la carpeta es suficiente, se cargan automáticamente cuando se ejecuta algún cmdlet o función asociado al módulo

Por defecto la ruta donde se encuentran los módulos incluye una carpeta del sistema y otra del usuario.

Path a los módulos
Path a los módulos

Los cmdlets para gestionar los módulos son

  • Get-Module
  • Import-Module
  • Remove-Module
  • New-Module

Por defecto en una sesión de PowerShell tenemos los siguientes módulos:

Get-Module
Get-Module

Vemos que tenemos 2 módulos cargados.

Pero si ejecutamos:

Módulos disponibles
Módulos disponibles

Nos muestra todos los módulos disponibles.

Para comprobar que no es necesario cargar los módulos para utilizar sus cmdlets, podemos ejecutar lo siguiente:

Carga automática de los módulos
Carga automática de los módulos

Podemos ver que inicialmente teníamos 2 módulos cargados, pero tras ejecutar el cmdlet Get-Acl, pasamos a tener 3 módulos sin habérselo indicado, ya que Get-Acl pertenece al módulo Microsoft.PowerShell.Security que no estaba cargado inicialmente.

 

Temas

  1. Introducción
  2. Instalación y requerimientos
  3. Ayuda
  4. Ampliando la funcionalidad
  5. Canalización
  6. Operadores
  7. Comandos básicos
  8. Formato de salida
  9. Importar y Exportar datos
  10. Arrays y HashTables
  11. Ejecución de Scripts
  12. Providers
  13. Trabajos
  14. Scripts y funciones
  15. Gestión de Errores

 

 

Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Roberto Orayen

Compruebe también

powershell-medir-tiempo-ejecucion-de-un-proceso-o-script-1

Powershell: Medir tiempo ejecución de un proceso o script

Powershell: Medir tiempo ejecución de un proceso o script Hoy vamos a explicaros varios métodos …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

doce + 10 =

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
Blog Maquinas Virtuales - El Blog de Negu