Интерфейс IADsUser (iads.h)
Интерфейс IADsUser — это двойной интерфейс, наследующий от IAD. Он предназначен для представления учетной записи конечного пользователя в сети и управления ею. Вызовите методы этого интерфейса для доступа к данным учетной записи конечного пользователя и управления ими. К таким данным относятся имена пользователей, номера телефонов, должность и т. д. Этот интерфейс поддерживает функции для определения связи с группами пользователя, а также для установки или изменения пароля.
Чтобы выполнить привязку к пользователю домена через поставщик WinNT, используйте доменное имя в составе ADsPath, как показано в следующем примере кода.
GetObject("WinNT://MYDOMAIN/jeffsmith,user")
Аналогичным образом используйте имя компьютера в составе ADsPath для привязки к локальному пользователю.
GetObject("WinNT://MYCOMPUTER/jeffsmith,user")
В Active Directory пользователи домена находятся в каталоге . В следующем примере кода показано, как выполнить привязку к пользователю домена через поставщик LDAP.
GetObject("LDAP://CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=Com")
Однако локальные учетные записи находятся в локальной базе данных SAM, и поставщик LDAP не взаимодействует с локальной базой данных. Таким образом, чтобы выполнить привязку к локальному пользователю, необходимо пройти через поставщик WinNT, как описано во втором примере кода.
Наследование
Интерфейс IADsUser наследуется от IDispatch и IAD. IADsUser также имеет следующие типы элементов:
Методы
Интерфейс IADsUser содержит следующие методы.
IADsUser::ChangePassword Изменяет пароль пользователя с указанного старого значения на новое. |
IADsUser::Groups Получает коллекцию объектов группы ADSI, к которым принадлежит этот пользователь. |
IADsUser::SetPassword Задает для пароля пользователя указанное значение. |
Комментарии
Как и любой другой объект ADSI, объект контейнера создает объект учетной записи пользователя Windows. Сначала выполните привязку к объекту контейнера. Затем вызовите метод IADsContainer::Create и укажите обязательные или необязательные атрибуты.
При использовании WinNT вам не нужно указывать дополнительные атрибуты при создании пользователя. Вы можете вызвать метод IADsContainer::Create , чтобы создать объект пользователя напрямую.
Dim dom As IADsContainer
Dim usr As IADsUser
On Error GoTo Cleanup
Set dom = GetObject("WinNT://MyDomain")
Set usr = dom.Create("user","jeffsmith")
usr.SetInfo
Cleanup:
If(Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set mach = Nothing
Set usr = Nothing
В этом случае создается пользователь домена со следующими значениями по умолчанию.
Свойство | Значение |
---|---|
Полное имя | Имя учетной записи SAM (например, jeffsmith) |
Пароль | Empty |
Пользователь должен изменить пароль | TRUE |
Пользователь не может изменить пароль | FALSE |
Срок действия пароля не истекает | FALSE |
Учетная запись отключена | FALSE |
Группа | Пользователь домена |
Профиль | Empty |
Срок действия учетной записи не истекает | TRUE |
Чтобы создать локального пользователя, привяжите его к целевому компьютеру, как показано в следующем примере кода.
Dim mach As IADsContainer
Dim usr as IADsUser
On Error GoTo Cleanup
Set mach = GetObject("WinNT://MyMachine,Computer")
Set usr = mach.Create("user","jeffsmith")
usr.SetInfo
Cleanup:
If(Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set mach = Nothing
Set usr = Nothing
Только что созданный локальный пользователь будет иметь те же свойства по умолчанию, что и пользователь домена. Однако членство в группе будет "пользователи", а не "пользователь домена".
Требования
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | iads.h |