Windows 2008 Könyvtár jogosultságok mentése
Az icacls parancs segítségével egy könyvtár (és annak tartalma) jogosultságait le tudjuk menteni és vissza is tudjuk állítani.
Mentés:
icacls c:\windows\* /save AclFile /T
Ekkor az AclFile fájlba menti a jogosultságokat
Visszaállítás:
icacls c:\windows\ /restore AclFile
Visszaállítás az AclFile-ból
alatti adatokat kell menteni.
A fent leírtak segítségével mentést készíthetünk egy Windows szerver megosztott könyvtárának adatairól és azok jogosultságairól.
Mivel ezt célszerű ütemezni, ezért készítettem egy PowerShell szkriptet, amelyet a feladatütemezőben futtatva a szerver önállóan is meg tudja oldani a feladatot.
Íme a szkript, ami a fenti adatokat lementi és a 30 nappal ezelőttieket törli. Mivel az icacls kimenete elég nagy lehet, ezért érdemes tömörítve tárolni.
$NAPOK_SZAMA=-30
$MENTES_HELY="f:\backup\ACL_BACKUP\"
$LOGFAJL="f:\backup\ACL_BACKUP\ACL_save.log"
$MA= (get-date).ToString('yyyy-MM-dd')
$REGINAP=( get-date ).AddDays($NAPOK_SZAMA).ToString('yyyy-MM-dd')
$REGISTRY_CMD="reg EXPORT HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Shares"
echo "$(get-date) ACL Mentes elkezdodott" >> $LOGFAJL
invoke-expression "icacls f:\kozos\* /save $MENTES_HELY/ACL.$MA /T /C"
echo "$(get-date) ACL tomorites" >> $LOGFAJL
invoke-expression "& 'c:\Program Files\7-Zip\7z.exe' a $MENTES_HELY\ACL.$MA.7z $MENTES_HELY\ACL.$MA"
echo "$(get-date) ACL Mentes vege " >> $LOGFAJL
invoke-expression "del $MENTES_HELY\ACL.$MA"
invoke-expression "del $MENTES_HELY\ACL.$REGINAP.7z"
echo "$(get-date) Regi ACL (ACL.$REGINAP.7z) totolve" >> $LOGFAJL
echo "$(get-date) Registry Mentes elkezdodott" >> $LOGFAJL
invoke-expression "$REGISTRY_CMD $MENTES_HELY\$MA.reg "
echo "$(get-date) Registry Mentes vege " >> $LOGFAJL
invoke-expression "del $MENTES_HELY\$REGINAP.reg"
echo "$(get-date) Registry ($REGINAP.reg) totolve" >> $LOGFAJL