Найти - Пользователи
Полная версия: Python, Windows 7, запуск приложения от админа
Начало » Python для новичков » Python, Windows 7, запуск приложения от админа
1
ispryt
Чет гугл не помог. Как мне запутстить приложение виндуз с аргументами от имени администратора. Только не runas - он мне предлагает сразу же пароли и логины вводить. А мне нужно запустить такой же runas, как в GUI где всплывает выбор пользователя от, которого я хочу запустить свою апликушку.
py.user.next
Это не задача скрипта, с каким правами его должны запускать. Попробуй с группами пользователей там поиграть.
ispryt
Как не задача скрипта. Мне нужно запустить mstsc с правами администратора из скрипта. Есть такая задача. Причем os.startfile('mstsc', ‘runas’) - с этим справляется отлично. Только мне нужно mstsc с аргументами запустить. И это задача скрипта.
py.user.next
ispryt
Мне нужно запустить mstsc с правами администратора из скрипта.
Вот надо написать отдельную вещь, которой разрешено запускаться с повышенными правами. И потом её подключить к скрипту, который запускается без всяких прав. Тогда твой скрипт не сможет повысить права себе.
ZerG
офтоп
ispryt
py.user.next
Зачем мне писать второй, дополнительный скрипт, в котором будет запускаться mstsc?
os.startfile('mstsc', ‘runas’) - отлично запускает с повышенными правами. Мне лишь только нужно запустить не просто mstsc, а mstsc с аргументами.
В чем проблема?
ispryt
Т.е если я хочу запустить mstsc с повышенными правами из скрипта, то на это есть os.startfile('mstsc', ‘runas’)
Но если я хочу запустить mstsc с аргументами, то для этого нужно писать дополнительный скрипт. Хорошая логика
JOHN_16
Смотря на исходники здесь, я не очень могу понять сработает ли
 os.startfile('mstsc -a b', 'runas')
ispryt
а вы не пробовали через subprocess сделать ?
PEHDOM
ну както так
 import win32com.shell.shell as shell
shell.ShellExecuteEx(lpVerb='runas', lpFile='c:\windows\system32\mstsc.exe', lpParameters='/admin')
по крайней мере у меня вызывает зпрос UAC на повышение привилегий. и звпускает mstsc.exe с клчем /admin

ЗЫ еще наткнулся на такое чудо pyuac
https://gist.github.com/Preston-Landers/267391562bc96959eb41
из описания:
This will relaunch either the current script - with all the same command
line parameters - or else you can provide a different script/program to
run. If the current user doesn't normally have admin rights, he'll be
prompted for an admin password. Otherwise he just gets the UAC prompt.

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

PPS еще можно так
 import win32api
procID = win32api.ShellExecute(0,'runas','c:\windows\system32\mstsc.exe', '/admin', None, 1)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB