traducir remoto remote reinicio example computer session powershell restart

session - remoto - Actualizar/Reiniciar sesión de PowerShell sin salir



restart computer powershell example (4)

He estado modificando algunos de los scripts en mi perfil de PowerShell y me molesta salir de powershell y reiniciarlo para que cargue los cambios que he realizado en los scripts de mi perfil. ¿Es posible reiniciar la sesión de powershell sin salir?


Aquí hay una expansión sobre la respuesta de @ Bad. Esto ahora manejará ISE (porque lo uso todo el tiempo).

La idea es que si estás en ISE, reiniciará ISE. Si está en PowerShell simple, se reiniciará PowerShell simple. Get-PSHostProcessInfo devuelve información sobre la sesión actual de PowerShell que le permite determinar si está ejecutando ISE o no.

function Restart-PowerShell { if((Get-PSHostProcessInfo).ProcessName.Contains(''powershell_ise'')) { Start-Process ''powershell_ise.exe'' } else { Start-Process ''powershell.exe'' } exit }


La respuesta de @manojlds es correcta, pero podría terminar arrojando errores. Por ejemplo, si ha definido un nuevo PSDrive en su perfil, entonces volverlo a asignar puede causar errores.

Un enfoque alternativo es comenzar primero con powershell, e inmediatamente iniciar otra versión adentro simplemente escribiendo PowerShell. Realizo los cambios en mi perfil en la consola anidada, salgo y luego vuelvo a ejecutar PowerShell para probar el perfil actualizado.

Otra cosa: hacer cambios de perfil lenta y cuidadosamente. En mi opinión, mientras que los perfiles necesitan evolucionar, esa evolución normalmente debería ser lenta. YMMV !!


Puede realizar una función simple y agregarla a su $profile (o crear un módulo y luego importar a ''$ perfil''), por ejemplo:

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: Si bien esto puede no ser exactamente lo que escribió en el título de su pregunta "sin salida", pero si, en esencia, su intención original era reiniciar el comando del host PowerShell (que no está disponible en PS) por defecto) entonces hará el trabajo ...


Usted puede simplemente hacer . $profile para obtener el perfil de nuevo.