Войти

Показать полную графическую версию : [решено] Очистка папки %temp% у всех пользователей в системе.


noxville
30-11-2010, 12:59
Доброе время суток!
Есть малюсенький батник, который чистит при запуске его временные папки:
%SystemDrive%
cd "%temp%"
del /f /s /q *.*
cd "%userprofile%\Local Settings\Temporary Internet Files"
del /f /s /q *.*

... но он чистит только временные папки того пользователя от которого запущен батник.

Вопрос с следующем: батник в скором будущем будет отрабатываться автоматически при выключении компа (после логофа пользователя), соответственно не будет чиститься никакой %userprofile%, так как уже будет запущен от SYSTEM.
Что сделать для того чтоб батник чистил все временные папки пользователей в "Documents & Settings" при выключении компа?

Vadikan
30-11-2010, 13:35
noxville, по-моему, тот же самый вопрос http://forum.oszone.net/thread-158094.html

noxville
30-11-2010, 14:35
Vadikan, вопрос похожий как мне кажется, но не тот же самый.
В моем случае не известны имена пользователей, их много.
И все равно если батник будет отрабатываться после логоффа пользователя, так что чистить он будет только то что находится в %windir%\temp, а не во всех учетках.

Vadikan
30-11-2010, 15:57
noxville, понятно... Если скрипт пользовательский и назначен для группы, он должен отрабатывать у каждого пользователя при выходе.

Сценарии (вход/выход из системы) (Scripts (Logon/Logoff)). Это расширение, расположенное в узле дерева консоли редактора объектов групповой политики «Конфигурация пользователя\Конфигурация Windows», используется для указания сценариев, выполняемых при входе и выходе пользователя из системы. Эти сценарии запускаются с правами пользователя, а не администратора.
http://technet.microsoft.com/ru-ru/library/cc739591(WS.10).aspx

Теперь объясните, почему у вас скрипты запускаются от имени SYSTEM?

noxville
01-12-2010, 09:21
Vadikan, все верно говорите если скрипт выполняется при логофе пользователя, сценарий будет выполняться от имени пользователя.
Но мне то надо чтоб батник отрабатывался при выключении компа, а не при завершении сеанса.

Т.е. к примеру включили ПК, система дошла до "Нажмите ctrl+alt+del" , нажимаем, и вместо того чтоб логиниться - выбираем завершение работы, выключить/перезагрузить компьютер. Чтоб при таких условиях выполнялся батник.

Petya V4sechkin
01-12-2010, 11:02
noxville, как-то так?
SetLocal EnableExtensions

For /F "Tokens=2*" %%I In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /V ProfilesDirectory') Do Set Profiles=%%J
Call Set Profiles=%Profiles%

For /F "Delims=" %%I In ('Dir /B /AD-S-H "%Profiles%" ^| FindStr /V /B /I /C:"All Users"') Do (
Del /F /S /Q "%Profiles%\%%I\Local Settings\Temp\*.*"
Del /F /S /Q "%Profiles%\%%I\Local Settings\Temporary Internet Files\*.*"

Del /F /S /Q "%Profiles%\%%I\AppData\Local\Temp\*.*"
Del /F /S /Q "%Profiles%\%%I\AppData\Local\Microsoft\Windows\Temporary Internet Files\*.*"
)

noxville
01-12-2010, 12:12
Petya V4sechkin, да! Прямо в яблочко!

Vadikan
01-12-2010, 12:32
мне то надо чтоб батник отрабатывался при выключении компа, а не при завершении сеанса. »
Сорри, я невнимательно прочел условие задачи.

Перебор профилей решался еще несколько лет назад тут http://www.oszone.net/6167

Anton04
03-12-2010, 10:11
noxville,

С незапамятных времён (этак win98 и win2000) решил для себя данный вопрос раз и навсегда. Использую утилиту CLEARTEMP.EXE (http://www.virustotal.com/file-scan/report.html?id=4ee5baf27002656149e58756627d0042d4a97eb981bec865adf0d6029cebf9cb-1291149350) (кем написанную не знаю, давно это было), работает она без укоризненно. Прописываешь её в автозагрузке %ALLUSERSPROFILE% или же в реестре HKLM и всё... (кстати очищает она сугубо переменные пути %TEMP% системные и пользовательские). А для "Temporary Internet Files" существует соответствующий параметр в параметрах GPО ;)

Vadikan
03-12-2010, 13:47
Прописываешь её в автозагрузке %ALLUSERSPROFILE% или же в реестре HKLM и всё... (кстати очищает она сугубо переменные пути %TEMP% системные и пользовательские) »
А у ограниченного пользователя разве есть права на очистку временных папок в системных каталогах?

Anton04
08-12-2010, 14:14
А у ограниченного пользователя разве есть права на очистку временных папок в системных каталогах? »

нет конечно, но я для этого использую reg файл

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
"TEMP"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,64,00,72,00,69,00,76,\
00,65,00,25,00,5c,00,74,00,65,00,6d,00,70,00,00,00
"TMP"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,64,00,72,00,69,00,76,00,\
65,00,25,00,5c,00,74,00,65,00,6d,00,70,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment]
"TEMP"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,64,00,72,00,69,00,76,\
00,65,00,25,00,5c,00,74,00,65,00,6d,00,70,00,00,00
"TMP"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,64,00,72,00,69,00,76,00,\
65,00,25,00,5c,00,74,00,65,00,6d,00,70,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Environment]
"TEMP"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,64,00,72,00,69,00,76,\
00,65,00,25,00,5c,00,74,00,65,00,6d,00,70,00,00,00
"TMP"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,64,00,72,00,69,00,76,00,\
65,00,25,00,5c,00,74,00,65,00,6d,00,70,00,00,00
[HKEY_CURRENT_USER\Environment]
"TEMP"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,64,00,72,00,69,00,76,\
00,65,00,25,00,5c,00,74,00,65,00,6d,00,70,00,00,00
"TMP"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,64,00,72,00,69,00,76,00,\
65,00,25,00,5c,00,74,00,65,00,6d,00,70,00,00,00

в купе с cmd

subinacl.exe /file=directoriesonly "%SYSTEMDRIVE%\TEMP" /grant="все"=f /noverbose /display
subinacl.exe /subdirec "%SYSTEMDRIVE%\TEMP\*.*" /grant="все"=f /noverbose /display
:coffee:

Maza11
15-12-2016, 15:33
спасибо

SEBAS
16-05-2017, 13:31
Можно кинуть сюда готовый файл? Что там у вас получилось, "батник" или как там он называется?

rachamba
17-07-2018, 19:24
Господа, прошу помощи :)
Пытаюсь составить батник для удаления файлов из AppData\Local\Temp по маске, но как-то не выходит
В идеале, бат-файл должен закрываться после выполнение, т.е. как я понимаю, сначала формируем список файлов по маске, а затем удаляем, но тщетно... Может кто подсказать?

mwz
17-07-2018, 22:23
для удаления файлов из AppData\Local\Temp »

У пользователя, под которым запускается батник — или вообще у каждого присутствующего в системе?

PS
И не пойму смысла удаления в этой папке по фильтру: после свежей загрузки (или перезагрузки) и завершении процессов установки (если они при этой загрузке были) тут вообще можно всё удалять, вместе с папками — кроме нескольких файлов, используемых системой, которые она и не даст удалить.

adamic
17-08-2020, 19:16
привет всем кто подскажет для очистки логов на вин7 что есть действующее ?

Iska
18-08-2020, 06:47
adamic, а что есть не действующее для:
очистки логов на вин7 »
?!




© OSzone.net 2001-2012