在脚本中定义用户组

在授权管理器中, IAzApplicationGroup 对象表示一组用户。 然后,可以将角色共同分配给这组用户。 IAzApplicationGroup 对象还可以包含其他 IAzApplicationGroup 对象作为成员。 有关应用程序组的详细信息,请参阅 用户和组

可以通过成员和非成员的显式列表或 轻型目录访问协议 (LDAP) 查询来定义组。 以下示例演示如何创建每种类型的应用程序组:

创建基本组

基本应用程序组由表示该组的 IAzApplicationGroup 对象的 Members和 NonMembers 属性中包含的成员定义。 Members 属性中列出的用户和组包含在应用程序组中,NonMembers 属性中列出的用户和组将从应用程序组中排除。 在 NonMembers 属性中列出将取代 Members 属性中列出的

以下示例演示如何创建基本应用程序组,并将所有本地用户添加为该组的成员。 该示例假定驱动器 C 的根目录中有一个名为 MyStore.xml 的现有 XML 策略存储。

'  Create the AzAuthorizationStore object.
Dim AzManStore
Set AzManStore = CreateObject("AzRoles.AzAuthorizationStore")

'  Initialize the authorization store.
AzManStore.Initialize 2, "msxml://C:\MyStore.xml"

'  Create an application object in the store.
Dim expenseApp
Set expenseApp= AzManStore.OpenApplication("Expense")

'  Create an application group object.
Dim appGroup
Set appGroup = expenseApp.CreateApplicationGroup("Trusted Users")

'  Add a well-known SID for all local users to the group.
appGroup.AddMember("S-1-1-0")

'  Save the application group to the store.
appGroup.Submit

创建 LDAP 查询组

LDAP 查询组具有由其 LdapQuery 属性的值中包含的查询定义的成员身份。

以下示例演示如何创建 LDAP 查询应用程序组并将所有用户添加为该组的成员。 该示例假定驱动器 C 的根目录中有一个名为 MyStore.xml 的现有 XML 策略存储。

'  Create the AzAuthorizationStore object.
Dim AzManStore
Set AzManStore = CreateObject("AzRoles.AzAuthorizationStore")

'  Initialize the authorization store.
AzManStore.Initialize 2, "msxml://C:\MyStore.xml"

'  Create an application object in the store.
Dim expenseApp
Set expenseApp= AzManStore.OpenApplication("Expense")

'  Create an application group object.
Dim appGroup
Set appGroup = expenseApp.CreateApplicationGroup("LDAP Trusted Users")

'  Set the Type property of the group to two
'  (AZ_GROUPTYPE_LDAP_QUERY).
appGroup.Type = 2

'  Add LDAP query for all users.
appGroup.LdapQuery = ("&(objectCategory=person)(objectClass=user)")

'  Save the application group to the store.
appGroup.Submit