' Get an array with the members of an application's role' Note: requires a reference to the COM+ Admin Type Library'' Example:' Dim members() As String = GetComPlusAppRoleMembers("System Application",' "Administrator", "")' Dim member As String' For Each member In members' Console.WriteLine(member)' NextFunction GetComPlusAppRoleMembers(ByVal applicationName As String, _ ByVal roleName As String, ByVal serverName As String) As String() Dim catalog As New COMAdmin.COMAdminCatalog catalog.Connect(serverName) ' get the Applications collection Dim apps As COMAdmin.COMAdminCatalogCollection = CType _ (catalog.GetCollection("Applications"), _ COMAdmin.COMAdminCatalogCollection) apps.Populate() Dim AppObj As COMAdmin.COMAdminCatalogObject For Each AppObj In apps If applicationName = AppObj.Name.ToString() Then Dim roles As COMAdmin.COMAdminCatalogCollection = CType _ (apps.GetCollection("Roles", AppObj.Key), _ COMAdmin.COMAdminCatalogCollection) roles.Populate() Dim RoleObj As COMAdmin.COMAdminCatalogObject For Each RoleObj In roles If roleName = RoleObj.Name.ToString() Then Dim members As COMAdmin.COMAdminCatalogCollection = CType _ (roles.GetCollection("UsersInRole", RoleObj.Key), _ COMAdmin.COMAdminCatalogCollection) members.Populate() ' add each member name to an ArrayList Dim memberNames(members.Count) As String Dim i As Integer For i = 0 To members.Count - 1 memberNames(i) = CType(members.Item(i), _ COMAdmin.COMAdminCatalogObject).Name.ToString() Next i Return memberNames End If Next RoleObj End If ' convert from the ArrayList to an array of strings, ' and return it Next AppObj Dim res(-1) As String Return resEnd Function