1 (изменено: unKn0wn, 2014-03-15 12:20:05)

Тема: AHK: Запуск от имени администратора скрипта и приложения

Есть приложение prog.exe и оно подгружает конфигурационный файл settings.ini из папки c:\windows. Проблема заключается в том, что settings.ini не подгружается если программу не запустить от имени администратора на Win7 или Win8(но если через run запускать посредством открытого скрипта под админом файл будет подргужатся). Потому я решил, запускать скрипт с правами админа. На форуме нашел тему с похожей проблемой, но там советуют создать задание в планировщике заданий -сделать на всех компьютерах в сети -это проблематично и очень трудоёмко.
Думал пойти хитрым способом, решил через реестр. В реестре создаётся папка в которой сохраняются параметры для приложений которые должны запускаться с особыми параметрами для всех пользователей (на файле правой, свойства, совместимость и в низу кнопка изменить параметры для всех пользователей) и здесь я ставлю запуск приложения от имени администратора. После этого в реестре появляется запись о этом исполняемом файле.
И тут я решил добавить в запуск под админом нужные мне файлы таким образом:


RegWrite, REG_SZ, HKLM, SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers, %A_ScriptFullPath%, ~ RUNASADMIN

Но после того как я использую проверку на наличие значения по моему параметру я получаю ничего. Попробовал запустить сам скрипт от имени администратора чтобы добавить в реестер мой ключ -визуально в реестре я не вижу изменений но RegRead возвращается с ключом. После перезапуска ПК в реестре нет внесенных изменений. И скрипт всё-равно запускается не от имени администратора.
Прошу помочь разобраться, как всё-таки запустить скрипт и само приложение от имени администратора .

2

Re: AHK: Запуск от имени администратора скрипта и приложения

А через командную строку runas чем не устраивает?

3

Re: AHK: Запуск от имени администратора скрипта и приложения

У нас домен. если использовать Runas и логин админа на скрипте то prog.exe не будет подгружать settings.ini. Если использовать runas на программе, то программа будет запускатся под администратором, а это сводит на нет детект пользователя под которым работают этой программой. Нам очень важно отслеживать: айпи, машину и под каким пользователем системы и логином программы заходят.
В общем не подходит так как пользователь под которым запущена программа меняется. Вот когда запускаешь от имени админа -тогда пользователь не меняется а остаётся тем, под которым вошли в систему.

4

Re: AHK: Запуск от имени администратора скрипта и приложения

если через run запускать посредством открытого скрипта под админом файл будет подргужатся

При этом работает "детект пользователя"?



Если использовать runas на программе, то программа будет запускатся под администратором, а это сводит на нет детект пользователя

5

Re: AHK: Запуск от имени администратора скрипта и приложения

Детек пользователя работает только если "!запустить от имени администратора", через runas -пользователь становится админом, т.е. не текущий пользователь. Пробовал таким образом:

runas, admin, 123, dom0
run, launcher.exe
runas

В самом лаунчере пробовал по разному:
вариант№1

run, c:\prog.exe

Вариант№2

runas
run, c:\prog.exe

В любом случае prog.exe наследует пользователя от launcher.exe в случае runas. Но если запустить посредством контекстного меню "запустить от имени администратора" то пользователь остаётся тем, под которым выполнен вход в систему и файл из c:\windows подгружается.

6 (изменено: serzh82saratov, 2014-03-15 21:25:19)

Re: AHK: Запуск от имени администратора скрипта и приложения

Но если запустить посредством контекстного меню "запустить от имени администратора" то пользователь остаётся тем, под которым выполнен вход в систему и файл из c:\windows подгружается.

---

help: run пишет:

*verb [AHK_L 57+]: Any system-defined or custom verb. For example: Run *Compile %A_ScriptFullPath%
On Windows Vista and later, the *RunAs verb may be used in place of the Run As Administrator right-click menu item.
properties

Попробуйте.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

7

Re: AHK: Запуск от имени администратора скрипта и приложения

Спасибо, но можно вас попросить обьяснить?) а то мой английский "подхрамывает"

8

Re: AHK: Запуск от имени администратора скрипта и приложения

Подхрамывает, это уже очень хорошо, у меня вот, совсем отсутствует.


run *запустить от имени администратора c:\prog.exe
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: AHK: Запуск от имени администратора скрипта и приложения

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

10 (изменено: unKn0wn, 2014-03-15 22:02:34)

Re: AHK: Запуск от имени администратора скрипта и приложения

Всё, дошло!

run, *runas C:\launcher.exe

Это бы в справку добавить
В общем от launcher.exe наследуется параметр  на prog.exe и моя программа запускается и подгружает settings.ini из C:\windows.

PS: А где вы нарыли эту инфу если не сикрет?)

11

Re: AHK: Запуск от имени администратора скрипта и приложения

В папке с анк.
Смотрите снм файл.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

12

Re: AHK: Запуск от имени администратора скрипта и приложения

unKn0wn пишет:

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

А вообще я думал что так и должно работать. Что за слово runas и почему с ним заработало, я не понимаю.

Попробуйте (будьте добры) ещё так:




run *"запустить от имени администратора" "c:\prog.exe"

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

13

Re: AHK: Запуск от имени администратора скрипта и приложения

А, да, в справке написано буквально, как про встроенный параметр "runas", понятно теперь.
Просто узнал я про это, когда надо было запустить какой то плеер, с параметром из меню, и я просто по русски написал его название, так что ещё не раз пригодится.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

14 (изменено: unKn0wn, 2014-03-15 22:36:45)

Re: AHK: Запуск от имени администратора скрипта и приложения

serzh82saratov пишет:

Попробуйте (будьте добры) ещё так:




run *"запустить от имени администратора" "c:\prog.exe"

Та же проблема с первым словом до пробела. Я пробовал и с другими кавычками, выходит всегда одно и тоже.

serzh82saratov пишет:

В папке с анк.
Смотрите снм файл.

Эх, а, у меня русская справка...

15

Re: AHK: Запуск от имени администратора скрипта и приложения

А так:



run "*запустить от имени администратора c:\prog.exe"

---

Русский давно переведён и ни кем не тронут, а английский каждый раз обновляется.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

16 (изменено: ypppu, 2014-03-15 23:06:56)

Re: AHK: Запуск от имени администратора скрипта и приложения

Вообще не догоняю, про какие русские буквы в командной строке речь?
Понял.

17

Re: AHK: Запуск от имени администратора скрипта и приложения

Был у меня плеер, в меню у него пункт "Последнее". Я это слово прописал в параметр verb, и оно собственно заработало, более я с этим не баловался, по счёт пробелов в этом параметре не пробовал.
И я так понимаю, что это не совсем ком. строка, а запуск файла с существующим для него пунктом в контекстном меню проводника.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

18

Re: AHK: Запуск от имени администратора скрипта и приложения

Вроде разобрался. У меня Windows XP русская, соответственно пункты контекстного меню русские. Если на файле рисунка щёлкнуть ПКМ, будет среди прочего пункт "Изменить", запускающий mspaint.exe. Однако, для запуска через AutoHotkey потребуется выполнить команду Run, *Edit "D:\P\рисунок.bmp". То есть визуально переведено, а в качестве параметра *verb всё равно нужно подставлять на английском.

19 (изменено: serzh82saratov, 2014-03-15 23:57:52)

Re: AHK: Запуск от имени администратора скрипта и приложения

У меня на 7 работал именно русский параметр, но возможно, что это только для сторонних приложений и/или нестандартных пунктов.
Сейчас у меня нет пк, чтобы подтвердить или опровергнуть самого себя.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

20 (изменено: unKn0wn, 2014-03-16 00:48:12)

Re: AHK: Запуск от имени администратора скрипта и приложения

serzh82saratov пишет:

А так:



run "*запустить от имени администратора c:\prog.exe"

Теперь за строку запуска считает всё от первой до последней кавычки. И само собой пишет, что не может найти указанный файл.

21

Re: AHK: Запуск от имени администратора скрипта и приложения

Ну да ладно, главное, я так понимаю, что сабж решён.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

22 (изменено: unKn0wn, 2014-03-16 01:57:37)

Re: AHK: Запуск от имени администратора скрипта и приложения

Да, сабж решен таким образом:

run, *runas C:\launcher.exe

Без вашей подсказки не справился, спасибо

23

Re: AHK: Запуск от имени администратора скрипта и приложения

По глаголам:
Verbs and File Associations (Windows)
Creating Shortcut Menu Handlers (Windows)

24

Re: AHK: Запуск от имени администратора скрипта и приложения

Спасибо за ссылки.
Скажите, исходя из справки, работоспособность глагола написанного по русски, возможна?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

25

Re: AHK: Запуск от имени администратора скрипта и приложения

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