我想从脚本文件中重新加载用户配置文件。我认为从脚本文件中进行点源化可以解决问题,但是不起作用:

# file.ps1
. $PROFILE

但是,如果我从PowerShell的解释器中点源它,它就可以工作。

为什么要这样做?

每当我更新配置文件并要对其进行测试时,我都会运行此脚本,因此,我避免避免重新启动PowerShell来刷新环境。

最佳答案

因此,您标记为答案的方法可能在Powershell命令提示符中有效,但在PowerShell ISE中无效(对我来说,它提供了出色的PowerShell session ),并且可能无法在其他PowerShell环境中正常工作。

这是我已经使用了一段时间的脚本,它在每种环境下都对我非常有效。我只是将此函数放在〜\ Documents \ WindowsPowerShell中的Profile.ps1中,每当我要重新加载我的概要文件时,我都会将该函数点源化,即

. Reload-Profile

功能如下:
function Reload-Profile {
    @(
        $Profile.AllUsersAllHosts,
        $Profile.AllUsersCurrentHost,
        $Profile.CurrentUserAllHosts,
        $Profile.CurrentUserCurrentHost
    ) | % {
        if(Test-Path $_){
            Write-Verbose "Running $_"
            . $_
        }
    }
}

关于powershell - 如何从PowerShell中的脚本文件重新加载用户配置文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/567650/

10-13 07:46
查看更多