我一直在调整我的PowerShell配置文件中的一些脚本,退出powershell,然后重新启动它,这样它就会加载我对配置文件中的脚本所做的任何更改,这让我很恼火。是否可以在不退出的情况下重新启动powershell会话?
发布于 2012-07-19 00:40:01
您可以只需执行. $profile
来再次获取配置文件。
发布于 2012-07-19 02:50:48
@manojlds的答案是正确的,但它可能会抛出错误。例如,如果你已经在你的配置文件中定义了一个新的PSDrive,那么重新点源它可能会导致错误。
另一种方法是首先启动powershell,然后只需输入PowerShell就可以立即在内部启动另一个版本。我在嵌套的控制台中对我的配置文件进行了更改,退出,然后重新运行PowerShell来测试更新后的配置文件。
另一件事--慢慢地、小心地修改个人资料。在我看来,虽然配置文件确实需要发展,但这种发展通常应该是缓慢的。YMMV!!
发布于 2020-03-09 06:25:28
这将在同一控制台窗口中启动一个新会话,重新加载您的配置文件:
Invoke-Command { & "powershell.exe" } -NoNewScope # PowerShell 5
Invoke-Command { & "pwsh.exe" } -NoNewScope # PowerShell 7
或者一个更长但更健壮的命令,下面的命令应该在不同版本之间正常工作:
Get-Process -Id $PID | Select-Object -ExpandProperty Path | ForEach-Object { Invoke-Command { & "$_" } -NoNewScope }
当然,您将丢失上一次会话中的所有变量等。
https://stackoverflow.com/questions/11546069
复制相似问题