2013-03-13 3 views
1

Donc, fondamentalement, nous avons un grand lecteur partagé qui contient beaucoup de dossiers de haut niveau contenant chacun de nombreux sous-dossiers et fichiers.Définir récursivement les autorisations NTFS

E:\Share\%Username% 
E:\Share\%Username%\Folder1 
E:\Share\%Username%\Folder2 
E:\Share\%Username%\Folder2\Folder3 

Dans chacun de ces dossiers sont des fichiers - maintenant essentiellement au fil du temps les autorisations ont détraqué et ce que je veux faire est de prendre essentiellement la propriété de absolument tout dans le haut niveau:

E:\Share\%username%\ 

Mais aussi il réglé pour que rien dans ce dossier hérite des autorisations à partir de son dossier parent si quoi que ce soit dans:

E:\Share\%Username%\[Whatever is at this level and below] (whether files or folders) 

hériter de:

E:\Share\%username%\ 

Est-ce que cela peut être fait par un script batch?

Répondre

4

Prendre possession du dossier E: \ Share \% username% \ et son contenu récursive:

takeown /f "E:\Share\%Username%\" /r 
2

Il n'y a vraiment aucune raison de réinventer la roue ici, vous pouvez utiliser icacls dans Windows 7 de l'invite cmd ou de PS, son un seul paquebot, peut prendre possession et a récursif intégré.

Qu'est-ce que vous avez vraiment ce qu'il faut faire, est: Prendre possession (en option la plupart du temps) Set héritage appliquent récursive.

http://ss64.com/nt/icacls.html

Si vous utilisez XP/2003 XCACLS puis est disponible à la place.

Questions connexes