Войти

Показать полную графическую версию : Автоматический вход пользователя в домен.


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

NiOl
06-08-2010, 16:42
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
ну это вы предлагаете второй вариант - если комп выключен, и при загрузке он входит.
А если он не выключен, а просто в логофе, и нет возможности перезагрузить?

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

deepred
07-08-2010, 11:57
Ingolder,

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

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

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

deepred
07-08-2010, 20:10
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
ну это вы предлагаете второй вариант - если комп выключен, и при загрузке он входит.
А если он не выключен, а просто в логофе, и нет возможности перезагрузить?
вот только по поводу первого вашего предложения не понял »

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

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


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

Ingolder
09-08-2010, 20:29
Ingolder,
имеется ввиду в "log off" есть выбор учетных записей или только одна "единтсвенно нужная"? Просто ели она одна, то можно попробовать один фокус... Почему нельзя перезагрузить? »

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


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

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


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

deepred
09-08-2010, 22:12
Ingolder,

Скажите пожалуйста, решена Ваша проблема или нет? Мне бы подошло небезопасное решение, поскольку его особо палить никому ненадо » - решение вам предложено NiOl'ом, от меня скрипт для упрощения задачи...


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

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

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

deepred
09-08-2010, 23:26
Ingolder,

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

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

Ingolder
13-08-2010, 21:45
спасибо, я на виртуалке тестил, не страшно было )

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

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

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

deepred
26-08-2010, 12:42
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
deepred, спасибо за решение буду пробовать ... отпишусь на днях как доберусь до тестируемой среды

Ingolder
28-08-2010, 14:04
пока нет возможности проверить, на днях отпишусь

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




© OSzone.net 2001-2012