Не работает runas windows 7

Обновлено: 07.07.2024

RunAs из коробки
AdmiLink и его армия
  • Пользователь сможет запускать нужную программу с нужными правами.
  • Пользователь не сможет узнать пароль Администратора через ярлык запуска.
  • Пользователь не сможет запустить не разрешенную Администратором программу, даже подменив исполняемый файл или командную строку в ярлыке.
Как работает RunAs и аналоги

Этот момент хорошо разобрал Mick Grove в своей статье Capturing credentials from ‘Encrypted RunAs’ software ещё в 2013 году. Он заметил, что любой подобный софт не изобретает велосипед, а использует для запуска программ от имени другого пользователя стандартную функцию CreateProcessWithLogonW, которой в качестве параметров нужно передавать логин и пароль в открытом виде. А это в свою очередь означает, что запросы к функциям можно перехватить и просто прочитать их параметры, получив на руки логин и пароль администратора. Для мониторинга здесь использовалась бесплатная программа API Monitor, и что самое важное, для её запуска не нужны права администратора, она отлично работает в пользовательском пространстве, поскольку обращение к функции CreateProcessWithLogonW происходит именно в контексте пользователя, а уже сама функция осуществляет запуск процесса с заданными учётными данными, что и следует из её названия.

Получение учётных данных администратора происходит по следующей цепочке:

  1. Пользователь с ограниченными правами запускает ярлык, в котором хорошо зашифрованы данные для запуска программы.
  2. RunAs или его аналоги проверяют корректность шифра и целостность программы, затем извлекают данные и в открытом виде передают их функции CreateProcessWithLogonW.
  3. В это же время API-мониторинг перехватывает данные, переданные функции в качестве параметров, чем делает бессмысленным шифрование пароля и полностью компрометирует учётные данные администратора.
Всё пропало?
Есть ли альтернативы?

В этой статье приводится ряд обходных способов решения проблемы, в которой после обновления Windows Server нельзя использовать команду, параметр Run as Administrator или Run в качестве другого runas пользовательского параметра.

Применяется к: Windows Server 2012 R2
Исходный номер КБ: 977513

Симптомы

Рассмотрим следующий сценарий.

Причина

Список управления дискреционным доступом (DACL) для службы Secondary Logon неправильно задаваем при обновлении Windows Server. Эта проблема не позволяет обычному пользователю запускать эту службу и запускать приложение в качестве другого пользователя.

Обход 1. Использование Sc.exe командной подсказок

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

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

Для этого выполните указанные ниже действия.

Откройте окно командной строки.

В командной строке введите следующую команду, а затем нажмите клавишу ВВОД:

В командной строке введите следующую команду, а затем нажмите клавишу ВВОД:

Эта команда завернута для читаемости.

Закройте окно командной строки.

Попробуйте использовать одну из следующих функций:

  • runas команда
  • Запуск в качестве параметра Администратор
  • Запуск в качестве другого пользовательского параметра

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

Обходное решение 2. Использование групповой политики

Консоль управления групповой политикой можно настроить политику на основе домена, которая задает безопасность конфигурации по умолчанию после обновления сервера. Для этого обхода необходимо создать новый объект групповой политики (GPO). И его следует связывать так, чтобы новый GPO применялся только к затронутым компьютерам.

Для этого выполните указанные ниже действия.

Изменение групповой политики в консоли управления групповой политикой.

Найдите политику: Конфигурация компьютера\Политики\Windows Параметры\Security Параметры\System Services.

Откройте службу Secondary Logon.

Выберите поле Определение этого параметра политики, а затем выберите Включено.

Установите режим запуска службы в ручном режиме.

Расширйте узел безопасности, чтобы убедиться, что задаются следующие свойства и объекты.

Выберите ОК, чтобы применить изменения безопасности.

Выберите ОК для применения изменений групповой политики.

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

Попробуйте использовать одну из следующих функций:

  • runas команда
  • Запуск в качестве параметра Администратор
  • Запуск в качестве другого пользовательского параметра

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

Дополнительная информация

Дополнительные сведения о команде runas можно получить на следующем веб-сайте Microsoft TechNet:

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

Такая ситуация:
Есть программа (exe-шник), которая во время работы использует два файла, находящиеся в той же папке,при этом во время работы она записывает в эту папку txt файлы. На компе есть две учетные записи: Admin и user с ограниченными правами, папка с прогой у user'а заблокирована - задача запускать от user'а эту прогу через бат файл. (пароль есть)

почитав немного инфы про батники попробовал такую команду:

- прога не запускается

потом наткнулся в инете на похожую проблему написанную на этом форуме ( однако до конца решить проблему не смог, поэтому и написал именно тут)

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

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Запуск батника с правами админа из под учетки с ограниченными правами
Здравствуйте. Есть батник. Так же есть учетка с ограниченными правами. Нужно что бы батник.

Какой командой можно перезапустить CMD c правами текущей учетной записи на удаленном ПК?
Здравствуйте. При использовании программы удаленного доступа, бат файлы запускаются в CMD с правами.

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

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

рунас не лучший выход с точки зрения безопасности.
может таки лучше дать права юзеру на папку? п.с. забыл добавить О.С. Winxp
Попробую разобраться с dnsscrypt.
Юзеру никак нельзя дать права на папку.
Буду признателен если еще будут какие нибудь варианты решения проблемы, конечно лучше если все же через runas andrej77
В хр тоже вроде как task manager есть. Попробуйте.

- прога не запускается

Решение

1) Создать ярлык к программе - Свойства - Вкладка "Ярлык", Дополнительно - Запускать от имени администратора;
Вкладка "Совместимость" - Запускать от имени администратора.

2) Планировщик
Советы от Microsoft (см. способ № 4)
или скачайте себе CCleaner, и сами посмотрите как он создает в "Планировщике задач" обход режима повышения привилегий.

При этом удобно будет в скрипте зашифровать пароль учетной записи администратора, сделать это можно специальными утилитами, например Script Encoder (freeware).

4) Сторонней утилитой:
Рекомендую отечественную: AdmiLink
(не путать с платной).

Добавлено через 10 часов 55 минут
5) Вот еще проверил способ через PowerShell:

//взято с хабрахабр

P.S. Чтобы проверить сохраняем под именем Runas.ps1,
запускаем CMD от имени админа, печатаем (чтобы разрешить политику запуска неподписанных скриптов через Powershell):

Выходим.
Запускаем любую команду/программу с повышенными правами, например так:

6) Еще есть такая вещь как Native Shell
Это командная оболочка, запускаемая до входа в систему (там например любит сканировать винт на ошибки Chkdsk).
Так вот, там вообще нет такого понятия как права.
Если кому интересно, можете почитать здесь и здесь.

а) Если программа имеет установщик, переустановите ее из под обычного юзера (от имени администратора) с опцией установки "Для всех пользователей" (если такая имеется).
б) Попробуйте убрать ключ /env из команды Runas.

В крайнем случае попробуйте c помощью PsExec (позволяет запустить программу из-под учетной записи SYSTEM).

Вот еще тема (сохранение пароля runas через программу CPAU).

Bear74, кстати синтаксис CMD кавычку пропускает и не считает за ошибку.

7) Запуск через команду Runas ссылка

8) Запуск с отображением диалога элевации прав UAC посредством скомбинированного BAT-VBS скрипта ссылка

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

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