Adición y eliminación de usuarios de un grupo

Puede añadir usuarios a un grupo y eliminar usuarios de un grupo creando un AdminSession y, a continuación, iniciando la sesión como un administrador.

En los ejemplos de código siguientes se muestra cómo añadir y eliminar usuarios de grupos.

VBScript

' Iniciar una sesión de administración e iniciar la sesión como "administrador"...
Dim adminSession ' un objeto AdminSession
Dim GCol ' un objeto de recopilación Groups
Dim numGs ' Long
Dim M ' String
Dim g ' Long
Dim GObj ' un objeto Group
Dim UCol ' un objeto de recopilación Users
Dim u ' Long
Dim UObj ' un objeto User

set adminSession = CreateObject("ClearQuest.AdminSession")
adminSession.Logon "admin", "", "LOCALTEST"

Function ShowUsersInGroups(Tag)

set GCol = adminSession.Groups
numGs = GCol.Count
M = Tag & VbCrLf
If numGs = 0 Then
   M = Tag & ", there are no groups" & VbCrLf
Else
   M = Tag & ", there are " & numGs & " group(s)." & VbCrLf
   For g = 0 to (numGs - 1)
      set GObj = GCol.Item(g)
      M = M & "Group=" & GObj.Name & " Users="
      set UCol = GObj.Users
      For u = 0 to (UCol.Count - 1)
         set UObj = UCol.Item(u)
         M = M & UObj.Name & " "
      Next
      M = M & VbCrLf
   Next
End If
MsgBox M
End Function

' Visualizar el estado de inicio...
call ShowUsersInGroups("At the beginning of this program's execution")

' Obtener los descriptores de contexto de los objetos Group y User...
set GObj = adminSession.GetGroup("MyGroup")
set UObj = adminSession.GetUser("QE")

' Añadir usuario a grupo:
GObj.AddUser UObj
call ShowUsersInGroups("After adding user 'QE' to group 'MyGroup'")

' Eliminar usuario de grupo:
GObj.RemoveUser UObj
call ShowUsersInGroups("After removing user 'QE' from group 'MyGroup'") 

Perl

use CQPerlExt;

$DEBUG = 1;

sub ShowUsersInGroups() {
local($Tag) = shift;
my($GCol) = $adminSession->GetGroups();
my($GCount) = $GCol->Count();
if ($GCount == 0) {
   print "\n$Tag, there are no groups.\n\n";
   } 
else {
   print "\n$Tag, there " .
   (($GCount == 1) ? "is $GCount group.\n":"are $GCount groups.\n");
   print "Group Users in group\n" .
   "========== ==========================================\n";
   for ($i = 0; $i < $GCount; $i++) {
      my($GObj) = $GCol->Item($i);
      printf("%-10.10s ", $GObj->GetName());
   # Visualizar la lista de usuarios del grupo...
      my($UCol) = $GObj->GetUsers();
      if ($UCol->Count() == 0) {
         print "(none)\n";
         }
      else {
         for (my($u) = 0; $u < $UCol->Count(); $u++) {
            my($UObj) = $UCol->Item($u);
            print ($UObj->GetName() . " ");
            }
         print ("\n");
         }
   }
print "\n";
}
}

# Iniciar una sesión de administración e iniciar la sesión como "administrador"...
   $adminSession= CQAdminSession::Build()
   or die "Error creating AdminSession object.\n";
   print "Admin session create OK\n" if ($DEBUG);
   $adminSession->Logon("admin", "", "LOCALTEST");
   print "Back from logging in to admin session\n" if ($DEBUG);

# Visualizar los usuarios que son  miembros de grupos antes de continuar...
   &ShowUsersInGroups("At the beginning of this program's execution");

# Obtener descriptores de contexto para el usuario 'QE' y el grupo 'MyGroup'...
   $GObj = $adminSession->GetGroup("MyGroup");
   $UObj = $adminSession->GetUser("QE");

# Añadir el usuario "QE" al grupo "MyGroup"...
   $GObj->AddUser($UObj);

# Visualizar los usuarios que son miembros de grupos...
   &ShowUsersInGroups("After adding user 'QE' to group 'MyGroup'");

# Eliminar al usuario del grupo...
   $GObj->RemoveUser($UObj);

# Visualizar ahora los usuarios de los grupos...
   &ShowUsersInGroups("After removing user 'QE' from group 'MyGroup'");

CQAdminSession::Unbuild($adminSession); 


Comentarios