Читать книгу PowerShell 7 und Windows PowerShell - Tobias Weltner - Страница 26
Profitipp
ОглавлениеDa PowerShell eine »portable App« ist, können Sie potenziell so viele Versionen parallel zueinander in unterschiedlichen Ordnern installieren, wie Sie mögen, oder die portable PowerShell auf einem USB-Stick mit sich führen. Allerdings führt das zwangsläufig zu einem Dilemma: Welche davon würde nun der Befehl pwsh starten?
Wenn Sie den absoluten Pfadnamen verwenden, also den kompletten Pfadnamen einschließlich der Ordner, ist die Sache klar. Wird dagegen nur pwsh eingegeben, durchsucht Windows die Ordner in der Umgebungsvariablen Path und startet den ersten Treffer. Hier ist dann also die Reihenfolge maßgeblich, in der Ihre verschiedenen Installationen in der Umgebungsvariablen Path aufgeführt sind.
Sie können den Inhalt der Umgebungsvariable mit diesem Befehl auflisten:
PS> $env:path -split ';'
C:\ps7test
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
...
Falls Sie PowerShell gestartet haben und nachträglich herausfinden möchten, wo diese PowerShell eigentlich gespeichert ist, wählen Sie folgenden Befehl:
PS> [Environment]::CommandLine
C:\ps7test\pwsh.dll
In diesem Beispiel sehen Sie, dass PowerShell aus dem Ordner c:\ps7test gestartet wurde. Sie sehen übrigens auch, dass die neue PowerShell eigentlich eine Bibliothek mit der Dateierweiterung *.dll ist. Der Startbefehl pwsh.exe leitet den Aufruf also bloß an diese Bibliothek weiter. Nerds wie ich finden so etwas spannend, aber Sie können dieses Detail auch höflich ignorieren.
Den Pfad zur jeweils gerade genutzten PowerShell finden Sie hiermit heraus:
PS> (Get-Process -Id $pid).Path
C:\ps7test\pwsh.exe
Die Variable $pid enthält bei allen Versionen der PowerShell stets die Prozess-ID der gerade laufenden PowerShell-Instanz-Sitzung.