jueves, 17 de febrero de 2011

Comando de consulta T-Sql para ubicar usuarios suplantados en SharePoint cuando son eliminados el Directorio Activo

Lo que sucede es que SharePoint (/2007, 2010) no elimina el historial de los usuarios por razones obvias e importantes.  Pero no tiene control sobre como se administra en el  Directorio Activo las cuentas de usuario y si un administrador de TI se le ocurre eliminar un usuario de AD y utilizar su firma nuevamente en SharePoint le mostrará la información del usuario antiguo, y dará el efecto de suplantación.

Como ubicar si efectivamente esto sucedió.  Sigua los siguientes pasos:

1. Ubique la base de datos de contenido que la aplicación Web donde esta el portal, a través de la Administración Central de SharePoint (Se lo dejo de tarea).

2. Luego habrá el Management Studio en donde esta ubicado el servidor de SQL Server donde esta instaladas las bases de datos de SharePoint.

3. Seleccione la base de datos del portal.

4. Ejecute el siguiente “query”:

select 
tp_Login
, tp_title
, tp_email
, tp_externaltokenlastupdated
from
dbo.UserInfo
where tp_Login like'%Valor a buscar%'



esto le mostrará la cuenta que este suplantando a la otra, puede buscar el el nombre del usuario utilice la columna tp_title.


No le recomiendo que elimine directamente el usuario en base de datos sino a través del Modelo de Objetos de SharePoint.


Segmente de código utilizando el MO de SharePoint es el siguiente:


 


SPUser spUser = spWeb.SiteUsers[loginName];
if (!spUser.IsDomainGroup &&
!spUser.IsSiteAdmin &&
!loginName.Equals(@”NT AUTHORITY\authenticated users”) &&
!loginName.Equals(@”NT AUTHORITY\LOCAL SERVICE”) &&
!loginName.Equals(@”SHAREPOINT\system”))
{
spWeb.SiteUsers.Remove(spUser.LoginName);
spWeb.Update();
}




Si no le entra al código busque un herramienta gratuita en la red, posiblemente la encontrará.


SharePoint4Fun,


Manolo Herrera

No hay comentarios.: