Ich schreibe ein Skript, um mehrere Plink-Sitzungen (PuTTY) als Windows-Version von Clustersh zu verwenden. Ich stecke jedoch fest, weil ich mehrere Powershell-Fenster von Powershell aus öffnen möchte. Wenn ich den Befehl für Powershell eingebe, wird eine neue Sitzung geöffnet. Dies ähnelt der Eingabe von bash in bash. Ich möchte mehrere physische Fenster öffnen.
Ich habe versucht -windowstyle sowie die anderen Argumente ohne Erfolg. Ich habe mich gefragt, ob es einen Weg gibt, den Sie kennen. Ich schätze deine Hilfe sehr. Ich habe nachgesehen und hier schon nichts gefunden. Vielen Dank für Ihre Zeit.
Dies wird es tun:
Invoke-Item C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Dies öffnet ein neues Fenster.
Entweder:
start-process powershell
Oder:
start powershell
wenn Sie versuchen, ein neues Fenster zu öffnen und ein neues Skript zu starten:
start powershell {.\scriptInNewPSWindow.ps1}
Das funktioniert bei mir:
$argList = "-file `"$Location\script.ps1`"" Start-Process powershell -argumentlist $argList
(Die Backticks sind erforderlich. Sie können direkt kopiert werden.) Variablen können im Parameter "-file" verwendet werden (z. B. ein Satz am Anfang des Skripts, der den Speicherort der Datei angibt), und Leerzeichen können in der Variablen angezeigt werden wegen der backticks.
Bearbeitet um eine zweizeilige Lösung (die Variable "$ argList") zu verwenden, da PowerShell die Dinge sonst zerstören kann.
So starten Sie Powershell 6 von einer PS-Konsole aus: start pwsh
könnte den Trick machen.
Es startet im selben Ordner.
(Ich habe mich nicht damit befasst, aber ich denke, dass PS6s pwsh.exe im Pfad sein muss, damit es funktioniert.)