1

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

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

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

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

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

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

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

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

4 ответа4

2

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

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

Start-Process "Path\To\Software.exe" -Verb "runas"

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

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

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

1

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

CBB & LTSB 1607.

0

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

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

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

-1

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .