PowerShell è sia una shell della riga di comando che un linguaggio di scripting. Non sorprende affatto che sia preferito da molti utenti che hanno compiti che vogliono eseguire automaticamente per gestire i sistemi operativi e i loro processi.

Uno dei loro requisiti spesso è quello di interrompere la chiusura di PowerShell dopo aver eseguito uno script. Desiderano eseguire uno script di PowerShell e mantenere la finestra aperta al termine dell’esecuzione. Questo è un must per accedere in remoto a un altro server usando le credenziali richieste quando eseguono lo script.

Quindi, senza ulteriori indugi, discutiamo alcuni suggerimenti rapidi per mantenere aperta una finestra di PowerShell al termine dell’esecuzione dello script.

Come posso interrompere la chiusura di PowerShell dopo aver eseguito uno script?

1. Avviare una connessione remota tramite questi passaggi

  1. Devi creare un file chiamato execute.ps1 sul desktop.
  2. Incolla questo contenuto in esso:
    chiaro-Host
    $ br = “` n ”; $ br
    Scrittura-output “Passaggio 1: premere 1 per ricaricare Powershell”
    Scrittura-output “Passaggio 2: premere 2 per avviare la sessione remota”
    $ br
    Write-Host “Questo script sarà” -NoNewline -ForegroundColor Green
    Write-Host “non” -ForegroundColor Red -BackgroundColor Black -NoNewline
    Write-Host “indica su quale passaggio ti trovi,” -ForegroundColor Green
    Write-Host “se non si è sicuri, premere di nuovo 1 e poi 2.” -ForegroundColor Green
    $ br
    $ input = Read-Host “Inserisci la tua scelta”
    switch ($ input) {
    # Se lo si desidera, modificare il nome di execute.ps1
    1 {powershell.exe -noexit “C: users $ env: usernameDesktopexecute.ps1” -noprofile}
    #
    2{
    Clear-Host; Avviso di scrittura “Stai per connetterti al server remoto”
    # Cambia “RemoteServerName” con il nome del tuo server e cambia “domainname” con il tuo vero nome di dominio
    Enter-PSSession -ComputerName RemoteServerName -Credential “domainname $ env: username”
    }
    predefinito {Avviso di scrittura “Si è verificato un errore”}
    }
  3. Eseguirlo. La prima volta che lo fai, premi 1 per riaprirlo con il Interruttore “nessuna uscita”.
  4. La seconda volta, premere 2 per avviare la connessione remota al computer remoto.
Leggi anche  Correzione: le impostazioni di sicurezza hanno bloccato un'applicazione Java autofirmata

2. Utilizzare il comando Pausa

Perché non provare il comando Pausa al termine dell’esecuzione? Provocherà immediatamente l’avvio e l’esecuzione di un nuovo interprete di comandi in background.

In questo modo la finestra di PowerShell attende fino a quando non si decide di premere ulteriormente il tasto Invio, quindi procedere:
pausa cmd / c


3. Aggiungi una riga alla fine del tuo script

Un’altra soluzione rapida ma efficace è aggiungere una riga come questa alla fine del tuo script:
Read-Host -Prompt “Premi Invio per uscire”

L’effetto è garantito e funziona in PS-ISE. Tuttavia, fai attenzione che accetta solo i file Tasto Invio.


4. Eseguire uno script PowerShell localmente per eseguirlo su un computer remoto

Puoi anche provare a creare un open.ps1 come quello che vedi qui:
powershell.exe -noexit c: remote.ps1

Questo chiama remote.ps1:
Enter-PSSession -ComputerName YourExchangeServer -Credential Get-Credential


5. Utilizzare il cmdlet Start-Sleep

Di fronte al problema di cercare un modo per impedire la chiusura di PowerShell dopo l’esecuzione di uno script, un altro cmdlet di PowerShell efficace ma sottovalutato è questo:
Start-Sleep -s 15

Per quelli di voi che non lo sanno, questo cmdlet Start-Sleep o l’alias del sonno sostanzialmente sospende l’attività in uno script per il periodo di tempo specificato. Puoi usarlo per molte altre attività, come mettere in pausa prima di ripetere un’operazione o attendere il completamento di un’operazione.

Sta a te decidere se è abbastanza buono per il tuo caso. Ricorda di usare il tasto di scelta rapida da tastiera Ctrl + C quando sei pronto per uscire da Start-Sleep.


Esistono molti usi di PowerShell quando si hanno molti processi che devono essere eseguiti in determinate condizioni e non si ha il tempo o la pazienza di attendere il completamento di ciascun processo per iniziare il successivo.

Leggi anche  Le tue icone di Windows 10 non rimangono al loro posto? Prova questo

In questo caso, devi impedire la chiusura di PowerShell dopo aver eseguito uno script e hai visto che è possibile. È possibile utilizzare una qualsiasi delle procedure sopra descritte in base alle proprie esigenze e comodità.

Facci sapere quale ha funzionato per te tramite l’area commenti qui sotto.

LEGGI ANCHE: