Supongamos que es un administrador del sistema que usa PowerShell para administrar muchas cosas en su (s) sistema (s).Cargue todas las funciones en PowerShell desde un directorio determinado
Probablemente haya escrito muchas funciones que hacen cosas que regularmente necesita comprobar. Sin embargo, si tiene que moverse mucho, usar muchas máquinas diferentes y así sucesivamente, tendrá que volver a ingresar todas sus funciones una y otra vez para poder usarlas. Incluso tengo que hacerlo cada vez que salgo y reinicio PowerShell por alguna razón, ya que no recordará las funciones ...
He escrito una función que hace esto por mí. Lo estoy publicando aquí porque quiero estar seguro de que es infalible. La función en sí está almacenada en allFunctions.ps1
, por lo que la excluyo del código.
La idea básica es que tiene una carpeta en la que almacena todos sus archivos ps1, cada uno de los cuales incluye una función. En PowerShell, que vaya a ese directorio y luego se introduce:
. .\allFunctions.ps1
El contenido de esa secuencia de comandos es la siguiente:
[string]$items = Get-ChildItem -Path . -Exclude allFunctions.ps1
$itemlist = $items.split(" ")
foreach($item in $itemlist)
{
. $item
}
Este script primera recopilar todos los archivos en el directorio, es decir, todas libres archivos ps1 que podría tener allí también. allFunctions.ps1 se excluirá.
Luego he dividido la secuencia larga en función del espacio, que es el separador común aquí. Y luego lo ejecuto con un bucle Foreach, cada vez que inicializo la función en PowerShell.
Supongamos que tiene más de 100 funciones y que nunca sabe cuáles necesitará y cuáles no? ¿Por qué no ingresarlos a todos en lugar de engañar?
Así que me pregunto, ¿qué puede salir mal aquí? Quiero que esto sea realmente seguro, ya que probablemente lo esté usando mucho.
Cosas increíbles, no sabía nada de Powershell. – KdgDev