ох, люди, что же вы так мучаетесь?
Делаем вот что:
1) создаем требуемого юзера, если еще не создали
2) убираем у него права администратора
3) открываем проводник, находим папку программы или просто файлы, которые мы не хотим предоставлять юзеру, жмём свойства, переходим в безопасность, ставим запрет юзеру на доступ или выполнение файлов

при этом проверяем, что для нужных программ у него доступ есть (настройка по умолчанию)
Добавлено: Цитата: создать правило для хеша (объясняю- туда помещается сам запускаемый файл и указывается запрещено или разрешено ) и с этого момента как бы файл не назывался в какой бы директории не находился этот файл не будет запускаться даже под админом
все ухищрения с хешированием файла или указанием его имени легко обходятся изменением этого хеша или имени у самого файла, например упаковки его упаковщиком и переименованием — проще всего запретить пользователю установку новых программ или написать монитор окон, остлеживающий запущенные приложения по заголовкам и классу окон или другим параметрам, но это уже сложнее (требуются навыки и среда программирования

).