Windows 7:PowerShellからフォルダをリダイレクトしますか?


0

Windows 7でPowerShellを使用してフォルダをリダイレクトする方法はありますか?ボーナスは、他のアカウントへの管理者としてそうすることができることのために指摘します。

非常に明確にするために、私がやりたいことは この 。私はPSの作業ディレクトリを変更したり、どこかにフォルダを移動したり、ショートカット/ junction / symlink / hardlinkを作成したくはありません(つまり、SU / SEで解決策を見つけることができるすべて)誤解を未然に防ぐために。これはかなりあいまいな機能です。 :)

ありがとうございました!

回答:


0

この設定は、 シェルフォルダー/ユーザーシェルフォルダー キー:

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を使います。   ガベージコレクタを強制的に実行し、それらを削除するために使用されます。   未使用の参照

参考文献:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.