Category Archives: Uncategorized

SharePoint 2010 – The search service is not able to connect to the machine that hosts the administration component

Tengo una granja configurada de dos servidores de SharePoint 2010, uno de ellos (servidor1) mantiene el sitio de Administración Central mientras que el otro (servidor2) los servicios de búsqueda e indexación. Por medio del sitio de Administración Central traté de configurar una “Search Service Application” sin embargo al ingresar en la página de administración de contenido y reglas se presentó el mensaje “The search service is not able to connect to the machine that hosts the administration component…”.

Al revisar y comprobar por medio de la consola de PowerShell el estado del servicio apareció que el nombre del servidor estaba asignado a aquel que no tenía los servicios de búsqueda activos, es decir el servidor1.

Para resolver esto tuve que seguir los pasos indicados en este sitio http://blogs.msdn.com/b/russmax/archive/2009/10/20/sharepoint-2010-configuring-search-service-application-using-powershell.aspx

______________________________________________________________________________

Sample Script

Thanks is in store to Colin at MSFT for taking the cmdlets above and throwing together a great sample script.   Copy the script below and save it as a .PS1 file.

Note:  When provisioning a search service application for hosted “multi-tenant” sites, the following cmd-lets must contain the –partitioned parameter.

  • New-SPEnterpriseSearchServiceApplication (Step 3 below)
  • New-SPEnterpriseSearchServiceApplicationProxy (Step 4 below)

 

Add-PSSnapin Microsoft.SharePoint.PowerShell

# 1.Setting up some initial variables.
write-host 1.Setting up some initial variables.
$SSAName = “ContosoSearch”
$SVCAcct = “Contoso\administrator”
$SSI = get-spenterprisesearchserviceinstance -local
$err = $null

# Start Services search services for SSI
write-host Start Services search services for SSI
Start-SPEnterpriseSearchServiceInstance -Identity $SSI

# 2.Create an Application Pool.
write-host 2.Create an Application Pool.
$AppPool = new-SPServiceApplicationPool -name $SSAName”-AppPool” -account $SVCAcct

# 3.Create the SearchApplication and set it to a variable
write-host 3.Create the SearchApplication and set it to a variable
$SearchApp = New-SPEnterpriseSearchServiceApplication -Name $SSAName -applicationpool $AppPool -databasename $SSAName”_AdminDB”

#4 Create search service application proxy
write-host 4 Create search service application proxy
$SSAProxy = new-spenterprisesearchserviceapplicationproxy -name $SSAName”ApplicationProxy” -Uri $SearchApp.Uri.AbsoluteURI

# 5.Provision Search Admin Component.
write-host 5.Provision Search Admin Component.
set-SPenterprisesearchadministrationcomponent -searchapplication $SearchApp  -searchserviceinstance $SSI

# 6.Create a new Crawl Topology.
write-host 6.Create a new Crawl Topology.
$CrawlTopo = $SearchApp | New-SPEnterpriseSearchCrawlTopology

# 7.Create a new Crawl Store.
write-host 7.Create a new Crawl Store.
$CrawlStore = $SearchApp | Get-SPEnterpriseSearchCrawlDatabase

# 8.Create a new Crawl Component.
write-host 8.Create a new Crawl Component.
New-SPEnterpriseSearchCrawlComponent -CrawlTopology $CrawlTopo -CrawlDatabase $CrawlStore -SearchServiceInstance $SSI

# 9.Activate the Crawl Topology.
write-host 9.Activate the Crawl Topology.
do
{
$err = $null
$CrawlTopo | Set-SPEnterpriseSearchCrawlTopology -Active -ErrorVariable err
if ($CrawlTopo.State -eq “Active”)
{
$err = $null
}
Start-Sleep -Seconds 10
}
until ($err -eq $null)

# 10.Create a new Query Topology.
write-host 10.Create a new Query Topology.
$QueryTopo = $SearchApp | New-SPenterpriseSEarchQueryTopology -partitions 1

# 11.Create a variable for the Query Partition
write-host 11.Create a variable for the Query Partition
$Partition1 = ($QueryTopo | Get-SPEnterpriseSearchIndexPartition)

# 12.Create a Query Component.
write-host 12.Create a Query Component.
New-SPEnterpriseSearchQueryComponent -indexpartition $Partition1 -QueryTopology $QueryTopo -SearchServiceInstance $SSI

# 13.Create a variable for the Property Store DB.
write-host 13.Create a variable for the Property Store DB.
$PropDB = $SearchApp | Get-SPEnterpriseSearchPropertyDatabase

# 14.Set the Query Partition to use the Property Store DB.
write-host 14.Set the Query Partition to use the Property Store DB.
$Partition1 | Set-SPEnterpriseSearchIndexPartition -PropertyDatabase $PropDB

# 15.Activate the Query Topology.
write-host 15.Activate the Query Topology.
do
{
$err = $null
$QueryTopo | Set-SPEnterpriseSearchQueryTopology -Active -ErrorVariable err -ErrorAction SilentlyContinue
Start-Sleep -Seconds 10
if ($QueryTopo.State -eq “Active”)
{
$err = $null
}
}
until ($err -eq $null)

Write-host “Your search application $SSAName is now ready”

Controles para Sharepoint: Cascading Drop-Down List

Durante la ejecución de un proyecto en el que se involucra el diseño y desarrollo de flujos de trabajo me encontré con la necesidad de un campo de lista de Sharepoint que me permita seleccionar una opción en un campo padre y automáticamente las opciones que estan ligadas a ese valor puedan filtrarse en el siguiente campo de la lista. Luego de algunas búsquedas me encontré con que si existe un campo de Sharepoint que permite implementar esta funcionalidad, en el sitio de codeplex me encontré con el control Cascading Drop-Down List Field (http://cascddlistwithfilter.codeplex.com/), sin embargo la limitante es que está diseñado en teoría solo para Sharepoint 2007. En el mismo foro del control me encontré que si hay forma de instalarlo en Sharepoint 2010 (http://cascddlistwithfilter.codeplex.com/discussions/218850).

Cannot generate a SSPI context / No se puede generar el contexto SSPI (SQL Server)

Un nuevo error, al tratar de conectarme a SQL Server desde SQL Server Management Studio desde mi computador hacia el servidor se presentó el mensaje de error indicado en el título de este post, buscando algunos artículos en internet se indica que esto puede ser provocado por fallos en comunicación con Directorio Activo y entre otras cosas por diferencia de horas entre servidores, en efecto al revisar el reloj de mi servidor no estaba con la hora adecuada, procedí a cambiar la hora y todo funcionó sin problemas.

Reconstrucción / reparación de SYSVOL sin ingresar a Directory Services Restore Mode

El día de ayer tuve serios inconvenientes al aplicar una configuración de manera errónea en un DC lo que provocó que las carpetas SYSVOL y NETLOGON desaparezcan. El problema empezó al configurar un ambiente con un controlador de dominio principal (Windows Server 2003) y uno adicional (Windows Server 2008 R2), las carpetas de SYSVOL y NETLOGON del servidor W2008R2 no aparecieron nunca. Durante la verificación del proceso de replicación se presentó el error: DOMAIN SYSTEM VOLUME (SYSVOL SHARE) is in JRNL_WRAP_ERROR. Al buscar en Internet, encontré que para resolver esto es necesario aplicar uno de dos procedimientos:

– Detener el servicio NTFRS (net stop ntfrs), agregar la clave Enable Journal Wrap Automatic Restore (HKLM\System\CurrentControlSet\Services\NtFrs\Parameters) con valor 1 en el registro, iniciar nuevamente el servicio NTFRS (net start ntfrs). Luego de culminado el proceso, que toma aproximadamente una hora, es necesario retornar la clave Enable Journal Wrap Automatic Restore a 0.

– Detener el servicio NTFRS, colocar el valor de la clave BurFlags a D2 (HKLM\SYSTEM\CurrentControlSet\Services\Ntfrs\Parameters\Backup/Restore\Process at Startup), iniciar el servicio NTFRS, e igualmente esperar un tiempo aproximado de una hora.

 Resulta que este proceso se debe ejecutar en el controlador de dominio en donde no se presentan las carpetas SYSVOL ni NETLOGON como compartidas. Luego de aplicar los dos procesos para tratar de resolver el problema en el controlador de dominio principal desaparecieron estas carpetas. Previamente había obtenido un respaldo del volumen del sistema con la herramienta NTBackup.

El procedimiento que seguí para poder restaurar las carpetas SYSVOL y NETLOGON fue:

– Restaurar en una ubicación alterna el respaldo del estado del sistema utilizando la misma herramienta NTBackup.

– Copiar el contenido de la carpeta SYSVOL de la ubicación alterna en la ubicación correspondiente (C:\Windows\SYSVOL).

– Debido a que la carpeta SYSVOL dejó de ser compartida fue necesario cambiar la clave de registro SysvolReady (HKLM\System\CurrentControlSet\Services\Netlogon\Parameters) con valor de 1, esto hace que la carpeta SYSVOL se comparta al igual que la carpeta NETLOGON.

 

Como paso final ejecuté el comando dcdiag para verificar el normal funcionamiento del controlador de dominio el mismo que se ejecutó sin problemas.

Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. – SQL Server 2008 R2

Iniciando el trabajo con SQL Server 2008 R2 (CTP November) y Sharepoint 2010 Beta 2, encontré un problema al acceder a los reportes desde otro equipo que no sea el de SQL Server 2008 R2 donde se encuentra implementado Reporting Services.

Al tratar de acceder desde un equipo de la misma red que el servidor de SSRS 2008 R2 obtuve el siguiente error:

En algunos blogs y sitios de Microsoft se indican las siguientes posibles fallas:
– Firewall
– Conexiones TCP/IP no configuradas en SQL Server
– Timeout en conexiones

Curiosamente, cree un reporte con Report Builder 3.0 en donde al configurar la conexión con la fuente de datos, en la viñeta de “Credentials”, seleccioné la opción “Use this user name and password” y marqué la opción “Use as Windows Credentials”. Este reporte funciona perfectamente, sin embargo desarrollé otros reportes por medio del IDE de Visual Studio en donde al configurar las opciones de conexión no existe el “checkbox” “Use as Windows Credentials”, este reporte es el que genera el mensaje de error expuesto en la pantalla.

Para solucionar el problema, edité el reporte que lo desarrollé inicialmente con el IDE de Visual Studio y marque la opción “Use as Windows Credentials”, probé nuevamente el reporte y todo funcionó sin problemas.

Este mismo proceso solució el problema del siguiente gráfico.

Ejecutar máquinas virtuales desde un disco duro externo – Windows Virtual PC – Windows 7

Originalmente, Windows Virtual PC no soporta la ejecución de máquinas virtuales (*.vhd) desde un disco duro externo USB, sin embargo, como lo hace Virtual PC / Virtual Server o cualquier otro motor de virtualización. Existe una forma de poder ejecutar máquinas virtuales desde un disco duro externo en Windows Virtual PC y es ejecutando el archivo de configuración de una máquina virtual previamente creada con Virtual PC 2007 (*.vmc).

Ahora mismo me encuentro probando una posible solución: Windows 7 soporta nativamente discos duros virtuales (*.vhd) como medio de almacenamiento, la prueba que estoy realizando es primero crear un disco duro virtual en mi disco duro externo, luego adjuntarlo usando el administrador de equipos y dentro del mismo tratar de crear la máquina virtual desde Windows Virtual PC, pronto tendré noticias de si este escenario funciona o no.

An exception of type Microsoft.Office.Server.UserProfiles.UserProfileException was thrown. Unrecognized attribute ‘allowInsecureTransport’

Dando los primeros pasos con Sharepoint 2010 sobre Windows Server 2008 R2, el proceso de instalación funcionó sin problemas, sin embargo al ejecutar el asistente de configuración de productos de sharepoint se presentó el error:

Al visitar el blog de nuestros buenos amigos de equipo de producto encontré este artículo: http://blogs.msdn.com/sharepoint/archive/2009/11/19/installation-notice-for-the-sharepoint-server-public-beta-on-microsoft-windows-server-2008-r2-and-microsoft-windows-7.aspx, done se indica que si estás instalando Sharepoint 2010 Beta sobre Windows 7 o Windows Server 2008 R2 hay que descargar e instalar una actualización.

Limpieza de metadatos de un controlador de dominio

Cuando un controlador de dominio presenta algún tipo de fallos o problemas que le impiden recuperarse y funcionar normalmente es necesario hacer una limpieza de metadatos del servidor para que la infraestructura de red Microsoft continue operando, Les comparto dos enlaces donde se indica el proceso:

Windows Server 2008: http://technet.microsoft.com/en-us/library/cc816907(WS.10).aspx
Windows Server 2000/2003: http://support.microsoft.com/kb/216498

Photosynth – Monumento a la Mitad del Mundo – Quito/Ecuador

El día de hoy aproveché para ir a visitar el monumento a la Mitad del Mundo, al norte de la ciudad del Quito, y aprovechando de la tecnología tomé unas cuantas fotos que luego las publiqué con la herramienta PhotoSynth de Microsoft y así crear una vista 3D de este lugar turístico de mi país, les dejo con el enlace espero puedan enviarme sus comentarios: http://photosynth.net/view.aspx?cid=f78ead0b-627f-4c3d-85c5-d1ac1d980790