Runas savecred не работает

Команда RUNAS — запуск приложения от имени другого пользователя Windows .

&nbsp &nbsp Команда RunAS используется для запуска приложения под учетной записью пользователя, имя которого передается в качестве параметра командной строки. В Windows 7, и более поздних, данная команда, при стандартных настройках безопасности, не позволяет получить администраторские привилегии, как это происходит в режиме «Запустить от имени Администратора». Для запуска приложения от имени администратора потребуется выполнение некоторых настроек системы. Универсальный способ запуска приложений и командных файлов от имени администратора без запроса системы контроля учетных записей UAC с использованием стандартного Планировщика заданий описан в статье Запуск из командного файла приложений от имени Администратора без запроса UAC.

Формат командной строки RUNAS:

RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ] /user:имя пользователя программа

RUNAS [ [/noprofile | /profile] [/env] [/savecred] ] /smartcard [/user:имя пользователя] программа

RUNAS /trustlevel:уровень доверия программа

Параметры командной строки:

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

/profile — Загружать профиль пользователя. Этот параметр установлен по умолчанию.

/env — Использовать текущие параметры среды.

/netonly — Учетные данные предназначены только для удаленного доступа.

/savecred — Использовать учетные данные, сохраненные пользователем. Этот вариант не доступен в выпусках Windows 7 Домашняя или Windows 7 Начальная и будет проигнорирован.

/smartcard — Для указания учетных данных используется смарт-карта.

/user — имя пользователя должно быть в виде USER@DOMAIN или DOMAIN\USER

/showtrustlevels — Отобразить список уровней доверия, которые можно использовать в качестве аргументов параметра /trustlevel.

/trustlevel — Значение «уровень доверия» должно быть перечислено в списке уровней доверия.

программа — Командная строка для EXE. См. примеры ниже.

runas /user:mymachine\administrator cmd.exe — запустить интерпретатор команд cmd.exe от имени пользователя «administrator» компьютера «mymachine». При выполнении команды, будет запрошен пароль пользователя, от имени которого должна выполняться задача.

runas /noprofile /env /user:mydomain\admin » mmc %windir%\system32\diskmgmt.msc » — запустить консоль mmc с оснасткой «Управление дисками» от имени пользователя «admin» в домене «mydomain». Профиль пользователя не загружается, и используются текущие переменные среды. Загрузка профиля пользователя необходима только тогда, когда будет выполняться задача, которой требуются какие-либо данные из него. Если задан параметр «/env» то переменные окружения наследуются из среды текущего пользователя.

runas /savecred /user:admin@mydomain regedit.exe — запустить редактор реестра «regedit.exe» от имени пользователя «admin» домена «mydomain» с запоминанием введенного пароля. При наличии параметра «/savecred», введенный пароль запоминается в реестре в зашифрованном виде и в дальнейшем запрашиваться не будет .

runas /showtrustlevel — отобразить уровни доверия, существующие в системе. В ответ будет отображаться перечень в виде:

В системе доступны следующие уровни доверия:
0x20000 (Обычный пользователь)

Кроме значения trustlevel равного 0x20000 можно пользоваться значениями 0x10000 , соответствующему минимальному набору привилегий и 0x40000 , стандартному для данного пользователя набору. Для просмотра отличий разных уровней доверия можно воспользоваться командой Whoami , выполняя ее в сеансе командного процессора, запускаемого с каждым из уровней trustlevel

runas /trustlevel:0x20000 cmd.exe — запустить командный процессор cmd.exe с использованием уровня доверия, полученного в предыдущем примере.

runas /trustlevel:0x40000 cmd.exe — запустить командный процессор cmd.exe с использованием стандартного уровня доверия.

Примечание: в сеансе командной строки, запущенной с использованием параметра /trustlevel, список привилегий соответствующий каждому уровню доверия можно получить с использованием команды whoami /priv , а полные сведения об учетной записи — whoami /ALL

Примечание: параметр /profile несовместим с параметром /netonly .

Примечание: параметр /savecred несовместим с параметром /smartcard .

Для запуска приложений от имени администратора с использованием runas.exe необходимо изменить стандартные настройки безопасности системы:

— включить учетную запись Администратора ( по умолчанию, она отключена);

— задать пароль для пользователя Администратор ;

Для проверки наличия прав администратора использовался командный файл с именем who-admin.bat следующего содержания:

WHOAMI /PRIV | find /i «SeRemoteShutdownPrivilege»

if %ERRORLEVEL% == 0 goto admin

echo NOT have admin rights!

Принцип анализа привилегий основан на использовании команды whoami с параметром /priv . В зависимости от наличия прав администратора, командный файл выводит сообщение «NOT have admin rights!», или — «. ADMIN . » и ожидает нажатия клавиши на клавиатуре. Подробности найдете в описании команды whoami по ссылке из полного списка команд.

runas /savecred /user:Администратор C:\scripts\who-amdmin.bat — запуск от имени администратора командного файла who-amdmin.bat , находящегося в папке C:\scripts . При первом запуске будет запрошен пароль Администратора, при последующих запусках ( с параметром /savecred ) — ввод пароля не требуется.

Пароли, запоминаемые при использовании утилиты RUNAS.EXE с параметром /savecred можно изменить или удалить с помощью оснастки управления сохраненными паролями:

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

Источник

Рунас не работает на Windows 10

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

Я искал способ запустить программу без запроса пароля администратора, и я столкнулся с runas .

Это команда, которую я использую:

runas /user:Administrator /savecred «Путь \ К \ Software.exe»

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

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

Я также проверил, что запущены 2 службы (не помню их имен, но они связаны с запущенными приложениями с разными привилегиями).

У вас, ребята, есть решение, чтобы это работало?

4 ответа 4

Если на вашем компьютере включен контроль учетных записей (UAC) (я надеюсь, что ответ «да»), команда «runas» не повышает ваши привилегии. т.е. он запускает приложение, но не с правами администратора.

Однако попробуйте эту команду Windows PowerShell:

Естественно, вы должны вводить эту команду в Windows PowerShell вместо командной строки.

Тем не менее, это определенно не решение вашей проблемы. Политика Microsoft состоит в том, чтобы либо не предоставлять, либо полностью отказывать в любых средствах, поощряющих использование административных привилегий. (Эта политика вступила в силу после фиаско в области безопасности в 2003 году.) Ближайшая вещь, которую Microsoft предоставляет, — набор средств для обеспечения совместимости приложений, который позволяет игнорировать манифест приложения и запускаться с ограниченными привилегиями. Это делает трюк для приложений, которые достаточно глупы, чтобы не проверять, получили ли они то, что просили в своих манифестах.

Конечно, время от времени я замечаю сторонние решения по обеспечению безопасности, которые включают то, что вы хотите. За исключением непопулярности, они быстро исчезают.

Мы обнаружили, что если профиль runas не был полностью загружен (т. Е. UID runas не был полностью зарегистрирован на компьютере ранее), он не будет работать правильно .

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

Лучше всего, поскольку вы не хотите предоставлять этому пользователю права администратора, — предоставить ему определенный доступ к файлам и папкам, которые пытается использовать программа. Требуется больше информации о программе или файлах / папках, к которым осуществляется доступ, прежде чем можно будет дать хорошую рекомендацию. Если вы предоставите им доступ с помощью вкладки « Security » в окне свойств папки, они смогут запустить программу без прав администратора. Если нет, то программа была сделана не очень хорошо. В качестве альтернативы вы можете использовать виртуальную машину или другой рабочий стол, к которому пользователь может подключиться, чтобы иметь доступ только к этому, а не к системе, над которой он работает.

Если вы хотите увидеть, какие файлы и папки использует пользователь в Windows, вы можете использовать инструмент Process Monitor . Этот инструмент перечислит безумное количество информации, которую все процессы делают на машине (вы можете фильтровать данные). Файлы, папки, потоки, сетевые события, реестр и события профилирования отслеживаются инструментом. Это от SysInternals и части Sysinternals Suite, расположенного здесь, на TechNet . Я не имею к ним никакого отношения, но я использовал их инструменты в течение многих лет.

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

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

Конечно, также убедитесь, что учетная запись администратора включена (это не по умолчанию) и что вы (или ваш ИТ-отдел, если это компьютер компании, а не ваш компьютер) не добавили какие-либо ограничения на основе GPO или другие ограничения для администратора учетная запись в состоянии запускать вещи. (Поскольку вы сказали, что учетная запись в порядке, я сомневаюсь, что причина в вашем случае, но в том числе и в случае, если другие люди должны знать это)

Источник

RunAs /savecred запрашивает пароль, если другой пользователь запускает тот же пакетный файл

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

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

Я проверил Пуск> Выполнить> control userpasswords2> Дополнительно> Управление паролями. Это показывает сохраненное имя пользователя, только когда я вошел в систему. Как мы можем хранить одно и то же имя пользователя и пароль для всех на одном компьютере?

5 ответов 5

Краткий ответ: НЕ ДЕЛАЙТЕ ЭТОГО. Вы только собираетесь открыть свою систему ОГРОМНО, и я имею в виду ОГРОМНУЮ уязвимость системы безопасности: как только вы /savecred, вы сохраняете пароль администратора в профиле пользователей, НЕОБХОДИМО, чтобы они могли использовать его в любое время, в любом случае им нравится. Это означает, что после сохранения они могут запустить окно консоли (приглашение CMD), ввести « runas /savecred /user: administrator cmd.exe » и немедленно запустить новую командную консоль с полными правами администратора, чтобы делать все, что они захотят. Вы, вероятно, не хотите, чтобы они могли это сделать!

Я думаю, что вы действительно хотите, чтобы любой пользователь мог запускать определенную команду, не запрашивая повышенные (администраторские) разрешения и не вводя пароль администратора. Для этого в современных операционных системах Microsoft ™ Windows есть безопасное и работающее решение: настройте программу на запуск по расписанию с конкретными правами доступа, которые необходимы программе. Вы можете создать учетную запись пользователя специально для этой программы, или вы можете просто использовать учетные данные администратора / системы для этой и только для этой программы. Вот как..

Во-первых, вам нужно настроить запланированное задание, как и любое другое запланированное задание. Вы должны назначить ей определенную командную строку (поэтому, если вам нужно передать параметры задаче, вам придется использовать скриптовые или пакетные файлы, чтобы создать «файл параметров» для передачи параметров в программу, или использовать другой метод сделать это .. Это решение не идеально!). Затем вы можете назначить ему все необходимые вам права безопасности. Назовите это как-нибудь подходящее — и избегайте использования пробелов в имени, чтобы сделать его простым; Мы собираемся использовать это имя для запуска программы, когда ваш пользователь должен ее запустить. Кроме того, не планируйте фактическое время для запуска задачи, так как мы будем вызывать ее для запуска по требованию через мгновение, а не всегда в определенное время.

Как только задача будет создана, следующий вопрос будет «Как мне ее запустить ?«Ну, вы либо создаете ярлык, либо файл пакета / сценария, который будет вызывать запланированное задание для запуска:« schtasks / run / tn name-you-дали-the-task-выше ». Таким образом, если вы создали задачу с именем «AutoAddLocalPrinters» (например, обычную задачу администратора), вы должны создать командный файл или ярлык для запуска команды « schtasks / run / tn AutoAddLocalPrinters » (если вы назвали ее чем-то с помощью пробелы, вы должны будете поместить все имя в кавычки — вот почему я избегаю пробелов в именах).

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

Кроме того, вы можете настроить разрешения для запланированной задачи, чтобы разрешить ее запуск только определенным группам пользователей и т.д. Кроме того, вы можете настроить его, создав специальные учетные записи пользователей или пакетные файлы / файлы сценариев, с помощью которых вы можете проверять и проверять любые разрешения критериев по вашему желанию. Например, если у вас есть дети, вы можете создать сценарий, который проверяет, не прошло ли время их сна, прежде чем позволить им запустить свою программу чата. 😉 Короче говоря, вы можете в значительной степени делать все, что захотите или должны сделать, чтобы проверить и контролировать, как программа запускается (или отклоняется).

Наконец, еще одно преимущество (или недостаток . ) в том, чтобы делать это таким образом: он работает практически во всех выпусках Windows, где вы можете планировать задачи и запускать команду «schtasks». Например, я понимаю, что выпуски Windows Home в любом случае игнорируют параметр /savecred «runas», поэтому вам всегда нужно будет указывать пароль. Запланированное задание будет выполняться с учетными данными, с которыми вы его настроили, даже в домашних выпусках.

Источник

Читайте также:  Авиэл как настроить телевизор
Оцените статью