¿Cómo ejecuta los scripts integrados de PowerShell dentro de sus scripts?
¿Cómo se utilizan los scripts integrados como
Get-Location
pwd
ls
dir
split-path
::etc...
Esos son ejecutados por su computadora, verificando automáticamente la ruta del script.
Del mismo modo, puedo ejecutar mis scripts personalizados simplemente poniendo el nombre del script en el bloque de script
::sid.ps1 is a PS script I made to find the SID of any user
::it takes one argument, that argument would be the username
echo $(sid.ps1 jowers)
(returns something like)> S-X-X-XXXXXXXX-XXXXXXXXXX-XXX-XXXX
$(sid.ps1 jowers).Replace("S","X")
(returns same as above but with X instead of S)
Vaya a la línea de comandos de PowerShell y escriba
> $profile
Esto devolverá la ruta a un archivo que nuestra línea de comandos de PowerShell ejecutará cada vez que abra la aplicación.
Se verá así
C:\Users\jowers\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
Vaya a Documentos y vea si ya tiene un directorio WindowsPowerShell. No lo hice
> cd \Users\jowers\Documents
> mkdir WindowsPowerShell
> cd WindowsPowerShell
> type file > Microsoft.PowerShellISE_profile.ps1
Ahora hemos creado el script que se lanzará cada vez que abramos la aplicación PowerShell.
La razón por la que lo hicimos fue para poder agregar nuestra propia carpeta que contiene todos nuestros scripts personalizados. Creemos esa carpeta y la llamaré "Bin" después de los directorios en los que Mac / Linux contiene sus scripts.
> mkdir \Users\jowers\Bin
Ahora queremos que ese directorio se agregue a nuestra $env:path
variable cada vez que abramos la aplicación, así que regrese al WindowsPowerShell
Directorio y
> start Microsoft.PowerShellISE_profile.ps1
Luego agrega esto
$env:path += ";\Users\jowers\Bin"
Ahora el shell encontrará automáticamente sus comandos, siempre que guarde sus scripts en ese directorio "Bin".
Vuelva a iniciar el PowerShell y debería ser uno de los primeros scripts que se ejecutan.
Ejecute esto en la línea de comando después de volver a cargar para ver su nuevo directorio en su variable de ruta:
> $env:Path
Ahora podemos llamar a nuestros scripts desde la línea de comandos o desde otro script de la siguiente manera:
$(customScript.ps1 arg1 arg2 ...)
Como puede ver, debemos llamarlos con la .ps1
extensión hasta que creemos alias para ellos. Si queremos ponernos elegantes.