Бігайте як інший користувач і піднімайтеся


25

У Windows Explorer я можу клацнути правою кнопкою миші на виконуваний файл і вибрати "Запустити як адміністратор", який запустить вибраний процес з підвищеними привілеями, або я можу клацнути правою кнопкою миші на виконуваний файл і натиснути "Запустити як інший користувач", вказати ім'я користувача та пароль, які запускають процес зі стандартними привілеями з використанням заданого контексту користувача.

Як я можу запуститись як інший користувач І запустити у підвищеному контексті? Прекрасним прикладом цього може бути відкриття підвищеного командного рядка, використовуючи інший користувальницький контекст, який користувач на даний момент увійшов.


Я думаю, що повноваження start-processкоманди могли б це зробити.
jiggunjer

Відповіді:


22

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

Як обхід, ви можете запустити командний рядок як адміністратор і виконати наступну команду для запуску командного рядка з правами адміністратора як інший користувач.

runas / netonly / user: YourUser cmd.exe


7
Або ви можете клацнути правою кнопкою миші виконуваний файл, а потім виберіть властивості> сумісність, а потім виберіть рівень привілеїв та встановіть прапорець Запустити цю програму як адміністратор. Потім клацніть правою кнопкою миші виконуваний файл і запустіть як інший користувач.
JamesTheDev

@NewProgrammerJames Приємно, дякую за вклад :)
Yass

@NewProgrammerJames Цей трюк не працює з CMD безпосередньо на W2008R2 і вище, але налаштування спеціального додатка повинно бути можливим.
Веспер

Це буде працювати, навіть якщо кінцевий користувач не входить до групи адміністратора?
jiggunjer

@jiggunjer Ні, наскільки я знаю.
Ясс

11

Так, 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"

Від Майка : Це працює для Windows 10!
fixer1234

7

Ви можете зробити це за допомогою PowerShell:

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

1

Я помічаю, що це дуже давнє запитання, але наведені відповіді не є ідеальними, і це вже було затоплено. Усі існуючі відповіді вимагають ввести архаїчні команди та знати точний шлях до виконуваного файлу. Ідеальний варіант дозволить зробити це можливим, використовуючи той самий процес, який ви вже використовуєте для ескалації привілеїв.

Якщо у вас немає домашньої версії Windows (Vista thru 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, вам доведеться виконати деякий злом реєстру, щоб увімкнути його.


Я це зробив, і це не працює. І він завжди вимагає мого відбитка пальців, хоча я не налаштовую свій відбиток пальця.
iroel

@iroel Це звучить виразно, ніби виникає проблема з налаштуванням підсистем автентифікації вашого Windows. Вам слід розглянути питання щодо вирішення цієї проблеми, і якщо ви нічого не знайдете, розглянути повідомлення про це як питання. Усі мої системи створені таким чином, і жодна з них не вимагає відбитків пальців. Залежно від облікового запису я підтверджую автентичність, оскільки вони запитують пароль або номер PIN-коду.
Кліфф Армстронг

Я використовую відбитки пальців для аутентифікації. Це трапляється. 2 застосовні рішення: зробіть користувачем адміністративний привілей (але це не має сенсу в цьому випадку), створіть іншого користувача та встановіть відбиток пальця (використовуйте палець, який не зареєстрований для певного користувача) та використовуйте цей палець, коли його запитують про підвищений привілей. Я використовую останнє рішення в цьому випадку. Принаймні, це працює для мене.
iroel

Якщо вам буде запропоновано встановити відбиток пальців, то або ви налаштували користувача, на який ви намагаєтесь увійти, щоб вимагати відбитка пальця, або щось не так з установкою Windows. Повна зупинка. Я використовую цю установку на трьох різних комп’ютерах, і жоден з них не просить відбитків пальців. Я налаштував це на десятки комп’ютерів для клієнтів. Windows підкаже PIN-код під час входу в систему користувачем із налаштованим PIN-кодом та паролем для всіх інших користувачів. Він використовує будь-який метод аутентифікації, який ви налаштували для цього користувача.
Кліфф Армстронг

0

Я виявив, що якщо я ввійду як обліковий запис Запуск як, ви можете встановити прапор "Запустити цю програму як адміністратор" на сторінці властивостей / сумісності. Потім увійдіть у вторинний обліковий запис і виконайте команду run click run, оскільки відкриєте його як адміністратор.


Це звучало як чудовий варіант, але у розділі Властивості cmd.exe не було сторінки сумісності.
Сандра
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.