对我的机器进行一些更改后,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/admin
Powershell配置文件: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"