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

Показать сообщение отдельно

Ветеран


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

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


Цитата foxbat:
из него можно взять имя пользователя, ivanov_i , а мне нужно отображаемое имя вида Иванов Иван. Его можно откуда-нибудь взять ? »
Ясно. Тогда только перечислять объекты класса «Win32_UserAccount», фильтруя по известному SID'у:
Код: Выделить весь код
Option Explicit

Dim strComputer
Dim strSID

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim collSWbemObjectSet
Dim objSWbemObjectEx


strComputer = "."
strSID      = "S-1-5-21-117609710-1715567821-725345543-500"

Set objSWbemLocator    = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set collSWbemObjectSet = objSWbemServicesEx.ExecQuery("SELECT * FROM Win32_UserAccount WHERE SID = '" & strSID & "'")

For Each objSWbemObjectEx In collSWbemObjectSet
	With objSWbemObjectEx
		WScript.Echo .Name, .Domain, .FullName, .SID
	End With
Next

Set objSWbemObjectEx   = Nothing
Set collSWbemObjectSet = Nothing
Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing

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

Отправлено: 12:06, 24-05-2012 | #5