IADsGroup интерфейс в ADSI скриптове във VBScript, създаване на групи в Active Directory
15.18ADSI. Работа с групов обект и интерфейсIADsGroup
Интерфейс IADsGroup в ADSI скриптове във VBScript, създаване на групи в Active Directory, работа със свойствата на групата, добавяне на потребители към групи, получаване на списък с членове на група от скрипт
Групите в Active Directory обикновено се използват за следните цели:
- предоставяне на разрешения (групи за сигурност);
- управление на списъци за разпространение (както групи за сигурност, така и групи за разпространение могат да се използват за тази цел);
- като флаг за проверка. Например, когато извършвате операция с потребителски акаунти, можете да проверите дали потребителят принадлежи към определена група и в зависимост от върнатия резултат да извършите тази операция с акаунта или не.
Групите могат да се управляват както чрез LDAP доставчика, така и чрез средствата на WinNT доставчика.
Група обикновено се създава с помощта на метода Create() на интерфейса IADsContainer на родителския контейнерен обект (домейн или организационна единица). Например, можете да създадете група потребители на скриптове в HQ OU в домейна NWTRADERS 1. MSFT, както следва:
Задайте oOU = GetObject("LDAP://OU=HQ,DC=nwtraders1,DC=msft")
Задайте oGroup = oOU.Create("group", "CN=Script Users")
oGroup. Поставете "groupType", &H4 или &H80000000
oGroup.Put "samAccountName", "Script Users"
oGroup.Put "name", "Script Users"
oGroup.Put "displayName", "Script Users"
oGroup.Put "description", "Script Users Security Group"
Ако типът на групата не е посочен, по подразбиране ще бъде създадена глобална група за разпространение.
Може да се получи връзка към съществуваща групакакто при LDAP доставчик:
Задайте oGroup = GetObject_
и с помощта на доставчика WinNT:
Задайте oGroup = GetObject("WinNT://nwtraders1/Script Users")
Груповият обект поддържа стандартни ADSI интерфейси (IADs, IADsPropertyList), както и специализиран интерфейс IADsGroup с важни методи. Имайте предвид, че въпреки удобството на тези методи, много важни свойства на групата (например тип група) не са достъпни чрез този интерфейс и ще трябва да работите с тях директно чрез интерфейсите PropertyList / PropertyEntry / PropertyValue.
По-долу е дадена информация за свойствата и методите на интерфейса IADsGroup:
- Описание - Това свойство е просто текстово описание за тази група:
Задайте oGroup = GetObject_
Wscript.Echo oGroup. Описание
- Add() – Този метод ви позволява да добавите обект на Active Directory (най-често потребителски акаунт) към група. Можете да му подадете различни параметри:
път във формата на свойството AdsPath за добавения обект:
Задайте oGroup = GetObject_
oGroup.Add "LDAP://CN=Александър Иванов,OU=HQ,DC=nwtraders1,DC=msft"
SID на добавения обект в различни формати:
oGroup.Add _ "LDAP://S>"
или (само за Windows 2003):
или (когато използвате доставчика на WinNT):
- IsMember () - Този метод ви позволява да проверите дали обектът на Active Directory е член на тази група и връща True или False в зависимост от това. Взема се предвид само директното членство: ако например потребителският обект е член на глобална група, която на свой ред е член на локална група, тогава проверката за членство за потребителя в локалната група ще върне False. Проверката може да бъдепроизведени само за обекти от същия домейн. Точно като метода Add(), методът IsMember() приема като параметър пътя на AdsPath или SID на обекта, чието членство в групата се проверява (проверката по SID не се поддържа за WinNT доставчика);
- Members() – Този метод ви позволява да върнете колекция от обекти на Active Directory, които са членове на дадена група (те се връщат като вариант). Примерно приложение на този метод може да изглежда така:
Задайте oGroup = GetObject_
За всеки обект в oGroup.Members
Wscript.Echo Obj.Name & vbTab & Obj.ADsPath
- Remove() е обратният метод на метода Add(). Тя ви позволява да премахнете обект на Active Directory от група. Този метод приема параметри в същия формат като метода Add():