Contenidos
Añadir permiso NTFS a una carpeta
https://www.jesusninoc.com/08/19/anadir-permiso-ntfs-a-una-carpeta
| Atributos | Valor | Descripción |
|---|---|---|
| ContainerInherit | 1 | Los objetos contenedores secundarios se heredan de la ACE. |
| None | 0 | Los objetos secundarios no se heredan de la ACE. |
| ObjectInherit | 2 | Los objetos hoja secundarios se heredan de la ACE. |
In short, access control entries (ACEs) flagged only with «Object Inheritance» apply that ACE to files in a folder, but not subfolders within that folder. ACEs flagged only with «Container Inheritance» apply that ACE to subfolders of the folder but not files.
Ejercicios
Asignar un permiso a una carpeta
# "'pepito', 'FullControl', 'ContainerInherit, ObjectInherit', 'None', 'Allow'" | Out-File permisos.txt
$permisos = Get-Acl -Path directorio
gc .\permisos.txt | %{
$_
$regla = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList ($_.replace(", '","@").split("@").replace("'",""))
$permisos.SetAccessRule($regla)
$permisos | Set-Acl -Path directorio
}
Asignar varios permisos a distintas carpetas
# "'carpeta1ggasdfasdf', 'pepito', 'FullControl', 'ContainerInherit, ObjectInherit', 'None', 'Allow'" > permisosconcarpetas.txt
# "carpeta2adsfasdfsd', 'gi1', 'FullControl', 'ContainerInherit, ObjectInherit', 'None', 'Allow'" >> permisosconcarpetas.txt
gc ..\permisosconcarpetas.txt | %{
$permisos = Get-Acl -Path directorio
$_
$var=$_.replace(", '","@").split("@").replace("'","")
mkdir $var[0] -force
$regla = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList ($var[1..$var.Length])
$permisos.SetAccessRule($regla)
$regla = $null
$permisos | Set-Acl -Path $var[0]
}

