- Windows PowerShell - Extensión de cmdlets -

WPS no tiene un número determinado de cmdlets.
Cmdlets adicionales pueden ser agregados al iniciar WPS o durante una sesión.
Los cmdlets adicionales pueden estar implementados en archivos scripts, los cuales pueden ser agregados a través del "Dor Sourcing" o a través de la instalación de un "Snap-Ins".

Integración de Snap_Ins
Las extensiones de los cmdlets, las cuales forman una Snap-Ins, deben instalarse en dos pasos:
- registrar el DLL (alias assembly), el cual contiene los cmdlets
- incluir el Snap-Ins en la consola

Registrar el DLL
El registro del DLL ocurre con la herramienta de línea de comando "installutil.exe", la cual es parte de .NET Framework. Esta herramienta la encontrará en la carpeta de instalación de .NET Framework (generalmente c:\Windows\Microsoft.NET\Framework\v\). WPS registra este path automáticamente.
Al utilizar "installutil.exe", deberá entrarse el nombre del archivo y la extensión, conjuntamente con el path, siempre y cuando la consola de WPS no tenga ese path actualizado.

Incluir el Snap-Ins en la consola de WPS
Para activar el Snap-Ins debe utilizarse, en la consola de WPS, el cmdlet "Add_PSSnapin". Este carga la extensión.

add_PSSnapin PowerShell_Commandlet_Library

Cargar el Snap_ins
Mientras que el registro de las extensiones deben hacerse solo una ves, el cargado de la misma se liquida con el cierre de la sesión de WPS.
Para que WPS, cada ves que inicie una sesión cargue las extensiones que se deseen, hay dos posibilidades:
- incluir la directiva "Add-PSSnapIn" en el archivo del perfil del usuario ("profile.ps1")
- exportar el archivo de configuración de la consola con "Export-Console". Antes de exportar la consola, el usuario deberá incluir el "Snap-In" en la misma.
Al exportar así la consola, se creará un archivo XML, con la extensión ".psc1".
Este archivo deberá entregarse a la consola al iniciarse, con el parámetro "-PSConsoleFile".
En este caso, lo mejor sería crear un enlace en el sistema de archivos:

%SystemRoot%\system32\windowspowershell\v1.0\powershell.exe –PSConsoleFile "pathynombre del archivo.psc1"

Listar los Snap-Ins
El cmdlet "Get-PSSapIn" lista, normalmente, solo los Snap-Ins que fueron incluidos en WPS. Entre ellos encontrará los paquetes estándar que pertenecen a la instalación de WPS, los cuales comienzan con "Microsoft.PowerShell.*"

Con "Get-PSSnapin –registered" se lista todos los "Snap-Ins" registrados, independientemente de estar activos en la consola o no.

Lista de los cmdlets
Para listar los cmdlets de una extensión determinada, el usuario deberá filtrar la clase "CmdletInfo" con el atributo "PSSnapIn", por ejemplo:

Get-command | where { $_.pssnapin –like "Pscx" }

Doble significado del nombre
Es posible que al activar diversas extensiones, se definan más de un cmdlet con el mismo nombre, dado que no existe un centro de registro unificado. De presentarse este problema, WPS responderá al llamado de estos cmdlet con un mensaje de error.
Para distinguir entre estos cmdlets con el mismo nombre, deberá ser antecedido por el nombre del "Snap-Ins", separados por una barra de división –slash- (\):

nombredelsnapins\Get-Computername

previo
Imprimir..
Ultima actualisación: Tue, 24 ▪ May ▪ 2011
próximo