Запуск програм від імені іншого користувача (RunAs) у Windows
Будь-який користувач Windows може запустити у своїй сесії програму від імені іншого користувача за допомогою Run As . Завдяки цьому ви можете виконати скрипт (.bat, .cmd, .vbs, .ps1), запустити виконуваний .exe файл або інсталяцію програми (.msi, .cab) з повноваженнями іншого користувача.
Наприклад, ви можете використовувати RunAs для встановлення програм або запуску програм/скриптів/MMC оснасток з правами адміністратора безпосередньо в сесії звичайного непривілейованого користувача. Також через RunAs ви можете запустити програму, налаштовану у профілі іншого користувача (додаток завантажиться з налаштування з профілю іншого користувача).
За можливість запуску програм від імені іншого користувача у 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 оснасток від імені іншого користувача.Наприклад, якщо під іншим користувачем потрібно запустити оснастку Active Directory Users and Computers з набору інструментів адміністрування RSAT, можна скористатися такою командою.
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:"
Як у Windows 11 запускати програми від імені іншого користувача
Будучи розрахованою на багато користувачів ОС, Windows 11 дозволяє запускати програми від імені іншого користувача. Це означає, що якщо у вас більше одного облікового запису користувача, ви можете запустити якусь програму під різними обліковими даними. Це може бути корисно, коли вам потрібно швидко застосувати деякі обмеження до програми або заборонити доступ до ваших особистих даних.
Запуск від імені іншого користувача – це вбудована функція Windows 11, тому вам не потрібно інсталювати додаткове програмне забезпечення.Крім запуску звичайних програм (.exe), можна використовувати його з пакетними файлами (.bat, .cmd) і файлами Windows Installer (.msc або .msi).
Будучи запущеним від імені іншого користувача, програма, скрипт або інсталятор будуть працювати з тими ж правами, обмеженнями та дозволами, які є у цього користувача. Вони не будуть використовувати дані облікового запису користувача, в якому ви зараз працюєте. Такий підхід уможливлює запуск кількох примірників одного й того ж додатка, що працюють під різними обліковими даними на одному робочому столі.
Існує чотири способи запустити програму від імені іншого користувача у Windows 11. Для цього ви можете використовувати параметри, доступні у провіднику, на панелі завдань, у меню «Пуск» та в командному рядку.
Запуск від імені іншого користувача у Windows 11
Щоб запустити програму від імені іншого користувача у Windows 11, виконайте наведені нижче дії.
- Відкрийте провідник ( Win + E ) і перейдіть в папку, що містить файл програми, що виконується.
- Натисніть і утримуйте клавішу Shift на клавіатурі, і клацніть правою кнопкою миші файл, що виконується.
- Натисніть "Показати додаткові параметри", щоб відкрити розширене контекстне меню. Можна відпустити клавішу Shift.
- Натисніть "Запуск від імені іншого користувача" у контекстному меню.
- Введіть ім'я користувача та пароль для користувача, від якого ви хочете працювати.
Готово. Програма запуститься під наданими обліковими даними іншого користувача.
Існує ще кілька способів запуску виконуваного файлу, скрипта або інсталятора під різними обліковими даними.
Запуск імені користувача з контекстного меню панелі завдань
- Клацніть правою кнопкою миші піктограму програми на панелі завдань. Це може бути закріплена або запущена програма.
- Натисніть та утримуйте клавішу Shift.
- Утримуючи Shift, клацніть правою кнопкою миші ім'я програми у контекстному меню, щоб побачити додаткові пункти меню.
- Відпустіть клавішу Shift і натисніть кнопку «Запуск від імені іншого користувача».
Примітка. Цей метод не працює для Провідника, незалежно від того, чи закріплений його значок на панелі завдань, або він запущений в даний момент. Команда «Запуск від імені» недоступна для піктограми Провідника на панелі завдань у будь-якому випадку.
Нарешті, Windows 11 включає консольну програму «runas», яка дозволяє запускати програми з використанням різних облікових даних. Ось як його використати.
Запуск від імені іншого користувача Windows 11 з командного рядка
- Клацніть правою кнопкою миші кнопку «Пуск» на панелі завдань і виберіть «Термінал Windows» у контекстному меню.
- Виберіть PowerShell або командний рядокякщо Термінал відкривається в іншому профілі.
- Введіть наступну команду та натисніть Enter. runas /user:"username" "Повний шлях до exe-файлу" .
- Замініть ім'я користувача фактичним ім'ям облікового запису користувача, від якого ви хочете працювати. Якщо це обліковий запис домену, використовуйте формат Ім'я домену\Ім'я користувача.
- Також, якщо ви хочете зберегти введені облікові дані для використання в майбутньому, виконайте команду runas /user:"username" /savecred "Повний шлях до exe-файлу". Windows збереже пароль у диспетчері облікових даних і не вимагатиме його наступного разу.
На додаток до розглянутих вище методів ви можете також додати команду «Запуск від імені іншого користувача» в меню «Пуск».Він з'явиться в контекстному меню ярликів у поданні «Всі програми».
Для цього в Windows 11 є групова політика. Ви можете активувати її за допомогою реєстру або в gpedit.msc. Перший варіант працює у всіх випусках Windows 11. Другий доступний тільки в Windows 10 Pro і вище.
Як увімкнути "Запуск від імені" для меню "Пуск"
Щоб увімкнути параметр «Запуск від імені іншого користувача» в меню «Пуск» у Windows 11, виконайте наведені нижче дії.
- Завантажте ZIP-архів за цим посиланням.
- Вийміть із нього REG файли до будь-якої папки.
- Двічі клацніть файл Add_Run_as_ Different_user_for_Start_menu.reg , щоб увімкнути параметр для ярликів меню «Пуск».
- Підтвердьте запрошення UAC, натиснувши кнопку "Так".
- Вийдіть з Windows 11 або просто перезавантажте комп'ютер, щоб зміни набули чинності.
Готово. Файл для скасування цієї зміни - Remove_Run_as_ Different_user_for_Start_menu.reg .
Якщо ви використовуєте Windows 10 Pro або пізнішу версію, ви можете використовувати редактор локальної групової політики.
Метод групової політики
- Натисніть Win + R та введіть gpedit.msc у полі "Виконати", потім натисніть Enter .
- Перейдіть до «Конфігурація користувача» > «Адміністративні шаблони» > «Пуск та панель завдань».
- Знайдіть команду "Показати «Запуск від імені іншого користувача» у політиці «Пуск»праворуч і двічі клацніть її.
- Виберіть «Увімкнено», щоб додати команду «Запуск від імені іншого користувача» у контекстне меню ярликів у "Пуск".
- У будь-який час ви можете вибрати опцію «Не задано» для цієї політики, щоб приховати команду, як це було за промовчанням.
Тепер команда доступна для ярликів меню «Пуск».Ось як використовувати запуск від імені іншого користувача з меню «Пуск»
Запуск від імені іншого користувача з меню Пуск
- Відкрийте меню "Пуск".
- Натисніть кнопку "Всі програми".
- Знайдіть ярлик програми для своєї програми та клацніть її правою кнопкою миші.
- Виберіть "Додатково" > "Запуск від імені іншого користувача".
- Заповніть текстові поля імені користувача та пароля та натисніть клавішу Enter .
Нарешті, якщо ви часто використовуєте контекстне меню "Запуск від імені іншого користувача", вас швидко набридне необхідність тримати клавішу Shift кожного разу, коли натискаєте на меню "Показати додаткові параметри".
Щоб заощадити час, ви можете зробити його завжди видимим у розширеному контекстному меню в розділі «Показати додаткові параметри».
Примітка: Ви не можете додати пункт "Запуск від імені іншого користувача" у стандартне "компактне" контекстне меню. Воно не налаштовується. Команда з'явиться лише у класичному меню.
Завжди показувати Запуск від імені іншого користувача у контекстному меню
- Натисніть Win + R , щоб відкрити діалогове вікно "Виконати"; введіть regedit та натисніть Enter, щоб відкрити редактор реєстру.
- На лівій панелі перейдіть до ключа HKEY_CLASSES_ROOT\exefile\shell\runasuser .
- Праворуч видаліть значення Extended (Порожнє текстове значення).
- Тепер видаліть той самий текстовий параметр у наступних розділах:
- HKEY_CLASSES_ROOT\cmdfile\shell\runasuser
- HKEY_CLASSES_ROOT\batfile\shell\runasuser
- HKEY_CLASSES_ROOT\mscfile\shell\runasuser
- HKEY_CLASSES_ROOT\Msi.Package\shell\runasuser
- Команда «Запуск від імені іншого користувача» тепер завжди буде видно у варіанті меню «Показати додаткові параметри».
Щоб скасувати цю зміну, просто наново створіть віддалений параметр "Extended" під відповідними ключами.
Щоб автоматизувати цей процес, можна використовувати наступні готові файли реєстру.
Файл Always_show_Run_as_ Different_user.reg дозволяє відображати команду безпосередньо, не утримуючи клавішу Shift для елемента "Показати додаткові параметри". Другий REG файл скасує цю зміну.
Однак іноді ви можете захотіти досягти протилежного ефекту та приховати команду «Запуск від імені іншого користувача» для всіх користувачів. Для цього вам потрібно застосувати трохи інший твік реєстр. Давайте розглянемо його для повноти картини.
Видалити контекстне меню "Запуск від імені іншого користувача" для всіх користувачів
- Відкрийте редактор реєстру (regedit.exe).
- Перейдіть до наступного ключа HKEY_CLASSES_ROOT\cmdfile\shell\runasuser.
- Клацніть правою кнопкою миші ключ runasuser ліворуч і виберіть меню «Створити» > «Строкове значення».
- Назвіть нове значення "ProgrammaticAccessOnlyі залиште його значення порожнім.
- Тепер повторіть кроки 2-4 у цих розділах:
- HKEY_CLASSES_ROOT\cmdfile\shell\runasuser
- HKEY_CLASSES_ROOT\batfile\shell\runasuser
- HKEY_CLASSES_ROOT\mscfile\shell\runasuser
- HKEY_CLASSES_ROOT\Msi.Package\shell\runasuser
- Запис «Запуск від імені іншого користувача» тепер видалено всім користувачам.
Готово. Значення ProgrammaticAccessOnly вказує провіднику приховати елемент контекстного меню від користувача, не порушуючи роботу програм або Windows. Прихована команда залишається доступною для програм, якщо деякі з них потребують доступу до неї.
Щоб повернути приховану команду контекстного меню, просто видаліть створене вами значення ProgrammaticAccessOnly.
Щоб заощадити час, я підготував пару REG-файлів на цей випадок.
Файл Remove_Run_as_ Different_user_from_context_menu.reg приховає пункт меню. Інший файл, Add_Run_as_ Different_user_from_context_menu.reg , відновить команду в контекстному меню.
💡Дізнайтеся про нові статті швидше. Підпишіться на наші канали в Telegram та Twitter.
Зважаючи на те, що ви читаєте цей текст, ви дочитали цю статтю до кінця. Якщо вона вам сподобалася, поділіться, будь ласка, за допомогою нижченаведених кнопок. Дякую за вашу підтримку!
Ви тут: Головна » Windows » Windows 11 » Як у Windows 11 запускати програми від імені іншого користувача
Публікації на тему
Автор: Сергій Ткаченко
Сергій Ткаченко створив цей сайт у далекому 2009 році, і з того часу продовжує над ним працювати, публікуючи нові матеріали про Windows та її додатки практично щодня. Переглянути всі записи автора Сергей Ткаченко
Автор Сергій Ткаченко Опубліковано 15 березня 2022 15 березня 2022 Рубрики Windows 11 Мітки Облікові записи
Корисні посилання
Соціальні мережі
Вибране