2013-05-24 4 views
24

Ho uno script PowerShell molto breve che si collega a un server e importa il modulo AD. Mi piacerebbe eseguire lo script semplicemente facendo doppio clic, ma temo che la finestra si chiuda immediatamente dopo l'ultima riga.Come mantenere la finestra della shell aperta dopo aver eseguito uno script PowerShell?

Come posso risolvere questo problema?

+0

Correlato (duplicato): * [Come ottenere PowerShell per mantenere aperta una finestra di comando?] (Http://stackoverflow.com/questions/9244280) * –

risposta

54

Hai sostanzialmente 3 opzioni per evitare che la finestra di PowerShell Console dalla chiusura, che descrivo in more detail on my blog post.

  1. una tantum Fix: eseguire lo script dalla Console PowerShell, o di avviare il processo di PowerShell utilizzando l'interruttore -NoExit. per esempio. PowerShell -NoExit "C:\SomeFolder\SomeScript.ps1"
  2. Correzione per script: Aggiungere un prompt per l'input alla fine del file di script. per esempio. Read-Host -Prompt "Press Enter to exit"
  3. Correzione globale: Modificare la chiave del Registro di sistema per lasciare sempre aperta la finestra di PowerShell Console al termine dello script.

Vedere il mio blog per ulteriori informazioni su quali chiavi del Registro di sistema modificare.

11

Errr ... Avrei dovuto saperlo:

powershell -noexit <path\script> 

e questo è tutto c'è ad esso :)

+3

Per qualche motivo, lo script della shell termina anche dopo aver eseguito la tua comando ... –

+2

@IgorGanapolsky Il problema potrebbe essere che si sta aggiungendo -NoExit dopo il percorso dello script, è necessario andare prima. Penso che se è dopo lo passa come argomento per lo script invece di powershell.exe. – jcmcbeth