6年前の無限ジャンクションが再発してしまった。
問題を起こしたのは C:\Users\XXX\AppData\Local へのジャンクションである C:\Users\XXX\AppData\Local\Application Data。
6年前と同じようにicaclsで/saveして/restoreしようとしたのだがうまく行かなかった。
「[Windows 7]無限ジャンクション解消」の手順そのままだとやはり
2024/02/23 15:00 <JUNCTION> Application Data [..]
となってしまった。
んで、いろいろ試したところ、icaclsでdenyするときに「(S)」があるのがよろしくないことがわかった。
結局、手順は以下の通り。
cd %HOMEPATH% mklink /J "AppData\Local\Application Data" "AppData\Local" icacls "AppData\Local\Application Data" /L /deny Everyone:(RD) attrib +S +H +I "AppData\Local\Application Data" /L
icaclsだけを全部書くとこんな感じになる。
icacls "Application Data" /L /deny Everyone:(RD) icacls "Cookies" /L /deny Everyone:(RD) icacls "Local Settings" /L /deny Everyone:(RD) icacls "My Documents" /L /deny Everyone:(RD) icacls "NetHood" /L /deny Everyone:(RD) icacls "PrintHood" /L /deny Everyone:(RD) icacls "Recent" /L /deny Everyone:(RD) icacls "SendTo" /L /deny Everyone:(RD) icacls "Templates" /L /deny Everyone:(RD) icacls "スタート メニュー" /L /deny Everyone:(RD) icacls "AppData\Local\Application Data" /L /deny Everyone:(RD) icacls "AppData\Local\History" /L /deny Everyone:(RD) icacls "AppData\Local\Temporary Internet Files" /L /deny Everyone:(RD) icacls "AppData\Roaming\Microsoft\Windows\Start Menu\プログラム" /L /deny Everyone:(RD) icacls "Documents\My Music" /L /deny Everyone:(RD) icacls "Documents\My Pictures" /L /deny Everyone:(RD) icacls "Documents\My Videos" /L /deny Everyone:(RD)