Як запустити програму від імені іншого користувача у Windows 11 та Windows 10
За промовчанням програми в Windows запускаються від імені поточного користувача, а при необхідності - з правами адміністратора. Однак, у деяких випадках може знадобитися запуск будь-якої програми від імені іншого користувача, з його збереженими даними, але без входу до відповідного облікового запису.
Простий запуск від імені іншого користувача
Найпростіший і найшвидший спосіб запустити програму від іншого користувача — використовувати контекстне меню Windows 11/10, для цього достатньо:
- Утримуючи клавішу Shift, натиснути правою кнопкою миші по ярлику або файлу програми, що виконується.
- У контекстному меню виберіть пункт "Запуск від імені іншого користувача".
- Введіть ім'я іншого користувача та відповідний пароль.
На цьому все – програма буде запущена від імені вибраного користувача, а якщо вона містить збережені дані для вибраного облікового запису, будуть завантажені і вони.
У випадку, якщо у вас немає ярлика програми, а її місцезнаходження невідоме, ви можете застосувати наступний підхід: знайти програму на ім'я через пошук в панелі завдань, натиснути за знайденим результатом правою кнопкою миші і вибрати пункт «Перейти до розташування файлу», а вже потім використовувати описаний підхід для запуску від іншого користувача.
Запуск програми або команди від імені іншого користувача у командному рядку
Ще один підхід – використовувати команду RUNAS у командному рядку Windows. Також можна за допомогою цієї команди створити ярлики для запуску програм від інших користувачів. Найпростіший приклад використання команди RUNAS:
- Відкрийте командний рядок (зробити це можна, використовуючи пошук у панелі завдань).
- Введіть команду (якщо ім'я користувача містить прогалини, візьміть його в лапки):
runas /user:ІМ'Я_користувача "Повний шлях до файлу програми та параметри запуску при необхідності"
В результаті програма буде запущена від імені зазначеного користувача. Команда має й інші параметри, довідку можна отримати, ввівши runas без параметрів у командному рядку. Наприклад, можна включити або відключити використання даних профілю користувача, зберегти облікові дані за допомогою параметра /savecred щоб при наступних запусках від імені вибраного користувача введення пароля не потрібно.
А раптом і це буде цікаво:
- Найкращі безкоштовні програми для Windows
- Не заряджається телефон - причини та рішення
- Як очистити кеш іконок у Windows 11 та 10
- Код 28 для пристрою не встановлені драйвери у Windows 11 та 10 - як виправити
- Помилка 0xc000012d під час запуску програми — як виправити?
- Свистить або дзвенить блок живлення комп'ютера - причини та рішення
- Windows 11
- Windows 10
- Android
- Завантажувальна флешка
- Лікування вірусів
- Відновлення даних
- Установка з флешки
- Налаштування роутера
- Все про Windows
- У контакті
- Однокласники
Запуск програм від імені іншого користувача (RunAs) у Windows
Будь-який користувач Windows може запустити у своїй сесії програму від імені іншого користувача за допомогою Run As . Завдяки цьому ви можете виконати скрипт (.bat, .cmd, .vbs, .ps1), запустити виконуваний .exe файл або інсталяцію програми (.msi, .cab) з повноваженнями іншого користувача.
Наприклад, ви можете використовувати RunAs для встановлення програм або запуску програм/скриптів/MMC оснасток з правами адміністратора безпосередньо в сесії звичайного непривілейованого користувача. .
За можливість запуску програм від імені іншого користувача у Windows відповідає служба Вторинний вхід до системи (Secondary Log-on). Якщо цю службу зупинено, то всі описані методи runas не працюватимуть. Ви можете перевірити, чи служба запущена за допомогою наступної команди PowerShell :
Windows має кілька способів запустити програму або процес від імені іншого користувача.
Запуск програми від імені іншого користувача із Провідника Windows (File Explorer)
Найпростіший спосіб запустити програму з-під іншого користувача – скористатися графічним інтерфейсом Провідника Windows (File Explorer). Просто знайдіть потрібну програму (або ярлик), затисніть клавішу Shift і клацніть правою кнопкою миші. Виберіть пункт контекстного меню « Запуск від імені іншого користувача »(Run as different user).
Примітка . Якщо пункт меню « Запуск від імені іншого користувача » відсутня, див. наступний розділ.
У вікні Windows Security, що з'явиться, потрібно вказати ім'я та пароль користувача, під чиїм обліковим записом потрібно запустити програму і натиснути кнопку ОК .
- Якщо потрібно запустити програму від імені користувача Active Directory, потрібно вказати його ім'я у форматі userPrincipalName ([email protected]) або samAccountName(DomainNameUserName);
- Якщо ваш комп'ютер додано до домену AD, то для запуску програми від імені локального облікового запису користувача її ім'я потрібно вказати у форматі: .localusername .
Важливо . Ви можете запустити програму від імені іншого користувача лише, якщо для нього встановлено пароль. Використовувати Runas для користувача з порожнім паролем не вдасться.
Відкрийте Диспетчер завдань і переконайтеся, що програма запущена під вказаним користувачем.
Команда Runas: запуск програм від імені командного рядка
У Windows є консольна утиліта runas.exe , яку можна використовувати для запуску програм від імені іншого користувача з командного рядка. Також команда runas дозволяє зберегти пароль користувача у Windows Credential Manager, щоб його не доводилося набирати щоразу.
Відкрийте командний рядок (або вікно Виконати, натиснувши клавіші Win+R ). Щоб запустити Блокнот із правами облікового запису administrator, виконайте команду:
runas /user:administrator “C:Windowscmd.exe”
Порада . Якщо ім'я користувача містить пробіли, його потрібно взяти в лапки:
runas /user:"user test" notepad.exe
У вікні з'явиться запрошення «Введіть пароль для admin», де потрібно набрати пароль і натиснути Enter.
Потрібно відкрити ваш додаток. У моєму випадку це cmd. У заголовку вікна вказано Запущено від імені CompNameusername :
Можна, наприклад, відкрити панель керування під іншим користувачем:
runas /user:admin control
Якщо потрібно запустити програму від імені доменного користувача, потрібно використовувати формат UserName@DomainName або DomainNameUserName .
Наприклад, щоб за допомогою блокнота відкрити текстовий файл від імені користувача server_admin домену CORP, використовуйте команду:
runas /user:corpserver_admin “C:Windowsnotepad.exe C:tmp2871997x64.txt”
Введіть пароль для corpserver_admin:_x000D_Спроба запуску C:Windowsnotepad.exe C:tmp2871997x64.txt від імені користувача "corpserver_admin" .
Якщо вказано неіснуюче ім'я користувача або пароль, з'явиться помилка:
RUNAS ERROR: Неправильний доступ - yourcommand_x000D_1326: User name або password is incorrect.
RUNAS ERROR: Захищений від використання password
Іноді потрібно запустити програму від імені доменного користувача з комп'ютера, який не додано до домену AD . У цьому випадку потрібно використовувати таку команду (за умови, що в мережевих налаштуваннях вашого комп'ютера вказано сервер DNS, який може відрізнити цей домен):
runas /netonly /user:contosoaaivanov cmd.exe
Якщо для запуску програми від іншого користувача не потрібно завантажувати профіль, використовуйте параметр /noprofile . При цьому програма запускається набагато швидше, але може викликати некоректну роботу програм, які зберігають дані у профілі користувача.
Використання RunAs у PowerShell
Якщо вам потрібно запускати програми/процеси від імені іншого користувача PowerShell, ви можете використовувати командлет Start-Process ( керування процесами за допомогою PowerShell ). Спочатку потрібно запросити обліковий запис та пароль користувача:
Для запуску процесу від імені іншого користувача можна використати:
Start-Process -FilePath "powershell.exe" -Credential $Cred
Або можна запросити обліковий запис та пароль інтерактивно через Windows Security:
# "Run as Administrator"
Start-Process -FilePath "powershell.exe" -Verb RunAs
# Run as від іншого користувача
Start-Process -FilePath "powershell.exe" -Verb RunAsUser
Якщо вам потрібно запустити програму через runas від імені іншого адміністратора в привілейованому режимі (за умовчанням UAC запускає програму в not-elevated контексті користувача), можна використовувати таку команду PowerShell:
Start-Process powershell -Credential remontkaadmin2 -ArgumentList '-noprofile -command &'
Або сторонню утиліту ShelExec:
ShelExec / Verb: runas cmd.exe
Запуск програм від імені іншого користувача без введення пароля
Ви можете зберегти пароль користувача, який ви вводите. Для цього використовується параметр /savecred .
runas /user:admin /savecred “C:Windowsnotepad.exe”
Після вказівки пароля він збережеться в диспетчері паролів Windows.
При наступному запуску команди runas під тим самим користувачем з ключем /savecred Windows автоматично отримає збережений пароль із Credential Manager , і не буде його запитувати повторно.
Щоб вивести список усіх користувачів, для яких збережені паролі, використовується команда:
Однак використання параметра /savecred не безпечне, тому користувач, у профілі якого збережений чужий пароль може використовувати його для запуску будь-який команди під даними привілеями, або навіть змінити чужий пароль. Крім того, збережені паролі з Credential Manager можна легко вкрасти, тому краще заборонити використання збережених паролів (а тим більше не можна зберігати пароль привілейованого адміністративного облікового запису).
Примітка Крім того, ключ / savecred не працює в Home редакціях Windows.
Ви можете використовувати команду RunAs для запуску mmc оснасток від імені іншого користувача.
runas.exe /user:remontkakbuldogov "cmd /c start mmc %SystemRoot%system32dsa.msc"
Аналогічним чином можна запустити будь-яке інше оснащення (головне знати її ім'я).
Ярлик із запуском програми від імені іншого користувача
Ви можете створити на робочому столі ярлик для запуску програми від імені іншого користувача.
runas /user:remontkakbuldogov “C:Windowsnotepad.exe”
При запуску такого ярлика запитуватиметься пароль користувача.
Якщо в ярлику runas додати параметр /savecred , то пароль буде запрошено лише один раз.
Такі ярлики досить часто використовуються для запуску програм, які вимагають прав адміністратора для запуску.
У провіднику Windows немає пункту "Запуск від імені іншого користувача"
Якщо в контекстному меню провідника Windows відсутній пункт Запуск від імені іншого користувача (Run as different user), потрібно перевірити налаштування двох параметрів реєстру Windows.
У Windows можна приховати або показати в провіднику пункт меню RunAs за допомогою двох параметрів реєстру:
- Параметр HideRunAsVerb (тип REG_DWORD) у гілці реєстру HKLMSOFTWAREMicrosoftWindowsCurrentVersionpoliciesExplorer (1 – приховати пункт runas, 0 – показати)
- Параметр EnableSecureCredentialPrompting (REG_DWORD) в HKLM SoftwareMicrosoftWindowsCurrentVersionPoliciesCredUI (1 – приховати, 0 – показати)
Якщо Windows не відображає пункт Run as different user, перевірте значення цих параметрів реєстру та змініть їх на 0. У доменному середовищі ви можете поширити значення цих параметрів реєстру на комп'ютери за допомогою Group Policy Preferences .
Другий параметр реєстру відповідає окрема опція GPO.
Ця опція GPO відповідає параметру EnableSecureCredentialPrompting у гілці реєстру HKLM SoftwareMicrosoftWindowsCurrentVersionPoliciesCredUI. Відкрийте редактор локальних групових політик (gpedit.msc) і переконайтеся, що у розділі Конфігурація комп'ютера -> Адміністративні шаблони -> Компоненти
Windows -> Інтерфейс облікових даних користувача (Computer Configuration -> Administrative Templates -> Windows Components -> Credential User Interface) відключена (Не задана) політика Запитувати достовірний шлях для входу до облікового запису (Require trusted path for credential entry).
Як додати пункт “Запуск від імені” до програм у меню Пуск?
За промовчанням у Windows 10 елементи меню Пуск (початковий екран) не мають можливості запускати програми від імені іншого користувача. Щоб додати до контекстного меню пункт “Запуск від імені іншого користувача”, потрібно включити політику Показувати команду "Запуск від імені іншого користувача" під час запуску ( Show “Run as different user” command onStart ) у розділі редактора групових політик (консоль gpedit.msc ) Конфігурація користувача -> Адміністративні шаблони -> Меню Пуск та панель завдань (User Configuration -> Administrative Templates -> Start Menu and Taskbar).
Або, якщо редактор gpedit.msc відсутній, створити у гілці реєстру HKEY_CURRENT_USERSoftwarePoliciesMicrosoftWindowsExplorer ключ типу DWORD з іменем ShowRunasDifferentuserinStart і значенням 1.
New-ItemProperty -Path "HKCU:SoftwarePoliciesMicrosoftWindowsCurrentVersionExplorer" -Name ShowRunasDifferentuserinStart -Value 1 -PropertyType DWORD -Force
Залишилось оновити групові політики (gpupdate /force) та переконатися, що у програм у меню Пуск з'явиться нове контекстне меню Додатково ->
Запуск від імені іншого користувача .
Пункт “запуск від імені” відсутній у Universal Windows Platform (UWP) програми з Microsoft Store. Ви можете запустити UWP програму від іншого користувача з командного рядка за допомогою runas.exe.
Виведіть список програм Microsoft Store на комп'ютері за допомогою PowerShell:
Можна знайти конкретну програму
Get-AppxPackage|where |select Name
Знайдіть ім'я потрібної програми у списку. Наприклад, для запуску вбудованого клієнта Microsoft Teams Chat від іншого користувача виконайте:
runas /user:user1 "explorer.exe MicrosoftTeams:"
Запуск програм від імені іншого користувача (RunAs) у Windows
Наприклад, ви можете використовувати RunAs для встановлення програм або запуску програм/скриптів/MMC-консолей з правами адміністратора безпосередньо в сесії звичайного непривілейованого користувача. Також "Run As" можна запускати програми, налаштовані в профілі іншого користувача, щоб вони використовували налаштування з цього профілю.
Для забезпечення можливості запуску програм від імені іншого користувача Windows використовується служба "Вторинний вхід до системи" (Secondary Log-on). Якщо ця служба зупинена, всі описані методи "Run As" не працюватимуть. Ви можете перевірити, чи запущена ця служба, за допомогою наступної команди PowerShell:
Запуск програми від імені іншого користувача із Провідника Windows (File Explorer)
Простий спосіб запустити програму від імені іншого користувача – скористатися графічним інтерфейсом Провідника Windows (File Explorer). Просто знайдіть потрібну програму (або ярлик), натисніть клавішу Shift і клацніть правою кнопкою миші. Виберіть пункт контекстного меню "Запустити від імені іншого користувача".
Примітка. Якщо пункт меню "Запустити від імені іншого користувачавідсутня, див. наступний розділ.
У вікні Windows Security необхідно вказати ім'я користувача та пароль від облікового запису, під яким потрібно запустити програму, а потім натиснути кнопку "ОК".
- Якщо потрібно запустити програму від імені користувача Active Directory, потрібно вказати його ім'я у форматі userPrincipalName ([email protected]) або samAccountName (DomainName\UserName);
- Якщо ваш комп'ютер додано до домену AD, для запуску програми від імені локального облікового запису користувача його ім'я потрібно вказати у форматі: .\localusername.
Важливо: ви зможете запустити програму від імені іншого користувача лише у тому випадку, якщо для цього користувача встановлено пароль. Використання RunAs для користувача з порожнім паролем неможливе.
Відкрийте Менеджер завдань і переконайтеся, що програма запущена від імені вказаного користувача.
Команда RunAs: запуск програм від імені іншого користувача з командного рядка
У Windows є консольна утиліта runas.exe, яку можна використовувати для запуску програм від імені іншого користувача з командного рядка.Крім того, команда runas дозволяє зберегти пароль користувача у Windows Credential Manager, щоб його не доводилося вводити щоразу.
Відкрийте командний рядок (або вікно "Виконати", натиснувши клавіші Win+R). Щоб запустити Блокнот від імені облікового запису адміністратора, виконайте команду:
runas /user:administrator "C:\Windows\notepad.exe"
Порада. Якщо ім'я користувача містить пробіли, його потрібно взяти в лапки:
runas /user:"user test" notepad.exe
У вікні з'явиться запрошення "Введіть пароль для admin", де вам потрібно ввести пароль і натиснути Enter.
Після цього має відкритися ваша програма. У моєму випадку це командний рядок (cmd). У заголовку вікна буде вказано Запущено від імені
Наприклад, можна відкрити Панель керування від імені іншого користувача за допомогою наступної команди:
Якщо потрібно запустити програму від імені доменного користувача, використовуйте формат імені
Наприклад, щоб відкрити блокнот із текстовим файлом від імені користувача server_admin домену CORP, виконайте команду:
runas /user:corp\server_admin "C:\Windows\notepad.exe C:\tmp\2871997x64.txt"
Введіть пароль для користувача corp\server_admin:
Спроба запуску C:\Windows\notepad.exe C:\tmp\2871997x64.txt від імені користувача "corp\server_admin" .
Якщо ви вказали неіснуюче ім'я користувача або пароль, з'явиться помилка:
RUNAS ERROR: Неналежним чином – ваші коментарі
1326: Ім'я користувача або пароль неправильні.
Або
RUNAS ERROR: Захищений від використання password
Іноді потрібно запустити програму від імені доменного користувача з комп'ютера, який не додано до домену Active Directory. У цьому випадку використовуйте таку команду (за умови, що в мережевих налаштуваннях вашого комп'ютера вказано DNS-сервер, який може дозволити цей домен):
runas /netonly /user:contoso\aaivanov cmd.exe
Якщо для запуску програми від іншого користувача не потрібно завантажувати профіль, використовуйте параметр /noprofile. При цьому програма запускається набагато швидше, але це може призвести до некоректної роботи програм, які зберігають дані у профілі користувача.
Використання RunAs у PowerShell
Якщо потрібно запускати програми/процеси від імені іншого користувача з PowerShell, ви можете використовувати командлет Start-Process (керування процесами за допомогою PowerShell). Спочатку потрібно запросити обліковий запис та пароль користувача:
Для запуску процесу від імені іншого користувача можна використати:
Start-Process -FilePath "powershell.exe" -Credential $Cred
Або можна запросити обліковий запис та пароль інтерактивно через Windows Security:
"Run as Administrator"
Start-Process -FilePath "powershell.exe" -Verb RunAs
Run as від іншого користувача
Start-Process -FilePath "powershell.exe" -Verb RunAsUser
Якщо вам потрібно запустити програму через runas від імені іншого адміністратора в привілейованому режимі (за замовчуванням UAC запускає програму в not-elevated контексті користувача), ви можете використовувати таку команду PowerShell:
Start-Process powershell -Credential winitpro\admin2 -ArgumentList '-noprofile -command &'
Або сторонню утиліту ShelExec:
Запуск програм від імені іншого користувача без введення пароля
Ви можете зберегти пароль користувача, який ви вводите. Для цього використовується параметр /savecred.
runas /user:admin /savecred "C:\Windows\notepad.exe"
Після вказівки пароля він збережеться у Менеджері паролів Windows.
При наступному запуску команди runas під тим самим користувачем з ключем /savecred Windows автоматично отримає збережений пароль із Credential Manager, і не буде запитувати його повторно.
Щоб вивести список усіх користувачів, для яких збережені паролі, використовується команда:
Однак використання параметра / savecred не безпечно, т.к.користувач, у профілі якого збережено чужий пароль, може використовувати його для запуску будь-якої команди під даними привілеями, або навіть змінити чужий пароль. Крім того, збережені паролі з Credential Manager можна легко вкрасти, тому краще заборонити використання збережених паролів (а тим більше не можна зберігати пароль привілейованого адміністративного облікового запису).
Примітка. Крім того, ключ / savecred не працює в домашніх редакціях Windows.
Ви можете використовувати RunAs для запуску mmc-інструментів від імені іншого користувача. Наприклад, якщо вам потрібно запустити інструмент Active Directory Users and Computers із набору інструментів адміністрування RSAT від імені іншого користувача, використовуйте таку команду:
runas.exe /user:pcinfo.priv\pcinfo "cmd /c start mmc %SystemRoot%\system32\dsa.msc"
Аналогічно можна запустити будь-який інший інструмент (головне знати його ім'я).
Ярлик для запуску програми від імені іншого користувача
Ви можете створити ярлик на робочому столі, щоб запустити програму від імені іншого користувача. Просто створіть новий ярлик, у його властивостях вкажіть команду runas із необхідними параметрами:
runas /user:pcinfo.priv\pcinfo "C:\Windows\notepad.exe"
При запуску такого ярлика буде запрошено пароль користувача.
Якщо до ярлика runas додати параметр /savecred, то пароль буде запитано лише один раз. Після цього пароль буде збережено в Credential Manager і автоматично використовуватиметься при запуску ярлика від імені іншого користувача без запиту пароля.
Такі ярлики часто використовуються для запуску програм, що вимагають прав адміністратора для запуску. Однак існують безпечніші способи запуску програми без прав адміністратора або відключення запиту UAC для певної програми.
У Провіднику Windows немає пункту "Запустити від імені іншого користувача"
Якщо в контекстному меню Провідника Windows немає пункту "Запустити від імені іншого користувача(Run as different user), слід перевірити налаштування двох параметрів реєстру Windows.
У Windows можна приховати або показати у Провіднику пункт меню RunAs за допомогою двох параметрів реєстру:
- Параметр HideRunAsVerb (тип REG_DWORD) у гілці реєстру HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer (1 - приховати пункт runas, 0 - показати).
- Параметр EnableSecureCredentialPrompting (REG_DWORD) в HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\CredUI (1 - приховати, 0 - показати).
Якщо Windows не має Run as different user, перевірте значення цих параметрів реєстру та змініть їх на 0. У доменному середовищі ви можете поширити значення цих параметрів реєстру на комп'ютери за допомогою Group Policy Preferences.
Другий параметр реєстру відповідає окрема опція GPO.
Ця опція GPO відповідає параметру EnableSecureCredentialPrompting у гілці реєстру HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\CredUI. Відкрийте редактор локальних групових політик (gpedit.msc) і переконайтеся, що у розділі Конфігурація комп'ютера -> Адміністративні шаблони -> Компоненти Windows -> Інтерфейс облікових даних користувача (Computer Configuration -> Administrative Templates -> Windows Components -> Credential User Interface) відключена (Не задана) політика Запитувати надійний шлях для входу до облікового запису (Require trusted path for credential entry).
Як додати опцію "Запуск від імені" до програм у меню "Пуск"?
За промовчанням у Windows 10 в елементах меню "Пуск" (стартовому екрані) відсутня можливість запуску програм від імені іншого користувача. Щоб додати в контекстне меню пункт "Запуск від імені іншого користувача", потрібно включити політику "Показувати команду «Запустити від імені іншого користувача» під час запуску" (Show “Run as different user” command onStart) у розділі редактора групових політик (консоль gpedit.msc) "Конфігурація користувача -> Адміністративні шаблони -> Меню «Пуск» та панель завдань(User Configuration -> Administrative Templates -> Start Menu and Taskbar).
Або, якщо редактор gpedit.msc відсутній, створіть у гілці реєстру HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer ключ типу DWORD з іменем ShowRunasDifferentuserinStart і значенням 1.
New-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Explorer" -Name ShowRunasDifferentuserinStart -Value 1 -PropertyType DWORD -Force
Залишилося оновити групові політики (gpupdate /force) і переконатися, що у програмах меню "Пуск" з'явиться нове контекстне меню Додатково -> Запуск від імені користувача.
Пункт "Запуск від імені" відсутній у програмах Universal Windows Platform (UWP) із Microsoft Store. Ви можете запустити програму UWP від імені іншого користувача з командного рядка за допомогою runas.exe.
Виведіть список програм із Microsoft Store на комп'ютері за допомогою PowerShell:
Ви можете знайти конкретну програму:
Знайдіть ім'я потрібної програми у списку. Наприклад, для запуску вбудованого чатового клієнта Microsoft Teams Chat від імені іншого користувача виконайте:
runas /user:користувач "explorer.exe MicrosoftTeams:"