Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Windows Server 2016/2019/2022 (http://forum.oszone.net/forumdisplay.php?f=119)
-   -   Очистка папок групповыми политиками раз в день (http://forum.oszone.net/showthread.php?t=336445)

Charg 29-08-2018 09:23 2829086

Очистка папок групповыми политиками раз в день
 
Сама очистка папок (речь идет о корзине и загрузках) вполне себе работает вот так https://i.imgur.com/JZD4PDt.png
Только вот как заставить её отрабатывать не чаще чем раз в день для конкретного пользователя? В идеале в момент включения компьютера утром.
  • Я пробовал ставить лимит по времени , в которое эта политика применяется (например с 8:30 до 9:30 для рабочего дня который начинается в 9:00). Только вот загвоздка в том что в офисе рабочий день в зависимости от должности есть и с 7 и с 8 и с 9 и с 10.
    И я столкнулся с тем что с такими поправками к настройкамам для пользователей работающих, к примеру, с 8 - политика будет применена несколько раз - в момент включения и через час-полтора в момент автообновления политики.
  • Второй альтернативный вариант, которым пользоваться не хотелось бы - батник по событию logon. Не хотелось бы его использовать потому что это во-первых еще одна точка отказа а во-вторых банально хочется сделать "нативно", если конечно такая возможность вообще существует.
  • Видел такой вариант, и было бы супер, если бы это можно было заставить работать с помощью групповых политик. С тем лишь нюансом что рабочие станции - Win 10 LTSB, туда осенний патч 2017 еще не завезли, так что этого функционала нет (в графическом меню настроек, во всяком случае).

Есть ли какие-либо варианты о которых я забыл или не знаю?

Busla 29-08-2018 11:10 2829116

Плохая практика - лучше скриптом удалять скажем, старше недели. И не на логон, а на логоф.

Charg 29-08-2018 11:48 2829125

Busla, практика продиктована настойчивым требованием руководства, ну и исходя из контекста работы офиса - логика в этом есть.
То что практика плохая с технической точки зрения - это да, я согласен. И тем не менее.

paranoya 29-08-2018 15:39 2829180

В шедулере создать задачу выполняемую при логоне и от имени входящего пользователя.

Charg 29-08-2018 19:24 2829225

paranoya, задача которая стартует батник? Ну это по большому счету то же самое что и логон-скрипт, о котором я писал в первом посте. Я рассматриваю этот вариант но только как самый последний.

Anton04 30-08-2018 11:40 2829286

Цитата:

Цитата Charg
Я рассматриваю этот вариант но только как самый последний. »

Ну почему же костыли, ничего подобного, в GPO есть создание задачи для планировщика и это вполне штатная функция. А создавать "батник" не надо достаточно все действия прописать в "Действия" одной строкой.
Не надо усложнять решение задачи если есть более просто Вариант её решения.
Ну и как окончательный вердикт осенний патч на win10.

Charg 30-08-2018 15:39 2829314

Цитата:

Цитата Anton04
Ну и как окончательный вердикт осенний патч на win10. »

На клиентских пк LTSB, туда осенний патч еще не завезли. Да и я не знаю есть ли возможность управлять этими опциями с помощью групповых политик.
Цитата:

Цитата Anton04
Ну почему же костыли, ничего подобного, в GPO есть создание задачи для планировщика и это вполне штатная функция. А создавать "батник" не надо достаточно все действия прописать в "Действия" одной строкой. »

Каким образом, если действий несколько? Правильно, нужно вызывать обработчик командной строки и передавать ему на вход команды с параметрами. Чем это отличается от батника? Да ничем.

Iska 30-08-2018 17:02 2829320

Цитата:

Цитата Charg
нужно вызывать обработчик командной строки и передавать ему на вход команды с параметрами. Чем это отличается от батника? Да ничем. »

Отличается. В худшую сторону.

Anton04 30-08-2018 21:21 2829355

Цитата:

Цитата Charg
Каким образом, если действий несколько? »

Нет ничего проще, в одну строку например через символ && (если ничего не путаю) или последовательное выполнение нескольких команд, ведь действий можно задать несколько.

Цитата:

Цитата Charg
Правильно, нужно вызывать обработчик командной строки »

А что сложности с этим? или cmd есть не в каждой актуальной Windows!?

Цитата:

Цитата Charg
Чем это отличается от батника? »

Если вы об этом не знаете - это же не значит, что их нет!? ;)

Для примера вот несколько статей с этого сайта:

Запуск приложений с повышением прав и без запроса UAC
Непрерывный аудит Active Directory с помощью запланированных задач
Ускорение загрузки Windows 7 и Vista с помощью планировщика заданий
Очистка диска в Windows 10, 8.1 и 7: расширенная настройка и запуск по расписанию

И это даже не вершина айсберга.

Iska 30-08-2018 21:47 2829358

Цитата:

Цитата Anton04
в одну строку например через символ && (если ничего не путаю) »

Путаете. Через один символ «&».

Через два — это связка команд по errorlevel, то есть, команда, следующая за «&&», выполнится только тогда, когда команда, предшествующая «&&», вернёт нулевой код возврата.

Charg 30-08-2018 22:56 2829365

Цитата:

Цитата Anton04
Для примера вот несколько статей с этого сайта: »

Этим статьям (описывающим костыли, кстати говоря) по 10 лет, они уже давно потеряли актуальность.
Цитата:

Цитата Iska
Отличается. В худшую сторону. »

А чем хуже, кстати? Я в роли минуса вижу разве что нищенское полтора-пиксельное поле для ввода параметров, в котором нифига не видно. Но это UX-проблема.

Iska 30-08-2018 23:10 2829370

Цитата:

Цитата Charg
А чем хуже, кстати? »

В пакетном файле намного больше поле для манёвра в отличие от кучи команд, вытянутых в одну строку. Плюс проблемы с расстановкой кавычек. Плюс проблемы с экранированием. Скажем, теоретически, вытянуть вот такой мало-мальски сложный пакетный файл:
Скрытый текст
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolder=%~1
set sDestFolder=%~2

set sNewFileName=alfa.txt

if defined sSourceFolder (
        if defined sDestFolder (
                if exist "%sSourceFolder%\." (
                        if exist "%sDestFolder%\." (
                                for /f "usebackq delims=" %%i in (
                                        `2^>nul dir /b /a:-d /o:d /t:c "%sSourceFolder%\*.txt"`
                                ) do if not defined sFoundFile set sFoundFile=%%i
                               
                                if defined sFoundFile (
                                        >nul copy /y "%sSourceFolder%\!sFoundFile!" "%sDestFolder%\%sNewFileName%"
                                ) else (
                                        echo No txt files found.
                                        exit /b 4
                                )
                        ) else (
                                echo Can't find destination folder [%sDestFolder%].
                                exit /b 3
                        )
                ) else (
                        echo Can't find source folder [%sSourceFolder%].
                        exit /b 2
                )
        ) else (
                echo Usage: %~nx0 ^<Source folder^> ^<Destination folder^>
                exit /b 1
        )
) else (
        echo Usage: %~nx0 ^<Source folder^> ^<Destination folder^>
        exit /b 1
)

endlocal
exit /b 0


в одну строку может и можно, но… стоит ли овчинка такой выделки?

Busla 31-08-2018 10:38 2829413

Iska, и вся эта простыня понаписана только для того, чтобы сыпать в консоль сообщения, которые в случае запуска по расписанию никто и не увидит. В 90% случаев достаточно единственного результата: успех/неуспех.

Iska 31-08-2018 18:14 2829479

Цитата:

Цитата Busla
Iska, и вся эта простыня понаписана только для того, чтобы сыпать в консоль сообщения, которые в случае запуска по расписанию никто и не увидит. »

Busla, а причём тут эта простыня? Причём тут запуск по расписанию? Это просто пример кода. Речь про пакетный файл v/s строка команд.

Цитата:

Цитата Busla
В 90% случаев достаточно единственного результата: успех/неуспех. »

В 96% случаев двух значений errorlevel недостаточно.

P.S. Разработчики find, findstr, xcopy, robocopy & etc смотрят на Ваше заявление с недоумением ;).

Busla 01-09-2018 10:21 2829520

Iska, отличный подход к дискуссии (сарказм): забить на контекст и довести идею оппонента до абсурда

Iska 06-09-2018 17:25 2830273

Busla, я рад, что Вы наконец поняли, что я с коллегой Charg веду речь об общем случае.


Время: 23:10.

Время: 23:10.
© OSzone.net 2001-