как в консоли windows выполнить команду от имени администратора?

nemec2707

Вариант запустить командную строку от админа мне не подходит - хочу написать простенький батник, который будет сбрасывать параметры TCP/IP командой netsh int ip reset. А эта команда требует привилегий.
На случай, если я вообще пошел по неправильному пути, объясню зачем всё это нужно: часто приходится иметь дело с чайниками, у которых "не работает инет"; чтобы долго и нудно не объяснять как проверить, не прописана ли у него левая статика(у нас везде DHCP) - думаю проще выполнить батник, сбрасывающий все настройки на дефолт. :)

logan00108

Не покатит, ибо runas не дает uac elevation'а. Разве что запускать от имени другой учетки с админскими правами - там вроде предупреждение UAC появится при выполнении этой команды.

agaaaa

Напиши на C программу, которая будет банально запускать то, что ей передали, поставь в св-вах совместимости exe Run as Administrator и пускай через неё.

YUAL

виндоус вэй :lol:

logan00108

Тогда уж на сам Netsh такую галку выставить :grin: :grin: :grin:
Ваще в гугле вроде была тыща решений разной степени костыльности по ключевым словам типа elevate batch file

elena-kotenok75

psexec?

mironova

web page. способ №4

nemec2707

не подходит это мне)
http://www.sbsi.ru/content/view/203/ вроде то, что надо

tinych1

Э?
Причем тут windows way? В nix если понадобится дать suid-бит скрипту, то решение будет таким же: "написать бинарник, запускающий этот скрипт и поставить suid на бинарник".

Andbar

а тем временем, пользователи Far'а просто ставят плагин sudo и повышают права почти столь-же легко, что и в *nix-системах (при чём, для действий самого файлового менеджера ничего ставить не надо).

yroslavasako

Причем тут windows way? В nix если понадобится дать suid-бит скрипту
то надо поставить suid бит скрипту. И всё будет тип-топ. Я уже писал так монтирование лупбэк устройств

tinych1

то надо поставить suid бит скрипту. И всё будет тип-топ.
Так не работает же setuid для скриптов, только для бинарников, не?

yroslavasako

Так не работает же 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
...
Оставить комментарий
Имя или ник:
Комментарий: