在脚本中定义用户组
在授权管理器中, 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