Mostrando entradas con la etiqueta User Profile Service/Servicio de Perfil de usuarios. Mostrar todas las entradas
Mostrando entradas con la etiqueta User Profile Service/Servicio de Perfil de usuarios. Mostrar todas las entradas

viernes, 3 de agosto de 2012

SP2010::Servicio de Perfiles de usuario falla cuando se realiza copia de seguridad de la granja (spbackup-farm). Parte I: explicacion y causa



El servicio de perfiles de usuario es uno de los mas complejos de SharePoint, y tras configurarlo correctamente un día vemos con sorpresa como deja de funcionar.

Escenario:

  • El conector con el directorio Activo a desaparecido : "the query returns nothing" es el mensaje que aparece en la central de administracion
  • El servicio de sincronización esta en estado "starting" y no se puede parar. Puedes intentar reiniciar el times, hacer IISreset, o reiniciar la granja, pero puede que el servicio no cambie de estado.

Si estas haciendo la copia de seguridad del servicio o la de la granja este es un buen motivo para que deje de funcionar. En el tech de Microsoft aparece este escenario, pero es posible que no le hayamos prestado la atención suficiente. Además esta información no esta en la parte de backup, y esto puede llevarnos a estar en desconocimiento de lo que sucede cuando se realiza backup de la granja.

La causa ...

 

Mas información: 

La explicacion ... cuando se realiza el backup de la granja o de la propia aplicacion de perfiles de usuario el proceso desprovisiona las BBDDs. Cuando finaliza el backup el usuario de la granja debe ser administrador local del servidor donde se ejecute la instancia de sincronizacion (llamado FIM server) para que pueda asi disponer de los permisos adecuados a la hora de provisionar las BBDDs. Esto no esta recomendado por MS.

 Escribire la "Parte II" de las posibles opciones que disponemos para solventar esta situacion.

jueves, 2 de agosto de 2012

SP2010::Resetear el servicio de perfiles de usuario



Que sucede si nuestro servicio de perfiles de usuario se engancha y queda en "starting" o de algun modo falla y precisamos recuperarlo? quizas el primer workaround que yo plantearia seria resetear el servicio. Este proceso es relativamente llevadero, pero hay que tener mucho cuidado con ejecutar cada comando a su debido tiempo y respetarlos todos.
  • Deshabilita My Site cleanup timer job” . Este punto es muy importante, puede causar perdida de informacion.
  • Deshabilita  “User Profile Incremental Synchronization timer job
  • Para el timer job en toda la granja :: net stop sptimerv4
  • De-provisiona el servicio UPA via scripting (powershell):

$syncDBType = "Microsoft.Office.Server.Administration.SynchronizationDatabase"
$upaSAType = "User Profile Service Application"
$syncDB = Get-SPDatabase | where-object {$_.Type -eq $syncDBType}
$upa = Get-SPServiceApplication | where-object {$_.TypeName -eq $upaSAType}
$syncDB.Unprovision() 
$syncDB.Status = "Offline"
$upa.ResetSynchronizationMachine()
$upa.ResetSynchronizationDatabase()  

Si tienes mas de un UPS entonces utiliza este script, pues hay que indicar la BD y el GUID de cada uno de los servicios (UPS).

$syncDBType = "Microsoft.Office.Server.Administration.SynchronizationDatabase"
$upaSAType = "User Profile Service Application"
$syncDB = Get-SPDatabase GUID
$upa = Get-SPServiceApplication GUID
$syncDB.Unprovision() 
$syncDB.Status = "Offline"
$upa.ResetSynchronizationMachine()
$upa.ResetSynchronizationDatabase()  

  • Arranca el timer job en toda la granja :: net start sptimerv4
  • Arranca el servicio de sincronizacion desde la Central de Administracion
  • Resetea el IIS (iisreset /noforce)
  • Crear las conexiones para el directorio activo
  • Si deseas utilizar el job My Site cleanup timer job”  revisa antes lo que indica MS:
For each profile that is returned, check the originating directory service, such as Active Directory, for the status of that profile. If the status of any of the returned profiles in the directory is not disabled or is not deleted, do not enable the My Site cleanup timer job. Contact Microsoft support for more assistance.
  • Habilita el User Profile Incremental Synchronization timer job


Quieres saber mas detalles? ...
http://technet.microsoft.com/en-us/library/ff681014.aspx#resetSync

miércoles, 25 de julio de 2012

SharePoint 2010::Las audiencias y sus GUIDs

Cada día hay algo nuevo que aprender, sobretodo si tienes los ojos bien abiertos.

Debido a una situación poco convencional tuvimos que re-crear la aplicación de perfiles de usuario desde cero. En esta aplicación hay que tener en cuenta 3 puntos muy importantes como son:

  • Propiedades de usuario
  • Audiencias
  • Conectores de sincronización (con directorio activo, LDAP..)
  • Social (tags..). De esta opción no hablare por no tener experiencia en ella.

En la imagen inferior es el interface al que accedemos cuando seleccionamos nuestra aplicación de servicio de perfiles de usuario (user profile service Application). Los campos remarcados en naranja hacen referencia a las 3 partes a configurar:
 

Las propiedades de usuario pueden recrearse manualmente o vía scripting, los conectores solo hay que recrearlos con la información que tenemos (filtros, dominios, ous..) pero , y las audiencias?

Se pueden crear manualmente? se pueden importar? se pueden generar programáticamente? si, si , si ... pero depende. Al generarse una nueva audiencia se le asignada un GUID único, un valor de solo lectura que no se puede modificar, y que es otorgado por su relación con la aplicación de servicio (UPA). Cuando se asignan audiencias a los elementos de un portal dicho elemento queda asociado con el GUID de la audiencia.
Al re-crear las audiencias aunque tengan el mismo nombre, reglas … no serán asociadas a los elementos, pues sus GUIDs serán diferentes.

Las posibles soluciones:

  1. Crear las audiencias (manualmente, vía importación u script), de las cuales obtendremos nuevos GUIDs y asignar a los elementos del portal de nuevo las audiencias.
  2. Crear un script que mapee los antiguos GUIDs a los nuevos.

Evidentemente ambas soluciones precisan dedicación, y no se ajustaran a todos los escenarios.
 
GUID (Global Unique Identifier)