2011-02-23 93 views
13

所以,我寧可不要在這裏創建我的配置文件:

​​

我的意思是不要誤會我的意思,這不是世界末日,我可以住在一起。但是,我喜歡保持根目錄「我的文檔」的合理性,並且我真的寧願不在每次開始使用新應用程序時都創建一個目錄。

我已經找到了這個設置可能隱藏的位置,但目前爲止沒有運氣。它似乎不在註冊表中或任何$PsHome文件中。

我只是要學會忍受這個嗎? 。 。 。或者有沒有辦法改變$ profile的值,這個值會一直「粘」在這個系統上?也就是說,要更改$profile的「默認值」?

迄今爲止我所認爲的最好的辦法是忽略$profile,而是在$profile.AllUsersAllHosts中放置一些代碼,以從我想要放置的位置獲取/執行我的文件,而不是從默認的$配置文件位置。

評論和/或其他建議歡迎。

弗蘭克

+1

這也是Serverfault上的問題太http://serverfault.com/questions/195397/change-the-powershell-profile-directory – 2011-02-23 19:46:39

+0

感謝您的指針。 。 。儘管在看,我沒有看到比以下提供更好的解決方案。雖然海報的原因比我的更引人注目。 。 。在這種情況下,這不僅僅是一種偏好。 – Frank 2011-02-24 19:59:27

+0

所以你找到了一個解決方案,真棒。什麼是$ profile.AllUsersAllHosts然後,你如何修改它? – flq 2015-08-19 08:16:38

回答

4

我認爲您的解決方案,以源現有的個人資料中的「新」的個人資料可能是一樣好,你會得到什麼。

+0

$ profile.AllUsersAllHosts它是那麼。我會盡量確保在不使用其他用戶的情況下執行此操作,以防其他用戶在我的系統上運行PowerShell。 – Frank 2011-02-24 20:01:09

+3

我只是不能相信MS硬編碼這個位置!我們應該如何讓開發的東西與其他東西分開? – 2012-11-04 00:09:00

+0

Root Loop的答案能夠解決我的問題 – Oberheim 2016-06-02 15:14:32

16

我能想到的唯一的事情就是在您的PowerShell調用中「點源」您的配置文件。

例如:

powershell -noprofile -noexit -command "invoke-expression '. ''C:\My profile location\profile.ps1''' " 

通過改變該調用表達命令指向您可以將您的「個人資料」的腳本中任何你想。然後,創建啓動PowerShell的快捷方式,並將目標設置爲上述命令。

+0

也是一種解決方案,但是每次我調用powershell時都想輸入所有這些。這不是一個好的長期和/或永久的解決方案。 – Frank 2011-02-24 19:57:16

+3

@Frank,這就是爲什麼我建議創建一個可以放在桌面或開始菜單上的快捷方式。 – zdan 2011-02-24 21:14:30

+2

作爲參考,雙ticky('')是tickies內單個ticky的轉義序列。花了我一秒鐘來弄清楚發生了什麼事。 – 2013-08-04 16:35:00

7

嘗試通過路口在PowerShell中運行以下命令:

cmd /c mklink /J c:\Users\Name\Documents\WindowsPowerShell\ d:\Powershell\Engine\Profile\ 

有關路口更多信息,請here

+0

這對我有效!我甚至不必使用連接點。一個簡單的符號目錄工作:'mklink/D' – 2013-08-04 21:53:02

3

你也可以把您的個人資料文件在這裏

C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1 

如果您想爲您的所有配置文件和腳本分離的位置,可以修改上面的profile.ps1文件

$profile = "NewLocation\profile.ps1" 
. $profile 

確保使用的是什麼類型的配置文件,詳情請看

https://technet.microsoft.com/en-ca/library/dd819434.aspx

1

根據腳本專家文章Understanding the Six PowerShell Profiles$profile$PsHome\Microsoft.PowerShell_profile.ps1擴展; $pshome是powershell安裝目錄和一個只讀變量;根據this帖子上的帖子,微軟告訴我們這是無法改變的。

+0

爲什麼downvote? – Yevgeniy 2016-10-28 02:23:08

+0

我提高了,因爲我相信這是相關的,但只有'AllUsers'配置文件是從'pshome'派生的。一個OP感興趣的是從'$ Home \ [My] Documents \'派生,如下所述:https://blogs.technet.microsoft.com/heyscriptingguy/2012/05/21/understanding-the-six- PowerShell的配置文件/ – VillasV 2017-02-18 15:50:30

0

這可能是更多的解決方法,但我所做的是在PowerShell查看的位置創建WindowsPowerShell目錄的符號鏈接副本。儘管如此,這更多是一種繃帶技術。

0

您可以通過更改您的個人文件夾路徑更改$Profile.CurrentUser*路徑Environment.GetFolderPath(Environment.SpecialFolder.Personal)

或者通過regedit

HKEY_CURRENT_USER \軟件\微軟\的Windows \ CurrentVersion \ Explorer中\用戶文件夾殼

在名稱列選擇Personal並將值更改爲您想要的配置文件的位置。

或通過PowerShell

New-ItemProperty 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders' Personal -Value 'Your New Path Here' -Type ExpandString -Force

您必須重新啓動,這纔會生效。