$ profile変数が指す場所を変更する方法を教えてください。
PS H:\> $profile
H:\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
H:\はネットワーク共有なので、プロファイルファイルを作成してPowerShellをロードすると、次のようになります。
セキュリティ警告信頼できるスクリプトのみを実行してください。インターネットからのスクリプトは役立つ場合がありますが、このスクリプトはコンピュータに害を及ぼす可能性があります。 H:\ WindowsPowerShell\Microsoft.PowerShell_profile.ps1を実行しますか? [D]実行しない[R] 1回実行[S]一時停止[?]ヘルプ(デフォルトは "D"):
Microsoftによると、$ profileの場所は %USERPROFILE%環境変数によって決定されます です。本当じゃない:
PS H:\> $env:userprofile
C:\Users\username
たとえば、私はXPマシンが私が望むように動作している:
PS H:\> $profile
C:\Documents and Settings\username\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
PS H:\> $env:userprofile
C:\Documents and Settings\username
PS H:\> $env:homedrive
H:
PS H:\> $env:homepath
\
$ profileが間違った場所を指しているVistaマシンからの同じ出力は次のとおりです。
PS H:\> $profile
H:\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
PS H:\> $env:userprofile
C:\Users\username
PS H:\> $env:homedrive
H:
PS H:\> $env:homepath
\
$ profileは実際には%USERPROFILE%によって決定されないので、どのように変更しますか?明らかに、ホームドライブまたはホームパスの変更を伴うものはすべて、私が探しているソリューションではありません。
Stack Overflow に関するこの投稿もご覧ください。これまでに提供された最良の解決策(ほぼ同じ質問に対して)は、$ profile.AllUsersAllHostsを、独自に選択した別のファイルを「ドットソース」に変更することです。
これまで、$ profile自体のデフォルト値を変更できることを示すものは何もありませんでした。
VMware Fusion仮想マシン内からWindows XPおよびWindows 8を使用して同様の問題を抱えていました:
PS C:> $profile
\\vmware-Host\Shared Folders\<user>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
「デスクトップ」のミラーリングを停止すると(共有フォルダーを保持しました)、問題は解決しました。
PS C:> $profile
C:\Documents and Settings\Administrator\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
私はWindows 10を使用していて、同じ問題を抱えていました。 Document Properties
のLocation
を変更することで修正できました。
私の$profile
は、UNCパスで参照されていました(例:\\server\path\to\my\document\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
)。 Powershellがこれを実行しようとしたときに、セキュリティ警告が表示されました。
これを修正するには: