it-swarm.com.de

Wie kann das Shell-Fenster nach dem Ausführen eines PowerShell-Skripts geöffnet bleiben?

Ich habe ein sehr kurzes PowerShell-Skript, das eine Verbindung zu einem Server herstellt und das AD-Modul importiert. Ich möchte das Skript einfach per Doppelklick ausführen, aber ich fürchte, das Fenster schließt sich unmittelbar nach der letzten Zeile.

Wie kann ich das klären?

36
JustAGuy

Im Wesentlichen haben Sie drei Optionen, um zu verhindern, dass das Fenster der PowerShell-Konsole geschlossen wird. Ich beschreibe ausführlicher in meinem Blogpost .

  1. Einmalige Korrektur: Führen Sie Ihr Skript über die PowerShell Console aus oder starten Sie den PowerShell-Prozess mit der Option -NoExit. z.B. PowerShell -NoExit "C:\SomeFolder\SomeScript.ps1"
  2. Per-Skript Fix: Fügen Sie am Ende Ihrer Skriptdatei eine Eingabeaufforderung ein. z.B. Read-Host -Prompt "Press Enter to exit"
  3. Global Fix: Ändern Sie Ihren Registrierungsschlüssel so, dass das Fenster der PowerShell Console immer geöffnet bleibt, nachdem das Skript ausgeführt wurde.

In meinem Blog finden Sie weitere Informationen zu den zu ändernden Registrierungsschlüsseln.

69
deadlydog

Errr ....__ Ich hätte wissen sollen:

powershell -noexit <path\script> 

und das ist alles, was dazu gehört :)

14
JustAGuy

Die nachstehende Lösung verhindert, dass das Skript beim Ausführen von Powershell ISE geschlossen wird, und das Skript kann ansonsten geschlossen werden.

# If running in the console, wait for input before closing.
if ($Host.Name -eq "ConsoleHost")
{
    Write-Host "Press any key to continue..."
    $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyUp") > $null
}
0
averroes