Posts recientes

El contenido de este blog tiene una licencia Creative Commons.
Creative Commons

Regenerar los SIDs de usuarios tras una migración de SharePoint   

No son pocas las ocasiones en que hemos tenido problemas con los usuarios tras una migración de un entorno desarrollado en SharePoint. Desplegamos el nuevo entorno, todo funciona genial, entramos con cuentas de administrador y todo bien, pero los usuarios de a pie no pueden acceder.
Esto es debido en muchas ocasiones a que el entorno de Active Directory es una réplica y aunque se conserven los nombres de usuario (loginname) no se conservan los SIDs internos. Una solución sencilla y rápida consiste simplemente sustituir los SIDs que almacena SharePoint en base de datos por los nuevos SIDs de Active Directory. Con ello se restablecerán los accesos a través de las nuevas cuentas. Una forma de conseguirlo es accediendo directamente a base de datos y a nuestro propio riesgo (realizar copias de seguridad y demás).
Aquí tenéis un script de base de datos que ataca la tabla UserInfo y que permite restablecer estos identificadores. Muchas suerte!
DECLARE @login varchar(40), @systemid varbinary(128)

DECLARE curUsers CURSOR LOCAL FOR
SELECT tp_login, tp_systemid FROM userinfo where tp_deleted = 0

OPEN curUsers

	FETCH NEXT FROM curUsers INTO @login, @systemid

WHILE @@FETCH_STATUS = 0
BEGIN
	PRINT 'Resetting user ' + @login + ' to new SID '
	PRINT suser_sid(@login)
	UPDATE UserInfo
		SET tp_systemid = suser_sid(tp_login) WHERE CURRENT OF curUsers
	FETCH NEXT FROM curUsers INTO @login, @systemid
END

CLOSE curUsers
DEALLOCATE curUsers

GO
 
Publicado  en  17/02/2010  por  Rubén Claramunt Vicente
0  Comentarios  |  Trackback Url  | 0  Enlaces a este post | Bookmark este post con:          
Etiquetas: Sharepoint 2007, Active Directory
Technorati Tags: ,
 

Vinculos a este post

Comentarios