W powershell trzeba nadać uprawnienie do katalogu. Niestety niektóre podkatalogi mają wyłączone dziedziczenie. W jaki sposób naprawić dziedziczenie uprawnień z folderów nadrzędnych, jak je zresetować? Oto propozycja:
Function FixInheritance([string] $Directory)
{
$AllFiles = Get-ChildItem -Recurse -Force $Directory
ForEach ($File in $AllFiles)
{
#Pobierz uprawnienia bieżącego pliku/folderu
$acl = get-acl $File.FullName
#Zmien ustawienia dziedziczenia
$acl.SetAccessRuleProtection($false, $false);
#Zapisz uprawnienia dla pliku
set-acl -aclobject $acl $File.FullName
#Kropka jako pasek postępu
Write-Host "." -NoNewline
}
Write-Host
}
Czyli najpierw listujesz rekurencyjnie wszystkie katalogi. Zapamiętujesz je w $AllFiles. Potem dla każdego z tych plików pobierasz jego uprawnienia, zmieniasz w nich sposób dziedziczenia uprawnień i zapisujesz je spowrotem do tego pliku. Żeby coś działo się na ekranie, wyświetlasz kropkę dla każdego pliku.
A oto wywołanie tej funkcji dla wszystkich podkatalogów i plików folderu c:\tmp
Clear
FixInheritance "C:\tmp\test"
Żródła:
http://www.hanselman.com/blog/ProgressBarsInPowerShell.aspx





























