Wie führen Sie integrierte PowerShell-Skripts in Ihren Skripten aus?
Wie benutzt man eingebaute Skripte wie
Get-Location
pwd
ls
dir
split-path
::etc...
Diese werden von Ihrem Computer ausgeführt und überprüfen automatisch den Pfad des Skripts.
Ebenso kann ich meine benutzerdefinierten Skripte ausführen, indem ich einfach den Namen des Skripts in den Skriptblock schreibe
::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)
Gehen Sie zur Powershell-Befehlszeile und geben Sie ein
> $profile
Dadurch wird der Pfad zu einer Datei zurückgegeben, die unsere PowerShell-Befehlszeile bei jedem Öffnen der App ausführt.
Es wird so aussehen
C:\Users\jowers\OneDrive\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
Gehen Sie zu Dokumente und prüfen Sie, ob Sie bereits ein WindowsPowerShell-Verzeichnis haben. Ich habe es nicht getan
> cd \Users\jowers\Documents
> mkdir WindowsPowerShell
> cd WindowsPowerShell
> type file > Microsoft.PowerShellISE_profile.ps1
Wir haben jetzt das Skript erstellt, das jedes Mal gestartet wird, wenn wir die PowerShell-App öffnen.
Der Grund dafür war, dass wir unseren eigenen Ordner hinzufügen konnten, der alle unsere benutzerdefinierten Skripte enthält. Lassen Sie uns diesen Ordner erstellen und ich werde ihn "Bin" nach den Verzeichnissen nennen, in denen Mac / Linux seine Skripte aufbewahrt.
> mkdir \Users\jowers\Bin
Jetzt möchten wir, dass dieses Verzeichnis bei $env:path
jedem Öffnen der App zu unserer Variablen hinzugefügt wird. Gehen Sie also zurück zum WindowsPowerShell
Verzeichnis und
> start Microsoft.PowerShellISE_profile.ps1
Dann füge dies hinzu
$env:path += ";\Users\jowers\Bin"
Jetzt findet die Shell Ihre Befehle automatisch, solange Sie Ihre Skripte in diesem "Bin" -Verzeichnis speichern.
Starten Sie die Powershell neu und es sollte eines der ersten Skripte sein, die ausgeführt werden.
Führen Sie dies nach dem erneuten Laden in der Befehlszeile aus, um Ihr neues Verzeichnis in Ihrer Pfadvariablen anzuzeigen:
> $env:Path
Jetzt können wir unsere Skripte einfach über die Befehlszeile oder aus einem anderen Skript heraus aufrufen:
$(customScript.ps1 arg1 arg2 ...)
Wie Sie sehen, müssen wir sie mit der .ps1
Nebenstelle aufrufen, bis wir Aliase für sie erstellen. Wenn wir Lust haben wollen.