Повышение привилегий открытого окна командной строки
То, чего мне всегда не хватало в Windows Vista и во всех её потомках - возможности открыть командую строку с правами Администратора там, где мне нужно. Я из тех параноиков, что не отключают UAC, и мне чертовски досадно, когда очередная команда, которую я набрал в консоли, внезапно отказывается работать без повышения привилегий.
Windows не позволяет открыть окно команд там, где вам хочется, от имени администратора. Вместо этого вы должны открыть окно команд из меню Пуск, набрав в поиске cmd.exe и нажав CTRL+SHIFT+Enter. Это быстро? Нет. Это удобно? Нет. Вам придется совершать дополнительные телодвижения, чтобы оказаться в той папке, которая вам нужна, потому как окно команд открывается в папке %windir%\system32.
Три месяца назад я решил изменить ситуацию. Нет, я не выключил Контроль учётных записей (я всегда считал подобные действия откровенной глупостью). Я открыл студию и написал с десяток строчек на .
Проект получил имя ELE. Восьмикилобайтный экзешник стал для меня панацеей в вопросе эскалации привилегий командной строки.
Повышение привилегий открытого окна командной строки
Первая и основная задача, которую мне хотелось решить при помощи ELE - открытие окна cmd.exe из cmd.exe. Иными словами, я хотел открыть точно такое же окно, как то, которое было открыто сейчас, с тем же путём, и с историей команд.
К моему сожалению, эту задачку мне удалось решить лишь частично. Открыть окно команд от имени администратора в нужной папке - не проблема. Проблемой оказалось получение истории введенных пользователем команд. cmd.exe хранит их в своей памяти, они живут ровно сеанс работы окна команд, и как их считать из памяти, я не знаю.
Тем не менее, результатом я был доволен. Набрав в командной строке ele, я мгновенно получал запущенное с правами администратора окно команд, открытое в той же папке, что и предыдущее.
Открытие окна команд с правами администратора из файловых менеджеров
Особенность ELE - открывать окно команд с правами администратора в текущей папке - может сослужить вам добрую службу и сэкономить время и нервы, если интегрировать её в ваш любимый файловый менеджер. Я покажу вам это на примере Проводника, Total Commander и Far.
Открытие окна команд с правами администратора из Проводника
Достаточно интегрировать ELE в контекстное меню папки и фона папки (пустого, свободного от файлов пространства окна Проводника), и вы откроете командую строку от имени администратора в любой локации жесткого диска.
Твик реестра мог бы выглядеть так:
- Код: Выделить всё
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\ele\command]
@="ele.exe"
[HKEY_CLASSES_ROOT\LibraryFolder\background\shell]
[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\ele]
[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\ele\command]
@="ele.exe"
[HKEY_CLASSES_ROOT\Directory\shell\ele\command]
@="cmd /c cd /d \"%1\" & ele /x"
Ну и, соответственно, результат:
В один клик мышью.
Открытие окна команд с правами администратора из Total Commander
Просто перетащите ele.exe на тулбар этого файлового менеджера, и отредактируйте полученную кнопку, удалив путь запуска. Это необходимо, чтобы при запуске ele в качестве рабочей папки использовался путь в активной панели Total Commander.
Нажав на эту кнопку, вы откроете текущую папку в командной строке с правами администратора.
Открытие окна команд с правами администратора из Far
Один из способов сделать подобный трюк в этом популярном файловом менеджере - добавить ELE в пользовательское меню. Для это надо нажать F2, и затем нажать INS. В качестве команды следует ввести ele.exe.
Я повесил на ELE хоткей E, таким образом, чтобы открыть окно командной строки от имени администратора в текущей папке, мне достаточно нажать F2 - e.
Ключи командной строки ELE
Их немного.
- Код: Выделить всё
ele /?
Краткая справка по использованию
- Код: Выделить всё
ele /x
При указании опции /x ELE закрывает окно командной строки, из которого она была вызвана. Т.е. на экране остается только одно окно cmd.exe - то, что открыто с правами администратора.
Этот ключ появился по просьбе , с которым я поделился идеей создания утилиты. Вадим проявил интерес к утилите и провёл активное её тестирование, в ходе которого и предложил добавить /x, дескать, бывает удобно что-то скопировать из "обычного" окна в высокопривигелированное. Скажу честно, у меня такой ситуации ни разу не было, и в своей повседневной деятельности я использую экзешник, который автоматически закрывает предыдущее окно, без дополнительных ключей. (Закрытие процесса-родителя, к слову, реализовано по аналогии с )
- Код: Выделить всё
ele программа [параметры]
Запустить программу от имени администратора. Например, Блокнот от имени администратора:
- Код: Выделить всё
ele notepad.exe d:\text1.txt
ELE - одна из немногих утилит, за создание которой мне не стыдно. Она действительно полезная, и способна сэкономить немного вашего времени и нервов.
Вы можете скачать ELE с моего или с форума.





