Super User CMD v1.2.1 [2019/07/03] — запуск программ с повышением привилегий через UAC из командной строки под Windows

Если вы активный пользователь командной строки под Windows, вам определённо пригодится крохотная утилита SU (Super User), которая позволяет запускать программы с повышенными привилегиями без необходимости ввода пароля администратора (но с появлением диалога UAC). По сути, это аналог функции «Run as administrator» из контекстного меню, но с одним важным различием: стандартный механизм устанавливает рабочий каталог c:\windows\system32\, а SU сохраняет тот каталог, из которого он был запущен. То есть стандартными средствами нельзя запустить, например, сmd в том каталоге, который у вас сейчас открыт в Total Commander, что очень неудобно. А в SU этот вопрос полностью решён.

Скачать: sucmd.zip (7КБ). Исходный код →

Для работы необходимо предварительно запустить install.cmd, чтобы скопировать su32.exe и su64.exe под именем su.exe в системные директории c:\windows\syswow64\ и c:\windows\system32\ соответственно, после чего утилита всегда будет готова к работе в консоли или по нажатию Win+R.

Для того, чтобы запустить командную строку в текущем каталоге, например, при помощи Total Commander, необходимо просто ввести команду su в соответствующее поле внизу экрана, нажать Enter и согласиться с выдачей приложению повышенных привилегий (Alt+Y).

Для запуска любых сторонних команд с повышенными привилегиями необходимо указать их непосредственно после команды su. Например, если вы находитесь в каталоге c:\windows\system32\drivers\etc\ и хотите открыть файл hosts в блокноте, просто выполните команду: su notepad hosts.

Также не стоит забывать о быстром запуске командной строки при помощи диалога «Выполнить» (Win+R). При этом командный интерпретатор будет запущен в каталоге пользователя, а не в системном каталоге.

История изменений

v1.2.1 [2019/07/03]

  • 64-разрядная версия
  • Даже не пытается запускаться на Windows старее Vista (в любом случае, оно не работало)
  • Меньший исполняемый файл (так как неработающая совместимость с XP была удалена)

v1.2.0 [2013/02/19]

  • Первая публичная версия
  • Использует сам себя в качестве посредника

v1.0.0 [2013/02/18]

  • Использует cmd в качестве посредника
  1. #1
    «G~Lí†ch»

    О, размер даже меньше чем https://winreview.ru/obnovlenie-ele-1-0-1-utility-dlya-eskalacii-privilegij-otkrytogo-okna-komandoj-stroki/
    где было 8 кило. В нете можно найти похожее но размером больше 60 кило (если не под сотню). Осталось NTFS-сжатием до 4 кило сжать и норм.
    Но и тут эта же проблема. Например, хочу сделать симв. ссылку в системной папке: вхожу в командную строку, cd %windir%, набираю mklink su.exe затем перетягиваю в командную строку этот файл, жму enter – "Отказано в доступе", перетягиваю этот файл в командную строку, потом после него подписываю mklink su.exe и снова перетягиваю файл с программой, жму Enter — Не удаётся найти указанный файл!
    Ele.exe вообще молчит и симв. ссылку не создаёт. NircCmdC.exe elevatecmd хоть и запрашивает повышение, ссылка так и не создаётся. Короче, пришлось ещё дописывать cmd /k (что даже с nircmdc не прокатило).
    А вообще мечтаю чтоб в запущенное от админа окно cmd можно было Drag'n'Drop'ать (как в NTFS Strem Explorer — запускаешь – требует повышение, однако файлы в его окно спокойно перетягиваются).

  2. #2
    VEG Автор

    В случае с SU также не используется .NET Framework. Для такой задачи он не нужен.

    4 килобайта можно в принципе достаточно легко было добиться, если пообъединять секции и стрипнуть релоки, но такой исполняемый файл будет веять лёгкой нестандартностью, хоть и на работоспособности это никак не скажется.

    Не совсем понял вашу проблему — что именно вы пытались делать и каким образом.