Что нового

RunAs в Windows8 не дает администраторские права

ildary

Новичок
Сообщения
49
Репутация
0
Windows8, 2 пользователя, один - администратор, второй пользователь. Система запущена под вторым пользователем, необходимо выполнить скрипт с правами первого, Autoit 3.3.8.1

WinXP работает вызов в скрипте самого себя через RunAs, но в Win8 выполнение из под админской записи не дает администраторских прав (в диспетчере задач скрипт указан с именем администратора, но в скрипте недоступны действия администратора - чтение состояния сервиса).

Выполнение скрипта из 8. Facts on UAC, на этой странице: http://www.autoitscript.com/forum/topic/122050-useful-snippets-collection-thread выдает следующий результат:

Script is started by user with Admin rights = True
Script is started with Admin access = False

EnableLUA: UAC (formally known as LUA) is disabled.

ConsentPromptBehaviorAdmin:
Elevate without prompting (Use this option only in the most constrained environments)

ConsentPromptBehaviorUser:
Automatically deny elevation requests

EnableInstallerDetection:
Disabled (default for enterprise)

Скажите пожалуйста, как можно запустить скрипт с админскими правами, не вызывая окно ввода пароля Админа?
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
В скрипте имеется следующие строки ?

Код:
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
 
Автор
I

ildary

Новичок
Сообщения
49
Репутация
0
Нет, таких строк нет. При их добавлении скрипт при старте начинает явно требовать пароля админа. Сейчас без них - заходит под пользователем с админскими правами, но без админских полномочий. Хотелось бы не требуя от пользователя администраторского пароля выполнять скрипт с полными правами.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
ildary [?]
Хотелось бы не требуя от пользователя администраторского пароля выполнять скрипт с полными правами.
так не бывает. не зря ставится пароль. так что не стоит даже мозг парить
 
Автор
I

ildary

Новичок
Сообщения
49
Репутация
0
Так - бывает.

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

Мой скрипт должен запуститься с админскими правами, сделать свои задания и закрыться. На WinXP выполнение RunAs дает нужный эффект. На Win8 - уже нет. Скрипт должен сделать рестарт сервиса, но он не может прочитать его состояние. Если скрипт будет требовать ручной ввод пароля админа - то пользователь будет его знать (а это ему ник чему), вдобавок ему придется его вводить каждый раз при старте скрипта (что некрасиво - неполная автоматизация).
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
ildary
Если вы знаете пароль, то установите его в скрипт. и вначале скрипта проверку на права администратор, если нету то запускайте RunAs (самого себя(скрипт)) с правами администратора указав в параметр пароль
 
Автор
I

ildary

Новичок
Сообщения
49
Репутация
0
Так и сделал, но - не работает:
1) Скрипт стартует от пользователя, увидев, что текущий юзер - не админ, скрипт вызывает сам себя через RunAs( "Админ", "ПарольАдмина" )
2) Запуск от имени админа происходит успешно, но при этом у скрипта нет админских прав.
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
На сколько мне известно, то в Win 8 многое что переделали...

Допустим нет пункта меню "Запустить от другого пользователя..." (ПКМ на *.exe). И как я понял все приложения можно запустить исключительно под текущим пользователем и никак более. Далее покопавшись в этом всем "мусоре" все же решение нашел. Если интересно могу рассказать, но там ооочень мудренно все делается.

ЗЫ: у меня по сути такая же ситуация... но решения для своих задач на Windows 8 еще не нашел(((

ЗЫЫ: попробуй стандартными средставим на Windows 8 запустить вообще какой-нибудь файл от другого пользователя
 
Автор
I

ildary

Новичок
Сообщения
49
Репутация
0
У меня в меню по ПКМ есть пункт "Запустить от имени администратора", при выборе его - открывается окно, предлагающее ввести пароль администратора, поссле ввода которого - программа выполняется от имени администратора.
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
2 MnM
Надо будет собраться с мыслями и отдельной темой закинуть)))

2 ildary

Я не буду спорить, что есть пункт "Run as administrator"... но суть твоей программы - запустить программу от другого пользователя.

ЗЫ: ты когда вводишься пароль администратора у тебя в диспетчере задач файл от какого пользователя запускается ??? Если от администратора, то извини - буду не прав, признаю свою ошибку... хотя я бы на скрин посмотрел


Добавлено:
Сообщение автоматически объединено:

ildary [?]
2) Запуск от имени админа происходит успешно, но при этом у скрипта нет админских прав.
Я думаю это возникает в том случаи, когда некоторые программы хотят обратиться в реестр или какие-нибудь другие системные ресурсы - будь то "Program Files". А там уже срабатывает вкладка "Безопастность" - в которой есть галки кто может редактировать, а что может исключительно читать.

Т.е. при запуске имя пользователя остается без изменений, а необходимо поменять на "администратор" (-а, -ы, -ов)
 
Автор
I

ildary

Новичок
Сообщения
49
Репутация
0
Добавил пользователя, дал ему админские права и он появился в списке выбора администраторов, от лица которых можно выполнить программу. В диспетчере задач программа в колонке пользователь - стоит польльзователь с администраторскими правами.
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Т.е. ты в "Учетные записи пользователя" добавил еще одного пользователя с паролем и группой "Администратор" и запускаешь уже от его имени ???

Если так - то согласен - это вариант, хотя по-умолчанию там уже есть "локальный администратор" - запускай тогда от его имени и с его паролем.

ЗЫ: у меня задача немного другая просто: есть домен, а есть ноутбуки, у которых нет возможности добавить в домен (Windows 7 Home, Windows 8 Home). Это личные ноутбуки и с админскими правами, но в домен (расшаренные папки) они попасть не могут (режим "гость/все" отключен). И как итог - у меня недоделаная программа, которая все же может предоставить доступ в эти папки.

Этот вопрос я вроде бы как решил...

ЗЫЫ: так же задача - собственная служба, которая запускает другую программу, но уже от имени текущего пользователя. Это все хозяйство работает в WinXP и Win7. В Win8 у меня уже не получается такой фокус. Пока дошел до момента, который предоставляет возможность запуска от другого пользователя - не добавляя в "учетные записи пользователя".

Здесь как бы идея - есть Windows 8 Home, который не в домене - у него должна запускаться программа от имени пользователя из домена и предоставляет различный доступ к данным или же выполняет чего-нибудь на текущем компьютере, но не от пользователя из домена, а от текущего. Эммм... типа служба запускает разные функции: некоторые от текущего пользователя, а некоторые от пользователя в домене.

Суть наработки: "засунуть" таким способом Windows *** Home в домен и не покупать update Windows *** Pro


Добавлено:
Сообщение автоматически объединено:

Немного не доработанный способ, но начало положено: http://autoit-script.ru/index.php/topic,15051.0.html

PS: запускать от другого пользователя в Windows 8 появилась возможность, но вот как добиться запуска на компьютере из рабочей группы от пользователя домена еще не разобрался
 
Верх