¿Cómo agrego un cmdlet o función PowerShell para mi máquina de modo que siempre está disponible?
-
20-09-2019 - |
Pregunta
Si encuentro (o crear) un nuevo cmdlet de PowerShell (o función), ¿cómo puedo añadir a mi máquina?
- copio a una carpeta en particular?
- ¿Pongo su contenido en un archivo en particular?
- ¿Es necesario que la autorice, o firmarlo, o darle permiso de alguna manera?
No quiero usarlo en una sola sesión; Quiero que esté disponible cada vez que use PowerShell en esta máquina.
Solución
Como se menciona Alex, cualquier función definida en su perfil o en una secuencia de comandos que obtiene "puntos" en su perfil estará siempre disponible. Lo mismo ocurre si se utiliza Add-PSSnapin en su perfil para añadir un complemento. Los cmdlets en el complemento estarán siempre disponibles. Para obtener más información acerca de los perfiles visita nuestra tema de ayuda:
man about_profiles
Sin embargo, si usted tiene un número importante de funciones puede que no desee que cargarlos hasta que se necesiten. En este caso, puede organizar funcionalidad en guiones y luego poner esos guiones en uno o más directorios que se encuentran en su camino. A continuación, puede hacer referencia a la secuencia de comandos por su nombre, sin especificar la ruta completa o incluso la extensión .ps1. Para obtener más información sobre el uso de scripts revisar el tema de ayuda:
man about_scripts
PowerShell V2 presenta un enfoque aún mejor para la organización de las funciones y su carga en la demanda. La función se denomina módulos y permite a Import-Module por un simple nombre (en lugar de la ruta) y para elegir qué funciones y variables se hacen públicos frente a cuáles se mantengan privadas. Si tiene V2, echa un vistazo a los módulos:
man about_modules
Otros consejos
Usted debe tener acceso a los cmdlets a través de su script de perfil. De esta manera, cada vez que acceda PowerShell, que se carga. Consulte El poder de los perfiles .