回答:
この設定は、 シェルフォルダー/ユーザーシェルフォルダー キー:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
このサブキーのエントリは、両方のShell Foldersサブキーに表示できます。 ユーザーシェルフォルダとHKEY_LOCAL_MACHINEおよび HKEY_CURRENT_USERユーザーのユーザーシェルフォルダに表示されるエントリ シェルフォルダ内のものより優先されます。表示されるエントリ HKEY_CURRENT_USERの値はHKEY_LOCAL_MACHINEの値よりも優先されます。
これらのキーを他のアカウント用に変更するには、 ターゲットユーザーのレジストリハイブを読み込む :
PowerShellはデフォルトでドライブを介してHKLMおよびHKCUハイブを公開します。 これはRegistry PSProviderのために動作します。
get-psdrive
get-psprovider
それは、私たちがこれらの巣箱をマッピングすることを可能にするのはプロバイダーだということを私たちが見ているので さらに一歩進めて、ファイルからハイブをマッピングすることができます(ユーザーの更新 リモートシステムにハイブ)これに関する問題は、レジストリです。 PSProviderはファイルにまで及んでいません。しかし、これは私たちを止めません。
reg load 'HKLM\TempUser' $ntuserlocation
cd hklm:\TempUser
gci
New-PSDrive -Name HKMyUser -PSProvider Registry -Root HKLM\TempUser
cd HKMyUser:\
gci
cd c:
Remove-PSDrive HKMyUser
reg unload hklm\TempUser
このハイブファイルをアンロードするか、 いくつかのケースではアンロードは問題なく動作しますが、まだハイブへのハンドルがあります。 ファイル(これを見るにはsysinternals Handle.exeを使うことができます)
ドライブを取り外してReg.exeにアンロードするように依頼したのはなぜですか ハイブ?問題は、システムがメモリを解放していないことです。 まだそのファイルへのポインタを持っているので、 他のことをするのをやめたり止めたりする。
だから、あなたが求めるトリックは何ですか?
使用されなくなった参照を整理するようにシステムに依頼してください。
[gc]::collect()
これは.NETのGCクラスからの静的メソッドCollectを使います。 ガベージコレクタを強制的に実行し、それらを削除するために使用されます。 未使用の参照