18

Я хотел бы, чтобы console2 хорошо работала с UAC

Конкретные проблемы, которые я хотел бы решить:

  • Если я начну без поднятия, есть способ поднять во время бега. Было бы особенно хорошо, если бы я мог поднять отдельные вкладки
  • Я хотел бы получить различные цвета для администратора / не-администратора, похожие на эту ссылку. По сути, если я могу заставить консоль выполнить команду при запуске (аналогично значению реестра HKLM\Software\Microsoft\Command Processor\AutoRun), это все, что мне нужно

Как мне заставить это работать? Должен ли я изменить исходный код, чтобы заставить это работать, или я могу использовать другие настройки вкладок / делать хаки с исполняемыми файлами оболочки?

Я использую Windows 7, хотя я полагаю, что любое рабочее решение будет также работать на Vista.

3 ответа3

6

Хотите попробовать ConEmu? Я автор этого эмулятора консоли. Вы можете запускать выбранные вкладки с повышенными правами или с указанными учетными данными. И вы можете указать другую палитру для повышенных консолей (или указанных приложений).

Новые параметры вкладки

4

Я решил часть этого.

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

По какой-то причине bcdedit.exe не отображается в каталоге system32 при работе в Console2 (не знаете почему?). Поэтому мне пришлось искать другую команду, а не ту, которую я нашел по ссылке в моем вопросе. Я нашел другую команду «лентяй» , что позволило бы мне провести различие между админ / не админ, который виден в Console2.

В Console2 я установил параметр shell :

% ComSpec% /k secedit /validate% ComSpec:cmd.exe =% ieuinit.inf> nul 2> nul && (цвет FC && title ADMIN) || (цвет 07 && title NONADMIN)

Что касается этого вопроса ...

Если я начну без поднятия, есть способ поднять во время бега. Было бы особенно хорошо, если бы я мог поднять отдельные вкладки

Уже есть запланированная функция и запросы связанных функций.

Вы не можете обойти это в данный момент. Вы не можете запустить приложение как LUA, а просто поднять определенные запросы, потому что Console2 не может включать приложения с доступом более высокого уровня. Это будет работать только наоборот. Я думаю, что это потребовало бы, чтобы программа работала с повышенными правами, но запускалась через процесс без повышенных прав, чтобы она могла включиться и запустить процесс без повышенных прав. Это иногда называют бутстрапом.

Я пробовал PsExec, и он не работал правильно. Он лишил некоторых прав администратора, но все еще использовал повышенный токен.

По сути, невозможно получить консоли с повышенными правами и LUA на вкладках одного и того же сеанса Console2 без изменения источника. Но вы можете просто щелкнуть значок на панели задач или ярлык с помощью Ctrl + Shift + Click чтобы запустить в качестве администратора в отдельном сеансе.

Редактировать: я обнаружил, что если вы используете ansicon вместе с инструментом командной строки, который выводит цвет (например, git), то это будет слегка нарушено. Попробуйте эту команду вместо:

% ComSpec:cmd.exe =% secedit.exe /validate% ComSpec:cmd.exe =% ieuinit.inf> nul 2> nul && (цвет FC && title ADMIN) || (цвет && название NONADMIN)

Если вы находитесь в режиме администратора, красный цвет будет переопределять цвета, выводимые командой, но простого способа исправить это не существует. Однако я считаю, что вы не должны делать много работы в режиме администратора в любом случае. Отсюда UAC и, следовательно, особые цвета, которые мы добавляем.

0

Если вы готовы иметь дело с всплывающим окном UAC при каждом создании вкладки, перейдите в меню «Редактирование»> «Настройки»> «Вкладки», в разделе «Оболочка» выберите «Запуск от имени пользователя», затем введите имя пользователя, и теперь появится всплывающее окно и изменить имя Если вы являетесь администратором и авторизуетесь, он будет повышен; если вы стандартны и вход в систему будет стандартным :) Надеюсь, это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .