Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Автоматический вход пользователя в домен. (http://forum.oszone.net/showthread.php?t=182245)

Ingolder 05-08-2010 20:56 1467680

Автоматический вход пользователя в домен.
 
Здравствуйте. помогите пожалуйста решить задачу. Компьютер находится в домене, пользователь сделал Log off.
Нужно чтобы без участия пользователя скрипт(?) сработал в определённое время и зашёл под учетными данными пользователя в винду (в домен), т.е. залогинился.

NiOl 06-08-2010 16:42 1468301

1. Запустить скрипт по заданию не проблема. Если создадите задание ручками - там можно указать и логин/пароль пользователя, а если командой at, то выполнится под "пользователем по-умолчанию", т.е. прав будет немного... здесь можно экспериментировать с runas, но все-равно это не будет полноценным логином.

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

* есть простой способ сделать так, чтобы комп логинился сам, автоматически, при загрузке винды, просто прописав несколько значений в реестре, но уверяю - это ОЧЕНЬ НЕПРАВИЛЬНЫЙ СПОСОБ - никакой безопасности, пароль хранится в открытом виде, любой желающий садится за Ваш комп и от ВАШЕГО имени уничтожает бесценные рабочие файлы:

"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
заполняем значения "DefaultDomainName", "DefaultUserName" и "DefaultPassword", а в "AutoAdminLogon" меняем с "0" на "1".
и перезагрузка...

НО! Десять раз подумайте, прежде чем такое делать...

Ingolder 06-08-2010 21:23 1468508

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

вот только по поводу первого вашего предложения не понял

deepred 07-08-2010 11:57 1468751

Ingolder,

Абсолютно согласен с NiOl, но задача нетривиальная и решение все-таки можно подобрать... Какова все-таки цель "log in" - может мы сможем предложить альтернативный способ?

Поэтому несколько вопросов:
1. Версия оперативной системы?
2. Учетная запись под которой следует выполнить "log in" единственная доступная?
3. Защищена ли она паролем?
4. Если да - то какова "ценность" пароля, если нет - вход в систему производится автоматом?
5. Не пробовали запретить log off в настройках системы или пытаться обработать это событие через планировщик?

Ingolder 07-08-2010 19:27 1468943

1. XP sp3
2. не единственно доступная, а единственно нужная, с помощью которой я хочу зайти. В домене то много учеток.
3. ну да, логин и пароль, они известны.
4. Ценность пароля велика, но если по другому никак - можно ей и пожертвовать. А как зайти автоматом, спрашивается? комп не выключен и перезагрузить нельзя. он в логофе. нельзя руками трогать и удалённо тоже. нужно назначенное задание.
5. нет, это решение не подходит. Дано: комп включен, в логофе, перезагружать нельзя. Есть логин и пароль, которым надо зайти в винду и запустить пару программ от зашедшего пользователя, (Firefox и cmd в общем).

deepred 07-08-2010 20:10 1468972

Ingolder,

имеется ввиду в "log off" есть выбор учетных записей или только одна "единтсвенно нужная"? Просто ели она одна, то можно попробовать один фокус... Почему нельзя перезагрузить?

Ну если можно пожертвовать паролем, то вариант предложенный NiOl подходит, хотя способ действительно не безопасен, реализовать его можно с помощью скрипта:
читать дальше »


Код:

StrComputer = "."

Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
StrComputer & "\root\default:StdRegProv")

StrValueNameUser  = "DefaultUserName"
StrValueNamePass  = "DefaultPassword"
' -----------------------------------------------------------------------
StrValueUser      = "Имя пользователя"
StrValuePass      = "Пароль пользователя"
' -----------------------------------------------------------------------
StrValueNameAdLog = "AutoAdminLogon"
StrValueAdLog    = "1"
StrValueNameCount = "AutoLogonCount"
StrValueCount    = "4294967295"
StrValueNameForce = "ForceAutoLogon"
StrValueForce    = "1"

const HKLM = &H80000002
StrKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

objReg.SetStringValue HKLM,StrKeyPath,StrValueNameUser,StrValueUser
objReg.SetStringValue HKLM,StrKeyPath,StrValueNamePass,StrValuePass
objReg.SetStringValue HKLM,StrKeyPath,StrValueNameAdLog,StrValueAdLog
objReg.SetStringValue HKLM,StrKeyPath,StrValueNameCount,StrValueCount
objReg.SetStringValue HKLM,StrKeyPath,StrValueNameForce,StrValueForce

Wscript.Echo "Сценарий выполнен"



Перед применением скрипта желательно (если не обязательно) сделать сохранку раздела "...\Winlogon"
Повторяю: метод не соответсвует никаким требованиям безопасности!!!

NiOl 09-08-2010 14:08 1470006

Цитата:

Цитата Ingolder
ну это вы предлагаете второй вариант - если комп выключен, и при загрузке он входит.
А если он не выключен, а просто в логофе, и нет возможности перезагрузить?
вот только по поводу первого вашего предложения не понял »

Исходил из следующего предположения:

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


Если с описанием проблемы я угадал, то тут спасет только (кроме прихода вовремя ;) ) перезагрузка компа по заданию с автоматическим входом в систему. Перезагрузка выполняется так: shutdown -r -t 1 (правда не пробовал с правами пользователя по-умолчанию), а задание задается на пару минут раньше "часа-Х" в "Панели Управления" => "Назначенные задания" (кажется, у меня винда англоязычная)

Ingolder 09-08-2010 20:29 1470278

Цитата:

Цитата deepred
Ingolder,
имеется ввиду в "log off" есть выбор учетных записей или только одна "единтсвенно нужная"? Просто ели она одна, то можно попробовать один фокус... Почему нельзя перезагрузить? »

там не выбор как таковой, а там табличка, нажмите ктрл+альт+дел и введите ручками логин и пароль)


NiOl, в том что вы угадали не надо быть гением :flag:

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


Мне бы подошло небезопасное решение, поскольку его особо палить никому ненадо

deepred 09-08-2010 22:12 1470329

Ingolder,

Скажите пожалуйста, решена Ваша проблема или нет?
Цитата:

Цитата Ingolder
Мне бы подошло небезопасное решение, поскольку его особо палить никому ненадо »

- решение вам предложено NiOl'ом, от меня скрипт для упрощения задачи...


Могу предложить Вам еще одно решение (не сочтите за рекламу).

Платформа удаленного доступа TeamViewer [ www.teamviewer.com ].
Одним из плюсом данного программного приложения является "полный доступ при подключении партнера к экрану входа в Windows", что в принципе является решением вашей проблемы. К сожалению бесплатным использование программы будет только при некоммерческом использовании, так что дальнейшее на Вашей совести.

Ingolder 09-08-2010 22:54 1470359

ха, чёрт возьми,deepred, я не могу сделать логоф теперь после этого скрипта, он меня обратно залогинивает когда я делаю логоф ))) 1 раз выполнилось, я не успел пронаблюдать удачно или нет... но вот теперь не могу разлогофиться даже после перезагрузки

deepred 09-08-2010 23:26 1470380

Ingolder,

Цитата:

Цитата deepred
Перед применением скрипта желательно (если не обязательно) сделать сохранку раздела "...\Winlogon" »

Для исправления в разделе:
"AutoAdminLogon" = "0"
"ForceAutoLogon" = "0"
И удалите пароль...

Ingolder 13-08-2010 21:45 1473205

спасибо, я на виртуалке тестил, не страшно было )

так что ж господа, как бы сделать?

NiOl 16-08-2010 12:25 1474659

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

zeroua 19-08-2010 17:37 1477398

Цитата:

Цитата deepred
Автоматический вход пользователя в домен. »

, похожий вопрос, тестирую одну программку для этого использую 2 сервера и клиентскую ОС (2 Winserver 2003 и Vista/7) иногда сервера или клиент вылетают из домена, можно ли автоматички вернуть машину в домен, ручками я это делаю так: копирую "имя домена" вставляю его как имя рабочей групы применяю со всемми вытекающими (спрашует имя и пароль адмнистратора) после етого без ребута возращаю имя домена в поле имени домена и снова ввожу по запросу имя и пароль администратора и делаю рестарт машины, псоле етого машина возвращаеться в домен, как это сделать автоматически ?! Скажем скриптом на *.cmd

deepred 26-08-2010 12:42 1482091

zeroua,

попробуйте следующий скрипт (*.vbs):

Код:

strUser ="Имя_пользователя/админа"
strPassword = InputBox("Ваш пароль")

Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName

Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
 strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & strComputer & "'")
strDomain = objComputer.Domain
Retval = objComputer.joinDomainOrWorkgroup _
 (strPassword, strDomain & "\" & strUser, 1)

Wscript.Echo Retval

Если сразу не сработает, то сначала перезапустите explorer.exe, если опять не сработает, то вкл\выкл. подключение к сети, а если опять без результата - перезагружайте. Таким образом, будем выяснять алгоритм действий и (если потребуется) дополним скрипт...

PS: но, конечно, первым делом надо искать причину проблемы, а уже потом средство лечения....

_______________________________________________________________________

Ingolder,

Ваша проблема решена?



zeroua 26-08-2010 18:12 1482353

deepred, спасибо за решение буду пробовать ... отпишусь на днях как доберусь до тестируемой среды

Ingolder 28-08-2010 14:04 1483434

пока нет возможности проверить, на днях отпишусь

был в отъезде, пока просто не попробовал. Отпишусь чуть позднее, извините.


Время: 08:01.

Время: 08:01.
© OSzone.net 2001-