Come si eseguono gli script integrati di PowerShell all'interno degli script?
Come usi gli script integrati come
Get-Location
pwd
ls
dir
split-path
::etc...
Questi sono gestiti dal tuo computer, controllando automaticamente il percorso dello script.
Allo stesso modo, posso eseguire i miei script personalizzati inserendo semplicemente il nome dello script nel blocco di 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)
Passare alla riga di comando di PowerShell e digitare
> $profile
Ciò restituirà il percorso a un file che la nostra riga di comando di PowerShell eseguirà ogni volta che apri l'app.
Sarà così
C:\Users\jowers\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
Vai a Documenti e vedi se hai già una directory WindowsPowerShell. Non l'ho fatto, quindi
> cd \Users\jowers\Documents
> mkdir WindowsPowerShell
> cd WindowsPowerShell
> type file > Microsoft.PowerShellISE_profile.ps1
Ora abbiamo creato lo script che verrà avviato ogni volta che apriamo l'app PowerShell.
La ragione per cui lo abbiamo fatto è stata quella di poter aggiungere la nostra cartella che contiene tutti i nostri script personalizzati. Creiamo quella cartella e la chiamerò "Bin" come le directory in cui Mac / Linux contiene i suoi script.
> mkdir \Users\jowers\Bin
Ora vogliamo che la directory venga aggiunta alla nostra $env:path
variabile ogni volta che apriamo l'app, quindi torna alla WindowsPowerShell
Directory e
> start Microsoft.PowerShellISE_profile.ps1
Quindi aggiungi questo
$env:path += ";\Users\jowers\Bin"
Ora la shell troverà automaticamente i tuoi comandi, purché tu salvi i tuoi script in quella directory "Bin".
Riavvia il PowerShell e dovrebbe essere uno dei primi script da eseguire.
Eseguilo sulla riga di comando dopo averlo ricaricato per vedere la tua nuova directory nella variabile path:
> $env:Path
Ora possiamo chiamare i nostri script dalla riga di comando o da un altro script semplicemente come questo:
$(customScript.ps1 arg1 arg2 ...)
Come vedi, dobbiamo chiamarli con l' .ps1
estensione fino a quando non creiamo alias per loro. Se vogliamo essere fantasiosi.