Андрей Смирнов
Время чтения: ~12 мин.
Просмотров: 36

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

Runas.png

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

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

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

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

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

Run_this_program_as_administrator.png

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

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

runas /user:пользователь программа

где,

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

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

runas /user:Андрей notepad.exe

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

runas /user:"Дмитрий Петров" "C:Program Files (x86)VideoLANVLCvlc.exe"

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

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

runas /savecred /user:Андрей notepad.exe

Внимание! Ключ /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.png

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

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

Minimized_to_icon.png

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

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

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

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

Dispetcher_uchetnyh_dannyh_small.jpg

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

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

  • Вы здесь:  
  • Главнаяarrow.png
  • Windowsarrow.png
  • Запуск программы от имени другого пользователя в Windows

Во всех поддерживаемых версиях 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).

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

zapusk-ot-imeni-drugogo-polzovatelya-konekstnoe.png

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

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

runas-different-user.png

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

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

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

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

zaprashivat-dostovernyj-put-dlya-vhoda-v-uchetnuyu-z.png

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

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

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

runas /user:admin “C:Windowsnotepad.exe”

runas-useradmin.png

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

vvedite-parol-dlya-admin.png

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

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

runas /user:corpdomain_admin “C:Windowsnotepad.exe C:tmp2871997x64.txt”

word-image-1.png

Введите пароль для corpdomain_admin:Попытка запуска C:Windowsnotepad.exe C:tmp2871997x64.txt от имени пользователя "corpdomain_admin" ...

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

word-image-2.png

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

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

runas /user:admin /savecred “C:Windowsnotepad.exe”

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

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

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

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

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

runas.exe /user:DOMAINUSER “cmd /c start ”” mmc %SystemRoot%system32dsa.msc”

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

Как добавить пункт «Запуск от имени..» программам в меню Пуск

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

Либо, если редактор gpedit.msc отсутствует, создать в ветке реестра ключ типа DWORD с именем ShowRunasDifferentuserinStart и значением 1.

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

Чтобы запустить приложение от имени другого пользователя выполните следующие действия

  1. Нажмите клавишу ⇑ Shift, и удерживая её, щелкните правой кнопкой мыши по исполняемому файлу.
  2. В появившемся контекстном меню выберите Запуск от имени другого пользователя.
  3. В открывшемся окне введите логин и пароль пользователя, от имени которого нужно запустить программу и нажмите ОК.

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

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

  1. Нажмите клавишу Alt, и удерживая её, перетяните иконку исполняемого файла туда, где Вы желаете создать ярлык.
  2. Нажмите правой кнопкой мыши на созданном Вами ярлыке и выберите пункт Свойства.
  3. В поле Объект введите следующую команду:

runas /user:учетная_запись_пользователя program

где:

Runas — служит для запуска программы с разрешениями, отличными от тех, которые предоставляет текущая учетная запись./user:учетная_запись_пользователя — задает имя учетной записи пользователя, которая будет использована для запуска программы.program — задает команду или программу, которая будет запущена с помощью учетной записи, указанной в параметре /user.

Используемые источники:

  • https://beginpc.ru/windows/zapusk-programmy-ot-imeni-drugogo-polzovatelya-v-windows
  • http://winitpro.ru/index.php/2018/01/15/runas-sposoby-zapustit-programmu-ot-imeni-drugogo-polzovatelya/
  • https://hsp.kz/zapusk-prilozheniya-ot-imeni-drugogo-polzovatelya/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации