PowerShell - [решено] Отказано в доступе при переборе файлов в каталоге Windows

Ответить
Аватара пользователя
kelevara

PowerShell - [решено] Отказано в доступе при переборе файлов в каталоге Windows

Сообщение kelevara »

Добрый день!

Мне необходимо определить размер всех файлов gif и jpg, которые находятся в папке windows и в ее подкаталогах. Для этого использую следующий командлет:





Код:

Код: Выделить всё

$ln = 0; ForEach ($f in Dir c:\windows\* -include *.gif, *.jpg -recurse -force) {$ln +=$f.length}; $ln > kur7.txt

Но при его работе возникают многочисленные сообщения об ошибках следующего содержания:



Get-ChildItem : Отказано в доступе по пути "C:\windows\System32\wfp".

строка:1 знак:28

+ $ln = 0; ForEach ($f in Dir
Аватара пользователя
Foreigner

Re: PowerShell - [решено] Отказано в доступе при переборе файлов в каталоге Windows

Сообщение Foreigner »

Если правильно считает, добавь в ErrorAction - параметр значение SilentlyContinue



Код:

Код: Выделить всё

gci C:\Windows -inc *.bmp, *.gif -r -forc -ea 0 | % { $s += $_.length }; $s; $s = $null
Аватара пользователя
Georgio

Re: PowerShell - [решено] Отказано в доступе при переборе файлов в каталоге Windows

Сообщение Georgio »

Цитата kelevara:



К слову, считает то вроде верно
PowerShell - [решено] Отказано в доступе при переборе файлов в каталоге Windows




Считает правильно, если в папках с ограниченным доступом ("wfp" и др.) нет GIF и JPG. В папке "wfp" (Windows File Protection) их точно нет. Рарешения можно, конечно, изменить через вкладку "Безопасность" в "Свойствах", а для большинства папок и файлов и через команды CACLS, ICACLS командной строки, но смысла в этом я не вижу, т. к.: 1) изменять атрибуты безопасности желательно только в экстренных случаях, 2) в этих папках могут быть подпапки и файлы с такими же атрибутами, которые также придётся менять.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»