Como você executa scripts internos do PowerShell dentro de seus scripts?
Como você usa scripts internos como
Get-Location
pwd
ls
dir
split-path
::etc...
Esses são executados pelo seu computador, verificando automaticamente o caminho do script.
Da mesma forma, eu posso executar meus scripts personalizados apenas colocando o nome do script no bloco de scripts
::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)
Vá para a linha de comando do PowerShell e digite
> $profile
Isso retornará o caminho para um arquivo que nossa linha de comando do PowerShell executará toda vez que você abrir o aplicativo.
Isso parecerá assim
C:\Users\jowers\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
Vá para Documentos e veja se você já possui um diretório WindowsPowerShell. Eu não fiz, então
> cd \Users\jowers\Documents
> mkdir WindowsPowerShell
> cd WindowsPowerShell
> type file > Microsoft.PowerShellISE_profile.ps1
Agora, criamos o script que será iniciado sempre que abrirmos o aplicativo PowerShell.
A razão pela qual fizemos isso foi para podermos adicionar nossa própria pasta que contém todos os nossos scripts personalizados. Vamos criar essa pasta e chamo-a de "Bin" após os diretórios nos quais o Mac / Linux contém seus scripts.
> mkdir \Users\jowers\Bin
Agora queremos que esse diretório seja adicionado à nossa $env:path
variável toda vez que abrirmos o aplicativo, volte para o WindowsPowerShell
Diretório e
> start Microsoft.PowerShellISE_profile.ps1
Então adicione isso
$env:path += ";\Users\jowers\Bin"
Agora, o shell encontrará automaticamente seus comandos, desde que você salve seus scripts nesse diretório "Bin".
Reinicie o PowerShell e deve ser um dos primeiros scripts executados.
Execute isso na linha de comando após recarregar para ver seu novo diretório na sua variável de caminho:
> $env:Path
Agora podemos chamar nossos scripts a partir da linha de comando ou de outro script, da seguinte maneira:
$(customScript.ps1 arg1 arg2 ...)
Como você vê, devemos chamá-los com a .ps1
extensão até criarmos pseudônimos para eles. Se queremos ser extravagantes.