domingo, 22 de abril de 2012

[SharePoint Troubleshooting] - Access Denied PRTH_E_ACCESS_DENIED en servcio de búsqueda

En los pasados días me encontré con el siguiente escenario en la granja de SharePoint 2010 de uno de mis clientes. Se tiene el servicio de búsqueda creado y configurado adecuadamente, de hecho ya tiene unos meses funcionando con normalidad y la búsqueda funciona en todos los sitios de la compañía. De pronto un día notan que en un Web Application en particular la búsqueda no está mostrando resultados.

De manera sistemática, algunas de los primeros puntos a revisar en este escenario fueron:
  • Privilegios de la cuenta de acceso al contenido
  • Que el host header del web application que no devuelve resultados este agregado dentro de las direcciones a rastrear dentro de alguno de los orígenes de contenido
  • Que el servicio de búsqueda esté funcionando y/o verificar cuando fue la última vez que se realizo un rastreo

Después de revisar los puntos anteriores, nos damos cuenta que todo parece ir bien con el servicio de búsqueda, solo vemos un par de errores en el log de rastreo de uno de los orígenes de contenido, y que precisamente corresponde al sitio en que no se muestran resultados de las búsquedas, pero no hay mayor información de cuál es el origen de estos errores.
Después de mucho buscar en los logs de SharePoint, encontramos los siguientes mensajes.
CHttpAccessorHelper::InitRequestInternal - Access Denied PRTH_E_ACCESS_DENIED on request for "http://extranet.xxxxx.xxx" hr = 0x80041205 [httpacchelper.cxx:268] d:\office\source\search\native\gather\protocols\http\httpacchelper.cxx
CHttpProbeHelper::ProbeServer:InitiRequest failed for "http://extranet.xxxxxx.xxx" Return error to caller, hr=80041205 [stscommon.cxx:439] d:\office\source\search\native\gather\protocols\common\stscommon.cxx

Lo que nos da una pequeña pista, se trata de permisos de la cuenta de acceso. Intentamos acceder al sitio utilizando esta cuenta desde el servidor que tiene el servicio de búsqueda,  después de ingresar las credenciales, nos aparece la pantalla de login de manera repetida (tres veces) hasta que nos presenta un error de autentificación. Estonces llegamos a la raíz del error, no es un problema de permisos de la cuenta sino un tema de configuración, ya que es un comportamiento que he visto bastante y que se refiere a la configuración de la característica de seguridad DisableLoopbackCheck, de la cual ya he hablado anteriormente.

Todo se soluciona, siguiendo el KB 896861 y aplicando las configuraciones que correspondan en los servidores SharePoint, Si no sabes si deshabilitar la caracteristica DisableLoopbackCheck o agregar una entrada en BackConnectionHostNames, te recomiendo leer mi post en donde hablo de cuando aplicar una u otra solución
Happy configuring!

domingo, 15 de abril de 2012

Warning - SPTraceV4 utiliza una cuenta integrada para su ejecución

Siempre es importante revisar las alertas que emite en servicio de SharePoint Health Analyzer, sobre todo cuando tienen el nivel de severidad 1 – Error, además de que no hay pretextos ya que es bastante llamativa la forma en que SharePoint nos avisa que debemos revisar algún issue detectado por la ejecución de este servicio.

Bueno, pues en un día normal de un SharePoint Farm Administrator me encontre con el siguiente warning, es decir tenía el nivel de advertencia y no de error, aún así se deben tomar medidas para revisarlo y resolverlo.


Para la mayoría de los servicios de SharePoint puedes solo navegar a la página de Administración de cuentas de servicio de la granja para modificar la cuenta con la cual se ejecuta, sin embargo no es posible hacerlo para este servicio debido a que no aparece listado ahí. Luego entonces lo más lógico y sencillo es hacerlo desde la Consola de Administración de Servicios de Windows, desde donde podemos ver que efectivamente el servicio está utilizando una cuenta integrada (en este caso Local Service) para su ejecución, lo recomendado es que sea una cuenta de dominio.


Lo primero que se podría pensar es en cambiarlo directamente ahí… desafortunadamente esto no soluciona el problema, en primera instancia porque habría que hacerlo para todos los servidores de la granja. Y una vez que hayamos aplicado este cambio en todos los servidores de la granja intentaríamos ejecutar de nuevo el análisis de la regla, solo para darnos cuenta que no sirve de nada.
 

La explicación es que el servicio de Health Analyzer checa el valor en la base de datos de configuración de SharePoint y no directamente del valor del servicio. Entonces lo que se debe hacer es ejecutar el siguiente script, como se indica en este thread del foro de SharePoint de Microsoft.

# Get the tracing service.
$farm = Get-SPFarm
$tracingService = $farm.Services | where {$_.Name -eq "SPTraceV4"}  
 
# Get the "farm" managed account.
$managedAccount = Get-SPManagedAccount "DOMAIN\spfarm"
 
# Set the tracing service to run under the managed account.
$tracingService.ProcessIdentity.CurrentIdentityType = "SpecificUser"
$tracingService.ProcessIdentity.ManagedAccount = $managedAccount
$tracingService.ProcessIdentity.Update()
 
# This actually changes the "Run As" account of the Windows service.
$tracingService.ProcessIdentity.Deploy()

Por último recordarles que la cuenta de dominio que utilicen para el servicio SPTraceV4 debe reunir los siguientes requisitos:

  1. Tener permisos de lectura y escritura sobre la carpeta en que se guardaran los logs, que por default es C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS
  2. La cuenta debe estar dentro de los grupos locales Performance Monitor Useres y Performance Log Users

Happy Configuring!

miércoles, 4 de abril de 2012

MVP SharePoint Server 2012


Pues nada, que he recibido ÉL famoso e-mail:

“Estimado Gerardo Reyes,

Enhorabuena. Nos complace presentarle el programa de nombramiento MVP de Microsoft® de 2012. Este nombramiento se concede a los líderes excepcionales de la comunidad técnica que comparten de forma activa su experiencia de alta calidad y de la vida real con otras personas. Le agradecemos especialmente la contribución que ha realizado en las comunidades técnicas en el área de SharePoint Server a lo largo del pasado año.”

Que me acredita como MVP en SharePoint Server para este 2012, y que sin duda me motiva para seguir capacitándome y compartiendo mis experiencias del día a día con las comunidades técnicas.

Gracias a toda la gente que ha influido de una u otra forma en mi crecimiento como consultor y como persona. Especiales agradecimientos y #FF a:

@SrBichi
@mmonterroca
@haarongonzalez
@HardBit
@Virtualman
@jluisestrada
@jrwarrior
@ferglo

Happy Coding!

Etiquetas

SharePoint 2010 (38) Microsoft (32) Desarrollo SharePoint (31) Gerardo Reyes Ortiz (27) SharePoint (20) SharePoint 2013 (18) Errores SharePoint (12) México (10) PowerShell (9) Silverlight (8) Visio Services (7) Features (6) MVP (6) Silverlight 3 (6) WebCast (6) Workflows (6) Configuracion SharePoint 2010 (5) D.F. (5) API REST (4) Configuracion SharePoint 2010; (4) Troubleshooting (4) Visual Studio 2010 (4) Visual studio (4) WSS (4) Web parts (4) Apps (3) Comunidad SharePoint (3) Configuración SharePoint 2013 (3) ODATA (3) SharePoint Server (3) SharePoint; Instalación SharePoint; Troubleshooting; Search Service (3) Silverlight 3.0 (3) Silverlight Toolkit (3) WebParts (3) javascript (3) jquery (3) Eventos SharePoint (2) Office 2010 (2) PeoplePicker (2) REST (2) SQL Server (2) Scripting (2) Search Service Application (2) SharePoint Designer (2) UPA (2) UPS (2) Workflows SharePoint (2) host header (2) Apps Development (1) Big Bang (1) CAS (1) CSOM (1) Codeplex (1) CompartiMOSS (1) Configuracion SharePoint 2010; Errores SharePoint (1) Configuracion SharePoint 2010; SharePoint 2010 (1) Custom Actions (1) Custom Editor Parts (1) Delegate Controls (1) Deployment (1) DisableLoopbackCheck (1) Document Library (1) Entrevista (1) Examenes de Certificación (1) Extract WSP (1) FBA (1) FS4SP (1) Fakes (1) Fast Search Server 2010 For SharePoint (1) Fiddler (1) HTTP.SYS (1) HTTPS (1) JSON (1) Language Pack's (1) Latam (1) MAXDOP (1) MCSM (1) MSExpertos (1) MVC (1) Microsoft México (1) Microsoft; Codeplex; Screencast; (1) My Sites (1) SQL Server 2012 (1) SQL Server Reporting Services (1) Screencast (1) Screencast; (1) Service Applications (1) Service Pack (1) SharePoint 2007 (1) SharePoint 2010 SP 1 (1) SharePoint API (1) SharePoint Conference (1) SharePoint Emulators (1) SharePoint Farm (1) SharePoint Health Analyzer (1) SharePoint Magazine (1) SharePoint Online (1) SharePoint Search (1) SharePoint Test (1) SharePoint; Desarrollo SharePoint (1) Shims (1) Simposio (1) Simposio Latinoamericano (1) SkyDrive Pro (1) Soporte Microsoft (1) Templates (1) Tip (1) VSeWSS (1) Virtual Machine (1) Visual Studio 2012 (1) WCF (1) WSS; IIS 7 (1) Web API (1) Web Content Management (1) Web Services (1) Windows 8 (1) Windows Live ID (1) Xml (1) appcmd (1) iOS (1) jqGrid (1) onload function (1)