Powershell$PROFILE变量指向错误的位置.它设置的$PROFILE变量在哪里



对我的机器进行一些更改后,Powershell失败,因为$PROFILE变量指向的位置与以前不同,即它被设置为

C:PowershellMicrosoft.PowerShell_profile.ps1

而不是

C:UsersuserDocumentsPowershellMicrosoft.PowerShell_profile.ps1

这会导致诸如找不到已安装的模块等问题。所以我的问题是Powershell如何设置$PROFILE的值?可以更改吗?

已解决。事实证明,在问题发生之前,$PROFILE已经指向OneDrive中的Documents文件夹,即

C:UsersuserOneDriveDocumentsPowerShellMicrosoft.PowerShell_profile.ps1

当我启用文档备份到OneDrive并重新登录$PROFILE时,它已返回到正确的位置。如果Powershell在Documents或$HOME下找不到配置文件位置,则默认为路径C:\Powershell。然而,我不确定——如果能对这种行为有明确的说明,那就太好了。

我在寻找答案时遇到了这个问题。

要更改Powershell查找默认配置文件的位置,您需要更改注册表项。

请注意,配置文件将在新目录WindowsPowerShell/Microsoft.PowerShell_profile.ps1下找到。

所需路径:C:/Users/adminPowershell配置文件:C:/Users/admin/WindowsPowerShell/Microsoft.PowerShell_profile.ps1


手动方式:

打开注册表编辑器并导航到:

ComputerHKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders

Personal的值更改为您选择的目录。


powershell的自动化方式:

Set-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "Personal" -Value "DRIVEHERE"

然后你可以测试设置的值:

Get-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "Personal"

最新更新