Как узнать учетные данные пользователя в домене
-
Angel_19
Как узнать учетные данные пользователя в домене
Доброго!
Подскажите как узнать учетные данные пользователя вошедшего в систему если используется домен?
Т.е. нужен логин, и его ФИО.
Подскажите как узнать учетные данные пользователя вошедшего в систему если используется домен?
Т.е. нужен логин, и его ФИО.
-
Creat0R
Re: Как узнать учетные данные пользователя в домене
Код:
Код: Выделить всё
$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-
Angel_19
Re: Как узнать учетные данные пользователя в домене
Скрипт все время выдает:
Код:
Хотя я в доменной учетке сейчас.
Пробовал при вызове функции явно указывать домен, результат тот же:
Код:
, также пробовал:
Код:
Код:
Код: Выделить всё
Not in domainХотя я в доменной учетке сейчас.
Пробовал при вызове функции явно указывать домен, результат тот же:
Код:
Код: Выделить всё
$sFullName = _GetUserName('mydomain'), также пробовал:
Код:
Код: Выделить всё
$sFullName = _GetUserName('mydomain.local')-
Creat0R
Re: Как узнать учетные данные пользователя в домене
Цитата Angel_19:
Скрипт все время выдает
А что если закомментировать условие:
Код:
?
Скрипт все время выдает
Как узнать учетные данные пользователя в домене
А что если закомментировать условие:
Код:
Код: Выделить всё
If $objItem.Domain = $sDomain Then?
-
madmasles
Re: Как узнать учетные данные пользователя в домене
Angel_19,
У меня не возвращается $objItem.FullName ни для кого.
У меня только так работает:
Код:
У меня не возвращается $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
;...-
Angel_19
Re: Как узнать учетные данные пользователя в домене
Помогло изменение:
Код:
на
Код:
Код:
Код: Выделить всё
$sFullName = $objItem.FullNameна
Код:
Код: Выделить всё
$sFullName = $objItem.Name-
Iska
Re: Как узнать учетные данные пользователя в домене
Код:
Код: Выделить всё
AutoItSetOption("MustDeclareVars", 1)
Local $oADSystemInfo = ObjCreate("ADSystemInfo")
Local $oIADsUser = ObjGet("LDAP://" & $oADSystemInfo.UserName)
ConsoleWrite($oIADsUser.sAMAccountName & @CRLF)
ConsoleWrite($oIADsUser.FullName & @CRLF)-
madmasles
Re: Как узнать учетные данные пользователя в домене
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-
Iska