Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Помощь со скриптом автологина

Ответить
Настройки темы
Любой язык - [решено] Помощь со скриптом автологина

Новый участник


Сообщения: 3
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Ugend
Дата: 28-10-2012
Изображения
Тип файла: png vbs.png
(8.2 Kb, 8 просмотров)
Тип файла: png psh.png
(26.9 Kb, 11 просмотров)
Всем привет!

Есть один скрипт на vbs, другой на powershell. Выполняют одну и ту же операцию.
Скрипты были найдены в интернете и немного подправлены под себя.
Суть скриптов заключается в том чтобы войти по адресу ввести логин/пароль и нажать логин.
Данный скрипт должен отрабатываться при входе пользователя в компьютер путем выполнения политики (GPO) "Сценарий входа".
Все работает отлично за одним исключением, скрипт полностью (на 100%) отрабатывается только, если вход осуществляется встроенной в домен учеткой Администратора или если просто зайти в компьютер локальным админом и выполнить скрипт вручную.
Если вход осуществляется обычным пользователем входящим только в группу "Пользователи домена", то скрипт открывает лишь заданный url и на этом все заканчивается. Если пользователя наделить аналогичными правами, что и у встроенного в домен админа, то скрипт отрабатывается, но не полностью, открывается url, происходит вход, но не запускается надстройка, необходимая для работы с сайтом. В любом случае меня данный расклад не устраивает, т.к. я не хочу наделять пользователей правами.

Прошу помочь в решении проблемы, либо может поможете в написании нового скрипта, который бы работал корректно. В написании скриптов я не силен.
Ошибки скриптов во вложении.

Коды скриптов:
VBS
читать дальше »
Код: Выделить весь код
Option Explicit

Const READYSTATE_COMPLETE = 4

Dim objIE
Dim objForm

Set objIE = WScript.CreateObject("InternetExplorer.Application")

With objIE
    '.Visible = False
    .Visible = True
    
    .Navigate "https://idp.folio.fabasoft.com/idp/Authn/UserPassword"
    
    ' Ждём…
    Do 
        WScript.Sleep 100
    Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
    
    ' Заполняем форму #0
    Set objForm = .Document.forms(0)
    
    With objForm
        .elements("j_username").value = "login"
        .elements("j_password").value = "password"
        
        ' Отправляем форму на сервер
        .submit()
    End With
    
    ' Ждём…
    Do
        WScript.Sleep 100
    Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
    
    'Тут прочие действия, для чего, собственно и затевались…
End With

Set objIE = Nothing

WScript.Quit 0


PowerShell
читать дальше »
Код: Выделить весь код
$url = "https://idp.folio.fabasoft.com/idp/Authn/UserPassword" 
$username="login" 
$password="password" 
$ie = New-Object -com internetexplorer.application; 
$ie.visible = $true; 
$ie.navigate($url);
$doc = $ie.document

$sw = @'
[DllImport("user32.dll")]
public static extern int ShowWindow(int hwnd, int nCmdShow);
'@

$type = Add-Type -Name ShowWindow2 -MemberDefinition $sw -Language CSharpVersion3 -Namespace Utils -PassThru
$type::ShowWindow($ie.hwnd, 3) # 3 = maximize

while ($ie.Busy -eq $true) 
{ 
    Start-Sleep -Milliseconds 1000; 
} 

$doc.getElementById("j_username").value = $username 
$doc.Document.getElementByID("j_password").value = $password 
$doc.Document.getElementById("submitpass").Click();


PS Использовать IE не обязательно, можно и Ghrome.
PPS Бился с проблемой дней пять, но безуспешно. Поэтому решил обратится за помощью.

Отправлено: 22:14, 28-10-2012

 

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Попробуйте запустить скрипт PowerShell в режиме STA:

powershell -sta -file "C:\script.ps1"
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:08, 28-10-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Попробовал, все по прежнему.

PS Добавил в коллекцию 3-й скрипт на vbs, так-же не работает. ((
PPS Я мягко сказать не силен в написании скриптов, да и вообще с языками на Вы, но мне кажется, что скрипта не отрабатывает из-за COM и DOM элементов/объектов, не знаю, как выразиться.
PPPS А можно ли обойтись без InternetExplorer.Application, а просто запускать браузер по его расположению и не обязательно IE?
PPPPS Можно ли этим параметром Set objIGH = WScript.CreateObject(blablabla )запустить Google Chrome?
Что-то на подобие этого:
Код: Выделить весь код
Set wsh = WScript.CreateObject("WScript.Shell")

wsh.Run"""C:\Program Files\Internet Explorer\iexplore.exe""" & "https://idp.folio.fabasoft.com/idp/Authn/UserPassword", 1, True
Решил отработать вот этот скрипт на mail.ru, все работает. (запускал скрипт локально на компе из под обычного юзера)
Пробовал этот же скрипт на fabasoft'е и на yandex'е, не получилось.
Код: Выделить весь код
DIM IE
DIM ipf

Set IE = CreateObject("InternetExplorer.Application")
IE.navigate "http://mail.ru"
IE.Visible = True

While IE.Busy
     WScript.Sleep 50
Wend

Set ipf = IE.document.all.mailbox__login
ipf.Value = "username" 'fill in the text box
Set ipf = IE.document.all.mailbox__password
ipf.Value = "password" 'fill in the text box
Set ipf = IE.document.all.mailbox__auth__button
ipf.Click    'click the submit button
'IE.Quit

Последний раз редактировалось Ugend, 29-10-2012 в 14:13.


Отправлено: 01:56, 29-10-2012 | #3


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Разжился скриптом на Autoit. Скомпилировал скрипт в exe'шник, подсунул в сценарий, входа.
Результат прежний.
Что такого может работать у встроенного Админа, чего не работает у простого юзера даже наделенного аналогичными правами админа?
Я в замешательстве.

PS Наверно дело в самом сайте.

Я Мега-Супер-Злой!!!!!!!
Все дело было в "Контроле учетных записей" UAC
Ее надо полностью выключить!
Нет слов.

Последний раз редактировалось Ugend, 29-10-2012 в 20:53.


Отправлено: 18:03, 29-10-2012 | #4


Ветеран


Сообщения: 2183
Благодарности: 721

Профиль | Отправить PM | Цитировать


Поскольку тема http://forum.oszone.net/thread-267462.html закрыта, задам вопрос здесь.
Имеется портабельная версия браузера Iron (Iron_Portable.exe) и собственно ярлык на рабочем столе. Нужно сделать автологин на сайт http://www.pgz.ako.kirov.ru/website/Menu/Page/170
Попробовал сделать по аналогии, не получилось. Как понял, не создался объект Iron_Portable
Скрытый текст
Код: Выделить весь код
Option Explicit

Const READYSTATE_COMPLETE = 4

Dim objIE
Dim objForm

Set objIE = WScript.CreateObject("Iron_Portable.Application")

With objIE
    '.Visible = False
    .Visible = True
    
    .Navigate "http://www.pgz.ako.kirov.ru/website/Menu/Page/170"
    
    ' Ждём…
    Do 
        WScript.Sleep 100
    Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
    
    ' Заполняем форму #0
    Set objForm = .Document.forms(0)
    
    With objForm
        .elements("uls_name").value = "MyLogin"
        .elements("uls_pswd").value = "MyPassword"
        
        ' Отправляем форму на сервер
        .submit()
    End With
    
    ' Ждём…
    Do
        WScript.Sleep 100
    Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
    
    'Тут прочие действия, для чего, собственно и затевались…
End With

Set objIE = Nothing

WScript.Quit 0

п.с. Win7x64

Отправлено: 13:49, 01-09-2015 | #5


Пользователь


Сообщения: 114
Благодарности: 13

Профиль | Отправить PM | Цитировать


А вы уверены, что существует COM-объект у этой программы? Если существует его надо зарегистрировать в системе:

Код: Выделить весь код
C:\>regsvr32.exe /path/to/component/someComObj.dll
Ну. а если нет, то ..

Ugend, отключать UAC не лучший вариант, мне так кажется. Может есть смысл установить разрешения для нужных пользователей для данного COM-объекта?

Отправлено: 14:04, 01-09-2015 | #6


Ветеран


Сообщения: 2183
Благодарности: 721

Профиль | Отправить PM | Цитировать


Цитата corbis:
А вы уверены, что существует COM-объект у этой программы? »
А кто его знает?
Список файлов и каталогов http://rghost.ru/private/6GGCHwgBp/b...a713a59236bb7a

Отправлено: 15:04, 01-09-2015 | #7


Пользователь


Сообщения: 114
Благодарности: 13

Профиль | Отправить PM | Цитировать


Ничего по COM для этого браузера не нашел (хотя не очень долго искал), но его недавно походу сделали и, скорее всего, такой функциональности нет.
Наверно, есть смысл искать другие варианты реализации задуманного.

Отправлено: 16:11, 01-09-2015 | #8


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата sov44:
А кто его знает? »
Разработчик. Но единственный известный мне браузер с Automation — IE. Если Вы пытались, действуя по аналогии, превратить «InternetExplorer.Application» в некий «Iron_Portable.Application» — то это ошибка.

Отправлено: 22:06, 01-09-2015 | #9


Ветеран


Сообщения: 2183
Благодарности: 721

Профиль | Отправить PM | Цитировать


Цитата Iska:
единственный известный мне браузер с Automation — IE »
К сожалению с него не могу залогится даже вручную на вышеуказанном сайте. Значит продолжаю ручками в Iron.

Отправлено: 22:20, 01-09-2015 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Помощь со скриптом автологина

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MSFT SQL Server - Помогите со скриптом e2site Программирование и базы данных 2 06-05-2009 02:34
Помогите со скриптом BigDim Microsoft Windows NT/2000/2003 2 04-07-2008 04:18
Помогите со скриптом msaus Вебмастеру 7 14-08-2006 17:57
помогите со скриптом slaine Вебмастеру 5 21-09-2005 22:33
Помогите со скриптом boneheap Вебмастеру 1 01-11-2004 22:20




 
Переход