[XP] Запретить запуск программы в определенное время

ask0n

Гуру форума
Регистрация
9 Июн 2009
Сообщения
218
Реакции
62
Система Windows XP SP3 требуется запретить/разрешить запуск программы в определенное время, например в рабочие дни с 9-18 разрешено, всё остальное время запрещено. Идеальный вариант был бы реализовать средствами самой винды.
Дополнительно как-то перестраховаться от возможности переименования запрещенного exe и изменения системного времени/даты для текущего пользователя, который работает с правами локального администратора, но за пределы своего настроенного профиля никуда не полезет.
 
Для юзера с правами админа что-то запретить, хмм.

Если ХР версии ПРО, то можеш покопать в сторону ГП.

Run > gpedit.msc
 
на вскидку

Разрешить запуск приложений, кроме указанных в списке. Делается это так:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\ Windows\CurrentVerson\Policies\Explorer
DWORD DisallowRun, значение 1 - запрещает запуск приложений указанных в списке:
HKCU\Software\Microsoft\Windows\CurrentVersion\Pol icies\Explorer\DisallowRun
Параметры типа STRING - список запрещённых приложений.

"1" - "program.exe"
"2" - "thebat.exe"
"3" - "icq.exe"

и в шедулер два батника - один добавляет ветку, второй чистит

в 9 - добавил список и запретил, в 18 очистил и разрешил
 
Для юзера с правами админа что-то запретить, хмм.
Если ХР версии ПРО, то можеш покопать в сторону ГП.
Run > gpedit.msc
Там права админа для специфической железки нужны, рыть в интернет и что-то глубоко обходить пользователь не будет. Написал про админские права, для акцента на том, что время сменить пользователь может и переименовать exe, не более.

ZCFD, вариант, но время может быть переведено, как в реестре запретить запуск настройки часов для профиля?

Есть идея написать autoit скрипт который будет висеть в памяти и при открытии окна проверять title, если запуск в указанное время сразу закрываем окно с нужным заголовком или делаем его невидимым, заодно вторую копию не получится запустить, типа будет ошибка приложение уже запущенно.
 
просто удали или переименуй соответствующий апплет c:\WINDOWS\system32\timedate.cpl

вообще если ты админ на работе и нужно что б народ работал -- говоришь с начальством, выпускаете инструкцию\приказ с штрафом за нарушение. на машины логер -- пару провинившихся заплатят рублем и все будет ок

потому как обмануть можно любую систему

еще вариант - посмотри в сторону софта для комп. клубов
 
просто удали или переименуй соответствующий апплет c:\WINDOWS\system32\timedate.cpl
При попытке вызова он заново создается, рядом с переименованным или вместо удаленного..
вообще если ты админ на работе и нужно что б народ работал -- говоришь с начальством, выпускаете инструкцию\приказ с штрафом за нарушение. на машины логер -- пару провинившихся заплатят рублем и все будет ок
потому как обмануть можно любую систему
еще вариант - посмотри в сторону софта для комп. клубов
Это решение не на работе нужно сделать, на работе пользователи зажаты доменными политиками и подобных задач нет.
 
он не создается, он восстанавливается из dllcache

почитсти там и все будет ок -- только что проверил, никаких окон для изменения даты и времени

остается биос, но это решается паролем
 
Попробуй несколько раз запустить, он восстанавливает из %SystemRoot%\ServicePackFiles\i386, а если и там грохнуть вылетает сообщение о защите файлов windows - сильно палевно :(
 

Вложения

  • 111.JPG
    111.JPG
    23,4 KB · Просмотры: 5
1)%SystemRoot%\ServicePackFiles\ у меня такого пути нет. СП интегрированный
2) выскочило всего один раз. И больше не возникало.

вообще как бы ты не запрещал, остается перевод времени -- на моем компе все прошло нормально

как вариант - как запретил запускать программы так же запрети запуск rundll32.exe ( который подключает dll timedate.cpl и вызывает из нее функции )

Добавлено через 1 минуту
тогда помни что время еще и через консоль можно поменять
 
Если есть постоянное подключение к инету и юзер не владеет хакерскими навыками(а конкретно спуффингом пакетов) или перехватом функций WinAPI :-], то тогда просто основной экзешник зашивается в контейнер который будет проверять время через сервер и соответственно запускать вшитый экзешник или выдавать предупреждение, что программа очень устала и ей нужно дать отдохнуть до утра... :)
 
Назад
Сверху