Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Как узнать учетные данные пользователя в домене

Ответить
Настройки темы
Как узнать учетные данные пользователя в домене

Старожил


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

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


Доброго!

Подскажите как узнать учетные данные пользователя вошедшего в систему если используется домен?
Т.е. нужен логин, и его ФИО.

Отправлено: 13:27, 17-06-2014

 

Аватара для Creat0R

Must AutoIt


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

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


Код: Выделить весь код
$sFullName = _GetUserName()

If @error Then
    ConsoleWrite('Not in domain' & @LF)
Else
    ConsoleWrite($sFullName & @LF)
EndIf

Func _GetUserName($sDomain = @ComputerName, $sUserName = @UserName)
    Local $objWMIService = ObjGet('winmgmts:\\' & @ComputerName & '\root\CIMV2')
    Local $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_UserAccount WHERE Name = "' & $sUserName & '"', 'WQL', 0x10 + 0x20)

    If IsObj($colItems) Then
        For $objItem In $colItems
            If $objItem.Domain = $sDomain Then
                $sFullName = $objItem.FullName

                If $sFullName <> '' Then
                    Return $sFullName & ' (' & $sUserName & ')'
                EndIf
            EndIf
        Next
    EndIf

    Return SetError(1, 0, $sUserName)
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:12, 17-06-2014 | #2



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

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


Старожил


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

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


Скрипт все время выдает:
Код: Выделить весь код
Not in domain
Хотя я в доменной учетке сейчас.
Пробовал при вызове функции явно указывать домен, результат тот же:
Код: Выделить весь код
$sFullName = _GetUserName('mydomain')
, также пробовал:
Код: Выделить весь код
$sFullName = _GetUserName('mydomain.local')

Отправлено: 14:46, 17-06-2014 | #3


Аватара для Creat0R

Must AutoIt


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

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


Цитата Angel_19:
Скрипт все время выдает »
А что если закомментировать условие:
Код: Выделить весь код
If $objItem.Domain = $sDomain Then
?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 15:05, 17-06-2014 | #4


Старожил


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

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


То же самое...

Отправлено: 15:29, 17-06-2014 | #5


Аватара для madmasles

Ветеран


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

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


Angel_19,
У меня не возвращается $objItem.FullName ни для кого.
У меня только так работает:
Код: Выделить весь код
;...
If $objItem.Domain = $sDomain Then
	Local $sRet = $objItem.FullName
	If $sRet Then Return $sRet
	$sRet = $objItem.Caption
	If $sRet Then Return $sRet
EndIf
;...

Последний раз редактировалось madmasles, 17-06-2014 в 16:28.


Отправлено: 16:18, 17-06-2014 | #6


Старожил


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

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


Помогло изменение:
Код: Выделить весь код
$sFullName = $objItem.FullName
на
Код: Выделить весь код
$sFullName = $objItem.Name

Отправлено: 16:32, 17-06-2014 | #7


Ветеран


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

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


Код: Выделить весь код
AutoItSetOption("MustDeclareVars", 1)

Local $oADSystemInfo = ObjCreate("ADSystemInfo")
Local $oIADsUser     = ObjGet("LDAP://" & $oADSystemInfo.UserName)

ConsoleWrite($oIADsUser.sAMAccountName & @CRLF)
ConsoleWrite($oIADsUser.FullName & @CRLF)

Последний раз редактировалось Iska, 17-06-2014 в 17:03. Причина: Добавил недогляд: «.sAMAccountName».


Отправлено: 16:54, 17-06-2014 | #8


Аватара для madmasles

Ветеран


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

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


Iska,
У меня Ваш код с такой ошибкой вылетает:
Код: Выделить весь код
... .au3 (15) : ==> The requested action with this object has failed.:
Local $oIADsUser     = ObjGet("LDAP://" & $oADSystemInfo.UserName)
Local $oIADsUser     = ObjGet("LDAP://" & $oADSystemInfo.UserName^ ERROR
->18:31:03 AutoIt3.exe ended.rc:1

Отправлено: 18:33, 17-06-2014 | #9


Ветеран


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

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


madmasles, а AD у Вас развёрнута?

Отправлено: 18:59, 17-06-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Как узнать учетные данные пользователя в домене

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2008 R2 - Как заставить клиента запомнить учетные данные TS Gateway? camojiet Windows Server 2008/2008 R2 1 17-09-2012 13:38
Как узнать данные собеседника по IP-адресу karman56 Вебмастеру 2 09-01-2011 23:53
Установка - [решено] Как снести учетные данные о ОС discodisco Microsoft Windows 2000/XP 2 26-12-2008 12:29
Как узнать список юзеров в домене??? skeletor Хочу все знать 7 26-06-2007 15:22
Учетные данные buffer26 Сетевые технологии 5 08-06-2004 21:13




 
Переход