21

В проводнике Windows я могу щелкнуть правой кнопкой мыши по исполняемому файлу и выбрать «Запуск от имени администратора», который запустит выбранный процесс с повышенными привилегиями, или же я могу щелкнуть правой кнопкой мыши по исполняемому файлу и щелкнуть «Запуск от имени другого пользователя», указать имя пользователя и пароль, которые запустят процесс со стандартными привилегиями, используя указанный пользовательский контекст.

Как мне работать от имени другого пользователя И запускать в повышенном контексте? Прекрасным примером этого было бы открытие командной строки с повышенными правами с использованием другого пользовательского контекста, в котором в данный момент зарегистрирован пользователь.

5 ответов5

19

Я не думаю, что такой вариант существует.

В качестве обходного пути вы можете запустить командную строку от имени администратора и выполнить следующую команду, чтобы запустить командную строку с правами администратора от имени другого пользователя.

runas /netonly /user:YourUser cmd.exe

8

Да, psexec абсолютно делает это.

Следующий пример работает чисто на Windows 8.1; запустите командную строку от имени администратора, а затем:

// -i makes the app interactive
// -h elevates the execution context 
// Omitting the password forces a secure prompt
psexec -u DOMAIN\user -i -h "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"
6

Вы можете сделать это через PowerShell:

Start-Process powershell -Credential domain\differentUserName -ArgumentList '-noprofile -command &{Start-Process "TheApp.exe" -verb runas}'
1

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

Если у вас установлена не домашняя версия Windows (Vista до 10), вы можете использовать диспетчер политик безопасности, чтобы он предлагал вам вводить пароль всякий раз, когда происходит повышение прав. Это также дает вам возможность выбрать совершенно другого пользователя и ввести его пароль ... что приведет к запуску процесса с повышенными правами от имени пользователя.

Просто откройте меню "Пуск" и введите secpol.msc и нажмите Enter, чтобы запустить его (если оно доступно). Вы ищете Local Policies > Security Options > User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode > Prompt for credentials . В Vista есть аналогичная опция, в которой не упоминается "Режим одобрения администратором", но она делает то же самое.

Я думаю, что это гораздо более естественный вариант, чем предложенный здесь другой, и скорее напоминает gksudo на * nix. Но если ваша редакция Windows не содержит secpol.msc, вам нужно будет сделать некоторые попытки взлома реестра, чтобы включить ее.

0

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

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