Как преобразовать командную строку с повышенными правами в обычную командную строку?
У меня отключено UAC в моей системе, и все командные строки начинаются с повышенных прав ("Администратор: ..."). Даже если я запускаю cmd.exe из меню "Пуск", он по-прежнему повышен.
Есть ли способ запустить командную строку без повышенных прав?
Мне нужно это, чтобы я мог исправить ошибку в некотором программном обеспечении, которое не работает должным образом, если не работает от имени администратора.
4 ответа
Sysinternals на помощь! Некоторое время назад была добавлена опция для запуска команды как пользователь с ограниченными правами.
Usage: psexec [\\computer[,computer2[,...] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,... ] cmd [arguments]
-d Don't wait for application to terminate. Only use this option for non-interactive applications.
-e Does not load the specified account's profile.
-f Copy the specified program to the remote system even if the file already exists on the remote system.
-i Run the program so that it interacts with the desktop of the specified session on the remote system. If no session is specified the process runs in the console session.
-l Run process as limited user (strips the Administrators group and allows only privileges assigned to the Users group). On Windows Vista the process runs with Low Integrity.
В частности, я рекомендую бежать
psexec -i -d -l "your command here"
Это запустит команду в интерактивном режиме (чтобы вы могли видеть результаты) отдельно (чтобы командная строка вернулась немедленно - не обязательно) и как пользователь с ограниченными правами.
Вы можете удалить свое имя пользователя из группы администраторов на компьютере или создать другую учетную запись без прав администратора.
Следующая команда запустит программу без прав повышения прав или как пользователь с ограниченными правами. Другими словами, уровень целостности будет средним, а не высоким или низким.
psexec -u %USERDOMAIN%\%USERNAME% -p password command arguments
Добавление -l запустит программу как пользователь с ограниченными правами (т. Е. Низкий уровень целостности).
Насколько я знаю, вы не можете "развязать" процесс.
Если вы запускаете cmd.exe из другого приложения (без повышенных прав), оно не должно запускаться с правами администратора.