Tengo esto, estoy bastante seguro de que es un poco duro pero funciona, me da todos los derechos sobre los archivos y carpetas en una unidad cuando se ejecuta en una unidad, ahora necesito ayuda para que entre en subdirectorios, así que no necesito para copiar el script bat dentro de cada carpeta y ejecutarlo.
takeown /f *
icacls * /grant Administrator:F
icacls * /grant Administrators:F
icacls * /grant SYSTEM:F
icacls * /grant "Authenticated Users":F
¿Cómo puedo lograr que atraviese el disco de forma recursiva?
Respuesta1
Respuesta corta: añadir /t
a (i)cacls
Respuesta larga:
Aquí está mi script que uso cuando quiero que cualquier usuario pueda acceder al archivo. Incluye comentarios sobre lo que hace cada bandera. Simplemente coloque esto en un archivo por lotes en algún lugar de la %AppData%
carpeta.
REM --v2 -----------------------------------------------------------
takeown /r /d y /f %1
icacls %1 /t /grant Everyone:F
REM takeown /r /d y /f will set the owner to the Administrators group recursively.
REM /t makes it recursive
REM /grant Sets the permision to the following user, replaces existing permissions for the specified uesr.
REM :f Grants full controll permission.
REM ----------------------------------------------------------------
REM --v1 -----------------------------------------------------------
REM cacls %1 /t /e /g Everyone:f
REM /t makes it recursive
REM /e Edits the ACL instead of replaceing it
REM /g Grants permissions to the following users
REM :f Grants full controll permission.
REM ----------------------------------------------------------------
Luego, %AppData%\Microsoft\Windows\SendTo
cree un acceso directo al script por lotes.
Edite las propiedades de ese acceso directo y vaya a Advanced...
y marque la casillaRun as Administrator.
Ahora en su right click menu -> Send To
tendrá un elemento llamado Fix Permissions
cualquier archivo o carpeta en el que haga Send To
tendrá Full Access
permisos otorgados al grupo Todos. Si lo realiza en una carpeta, la revisará de forma recursiva y aplicará los permisos a todos los elementos secundarios de la carpeta.
Guardo el archivo por lotes en la %AppData%
carpeta porque estoy en un dominio y eso lo convierte en parte de mi perfil móvil, por lo que estará encendido y listo para usar en cualquier computadora a la que me conecte.
Respuesta2
¿Funcionará esto para recursos compartidos de red?
Takeown /f *
icacls * /grant Administrator:F
icacls * /grant Administrators:F
icacls * /grant SYSTEM:F
icacls * /grant "Authenticated Users":F
icacls * /grant "doamin\users":R