所以我不想在这里创建我的个人资料文件:
C:\Users\fmerrow\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Run Code Online (Sandbox Code Playgroud)
我的意思是不要误会我的意思,这不是世界末日,我可以忍受它.但是,我喜欢保持root"我的文档"合理精益,每次我开始使用新的应用程序时,我真的不想在那里创建一个目录.
我一直在寻找隐藏这个设置的地方,但到目前为止还没有运气.它似乎不在注册表或任何$PsHome文件中.
我是否必须学会忍受这个?...或者有没有办法改变将永久"粘附"在这个系统上的$ profile的值?也就是说,改变"默认值" $profile?
我到目前为止所考虑的最好的方法是忽略$profile并改为将一些代码放入$profile.AllUsersAllHosts源/执行我的文件中,而不是从默认的$ profile位置.
欢迎提出意见和/或其他建议.
坦率
zda*_*dan 17
我唯一能想到的是在PowerShell调用中"点源"你的个人资料.
例如:
powershell -noprofile -noexit -command "invoke-expression '. ''C:\My profile location\profile.ps1''' "
Run Code Online (Sandbox Code Playgroud)
通过更改invoke-expression命令指向的脚本,您可以将"配置文件"放在任何您想要的位置.然后,创建启动PowerShell的快捷方式,并将目标设置为上述命令.
您也可以在此处输入个人资料文件
C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
Run Code Online (Sandbox Code Playgroud)
如果您想为所有配置文件和脚本分隔一个位置,可以将上面的profile.ps1文件修改为
$profile = "NewLocation\profile.ps1"
. $profile
Run Code Online (Sandbox Code Playgroud)
确保您使用的配置文件类型,请在此处查看详细信息
https://technet.microsoft.com/en-ca/library/dd819434.aspx
这个解决方案的灵感来自RootLoop的答案:
通过导航到 $PROFILE 定义的位置来访问您的个人资料。(对我来说,该位置恰好是C:\Users\<username>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1。然后,继续将自定义配置文件的内容移动到您想要的任何位置,(C:/NewLocation/profile.ps1,让我们假设)。将原始配置文件的内容(文件C:\Users\<username>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1)替换为文本:
$profile = "C:\NewLocation\profile.ps1"
. $profile
Run Code Online (Sandbox Code Playgroud)
请记住,配置文件只是一个在您打开 powershell 后立即运行的脚本。上面的脚本将首先将 $profile 设置到新位置,因此对 $profile 变量的任何引用仍然有效,就像您移动它一样。下一行代码将使用称为点源的语法调用新的配置文件。实际上,. $profile 行只是运行您的新配置文件代码。
在这在您的系统上起作用之前,您可能必须放松执行策略。有关详细信息,请参阅https://superuser.com/questions/106360/how-to-enable-execution-of-powershell-scripts 。
接下来,您可以通过隐藏 Powershell 文件夹来减少“我的文档”目录中的混乱。只需右键单击该文件夹,选择“属性”,然后在常规选项卡下选择“隐藏”。瞧!- 您已经有效地创造了您移动个人资料位置的错觉,而无需对系统设置进行太多修改!
小智 7
通过在powershell中运行此命令来尝试联结:
cmd /c mklink /J c:\Users\Name\Documents\WindowsPowerShell\ d:\Powershell\Engine\Profile\
Run Code Online (Sandbox Code Playgroud)
有关交汇点的更多信息,请参见此处.
我认为您在现有配置文件中获取“新”配置文件的解决方案可能与您将获得的一样好。
您可以$Profile.CurrentUser*通过更改个人文件夹路径来更改路径Environment.GetFolderPath(Environment.SpecialFolder.Personal)
通过 regedit
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell文件夹
在“名称”列下,选择Personal值并将其更改为所需的配置文件。
或通过 PowerShell
New-ItemProperty
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders'
Personal -Value 'Your New Path Here' -Type ExpandString -Force
您必须重新启动才能生效。
| 归档时间: |
|
| 查看次数: |
19828 次 |
| 最近记录: |