Страница 1 из 1

Скрипт определяющий вкл/выкл UAC

Добавлено: Пн июн 07, 2010 05:09
HA3APET
Появилась идея при запуске сборки тотала выполнять проверку на то включён ли UAC и при положительном результате выводить сообщение о необходимости выключения. Это нужно, так как при вкл UAC некоторые фишки не работаю.
То есть скрипт будет запускаться через плагин Autorun
А вот какой собственно скрипт можно в данном случаи придумать?

Добавлено: Пн июн 07, 2010 08:00
MVV
Ужос какой. Отключать UAC - глупо. Без UAC семерка и виста теряют главное нововведение безопасности.

Я бы считал его по умолчанию включенным. Единственное что при этом нужно - запустить тотал с повышенными правами, что легко делается правкой свойств ярлыка (или использованием моей утилиты Sudo). Правда, при этом сам тотал для тоталоида станет таким же небезопасным, как и во всеми любимой до боли Windows XP - правда, радует одно - найдется куда меньше дурачков, у которых хватит ума запустить файл с именем вида video_007_porn_3342.avi[1].exe. :) Самая больная проблема запущенного с полными правами тотала - то, что все дочерние процессы будут иметь такие же полные права. Вот если бы ТК научился даже будучи запущенным с повышением запускать все дочерние задачи без оных (допустим, с клавишей-модификатором, позволяющей запуск с повышенными правами)...

А вообще, это проблема тех фишек и плагинов, что они за столько лет существования висты и семерки так и не удосужились обновиться и поддержать работу с UAC. Тем более, большинству из них расширенные права нужны как собаке пятая нога. Да, есть примеры, где права необходимы - например, плагин быстрого поиска, читающий MFT, но тут более правильным было бы написать службу, работающую с повышенными правами и принимающую запросы на поиск от плагина, таким образом, служба запускалась бы самим плагином при первом поиске и оставалась активной до закрытия ТК.

Но если тебе так уж хочется сделать то, что крайне не рекомендуется делать - тупо пытаешься положить че-нить в какой-нить файл, расположенный в папке %WinDir% - если пошлют, значит, UAC на стреме! :)

Bat-файлик:

Код: Выделить всё

@echo off 
copy /y nul "%windir%\check_uac.log" 
if not errorlevel 1 del "%windir%\check_uac.log" & goto :EOF
echo UAC is active, program is started w/o elevation.
pause
Алгоритм пытается создать с перезаписью пустой файл в папке винды, если получается, завершает выполнение файла, если возникает ошибка - выполняет нижеследующие команды. При желании можно тут же удалять созданный файл.

Добавлено: Пн июн 07, 2010 11:24
Batya
MVV писал(а):или использованием моей утилиты Sudo
О! Это то, что я искал.
Меганужная для автоматизации утилита с микроразмером.
Спасибо!