1

Тема: VBA: Список пользователей компьютера

Здравствуйте, дали задачу, получить список доменных пользователей компьютера, возможно ли такое реализовать средствами vb?, данная информацию содержится во вкладке безопасность в папках по пути:

C:\Documents and Settings\

По этому пути есть профили залогиненных пользователей, в каждой папке во вкладке Безопасность, есть имя учетки формата:

Трокин Василий Васильевич TrokinVV (TrokinVV@domainName)

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

2

Re: VBA: Список пользователей компьютера

Непосредственно для активного пользователя эти данные получаются стандартно.
Чтобы собрать информацию о всех пользователях, то применяется WMI либо ADO. Все ответы на подобные вопросы легко находятся средствами поиска в справке Portable Script Center или примерах (Samples) программы VBSEdit.

3

Re: VBA: Список пользователей компьютера

Нашел вот такой скрипт, выводит то что нужно, подскажите, можно ли добавить к нему на каждый профиль, который он находит в ПК, время последнего входа (LastLogon) из АД или последнего изменения профиля

On Error Resume Next 

Const HKEY_LOCAL_MACHINE = &H80000002

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
Set objRegistry=GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" 
objRegistry.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubkeys

For Each strsubkey In arrSubkeys 'получаем сиды и берем из АД их учетки
Set objAccount = objWMIService.Get("Win32_SID.SID='"&strsubkey&"'")
LogonUser = LogonUser &  vbLf & objAccount.ReferencedDomainName & " \ " & objAccount.AccountName

Next
msgbox LogonUser

4

Re: VBA: Список пользователей компьютера

Слушать моего совета, видимо, совсем не хотим. Идём в Portable Script Center, набираем в поиске LastLogon, попадаем на:
List Network Login Profiles
Вдобавок к исходной цели: List Local User Accounts Using WMI

5

Re: VBA: Список пользователей компьютера

я прислушался к вашему совету и пошел в vbedit, нашел библиотеку примеров), раньше почему то не замечал, и получился вот такой скрипт, а потом понял что Win32_SID ограниченная библиотека, спасибо за примеры, завтра попробую!