PDA

Показать полную графическую версию : Скрипт запуска от имени другого пользователя, bat или vbs


Страниц : [1] 2

Farnax
16-09-2017, 13:06
Добрый день всем,
Помогите пожалуйста в создании батника. Имеется домен компании, необходим скрипт который перед запуском определенной программы запрашивает запуск от имени другого пользователя. После того как человек вводит данные учетной записи, программа открывается под его именем.
Необходимо такое окно как показано на скрине, как вариант в cmd тоже подойдет.

http://about-windows.ru/wp-content/uploads/2014/08/%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC-%D0%BE%D1%82-%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8-%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F.png

Charg
16-09-2017, 13:10
Заходишь в командную строку, пишешь runas /help, читаешь и делаешь :)

mwz
16-09-2017, 13:35
Charg, runas с сохранением пароля — знатная широкоизвестная дыра в безопасности...
http://forum.oszone.net/post-2335757.html#post2335757 хотя бы.

Farnax, посмотрите http://forum.oszone.net/thread-159384.html — обратив внимание на утилиту AdmiLink

Charg
16-09-2017, 14:53
mwz, а при чем тут вообще сохранение пароля? Он спрашивал про окно с вводом, и собственно дефолтное runas /profile /user:vasya@domen.ru d:\program.exe будет делать именно это.
Можно и логин подставить как переменную до runas чтоб и его тоже вводить.

А вообще по хорошему в условиях домена не должно быть таких ситуаций когда сеанс идет из под одного пользователя а софт внутри него из под другого. Такую проблему (которая, кстати, не описывалась) нужно изначально по другому решать.

mwz
16-09-2017, 14:59
Charg, а, ну да, согласен: если пароль сохранять не надо, то годится.

Busla
16-09-2017, 22:24
Charg, вы неправы - это как раз декларируемая MS практика - в официальных учебниках по AD, экзаменах как раз описывается ситуация, когда рядовая работы за компьютером идёт под основной обычной учёткой, а сколько-нибудь привилегированные операции выполняются от имени дополнительной.
Или вы под доменным админом по интернетам бродите?

Charg
16-09-2017, 22:52
Busla, если речь идет о работе под пользователем и запуск нужных прав с вводом данных администратора - тогда да, всё верно, но мне почему-то показалось что речь шла о двух обычных пользователях.

Farnax
17-09-2017, 08:15
Спасибо. Но как сделать именно такое окно, чтобы открывалось не через cmd. И чтобы поля логина и пароля были пустые. Т.е. запускаем скрипт, открывается окно запуска от имени другого пользователя. Я нуб в этом деле поэтому памагити! :(
Грубо говоря есть 20 пользователей. У каждого из них есть своя учетка в домене. Поэтому мне надо именно чтобы открывалось с запросом от Имени другого пользователя, с пустыми полями логина и пароля чтобы они самостоятельно могли вбить свои данные. Не админской учетки или какой либо еще.

Iska
17-09-2017, 08:42
PowerShell Get-Credential - Поиск в Google (https://www.google.com/search?q=PowerShell+Get-Credential)

Farnax
17-09-2017, 09:09
PowerShell Get-Credential - Поиск в Google »
Это к сожалению немного не то(
Мне надо это без PowerShell сделать. Чтобы выглядело именно как на скриншоте.
http://images.vfl.ru/ii/1505628802/183b6181/18630805_m.png

Iska
17-09-2017, 11:32
Это к сожалению немного не то( »
Farnax, «это», к счастью, именно то.
Start-Process -FilePath 'c:\windows\notepad.exe' -Credential (Get-Credential)
https://i.imgur.com/M2qVJEs.png

Farnax
17-09-2017, 11:59
Спасибо) Но вы меня не поняли. Есть возможность сделать такое без PowerShell? Чтобы работало через bat?

Iska
17-09-2017, 12:21
Farnax, расскажите, по каким причинам Вас не устраивает PowerShell?

Farnax
17-09-2017, 12:29
Меня все устраивает. Но задача стоит, чтобы через cmd открывало (это альтернатива), в оригинале должно открывать окно в точности как я привел пример на скриншоте. Поэтому я и спрашиваю есть ли такая возможность.

Iska
17-09-2017, 13:08
в оригинале должно открывать окно в точности как я привел пример на скриншоте. »
Наиболее близко к оригиналу:
$sPath2Programm = 'c:\windows\notepad.exe'
Start-Process -FilePath $sPath2Programm -Credential ($Host.UI.PromptForCredential("Безопасность Windows", "Запуск от имени другого пользователя`r`n`r`nВведите учётные данные, которые следует использовать для $sPath2Programm.", "$Env:UserDomain\$Env:UserName", ""))

Farnax
17-09-2017, 17:00
Спасибо большое, пока попробую предложить этот вариант.
Просто основной минус PowerShell в том что по умолчанию он открывает скрипт в блокноте и видно код. Чтобы он выполнялся приходится нажимать правую кнопку мыши и выбирать выполнить с помощью PowerShell. Есть варианты чтобы он выполнялся по двойному щелчку?

Iska
17-09-2017, 17:15
Просто основной минус PowerShell в том что по умолчанию он открывает скрипт в блокноте и видно код. Чтобы он выполнялся приходится нажимать правую кнопку мыши и выбирать выполнить с помощью PowerShell. »
Это сделано намеренно. И это правильно.

Есть варианты чтобы он выполнялся по двойному щелчку? »
Есть. Смените в реестре глагол по умолчанию. Но Вам-то сие зачем? У Вас будет ярлык, в котором будет указан путь к powershell.exe с параметрами, в числе коих будет скрипт.

Farnax
19-09-2017, 11:19
По итогам собрания попросили создать vbs скрипт. Кто может помочь?

Charg
19-09-2017, 12:13
Farnax, а почему у вас в конторе задачи выдают людям которые в этом вообще ни бум-бум?

Farnax
19-09-2017, 12:38
Хотят перевести меня на другую должность, поэтому так и говорят что в инете поищи т.д. Т.е. не заставляют и это не задача, хотят чтобы вник немного в скрипты, поэтому когда здесь кто то пишет я уже понимаю как это и то работает. Научусь потом, не сразу Москва строилась.




© OSzone.net 2001-2012