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

Обновлено: 01.07.2024

Во всех поддерживаемых версиях Windows существует возможность запускать в текущей сессии программы от имени другого пользователя ( Run As ). Благодаря этому можно выполнить скрипт (.bat, .cmd, .vbs, .ps1), исполняемый .exe файл или запустить установку приложения (.msi, .cab) с полномочиями другого пользователя (привелигированного).

К примеру, благодаря возможности использовать функционал Run As можно в сессии пользователя с ограниченными правами запустить установку программы или открыть нужную MMC оснастку управления компьютером под административной учетйно записью. Также возможность запуска программы «от имени» может быть полезна в ситуациях, когда приложение настроено под другим пользователем (и соответственно хранит свои настройке в чужом профиле, к которому у данного пользователя нет данных), а его нужно запустить с теми же настройками в сессии другого пользователя.

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

Запуск программы от имени другого пользователя из Проводника (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) и убедиться, что у программ в меню Пуск появится новое контекстное меню Дополнительно -> Запуск от имени другого пользователя .

date

03.08.2020

directory

Windows 10, Windows Server 2016

comments

комментария 42

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

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

За возможность запуска программ от имени другого пользователя в Windows отвечает служба Вторичный вход в систему (Secondary Log-on). Если эта служба остановлена все описанные методы runas работать не будут. ВЫ можете проверить, что служба запущена с помощью следующей команды PowerShell:

windows - служба вторичного входа в систему нужна для запуска от имени

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

Запуск программы от имени другого пользователя из Проводника Windows (File Explorer)

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

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

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

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

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

runas different user

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

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


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

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

Запрашивать достоверный путь для входа в учетную запись (Require trusted path for credential entry) - политика

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

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

Откройте командную строку (или окно Выполнить, нажав сочетание клавиш Win+R). Для запуска Блокнота с правами учетной записи admininstrator выполните команду:

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

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

runas /user:”user test” notepad.exe

runas /user:admin

В отрывшемся окне появится приглашение «Введите пароль для admin», где нужно набрать пароль и нажать Enter.

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

Должно открыться ваше приложение. В моем случае это cmd. В заголовке окна указано Запущено от имени CompName\username :

cmd.exe заголовок запущено от другого имени

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

runas /user:admin control

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

runas /user:corp\server_admin “C:\Windows\notepad.exe C:\tmp\2871997x64.txt”


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

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

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

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

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

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

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

сохраненные паролья runas в windows в диспетчере учетных данных

При следующем запуске команды runas под этим же пользователем с ключом /savecred Windows автоматически получит сохраненный пароль из Credential Manager, а не будет запрашивать его повторно.

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

runas /user:admin /savecred - сохранние пароля в менеджере паролей

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

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

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

Можно создать на рабочем столе ярлык, позволяющий запустить программу от имени другого пользователя. Просто создайте новый ярлык, в окне с адресом объекта которого укажите команду runas с нужными параметрами.


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

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

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

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

В некоторых случаях от имени другого пользователя нужно запустить одну из управляющих оснасток Windows. К примеру, если под другим пользователем нужно запустить оснастку Active Directory Users and Computers из набора инструментов администрирования RSAT, можно воспользоваться такой командой.

runas.exe /user:DOMAINname\USER “cmd /c start \”\” mmc %SystemRoot%\system32\dsa.msc”

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

Как добавить пункт “Запуск от имени” для программ в меню Пуск?

По-умолчанию в 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

ShowRunasDifferentuserinStart - реестр

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

RunAs

Может возникнуть ситуация, когда необходимо запустить какую-нибудь программу от имени другой учетной записи существующей в компьютере. Причин этого может быть множество, например программа требует для работы прав администратора компьютера или любые другие, главное научиться запускать программы от имени другого пользователя компьютера.

Способов добиться этого существует множество, давайте рассмотрим некоторые штатные возможности операционной системы Windows. Проще всего, если требуется запустить программу от имени администратора, достаточно щелкнуть по запускаемому файлу или ярлыку правой кнопкой мыши и выбрать пункт «Запуск от имени администратора». Ввести пароль и нажать кнопку «OK», программа запуститься от имени администратора.

Чтобы запустить программу от имени другого пользователя системы, нужно с нажатой клавишей Shift на клавиатуре щелкнуть правой кнопкой мыши на нужном файле и выбрать в контекстном меню пункт «Запуск от имени другого пользователя», ввести его логин и пароль.

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

Бывает, программа запускается только от имени администратора, а вы пользуетесь обычной учетной записью, тогда можно сократить запуск программы на одно действие, достаточно зайти в свойства ярлыка и на вкладке «Совместимость» отметить галочку «Выполнять эту программу от имени администратора». Теперь двойной клик левой кнопкой мыши по этому ярлыку сразу будет требовать ввода пароля администратора.

Настройка запуска как администратор

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

Для часто запускаемых программ от имени другого пользователя, неудобно каждый раз нажимать Shift и щелкать правой кнопкой мыши, проще воспользоваться специальной встроенной командой Runas. Для этого создадим ярлык, который будет запускать нужную программу от имени другого пользователя компьютера. Как создать ярлык можно прочитать здесь. В поле «Объект» напишем следующую команду:

пользователь — учетная запись, от имени которой требуется запустить программу, записывается в виде имя_учетной_записи@имя_компьютера или имя_компьютера\имя_учетной_записи , хотя просто имя_учетной_записи тоже работает.

программа — имя исполняемого файла, который мы хотим запустить. Если исполняемый файл находится не в системных переменных окружения, необходимо указывать полный путь до него.

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

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

Все хорошо работает, но вводить постоянно пароль быстро надоедает. На этот случай, команда Runas имеет специальный ключ /savecred . В случае его использования, пароль вводится только один раз при первом запуске, он сохраняется в недрах Windows и при последующих запусках подставляется автоматически. Вся команда выглядит следующим образом:

Внимание! Ключ /savecred не работает в Домашних версиях Windows.

Кажется вот оно счастье, однако есть определенные неудобства. Например, какая-либо программа отказывается запускаться в простой учетной записи. Вы запускаете ее вышеописанным способом, все замечательно. Теперь та же ситуация чуть под другим углом. Вы администратор компьютера, а например у вашего ребенка простая учетная запись и игра отказывается запускать под ним. Давать ему пароль администратора вы не намерены, поэтому вы создаете ярлык, прописываете ключ /savecred , вводите пароль первый раз и довольный потираете руки.

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

Так же он получит доступ ко всем файлам на жестком диске компьютера, даже если доступ к ним запрещен его учетной записи, включая папки «Мои документы» других пользователей компьютера. Согласитесь, довольно серьезная дыра в безопасности компьютера при использовании команды Runas с ключом /savecred.

У команды Runas есть ограничения на запуск некоторых системных программ от имени администратора компьютера, в том числе проводника. В Windows XP это обходится использованием ключа /separate: runas /savecred /user:Андрей "explorer.exe /separate"
В более поздних версия операционной системы Windows он не работает, но можно воспользоваться любым другим файловым менеджером и получить доступ к файлам от имени админа.

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

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

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

Во-вторых, сделать запуск с помощью пакетного (batch) файла. Открываете текстовый редактор, например блокнот и пишете там строчку, которую писали в поле «Объект» ярлыка. Сохраняете его с расширение .bat. Теперь при запуске этого пакетного файла, точно так же выполнится команда, написанная в нем. Однако этого не достаточно, так как его содержимое можно посмотреть и изменить в простом текстовом редакторе.

Если в имени пользователя или пути к файлу есть русские буквы, то его нужно сохранить в кодировке DOS 866 или в начало bat файла на отдельной строке необходимо вставить chcp 1251.

В-третьих, сделать bat файл не читаемым, чтобы затруднить пользователю анализ, каким образом запускается программа. Для этого сконвертируем наш bat файл в привычный exe. Можно воспользоваться одной из программ конвертеров, например бесплатной программой «Bat To Exe Converter» или любой другой на ваш вкус. Запускаете программу и в поле «Batch file» указываете ваш bat файл. В поле «Save as» куда и под каким именем сохранить результат. Дополнительно для большей конспирации можно на вкладке «Versioninformations» в поле «Icon file» указать значок для нашего будущего exe-шника в формате ico. Остальные параметры можно не трогать. Когда все будет готово, нажимаете кнопку «Compile» и получаете свой exe файл.

Программа Bat To Exe Converter

Теперь открывать его в текстовом редакторе бесполезно. Копируете его в папку с запускаемой программой, называете как-нибудь похоже на название программы и делаете на него обычный ярлык на рабочем столе.

В-четвертых, последний штрих, выдающий в нем командный файл, это на секунду появляющееся черное окно на рабочем столе. Избавиться от него совсем простым способом не получится, но можно достаточно просто свести его заметность к минимуму. Достаточно в свойствах ярлыка на вкладке «Ярлык» выбрать пункт «Свернутое в значок», теперь только на панели задач будет появляться на мгновение окно командной строки.

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

Как удалить сохраненный пароль в команде Runas

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

Чтобы удалить сохраненный пароль, выполните «Пуск» ⇒ «Панель управления» ⇒ «Учетные записи пользователей и семейная безопасность» ⇒ «Диспетчер учетных данных».

Скриншот панели управления

В разделе «Учетные данные Windows» (интерактивный вход в систему) удаляете не нужные больше записи из хранилища.

Бывают ситуации, когда требуется запустить какую-либо программу от имени другого пользователя. Не важно, почему это понадобилось, главное – как это сделать быстро, тихо, и без шума. В этом нам поможет как обычная команда меню, так и специализированная команда runas, о чем и рассказывается в этой статье.

Самый простой способ запустить программу от имени другого пользователя – это стандартное контекстное меню, но с небольшой хитростью.

А именно, нам необходимо щелкнуть на файле программы правой кнопкой мыши, но с предварительной зажатой клавишей <Shift>. В результате, в открывшемся меню появится команда Запуск от имени другого пользователя.

win008

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

Внимание: учтите, что запустить программу с другой учетной записи можно лишь в том случае, если эта учетная запись имеет пароль. В противном случае, ничего не выйдет.

Предположим, нам необходимо регулярно запускать программу от имени другого пользователя. Каждый раз зажимать <Shift> мне лень. Поэтому давайте создадим ярлык.

Нажмите и удерживайте нажатой клавишу <Alt>. Теперь, не отпуская кнопки, перетащите значок файла программы в то место, где нужно создать ярлык, скажем, в другую папку или на рабочий стол.

Теперь щелкните на ярлыке правой кнопкой мыши и выберите команду Свойства. Нам нужно поле Объект, в котором следует ввести вот такую команду:

win009

Как видно из скриншота, мы задействуем команду runas. Именно она используется для запуска программ с правами другой учетной записи. Вместо фразы “учетная_запись”(см. пример над скриншотом) следует ввести имя другой учетной записи, с правами которой программа и будет запускаться. Наконец, вместо “программа” следует ввести имя программы либо команды для запуска.

В том случае, если программа для запуска не находится в системной папке, то путь к ней также нужно указать в кавычках. Системные папки – это папки Windows, Program Files, Documents and Settings.

А вот какая нужная команда для использования учетной записи администратора, для чего к значению “user” следует указать один из двух вариантов:

У команды runas есть и другие интересные параметры, не поленитесь их узнать, выполнив в командной строке следующую команду:

Как видите, ничего сложного – просто как пряник. Или бывают сложные пряники? Хороший вопрос.

Читайте также: