Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 21, 2017 15:24:45

ispryt
Зарегистрирован: 2016-12-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Python, Windows 7, запуск приложения от админа

Чет гугл не помог. Как мне запутстить приложение виндуз с аргументами от имени администратора. Только не runas - он мне предлагает сразу же пароли и логины вводить. А мне нужно запустить такой же runas, как в GUI где всплывает выбор пользователя от, которого я хочу запустить свою апликушку.

Офлайн

#2 Фев. 21, 2017 15:39:14

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Python, Windows 7, запуск приложения от админа

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



Офлайн

#3 Фев. 21, 2017 15:41:44

ispryt
Зарегистрирован: 2016-12-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Python, Windows 7, запуск приложения от админа

Как не задача скрипта. Мне нужно запустить mstsc с правами администратора из скрипта. Есть такая задача. Причем os.startfile('mstsc', ‘runas’) - с этим справляется отлично. Только мне нужно mstsc с аргументами запустить. И это задача скрипта.

Отредактировано ispryt (Фев. 21, 2017 15:43:03)

Офлайн

#4 Фев. 22, 2017 04:42:18

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Python, Windows 7, запуск приложения от админа

ispryt
Мне нужно запустить mstsc с правами администратора из скрипта.
Вот надо написать отдельную вещь, которой разрешено запускаться с повышенными правами. И потом её подключить к скрипту, который запускается без всяких прав. Тогда твой скрипт не сможет повысить права себе.



Офлайн

#5 Фев. 22, 2017 09:17:42

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2584
Репутация: +  60  -
Профиль   Отправить e-mail  

Python, Windows 7, запуск приложения от админа

офтоп



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#6 Фев. 22, 2017 09:40:05

ispryt
Зарегистрирован: 2016-12-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Python, Windows 7, запуск приложения от админа

py.user.next
Зачем мне писать второй, дополнительный скрипт, в котором будет запускаться mstsc?
os.startfile('mstsc', ‘runas’) - отлично запускает с повышенными правами. Мне лишь только нужно запустить не просто mstsc, а mstsc с аргументами.
В чем проблема?

Офлайн

#7 Фев. 22, 2017 09:41:18

ispryt
Зарегистрирован: 2016-12-14
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Python, Windows 7, запуск приложения от админа

Т.е если я хочу запустить mstsc с повышенными правами из скрипта, то на это есть os.startfile('mstsc', ‘runas’)
Но если я хочу запустить mstsc с аргументами, то для этого нужно писать дополнительный скрипт. Хорошая логика

Офлайн

#8 Фев. 22, 2017 14:11:28

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Python, Windows 7, запуск приложения от админа

Смотря на исходники здесь, я не очень могу понять сработает ли

 os.startfile('mstsc -a b', 'runas')
ispryt
а вы не пробовали через subprocess сделать ?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#9 Фев. 23, 2017 13:34:57

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Python, Windows 7, запуск приложения от админа

ну както так

 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)



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 23, 2017 14:59:48)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version