¡Hola, Invitado! (Iniciar sesiónRegístrate)
Hora: 21 Nov 2024, 17:58

Script para aplicar permisos recomendables a unidades NTFS

28 Aug 2014, 09:54 (Este mensaje fue modificado por última vez en: 28 Aug 2014 10:30 por 7l6j1A)
Mensaje: #1

Script para aplicar permisos recomendables a unidades NTFS

Como dice el titulo, este script tiene como propósito restablecer los permisos default que genera Windows 7 cuando recién formatean una unidad NTFS, solo que sin borrar información... siempre y cuando la unidad no este muy dañada...
El script debería funcionar de Vista en adelante, tal vez en un futuro lo agregue compatibilidad con el "cacls" de XP, pero no generaría "exactamente" los mismos permisos que generaría con "icacls" en Vista o superior. El script solo restablece permisos default de unidades NTFS, si existen permisos "custom" muy explícitos, muy posiblemente no serán borrados.

Edit: Olvide aclarar una cosa importante, este script esta pensado para ser usado en discos NTFS portátiles, que van a estarce moviendo de una maquina a otra y en los que se quiere que los usuarios normales, puedan modificar archivos, no permisos. Solo las cuantas con derechos administrativos podrán modificar permisos una vez sea aplicado el script. Los usuarios limitados solo podrán leer, copiar, escribir, sobrescribir, ejecutar y borrar información.

Dejo código y los hash que debería generar el código en formato ANSI.
code & hash:
Mostrar
Código:
@echo off
title Configurador de NTFS... for Dummies v0.6
cls
%~d0
cd\
for /f "tokens=*" %%a in ('ver') do set c1=%%a
set c1=%c1:~-9,1%
if %c1% LEQ 5 (
echo El script requiere "icacls"
pause
exit)
set f0=
for /f "tokens=3" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language /v InstallLanguage') do set XU=%%a
if /i "%XU%"=="0C0A" (set f0=:
set adm=Administradores
set use=Usuarios)
if /i "%XU%"=="0409" (set f0=-
set adm=Administrators
set use=Users)
if not defined f0 (echo Error, idioma no contemplado...
pause
exit)
set c1=0
:ko
for /f "usebackq tokens=2 delims=%f0%" %%a in (`"find "" "testing" 2>&1"`) do set XU=%%a
if "%XU:~1,4%"=="TEST" goto ok
if %use:~4%==s (set f0=:) else set f0=-
if %c1%==0 (set c1=1
goto ko)
echo Error en el comportamiento de FIND
pause
exit
:ok
reg query HKU\S-1-5-19>nul 2>&1
if %errorlevel% NEQ 0 (
cls
echo Este script necesita correr como administrador
pause
exit)
goto lop
:bad
echo Unidad no valida, el script NO DEBE modificar unidades de "sistema"
pause
:lop
cls
set XU=0
set /p XU= ^ Unidad a cambiar permisos:
echo.
for /f "usebackq tokens=2 delims=%f0%" %%a in (`"find "" "%XU%" 2>&1"`) do set XU=%%a
set XU=%XU:~1,1%:
icacls %XU%>nul
if %errorlevel% NEQ 0 (echo Unidad no valida
pause
goto lop)
if exist "%XU%\Windows\System32\config\SAM" goto bad
if exist "%XU%\Users\Default\NTUSER.DAT" goto bad
if exist "%XU%\Program Files\Common Files" goto bad
if exist "%XU%\Program Files (x86)\Common Files" goto bad
if exist "%XU%\ProgramData\Microsoft" goto bad
cls
icacls %XU% /setowner %adm%
icacls %XU% /inheritance:r
icacls %XU% /remove:g "CREATOR OWNER"
icacls %XU% /remove:g Todos
icacls %XU% /remove:g Everyone
icacls %XU% /remove:g %use%
icacls %XU% /grant:r %use%:(RX)
icacls %XU% /grant:r %use%:(OI)(CI)(IO)(GR,GE)
icacls %XU% /remove:g "Usuarios autentificados"
icacls %XU% /grant:r "Usuarios autentificados":(M)
icacls %XU% /grant:r "Usuarios autentificados":(OI)(CI)(IO)(M)
icacls %XU% /remove:g "Authenticated Users"
icacls %XU% /grant:r "Authenticated Users":(M)
icacls %XU% /grant:r "Authenticated Users":(OI)(CI)(IO)(M)
icacls %XU% /remove:g SYSTEM
icacls %XU% /grant:r SYSTEM:(F)
icacls %XU% /grant:r SYSTEM:(OI)(CI)(IO)(F)
icacls %XU% /remove:g %adm%
icacls %XU% /grant:r %adm%:(F)
icacls %XU% /grant:r %adm%:(OI)(CI)(IO)(F)
pause
fsutil usn deletejournal /d %XU%
chkdsk %XU% /f /v
pause

PD: En la linea 47, al final debe haber un espacio para que se vea bonito, cuando copian el código no pone dicho espacio.
Deberia ser: "set /p XU= ^ Unidad a cambiar permisos: "

CRC32: 0AFE1C39
MD5: a45d62fe4bb3a48bc5d043de6f10ec6a
SHA1: c97b347eb14ba1ff2b56d725485d42ff02b73837
TIGER: c1199e6fa7f1f8c0f3e4637179430e535d211f04fc953ad2
SHA256: faca9b72416afab2060be4ee0f943cf42301e1679dc1e50e5b47068ceba3bd42
SHA512: d738b7bb80a45b0fd8cf61bcd34de90441aac1f02a8c5bf0386440abc298248b296be4dc5c0562beb94ad70dbbf5843856d5083a83f57608590e3de0cd65d013

cya.
03 Aug 2015, 02:37
Mensaje: #2

RE: Script para aplicar permisos recomendables a unidades NTFS

Algo que necesitaba, y no sabia como buscarlo, mas bien no sabia que existiera.
Lo voy a probar.


Usuario(s) navegando en este tema: 1 invitado(s)