Jak uruchamiać wbudowane skrypty PowerShell w swoich skryptach?
Jak korzystać z wbudowanych skryptów, takich jak
Get-Location
pwd
ls
dir
split-path
::etc...
Są one uruchamiane przez Twój komputer, automatycznie sprawdzając ścieżkę do skryptu.
Podobnie mogę uruchamiać własne skrypty, po prostu umieszczając nazwę skryptu w bloku skryptu
::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)
Przejdź do wiersza poleceń PowerShell i wpisz
> $profile
Spowoduje to zwrócenie ścieżki do pliku, który nasz wiersz poleceń programu PowerShell wykona za każdym razem, gdy otworzysz aplikację.
Będzie to wyglądało tak
C:\Users\jowers\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
Przejdź do Dokumentów i sprawdź, czy masz już katalog WindowsPowerShell. Tak nie zrobiłem
> cd \Users\jowers\Documents
> mkdir WindowsPowerShell
> cd WindowsPowerShell
> type file > Microsoft.PowerShellISE_profile.ps1
Stworzyliśmy teraz skrypt, który będzie uruchamiany za każdym razem, gdy otworzymy aplikację PowerShell.
Powodem tego było to, że mogliśmy dodać własny folder zawierający wszystkie nasze niestandardowe skrypty. Utwórzmy ten folder i nadam mu nazwę „Bin” po katalogach, w których Mac / Linux przechowuje swoje skrypty.
> mkdir \Users\jowers\Bin
Teraz chcemy, aby ten katalog był dodawany do naszej $env:path
zmiennej za każdym razem, gdy otwieramy aplikację, więc wróć do WindowsPowerShell
katalogu i
> start Microsoft.PowerShellISE_profile.ps1
Następnie dodaj to
$env:path += ";\Users\jowers\Bin"
Teraz powłoka automatycznie znajdzie twoje polecenia, o ile zapiszesz skrypty w tym katalogu „Bin”.
Uruchom ponownie PowerShell i powinien to być jeden z pierwszych wykonywanych skryptów.
Uruchom to w wierszu poleceń po ponownym załadowaniu, aby zobaczyć nowy katalog w zmiennej ścieżki:
> $env:Path
Teraz możemy wywoływać nasze skrypty z wiersza poleceń lub z poziomu innego skryptu w taki prosty sposób:
$(customScript.ps1 arg1 arg2 ...)
Jak widzisz, musimy wywoływać je z .ps1
rozszerzeniem, dopóki nie utworzymy dla nich aliasów. Jeśli chcemy mieć ochotę.