1

MSがDocumentsフォルダーをWindowsPowerShellの既定の場所としてハードコーディングした、技術的またはその他の理由はありますか?MSは、過去に設定より規約が多すぎると批判されてきました(WCF?)が、PowerShellでより多くの設定を行う場合があります。私と私は、ほとんどの開発者が、個人ファイルやシステムファイルから離れた別のフォルダーまたはボリュームに開発作業を一元化することを望んでいると思います。

たとえば、PoshGitをインストールすると、C:\ Users \ Your Name \ WindowsPowerShell\Modulesにインストールされます。私はそれ自体をそこにインストールしたくありませんが、私自身の開発パーティションd:\ Dev\PowerShellScriptsにインストールします。この場所を制御する環境変数はありません。

これには理由がありますか、それとも私にはわかりませんか?

4

1 に答える 1

1

もう少し説明していただけますか。

私の理解によると、PowerShell.exeインタープリターのベースディレクトリは、、で定義されたもの$env:HOMEDRIVE$env:HOMEPATHあり、ユーザープロファイルを使用して変更できます。

以下のスクリーンショットに示されているように:

PowerShellベースディレクトリ ActiveDirectoryプロファイル設定


編集済み:

わかりました。スクリーンショットはActiveDirectoryMMCのユーザープロパティからのものです。Windowsの7つのユーザープロパティに最も単純なものがあります。しかし、これはあなたの問題とは何の関係もありません。

あなたの問題はモジュールのインストールにあります。知っておくべきことは、モジュールはどこにでもインストールできるということです(いくつかのトリックがある共有ディレクトリでも)。デフォルトでは、環境変数はそれらを探す$env:PSModulePathパスを指します。Get-Module -ListAvailableしたがってd:\Dev\PowerShellScripts\Modules、このパスを追加してからC:\Users\Your Name\WindowsPowerShell\Modules、PoshGitによって作成されたのサブフォルダーをModulesディレクトリ内にコピーすると、機能するはずです。Snapinsとは反対のモジュールを登録する必要はありません。

PoshGitがモジュールをユーザープロファイルに配置することを選択する理由は、場所を選択できるようにするよりも、PoshGitインストーラーの問題です。

詳細については、モジュールabout_environment_variablesを参照してください。

于 2012-11-06T08:41:09.607 に答える