bredonosec Цитата: погоди, distinguishedName - это имя его учетки? Или которое?
distinguishedName - это имя пользователя вида "CN=Пупкин Василий,OU=Подразделение юзверей с короткой памятью,OU=Компания Икс,DC=domain,DC=local".
Цитата: И как его выцеплять оттуда? Это ж как-то локально наверн придется, нет?
Зачем? Всё делается с помощью "скрипта завершения работы компа". Единственное, что нужно
предварительно сделать, это вручную через оснастку ADUC заполнить Вкладку "Управляется/Managed By" (или придумать скрипт) для заполнения этого поля. Вот готовый скрипт, который проверяет это поле учётки "компьютер" чтобы добыть логин пользователя "владельца компа", затем устанавливает в реестре "имя последнего пользователя, входившего в систему" в соответствии с полем "Управляется" данного компьютера:
[more=Скрипт]
Код: On Error Resume Next
strComputer = "."
Const ADS_SCOPE_SUBTREE = 2
Const HKEY_LOCAL_MACHINE = &H80000002
Set objNetwork = CreateObject("WScript.NetWork")
strCurrentComp = objNetwork.ComputerName
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT managedBy FROM 'LDAP://dc=
yourdomain,dc=
local' " & _
"WHERE objectCategory='computer' " & _
"AND cn='" & strCurrentComp & "'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strManagedBy = objRecordSet.Fields("managedBy").Value
Set ObjCompOwner = GetObject("LDAP://" & strManagedBy)
strOwnerName = ObjCompOwner.Get("sAMAccountName")
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon"
strValueName = "DefaultUserName"
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strOwnerName
objRecordSet.MoveNext
Loop