как в консоли windows выполнить команду от имени администратора?
Не покатит, ибо runas не дает uac elevation'а. Разве что запускать от имени другой учетки с админскими правами - там вроде предупреждение UAC появится при выполнении этой команды.
Напиши на C программу, которая будет банально запускать то, что ей передали, поставь в св-вах совместимости exe Run as Administrator и пускай через неё.
виндоус вэй
Ваще в гугле вроде была тыща решений разной степени костыльности по ключевым словам типа elevate batch file
psexec?
powershell наше всё
web page. способ №4
http://www.sbsi.ru/content/view/203/ вроде то, что надо
Причем тут windows way? В nix если понадобится дать suid-бит скрипту, то решение будет таким же: "написать бинарник, запускающий этот скрипт и поставить suid на бинарник".
а тем временем, пользователи Far'а просто ставят плагин sudo и повышают права почти столь-же легко, что и в *nix-системах (при чём, для действий самого файлового менеджера ничего ставить не надо).
Причем тут windows way? В nix если понадобится дать suid-бит скриптуто надо поставить suid бит скрипту. И всё будет тип-топ. Я уже писал так монтирование лупбэк устройств
то надо поставить suid бит скрипту. И всё будет тип-топ.Так не работает же setuid для скриптов, только для бинарников, не?
Так не работает же setuid для скриптов, только для бинарников, не?Работает для всего. Это всё должно заюзать так или иначе системный вызов получения эффективного пользователя. В моём скрипте я юзал os.setuid(0).
class Root:
def __enter__(self):
self.oldid = os.getuid
os.setuid(0)
return 0
def __exit__(self, type, value, traceback):
os.setuid(self.oldid)
применять так:
...
with Root:
doSome
...
Оставить комментарий
nemec2707
Вариант запустить командную строку от админа мне не подходит - хочу написать простенький батник, который будет сбрасывать параметры TCP/IP командой netsh int ip reset. А эта команда требует привилегий.На случай, если я вообще пошел по неправильному пути, объясню зачем всё это нужно: часто приходится иметь дело с чайниками, у которых "не работает инет"; чтобы долго и нудно не объяснять как проверить, не прописана ли у него левая статика(у нас везде DHCP) - думаю проще выполнить батник, сбрасывающий все настройки на дефолт.