私はスクリプトを使用して、特定のディレクトリ内のいくつかのファイルを再帰的に削除します。問題はそのディレクトリの指定にあります。Get-Childitemディレクトリのワイルドカード「アクセスが拒否されました」
私は(つまりのみUSER1ディレクトリをクリアするために)明示的に指定しようとすると、それが正常に動作します:
$temp = "C:\Users\user1\AppData\Local\Temp\"
Get-ChildItem $temp -Recurse -Force -Verbose -ErrorAction SilentlyContinue | remove-item -force -Verbose -recurse -ErrorVariable FailedItems -ErrorAction SilentlyContinue
私はワイルドカードでそれを指定するしかしとき(すなわち、このPC上すべてのユーザーに影響を与えるために)
$temp = "C:\Users\*\AppData\Local\Temp\*"
Get-ChildItem $temp -Recurse -Force -Verbose -ErrorAction SilentlyContinue | remove-item -force -Verbose -recurse -ErrorVariable FailedItems -ErrorAction SilentlyContinue
それはエラー
Get-ChildItem : Access is denied
At line:7 char:1
+ Get-ChildItem $localTempDir -Recurse -Force -Verbose -ErrorAction Sil ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-ChildItem], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetChildItemCommand
で失敗
どうしたの? 許可の問題ではありません。と同じ dirです。 はい、私は昇格した特権でスクリプトを実行します。
このような形式で指定された他のディレクトリ。
C:\Users\*\AppData\Local\Microsoft\Windows\Caches
C:\Windows\Temp\*
は、魅力のようにパージされます。
こんにちはです、これは特別な/隠された/システムプロファイルのフォルダに関連することができませんでしたか?例えば'Default' – sodawillow
おそらく。これを診断するには? – Suncatcher
プロファイルを列挙し、特殊なものを除外し、残りのロジックを適用しますか? – sodawillow