所以我不想在这里创建我的个人资料文件:
C:\Users\fmerrow\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
我的意思是不要误会我的意思,这不是世界末日,我可以忍受它。但是,我喜欢保持root“我的文档”合理精益,每次我开始使用新的应用程序时,我真的不想在那里创建一个目录。
我一直在寻找可能隐藏此设置的地方,但到目前为止还没有运气。它似乎不在注册表或任何$PsHome
文件中。
我是否必须学会忍受这个? 。 。 。或者有没有办法改变将永久“粘附”在这个系统上的$ profile的值?也就是说,要更改$profile
的“默认值”?
我到目前为止所考虑的最好的方法是忽略$profile
,而是将一些代码放在$profile.AllUsersAllHosts
中来源/执行我想要放置的文件而不是默认值$ profile location。
欢迎评论和/或其他建议。
谢
答案 0 :(得分:16)
我唯一能想到的是在PowerShell调用中“点源”你的个人资料。
例如:
powershell -noprofile -noexit -command "invoke-expression '. ''C:\My profile location\profile.ps1''' "
通过更改invoke-expression命令指向的脚本,您可以将“配置文件”放在任何您想要的位置。然后,创建启动PowerShell的快捷方式,并将目标设置为上述命令。
答案 1 :(得分:7)
在powershell中运行此命令尝试联结:
cmd /c mklink /J c:\Users\Name\Documents\WindowsPowerShell\ d:\Powershell\Engine\Profile\
有关联结的详细信息,请参阅here。
答案 2 :(得分:6)
您也可以将个人资料文件放在此处
C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
如果您想为所有配置文件和脚本分隔一个位置,可以将上面的profile.ps1文件修改为
$profile = "NewLocation\profile.ps1"
. $profile
确保您使用的是哪种类型的个人资料,请参阅此处的详细信息
答案 3 :(得分:4)
我认为您在现有资料中获取“新”资料的解决方案可能与您将获得的一样好。
答案 4 :(得分:2)
您可以通过更改个人文件夹路径$Profile.CurrentUser*
Environment.GetFolderPath(Environment.SpecialFolder.Personal)
路径
通过regedit
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folders
在“名称”列下,选择Personal
并将值添加到您想要个人资料的位置。
或通过PowerShell
New-ItemProperty
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders'
Personal -Value 'Your New Path Here' -Type ExpandString -Force
您必须重新启动才能生效。
答案 5 :(得分:1)
根据脚本专家文章Understanding the Six PowerShell Profiles,$profile
从$PsHome\Microsoft.PowerShell_profile.ps1
扩展而来; $pshome
是powershell安装目录和只读变量;根据{{3}}帖子中的帖子,微软告诉我们这不能改变。
答案 6 :(得分:0)
这可能更像是一种解决方法,但我所做的是在PowerShell正在查看的位置创建WindowsPowerShell目录的符号链接副本。这更像是一种绑带技术。
答案 7 :(得分:0)
此解决方案的灵感来自RootLoop的答案:
通过导航到$ PROFILE定义的位置来访问您的个人资料。然后,将其复制到要存储它的位置(C:/NewLocation/profile.ps1)。用文本替换原始配置文件的内容:
$profile = "C:\NewLocation\profile.ps1"
. $profile
请记住,配置文件只是打开PowerShell时运行的脚本。上面的脚本将首先将$ profile设置为新位置,因此对$ profile变量的任何引用仍将像移动它一样工作。下一行代码将使用名为dot sourcing的语法调用新配置文件。实际上,。 $ profile line只是运行新的个人资料代码。
接下来,您可以通过隐藏Powershell文件夹来减少“我的文档”目录中的混乱。只需右键单击文件夹,选择“属性”,然后在常规选项卡下,选择“隐藏”。