Как запустить программу от имени другого пользователя (RunAs) в Windows

Любой пользователь Windows может запустить программу в своем текущем сеансе от имени другого пользователя с помощью RunAs. Это позволяет запустить сценарий (.bat, .cmd, .vbs, .ps1), исполняемый файл .exe или установить приложение (.msi, .cab) с правами другого пользователя.

Например, вы можете использовать RunAs для установки приложений или запуска оснасток MMC под учетной записью администратора в сеансе пользователя без привилегий. Также можно использовать RunAs для запуска приложения, настроенного в профиле другого пользователя (приложение будет загружать свои настройки из профиля другого пользователя).

Существует несколько способов запустить программу или процесс от имени другого пользователя в Windows.

The Вторичный вход в систему служба (seclogon) отвечает за возможность запуска программ от имени разных пользователей в Windows. Если эта служба остановлена, все описанные методы RunAs не будут работать. Проверить, что служба запущена, можно с помощью следующей команды PowerShell:

Get-Service seclogon

служба вторичного входа в систему должна использовать функцию runas в windowsслужба вторичного входа в систему должна использовать функцию runas в windows

Как запускать приложения от имени другого пользователя из проводника файлов

Самый простой способ запустить приложение от имени другого пользователя – использовать графический интерфейс Windows File Explorer. Просто найдите приложение (или ярлык), которое вы хотите запустить, удерживайте кнопку Shift и щелкните на нем правой кнопкой мыши. Выберите Запустить от имени другого пользователя в контекстном меню.

Примечание. Если пункт меню “Запуск от имени другого пользователя” отсутствует, прокрутите статью вниз.

Запуск от имени другого пользователяЗапуск от имени другого пользователя

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

Примечание.

  • Если вы хотите запустить программу от имени пользователя Active Directory, вы должны указать его имя в поле userPrincipalName ( [email protected] ) или samAccountName ( DomainName\UserName ) формат ;
  • Если ваш компьютер подключен к домену AD, то для запуска программы от имени локальной учетной записи пользователя укажите ее имя в следующем формате: .\localusername .

диалог безопасности windiows - введите пароль другого пользователядиалог безопасности windiows - введите пароль другого пользователя

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

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

диспетчер задач приложение запущено под другим пользователемtaskmanager приложение запущено под другим пользователем

Команда RunAs: Запуск программы от имени пользователя, отличного от CMD

Вы можете использовать встроенную в Windows runas.exe CLI-инструмент для запуска приложений от имени другого пользователя из командной строки. Сайт runas также позволяет сохранить пароль пользователя в диспетчере учетных данных Windows, чтобы не вводить его каждый раз.

Откройте командную строку (или Выполнить окно, нажав Win+R). Чтобы запустить Notepad.exe под учетной записью администратора, выполните эту команду:

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

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

runas /user:"antony jr" notepad.exe

использование runas в командной строкеиспользование runas в командной строке

В следующем окне появится приглашение “Введите пароль для admin”, в котором нужно ввести пароль пользователя и нажать Enter.

Введите пароль для adminВведите пароль для администратора

Ваше приложение должно запуститься. В моем случае это cmd.exe. В заголовке окна написано “запущено от имени PCName\username“:

cmd работает от имени другого пользователя в windows 10запуск cmd от имени другого пользователя в windows 10

Например, вы можете открыть панель управления под другим пользователем:

runas /user:admin control

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

runas /user:corp\server_admin "C:\Windows\system32\notepad.exe C:\ps\region.txt"

Попытка запустить приложение от имени другого пользователя Попытка запустить приложение от имени другого пользователя

Enter the password for corp\server_admin:
Attempting to start C:\Windows\system32\notepad.exe C:\ps\region.txt as user "corp\server_admin " ...
Если вы указали несуществующее имя пользователя или неверный пароль, появится ошибка:

RUNAS ERROR: Unable to run - yourcommand
1326: The user name or password is incorrect.

или

RUNAS ERROR: Unable to acquire user password

Иногда вам нужно запустить программу от имени пользователя домена с компьютера, который не подключен к домену Active Directory. В этом случае необходимо использовать следующую команду (предполагается, что DNS-сервер, который может разрешить этот домен, указан в сетевых настройках вашего компьютера):

runas /netonly /user:contoso\bmorgan cmd.exe

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

Использование RunAs в PowerShell

Если вам нужно запустить программы/процессы от имени другого пользователя из сценариев PowerShell, вы можете использовать функцию Start-Process команда Start Process. Сначала нужно получить учетные данные пользователя:

$Cred = (Get-Credential)

Чтобы запустить процесс, команду или приложение от имени другого пользователя, можно воспользоваться командой PowerShell:

Start-Process -FilePath "powershell.exe" -Credential $Cred

Или можно получить учетные данные пользователя в интерактивном режиме через приглашение Windows Security:

# Run as Administrator
Start-Process -FilePath "powershell.exe" -Verb RunAs
# Run as from another user
Start-Process -FilePath "powershell.exe" -Verb RunAsUser

powershell: запуск процесса от имени другого пользователяpowershell: запуск процесса от имени другого пользователя

Если вам нужно запустить программу от имени администратора в повышенном режиме (по умолчанию UAC запускает программу в пользовательском контексте без повышенного уровня), вы можете использовать следующую команду PowerShell:

Start-Process powershell -Credential woshub\jsmith -ArgumentList '-noprofile -command &{Start-Process "cmd.exe" -verb runas}'

Или сторонний инструмент ShelExec:

ShelExec /Verb:runas cmd.exe

Как использовать RunAs без запроса пароля?

Вы можете сохранить введенные учетные данные пользователя (с паролем).[/savecred используется для этого.

runas /user:admin /savecred “C:\Windows\cmd.exe”

После указания пароля он будет сохранен в файле Диспетчер учетных данных Windows.

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

Чтобы отобразить список сохраненных учетных данных в диспетчере учетных данных, выполните следующую команду:

rundll32.exe keymgr.dll, KRShowKeyMgr

windows runas с опцией savecredруны windows с опцией savecred

Однако небезопасно использовать /savecred параметр. Пользователь, в профиле которого сохранен чужой пароль, может использовать его, чтобы выполнить любое приложение или команду под этими привилегиями или даже изменить пароль другого пользователя. Кроме того, пароли, сохраненные в диспетчере учетных данных, легко украсть, поэтому рекомендуется запретить Windows сохранять пароли (и никогда не сохранять пароли привилегированных административных учетных записей).

Примечание. Кроме того, опция /savecred не работает в версиях Windows Home edition.

Вы можете использовать команду RunAs для запуска оснасток mmc от имени другого пользователя. Например, если вы хотите запустить оснастку Active Directory Users and Computers (из набора инструментов администрирования RSAT) от имени другого пользователя, вы можете использовать эту команду:

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

Таким же образом можно запустить любую другую оснастку (если вы знаете ее название).

Как создать ярлык для запуска от имени другого пользователя

Вы можете создать ярлык на рабочем столе, который позволит запускать программу от имени другого пользователя. Просто создайте новый ярлык и укажите runasс необходимыми параметрами в поле Расположение:

runas /user:admin  “C:\Windows\notepad.exe”

ярлык с командой runasярлык с командой runas

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

Если вы дополнительно добавите /savecred параметр в runas ярлыка, то пароль будет запрашиваться только один раз. Пароль будет сохранен в Credential Manager и автоматически использован при запуске ярлыка от имени другого пользователя без запроса пароля.

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

Опция “Запуск от имени другого пользователя” отсутствует в Windows

Если опция “Запуск от имени другого пользователя” отсутствует в контекстном меню приложения в File Explorer, необходимо проверить значения двух параметров реестра Windows.

В Windows можно скрыть или показать пункт меню RunAs в File Explorer с помощью двух параметров реестра:

  • [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 не отображает опцию меню правой кнопки мыши “Запуск от имени другого пользователя”, проверьте значения этих параметров реестра и измените их на 0. В доменной среде вы можете установить эти параметры реестра на компьютеры с помощью привилегий групповой политики.

Параметр EnableSecureCredentialPrompting соответствует отдельной опции GPO. Откройте редактор локальной групповой политики (gpedit.msc) и убедитесь, что параметр Требование доверенного пути для ввода учетных данных политика отключена (или не настроена) в Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Пользовательский интерфейс учетных данных.

GPO: Требование доверенного пути для ввода учетных данных GPO: Требовать доверенный путь для ввода учетных данных

Добавьте опцию “Запустить как” в меню “Пуск” в Windows 10

По умолчанию элементы меню “Пуск” в Windows не имеют опции “Запуск от имени”. Чтобы добавить опцию “Запуск от имени другого пользователя”, включите опцию “Показывать команду “Запуск от имени другого пользователя” в “Пуске””. политика в Конфигурация пользователя -> Административные шаблоны ->Меню “Пуск” и панель задач раздел редактора локальной групповой политики (gpedit.msc).

Показать команду Показать команду

Или, если gpedit.msc отсутствует, создайте новый параметр DWORD с именем ShowRunasDifferentuserinStart и значение 1 под ключом реестра HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer. Для добавления параметра реестра можно использовать следующую команду PowerShell:

New-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\CurrentVersion\Explorer" -Name ShowRunasDifferentuserinStart -Value 1 -PropertyType DWORD -Force

Показать реестр ShowRunasDifferentuserinStartПоказать реестр ShowRunasDifferentuserinStart

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

пункт меню windows 11 пункт меню пуск для запуска другим пользователем

Опция “Запустить от имени другого пользователя” отсутствует в контекстном меню приложений Universal Windows Platform (UWP, Microsoft Store). Вы можете запустить приложение UWP от имени другого пользователя из командной строки с помощью runas.exe.

Список приложений Microsoft Store на компьютере с помощью PowerShell:

Get-AppxPackage|select Name

Можно найти конкретное приложение:

Get-AppxPackage|where {$_.Name -like '*teams*'} |select Name

Найдите в списке название нужного приложения. Например, чтобы запустить встроенный клиент Microsoft Teams Chat от имени другого пользователя, выполните следующие действия:

runas /user:user1 "explorer.exe MicrosoftTeams:"

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *