Основні способи запустити програму від імені іншого користувача

У всіх підтримуваних версіях Windows існує можливість запускати в поточній сесії програми від імені іншого користувача (Run As). Завдяки цьому можна виконати скрипт (.bat, .cmd, .vbs, .ps1), що виконується .exe файл або запустити установку програми (.msi, .cab) з повноваженнями іншого користувача (привілейований).

Наприклад, завдяки можливості використовувати функціонал Run As можна в сесії користувача з обмеженими правами запустити установку програми або відкрити потрібну MMC оснастку управління комп'ютером під адміністративної учетйно записом. Також можливість запуску програми "від імені" може бути корисна в ситуаціях, коли додаток налаштоване під іншим користувачем (і відповідно зберігає свої налаштування в чужому профілі, до якого у даного користувача немає даних), а його потрібно запустити з тими ж настройками в сесії іншого користувача.

У Windows 10 є кілька способів запустити процес від імені іншого користувача.

зміст:

  • Запуск програми від імені іншого користувача з Провідника (File Explorer)
  • Що робити, якщо відсутній пункт "Запуск від імені іншого користувача"
  • Утиліта Runas: з питання запуску програми від імені іншого користувача з командного рядка
  • Запуск MMC оснасток від імені іншого користувача
  • Як додати пункт "Запуск від імені ..." програмами в меню Пуск

Запуск програми від імені іншого користувача з Провідника (File Explorer)

Найпростіший спосіб запустити додаток під іншим користувачем - скористатися графічним інтерфейсом Провідника Windows (File Explorer). Просто знайдіть потрібно додаток (або ярлик), затисніть клавішу Shift і клацніть по ньому правою кнопкою миші. Виберіть пункт контекстного меню "Запуск від імені іншого користувача"(Run as different user).

Примітка. Якщо пункт меню "Запуск від імені іншого користувача"Відсутній, див. Наступний розділ.

У вікні потрібно буде вказати ім'я та пароль користувача, під чиєю обліковим записом потрібно запустити додаток і натиснути кнопку ОК.

Примітка. Якщо потрібно вказати доменного користувача, використовується один з наступного форматів імені: UserName @ DomainName або DomainName \ UserName

важливо. Запуск програми від імені іншого користувача можливий, якщо для нього заданий пароль. Використовувати Run as для учеткі з порожнім паролем не вийде.

Відкрийте Диспетчер завдань і переконайтеся, що додаток запущено під зазначеним користувачем.

Що робити, якщо відсутній пункт "Запуск від імені іншого користувача"

У тому випадку, якщо у вас в контекстному меню відсутній пункт Запуск від імені іншого користувача (Run as different user), відкрийте редактор групових політик (gpedit.msc) і переконайтеся, що в розділі Конфігурація комп'ютера -> Адміністративні шаблони -> Компоненти Windows -> Інтерфейс облікових даних (Computer Configuration -> Administrative Templates -> Windows Components -> Credential User Interface) відключена (Не задана) політика Запитувати достовірний шлях для входу в обліковий запис (Require trusted path for credential entry) .

Утиліта Runas: з питання запуску програми від імені іншого користувача з командного рядка

Запустити програму або скрипт від імені іншого користувача можна і з командного рядка або ярлика програми. Крім того, цей спосіб передбачає можливість збереження пароля користувача, щоб його не довелося набирати кожного разу. Для цього можна скористатися консольної утилітою runas.exe.

Відкрийте командний рядок (або вікно Виконати, натиснувши поєднання клавіш Win + R). Для запуску Блокнота під обліковим записом admin виконайте команду:

runas / user: admin "C: \ Windows \ notepad.exe"

У отрившемся вікні з'явиться запрошення "Введіть пароль для admin", де потрібно набрати пароль користувача і натиснути Enter.

Порада. У тому випадку якщо ім'я користувача містить пробіл, його потрібно взяти в лапки.

При необхідності запуску програми під доменним користувачем потрібно використовувати формат імені UserName @ DomainName або DomainName \ UserName. Наприклад, щоб за допомогою блокнота відкрити текстовий файл від імені доменного користувача, скористаємося командою:

runas / user: corp \ domain_admin "C: \ Windows \ notepad.exe C: \ tmp \ 2871997x64.txt"

Введіть пароль для corp \ domain_admin:
Спроба запуску C: \ Windows \ notepad.exe C: \ tmp \ 2871997x64.txt від імені користувача "corp \ domain_admin" ...

Щоб створити на робочому столі ярлик для запуску програми під іншим користувачем, просто створіть новий ярлик, у вікні з адресою об'єкта якого вкажіть потрібну команду з runas.

При запуску такого ярлика буде запитуватися пароль користувача.

Щоб зберегти вводиться пароль іншого користувача потрібно скористатися ключем / savecred.

runas / user: admin / savecred "C: \ Windows \ notepad.exe"

Після вказівки пароля він збережеться в диспетчері паролів Windows і під час наступного запуску команди runas під цим же користувачем з ключем / savecred система автоматично скористаєшся збереженим паролем, а не буде запитувати його повторно.

Однак використання параметра / savecred небезпечно, тому що користувач, в чиєму профілі збережений чужий пароль може використовувати його для запуску будь-який команди під даними привілеями, або навіть змінити чужий пароль. Крім того, збережені паролі з Credential Manager можна легко вкрасти, поетом краще заборонити використання збережених паролів (а тим більше не можна зберігати пароль привілейованої адміністративної облікового запису).

Примітка. Крім того, ключ / savecred не працює в Home редакціях Windows.

Запуск MMC оснасток від імені іншого користувача

У деяких випадках від імені іншого користувача потрібно запустити одну з керуючих оснасток Windows. Наприклад, якщо під іншим користувачем потрібно запустити оснащення Active Directory Users and Computers, можна скористатися такою командою.

runas.exe / user: DOMAIN \ USER "cmd / c start \" \ "mmc% SystemRoot% \ system32 \ dsa.msc"

Аналогічним чином можна запустити будь-яку іншу оснастку (головне знати її ім'я).

Як додати пункт "Запуск від імені ..." програмами в меню Пуск

За замовчуванням в Windows 10 у елементів меню Пуск (початкового екрана) відсутня можливість запуску додатків під іншим користувачем. Щоб додати контекстне меню "Запуск від імені іншого користувача" потрібно включити політику Показувати команду "Запуск від імені іншого користувача" при запуску (Show "Run as different user" command on Start) В розділі редактора групових політик (консоль gpedit.msc) Конфігурація користувача -> Адміністративні шаблони -> Меню Пуск і панель завдань (User Configuration -> Administrative Templates -> Start Menu and Taskbar).

Або, якщо редактор gpedit.msc відсутня, створити в гілці реєстру HKEY_CURRENT_USER \ Software \ Policies \
Microsoft \ Windows \ Explorer
ключ типу DWORD з ім'ям ShowRunasDifferentuserinStart і значенням 1.

Залишилося відновити політики (gpupdate / force) і переконатися, що у програм в меню Пуск з'явиться нове контекстне меню додатково -> Запуск від імені іншого користувача.