2013-02-08 2 views
0

У меня есть несколько папок в каталогах пользователей, которые закончили с неправильными списками ACL. Я хотел бы найти способ использовать PowerShell (или обычную командную строку, если это проще), чтобы удалить существующий ACL и заменить его тем, что он должен наследовать из своей родительской папки. Фокус в том, что доступ к нему имеет только пользователь, которому принадлежит папка (get-acl '. \ Folder' возвращает "Попытка выполнить несанкционированную операцию."). Все эти папки находятся в системе Windows Server 2003 Std.Заменить ACL с унаследованными значениями по умолчанию с помощью PowerShell

+1

http://mattgemmell.com/2008/12/08/what-have-you-tried/ –

+0

@CB: Я пытался некоторые скрипты из других тесно связанных запросов, которые я нашел, но все они не сработали с некоторым изменением сообщения выше. Я предположил, что PowerShell - это новая вещь, было бы легче выполнить мою задачу, используя ее, но, как вы видите в моем ответе ниже, было намного проще с более старой командной строкой. – Caynadian

ответ

0

Попробуйте это:

#You have a textfile with FOLDER-paths 
#$a = Get-Content d:\list.txt 
#You have an array of FOLDER-paths 
$a = @("d:\mytestfolder", "d:\my2ndtestfolder") 

$a | % { 
    #Take ownership to admin-group 
    & TAKEOWN /F $_ /A /R /D Y 
    #Reset acl to default recursively 
    & ICACLS $_ /RESET /T /C 
} 
+0

Спасибо! Это в основном то, что я закончил, хотя я не беспокоился о PowerShell. Я не знал, что вы можете «называть» регулярные команды. – Caynadian

+0

, если вы используете оператор вызова ('&'), он превращает остальную часть строки в команду;) –

0

Оказывается, что это было гораздо легче выполнить с регулярным Запускается из командной строки инструментов. Прилагаемый скрипт сделал то, что мне нужно было всего пара строк:

@Echo Off 
@Echo Taking ownership of files in %1 
takeown /f %1 /r /d Y /a > :nul 
@Echo Restoring default ACLs in %1 
icacls %1 /reset /t /c > :nul 
@Echo Restoring ownership of files to %2 
subinacl /file %1 /setowner=%2 > :nul 
subinacl /subdirectories %1\*.* /setowner=%2 > :nul 

 Смежные вопросы

  • Нет связанных вопросов^_^