2011-02-23 7 views
13

は、だから私はむしろ、ここに私のプロファイルファイルを作成しません:私は誤解しないでください意味

​​

を、これは世界の終わりではないと私はそれと一緒に暮らすことができます。しかし、私はルート "My Documents"を合理的にリーンに保ちたいと思っています。新しいアプリケーションを使用するたびにディレクトリを作成することは本当にありません。

私は、この設定がどこに隠れているかもしれないかを見落としましたが、これまでのところ運がありません。レジストリまたは$PsHomeファイルには含まれていないようです。

私はちょうどこれで生きることを学ばなければなりませんか? 。 。 。または、このシステムにいつも「ついていく」$ profileの値を変更する方法がありますか?つまり、 "デフォルト値"を$profileに変更しますか?

$profileを無視して、代わりにデフォルトの$ profileの場所から入れたい場所から自分のファイルをソース/実行するために$profile.AllUsersAllHostsにコードを入れてください。

コメントおよび/または他の提案が歓迎されました。

フランク

+1

これはServerfaultでも尋ねられましたhttp://serverfault.com/questions/195397/change-the-powershell-profile-directory –

+0

ポインタありがとうございます。 。 。見ても、私は以下に提供されるよりも優れた解決策を見ません。そのポスターの理由は私よりもはるかに魅力的ですが。 。 。この場合、単なる好みではありません。 – Frank

+0

あなたは素晴らしいソリューションを見つけました。 $ profile.AllUsersAllHostsとは何ですか?それをどのように変更しますか? – flq

答えて

4

私は、あなたが取得するつもりだとして、既存のプロファイルであなたの「新しい」プロファイルを調達するために、あなたのソリューションは、おそらく良いことだと思います。

+0

$ profile.AllUsersAllHostsそれはそうです。他のユーザーが私のシステムでPowerShellを実行した場合に備えて、他のユーザーを悩ますことがないように、私は離れてそれを実行しようとします。 – Frank

+3

私はMSがこの場所をハードコーディングしたとは思えません!私たちの開発物を他のものとは別にしておくためにはどうしたらいいですか? –

+0

以下のルートループの回答は私の問題を解決することができました – Oberheim

16

私が考えることができるのは、powershell呼び出しでプロファイルを「ドットソーシング」することだけです。例えば

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

あなたの「プロフィール」を配置することができますにコマンドポイント式の起動スクリプトを変更することにより、どこでも、あなたがしたいと思います。次に、PowerShellを起動するショートカットを作成し、ターゲットを上記のコマンドに設定します。

+0

解決策ですが、powershellを呼び出すたびにそのすべてを入力する必要があります。長期的かつ/または永続的な解決策ではありません。 – Frank

+3

@Frankだからこそ、私はあなたがデスクトップまたはスタートメニューに置くことができるショートカットを作成することを提案した。 – zdan

+2

参考として、二重ティック( '')は、チック内の単一のティッキーのエスケープシーケンスです。何が起こっていたのか把握するのにもう一度私を取った。 –

7

PowerShellでこのコマンドを実行することにより、接合を試してみてください。

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

ジャンクションの詳細については、hereを参照してください。

+0

これは私のために機能しました!私はジャンクションを使用する必要はありませんでした。シンプルなシンボリックディレクトリが働いた: 'mklink/D' –

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

Scripting Guyの記事Understanding the Six PowerShell Profilesによると、$profile$PsHome\Microsoft.PowerShell_profile.ps1から展開されています。 $pshomeは、PowerShellインストールディレクトリと読み取り専用変数です。 thisスレッドの投稿によると、Microsoftはこれは変更できないと伝えています。

+0

なぜdownvote? – Yevgeniy

+0

私はこれが関連していると信じていますが、 'AllUsers'プロファイルだけが' pshome'から派生しています。興味のあるOPは、ここで述べた '$ Home \ [My] Documents \'から派生しています:https://blogs.technet.microsoft.com/heyscriptingguy/2012/05/21/understanding-the-six- powershell-profiles / – VillasV

0

これはもっと回避策かもしれませんが、PowerShellが見ていた場所にWindowsPowerShellディレクトリのシンボリックリンクコピーを作成しました。これはバンドの技法の多くです。

0

あなたはあなたの個人的なフォルダパス変更することによって、あなたの$Profile.CurrentUser*パスを変更することができますEnvironment.GetFolderPath(Environment.SpecialFolder.Personal)

どちらの名前の下でregedit

ます。HKEY_CURRENT_USER \ Software \ Microsoft \ 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

を経由してあなたはこのを有効にするために再起動する必要があります。

関連する問題