vasya00, Вы уже создали подобную тему ("
CMD_BAT - Не работает cacls..."), но почему-то уклонились от диалога.
Там речь шла о применении команды
CACLS в Windows XP:
Цитата vasya00:
Пытаюсь выполнить:
Код: 
cacls "%USERPROFILE%\ђ*Ў®зЁ© бв®«" /T /E /P %USERNAME%:N
<...>
Но в ответ только:
Цитата:
C:\REG>cacls "C:\Documents and Settings\Kaktus\Рабочий стол" /T /E /P Kaktus:N
обработан каталог: C:\Documents and Settings\Kaktus\Рабочий стол
Отказано в доступе.
|
<...> »
|
Теперь выясняется, что в Windows XP эта команда "отлично работает":
Цитата vasya00:
Код: 
cacls "%USERPROFILE%\desktop" /T /E /P %USERNAME%:N
<...>
это отлично работает но только на XP, но а на windows 7, совершенно не работает.. »
|
Что же произошло, что она теперь заработала? Ещё мне просто интересно, как у Вас теперь загружается
Рабочий стол, если "Отказано в доступе"
(самому эксперементировать не хочется).
Ну, ладно, теперь о Windows 7.
Команда
CACLS с параметрами
/T /E /P %USERNAME%:N тоже работает, но не так, как в Windows XP. При открытии "обработанной" папки вместо привычных звука и окошка "Отказано в доступе" система предлагает продолжить: "У вас нет разрешений на доступ к этой папке. Чтобы получить постоянный доступ к этой папке, нажмите кнопку "Продолжить"."
Есть ещё в Windows 7 команда
ICACLS с более широкими возможностями по сравнению с
CACLS:
Код:

ICACLS /?
.
Но результат выполнения команды, отзывающей указанные права доступа пользователя, например:
Код:

ICACLS "%USERPROFILE%\Desktop" /deny %USERNAME%:F
, будет тот же: "Продолжить".
Чтобы предоставить указанные права доступа пользователю, нужно воспользлваться командой:
Код:

ICACLS "%USERPROFILE%\Desktop" /grant:r %USERNAME%:F
.
В Windows 7 есть папки, при попытке отрытия которых происходит тот же "эффект", что и в Windows XP ("Бамс!" и "Отказано в доступе"). Самая, пожалуй, известная из них -- это папка
System Volume Information. Так вот, чтобы не разбираться, у каких пользователей какие разрешения отзывать, а каким какие предоставлять, можно воспользоваться готовым набором параметров безопасности папки
System Volume Information (сделать это при помощи созданного утилитой icacls.exe для этой папки и "подредактированного" для другой папки файла ACL также не удаётся).
Предлагаю вот какое решение:
1) сделать бэкап папки, к которой будут применены новые свойства (только папка со всеми её атрибутами без содержимого):
Код:

ROBOCOPY "%USERPROFILE%\Desktop" "E:\Desktop" /COPYALL /DCOPY:T /XF *.* /XD *.*
;
2) для отзыва разрешений на доступ скопировать атрибуты папки
System Volume Information на нужную папку (только свойства (!) -- больше ничего не копируется):
Код:

ROBOCOPY "С:\System Volume Information" "%USERPROFILE%\Desktop" /MIR /COPY:S /XF *.* /XD *.*
;
3) для возвращения свойств (и, соответсвенно, получения доступа) скопировать атрибуты бэкапа:
Код:

ROBOCOPY "E:\Desktop" "%USERPROFILE%\Desktop" /COPYALL /DCOPY:T /XF *.* /XD *.*
.
BAT-файлы или командную строку с данными командами запускать от имени администратора.
P.S. Проверял, но не на папке
Рабочий стол.