Ответ 1
Вы можете просто сделать . $profile
, чтобы снова создать профиль.
Я настраивал некоторые скрипты в моем профиле PowerShell, и ему стало неприятно покинуть powershell, а затем перезапустить его, чтобы он загружал любые изменения, которые я внес в скрипты в моем профиле. Возможно ли перезапустить сеанс powershell без выхода?
Вы можете просто сделать . $profile
, чтобы снова создать профиль.
@manojlds правильный, но это может привести к ошибкам. Например, если вы определили новый PSDrive в своем профиле, тогда повторный dotsourcing может вызвать ошибки.
Альтернативный подход заключается в том, чтобы сначала запустить powershell, а затем сразу запустить другую версию, просто набрав PowerShell. Я вношу изменения в свой профиль во вложенную консоль, выхожу, а затем повторно запускаю PowerShell для проверки обновленного профиля.
Другое дело - сделать профиль медленно и тщательно. На мой взгляд, хотя профили должны развиваться, эта эволюция обычно должна быть медленной. YMMV!!
Вы можете сделать простую функцию и добавить ее в свой $profile
(или создать модуль, а затем импортировать его в '$ profile'), например:
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
Примечание. Хотя это может быть и не то, что вы написали в названии своего вопроса "без выхода", но если, по существу, ваше первоначальное намерение состояло в том, чтобы иметь какую-то перезапуск команды узла PowerShell (что не является доступный в PS по умолчанию), тогда он выполнит работу...