2012-07-18 13 views
16

Ho modificato alcuni degli script nel mio profilo PowerShell ed è stato fastidioso chiudere PowerShell e riavviarlo in modo che carichi tutte le modifiche apportate agli script nel mio profilo . È possibile riavviare la sessione di PowerShell senza uscire?Aggiornamento/Riavvio della sessione di PowerShell senza uscire

+0

La funzionalità è pianificata: https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/13390179-powershell-ise-does-not-have-the-ability-to-restar – JohnLBevan

risposta

8

È sufficiente eseguire . $profile per reindirizzare il profilo.

+1

Oppure specificare un file di profilo se si sta aggiornando qualcosa di diverso da C: \ Users \ wombat \ Documents \ WindowsPowerShell \ Microsoft.PowerShell_profile.ps1 – EBGreen

+0

viene visualizzato un errore durante l'esecuzione ". $ profilo " – shreddish

+0

@reddman - quale errore si ottiene –

4

La risposta di @manojlds è giusta, ma potrebbe finire per generare errori. Ad esempio, se hai definito un nuovo PSDrive nel tuo profilo, ricodificarlo potrebbe causare errori.

Un approccio alternativo consiste nel primo avvio di PowerShell, quindi avviare immediatamente un'altra versione all'interno semplicemente digitando PowerShell. Apporto le modifiche al mio profilo nella console nidificata, esci, quindi rieseguo PowerShell per testare il profilo aggiornato.

Un'altra cosa: modificare il profilo lentamente e con attenzione. Dal mio punto di vista, mentre i profili devono evolversi, l'evoluzione in genere dovrebbe essere lenta. YMMV !!

+0

Per quelli di voi interessati a provare questo la sintassi attuale è 'powershell ()' – JackChance

2

È possibile effettuare una semplice funzione e aggiungerlo al vostro $profile (o fare un modulo e poi importare in '$ profilo'), ad esempio:

function Restart-PowerShell{ 
    Start-Process PowerShell # Launch PowerShell host in new window 
    exit # Exit existing PowerShell host window 
} 
# Add any alias if you want, for ex. rps (rp already occupied by "Remove-ItemProperty”) 
Set-Alias -Name rps -Value Restart-PowerShell 

Nota: se questo potrebbe non essere esattamente ciò che hai scritto nel titolo della tua domanda "w/out exit", ma se, in sostanza, la tua intenzione originale era avere un qualche tipo di riavvio del comando host di PowerShell (che non è disponibile in PS di default) allora farà il lavoro ...

+0

'start powershell' è la vera risposta qui, anche se si noti che si perderanno le impostazioni della finestra. – Andrew

Problemi correlati