Micro publicaciones guía para Power Apps, Power Automate, SharePoint y ademas algunos temas de Azure Dev Ops, Desarrollo Web, SQL Server, Asp.net.
martes, 31 de mayo de 2016
Exportando una biblioteca de 850 GB en SharePoint 2010
sábado, 28 de mayo de 2016
Instalando SharePoint 2010 en Windows Server 2012 R2
Donde está el problema?.
Pues SharePoint Server 2010 salió al mercado en el año 2010 (Announced Launch date is May 12th, 2010, RTM date (Release to Manufacturing) will be in April) y Windows Server 2012 R2 salió 4 de septiembre de 2012.
Entonces SharePoint 2010 RTM no tenía soporte para este sistema operativo sino hasta el Service Pack 2.0 según esta publicación https://support.microsoft.com/en-us/kb/2724471 "Before the release of Service Pack 2 (SP2) for Microsoft SharePoint Server 2010, Microsoft did not support SharePoint Server 2010 in a Windows Server 2012 or Windows Server 2012 R2 environment.
However, SharePoint Server 2010 slipstream media SP2 has now been released, and this configuration is supported in Windows Server 2012 and Windows Server 2012 R2. "
Entonces es necesario obtener el slipstrem media es decir la media que incluya el SP2 lo puede encontrar en suscripción de msdn como SharePoint Server 2010 with Service Pack 2.0.
Nota: intente crear el slipstream desempacando el SP2 y copiandolo en el directorio updates, pero no me funcionó asi que le recomiendo encuentre el slipstream media de la subscripción msdn o de otra fuente de Microsoft ya que de lo contrario se topará con un sinnúmero de errores.
Es importante mencionar que también el artículo recomienda instalar el CU de Febrero 2014 o superior. Para validar las últimas actualizaciones de SharePoint puede buscar SharePoint 2010 lastest updates https://technet.microsoft.com/en-us/library/mt715807%28v=office.16%29.aspx.
No se olvide de ejecutar el asistente de Productos y Tecnologías de SharePoint para que actualice adecuadamente la granja de SharePoint.
Happy SharePoint Installation!,
Juan Manuel Herrera Ocheita
sábado, 30 de enero de 2016
Script para obtener el espacio ocupado y la ultima modificación realizada a los documentospor sitio para SharePoint OnPremises
Este script corre en SharePoint 2010 y estimo también en 2013.
A continuación veremos un script que recorre todos los sitios de una colección de sitios:
-----Inicio del script ListadoSitios.ps1 -----
$File = "D:\scripts\MiSitio-EspacioOcupado.CSV"
#Escribimos el encabezado en el archivoAdd-Content -Path $File -Value "Titulo,Url,Size,LastDate"
#definimos la fecha más antigua para que tengamos un punto de comparación inicial la definimos global para que podamos obtener su valor fuera del método donde se asigna.
$global:LastDate = Get-Date
$global:LastDate = $global:LastDate.AddDays(-10000)
#Método que Obtiene el sitio primario y llama el método que obtenien los sub.sitios.
function GetWebSizes ($StartWeb)
{
$web = Get-SPWeb $StartWeb
GetSubWebSizes -Web $web
$web.Dispose() # Importante destruir el objeto SPWeb para liberar la memoria RAM
}
Cuando utilizar el Dispose en el siguiente enlace: https://blogs.technet.microsoft.com/stefan_gossner/2008/12/05/disposing-spweb-and-spsite-objects/
function GetSubWebSizes ($Web)
{
#Inicializamos nuevamente la fecha de partida para comparación
$global:LastDate = Get-Date
$global:LastDate = $global:LastDate.AddDays(-10000)
#Recorremos cada subsitio de forma recursiba
foreach ($subweb in $Web.GetSubwebsForCurrentUser())
{
[long]$webtotal = 0
#Recorremos cada carpeta del subistio para obtener el espacio ocupado
foreach ($folder in $subweb.Folders)
{
$webtotal += GetFolderSize -Folder $folder
}
$content = $subweb.Url + "," + $subweb.Title + "," + $webtotal + "," + $global:LastDate
Add-Content -Path $File -Value $content
write-host $content
#LLamada recursiva al mismo método
GetSubWebSizes -Web $subweb
}
}
function GetFolderSize ($Folder)
{
[long]$folderSize = 0
foreach ($file in $Folder.Files)
{
#Compara la fecha de la ultima modificación del archivo con la fecha de punto de partida y si es mas reciente la del archivo entonces la reemplaza
if ($file.TimeLastModified -gt $global:LastDate){
$global:LastDate = $file.TimeLastModified
}
#Acumula el valor de cada archivo en bytes
$folderSize += $file.Length;
}
foreach ($fd in $Folder.SubFolders)
{
$folderSize += GetFolderSize -Folder $fd
}
return $folderSize
}
GetWebSizes -StartWeb HTTP://MiSharePoint
-----fin del script ListadoSitios.ps1 -----
Si necesitamos recorrer todas las colecciones de sitio solo hay que agregar las siguientes lineas de comando:
function GetWebSizes ($StartWeb)
{
$sites = Get-SPSite –StartWeb -Limit All
foreach($site in $Sites){
$web = $site.RootWeb
GetSubWebSizes -Web $web
$web.Dispose() # Importante destruir el objeto SPWeb para liberar la memoria RAM
}
}
Eso es todo amigos. SharePoint4Fun!,
Juan Manuel Herrera Ocheita
viernes, 27 de noviembre de 2015
Script para saber el tamaño de una carpeta de una biblioteca en SharePoint 2010-2013
Esta solicitud me hicieron hace un momento y como no vi un ejemplo en especifico para esto decidi compartirlo con mis amigos lectores.
Los tres parametros que necesitamos son: url del sitio web en cuestion, el nombre de la biblioteca y el nombre de la carpeta. Como se muestra abajo:
$urlWebSite = “http://hostname/siteurl/sub-siteurl”
$nombreLibreria = "Nombre-Libreria"
$nombreCarpeta = "Nombre-Carpeta"
Luego debemos de obtener el objeto SPWeb para encontrar la bilioteca de la siguiente forma:
$web = get-SPWeb $urlWebSite
Una vez que lla obtuvimos el objeto SPWeb que representa el sitio web en SharePoint obtenemos la biblioteca con la colección Folders del objeto SPWeb, como se muestra a continuación:
$folder = $web.Folders[$nombreLibreria]
Ahora que almacenamos en la variable $folder la bilbioteca en cuestion, necesitamos obtener la carpeta que buscamos a través de la colección SubFolerds del objeto SPFolder, de la siguiente forma:
$subfolder = $folder.SubFolders[$nombreCarpeta]
Con eso tenemos ya la ubicación deseada para iniciar el proceso de lectura de los bytes ocupados en la carpeta y sub carpetas, para ello necesitamos crear un funcion que llamemos de forma recursiva hasta que obtengamos el espacio total ocupado.
[long]$total = 0
$total = GetFolderSize($subfolder)
La función es la siguiente:
function GetFolderSize ($Folder)
{
[long]$folderSize = 0
foreach ($file in $Folder.Files)
{
write-host "Nombre documento" $file.Name
$folderSize += $file.Length;
write-host "Total en bytes que va acumulando:" $folderSize
}
foreach ($fd in $Folder.SubFolders)
{
$folderSize += GetFolderSize -Folder $fd
}
return $folderSize
}
Lo que nos falta entonces es convertir los bytes en megas, y en gigas es es lo que hacemos a continuación:
$totalInMb = ($total/1024)/1024
$totalInMb = "{0:N2}" -f $totalInMb
$totalInGb = (($total/1024)/1024)/1024
$totalInGb = "{0:N2}" -f $totalInGb
write-host "Tamaño total de la carpeta" $StartWeb "es" $total " Bytes,"
write-host "son " $totalInMb "MB o " $totalInGb "GB"
Y ahora necesitamos indicarle a Windows que libere el recurso en memoria que ocupamos a través del objeto SPWeb la invocar el comando $web = get-SPWeb $urlWebSite , y lo hacemos de la siguiente forma:
$web.Dispose()
Para poner todo en orden debemo de prepar un contenedor de este script en un archivo con extension .ps1, por ejemplo:
C:\>GetFolderSize.ps1
y debera contener el siguiente orden del código descripto arriba:
<!--- Begin of File –->
function GetFolderSize ($Folder)
{
[long]$folderSize = 0
foreach ($file in $Folder.Files)
{
write-host "Nombre documento" $file.Name
$folderSize += $file.Length;
write-host "Total en bytes que va acumulando:" $folderSize
}
foreach ($fd in $Folder.SubFolders)
{
$folderSize += GetFolderSize -Folder $fd
}
return $folderSize
}
$urlWebSite = “http://hostname/siteurl/sub-siteurl”
$nombreLibreria = "Nombre-Libreria"
$nombreCarpeta = "Nombre-Carpeta"
$web = get-SPWeb $urlWebSite
$folder = $web.Folders[$nombreLibreria]
$subfolder = $folder.SubFolders[$nombreCarpeta]
$totalInMb = ($total/1024)/1024
$totalInMb = "{0:N2}" -f $totalInMb
$totalInGb = (($total/1024)/1024)/1024
$totalInGb = "{0:N2}" -f $totalInGb
write-host "Tamaño total de la carpeta" $StartWeb "es" $total " Bytes,"
write-host "son " $totalInMb "MB o " $totalInGb "GB"
$web.Dispose()
<!--- End of File –->
Y por ultimo utilizamo el Management Shell for SharePoint para ejecutar el script de la siguiente forma:
c:\>.\GetFolderSize.ps1
Eso es todo amigos.
SharePoint4Fun!,
Juan Manuel Herrera Ocheita
jueves, 9 de enero de 2014
Planificando la seguridad dentro de las colecciones de sitios en SharePoint
En este artículo vamos a ver nivel de colección de sitios la estrategia de seguridad ya que es el contenedor lógico de contenido limítrofe o fronterizo para definir los permisos del contenido. Esto quiere decir que cada colección de sitios no comparte con otras colecciones de sitios sus grupos, usuarios, permisos y contenido.
Los grupos definidos dentro de la misma colección de sitios si es compartida entre todos los sub-sitios, bibliotecas, listas y elementos.
La seguridad de SharePoint a nivel de colección de sitios no ha cambiado desde la versión 2007 y sigue vigente hasta SharePoint Online. El Heredar los permisos en los niveles inferiores y el “romper” el vínculo de esta herencia (de permisos) siguen vigente en todas las versiones arriba mencionadas.
Abajo podemos ver un árbol de contenido de SharePoint que muestra desde la granja o conjunto de servidores, los servidores y sus roles, las aplicaciones Web, las bases de datos y dentro de cada base de datos por lo menos una o más colecciones de sitios. Dentro de cada colección de sitios podemos encontrar sitios web o sub-sitios y dentro de ellos listas (o bibliotecas), dentro de cada lista, carpetas, dentro de cada carpeta elementos que pueden ser documentos, archivos, imágenes. Hasta a nivel de elemento puede definirse el permiso a un usuario o grupo de usuarios.
Una imagen habla mejor que mil palabras abajo un diagrama que muestra el plan de implementación de permisos dentro de una colección de sitios. Los permisos deben de definirse de forma de un embudo o símbolo de filtro donde la parte más amplia es donde el contenido más público o de conocimiento general debe de ser expuesto y a medida que vamos definiendo los sub-sitios se va restringiendo el acceso a los usuarios. La única forma para restringirlos los permisos ya que deforma predeterminada se heredan es rompiendo la herencia en los niveles inferiores de ese modo nos garantizamos que un usuario puede navegar hasta el punto en el cual tiene acceso a colaborar o compartir información.
En el ejemplo de arriba podemos apreciar que el punto de entrada de una amplia cantidad de usuarios se ubica en la parte superior del portal es decir http://hostname y a medida que va descendiendo si es interrumpida la herencia hay posibilidad de disminuir la amplitud o el número de usuarios que tienen acceso a los recursos inferiores como sub-sitios. Para explicar a detalle podemos decir que una amplia cantidad de usuarios tienen acceso a http://hostname y los sub-sitios subweb2 y subweb3 no así para el sub-sitio subweb1 que tiene interrumpida la herencia y que para el caso del sub-sitio subweb101 hereda la misma herencia del sitio superior subweb1 pero no así de la raíz http://hostname/ que es donde la mayoría de usuarios tienen acceso. El otro caso definido en la imagen de arriba es el sub-sitio subweb301 que se ha interrumpido la herencia de permisos y no contiene todos los permisos que su sitio superior hereda del sitio raíz.
La otra recomendación a tomar en cuenta al momento de definir los permisos en SharePoint es que a pesar que los permisos se pueden definir a nivel de usuarios no es una buena práctica sino por el contrario crear los grupos de SharePoint, adicionar los usuarios que pertenecen al grupo y luego asignar los grupos a los recursos de SharePoint. Abajo una imagen donde se muestra los recursos a los cuales se le puede aplicar los permisos.
Y luego si la administración de la seguridad organizacionalmente se maneja a nivel de directorio activo se pueden definir grupos del AD y asignarlos a los grupos de SharePoint de tal forma que los usuarios se adicionen a nivel de AD y no de SharePoint, pero esto dependerá de las políticas de seguridad para el portal y la organización. Abajo una imagen de ejemplifica esto. Si decidimos administrar el Directorio Activo deberemos ir nos por la opción de crear los grupos en el AD y asociarlos a los grupos de SharePoint. Si decidimos administrar directamente los usuarios desde SharePoint se aplicarán estos directamente a los grupos de SharePoint.
El procedimiento recomendado para asignar permisos en SharePoint es el siguiente:
1) Crea un Grupo en SharePoint desde People and Groups
2) Agregar los usuarios que pertenecen al grupo
3) Asignar el permisos algún recurso de SharePoint (Sitio, Lista/Biblioteca, Carpeta, Elemento) . Para ello es necesario dejar de heredar los permisos y asignar el grupo creado.
Selecciona la opción Conceder Permisos y aplicar el grupo creado
En resumen vimos la visión de como debemos de implementar la seguridad en una Colección de Sitios en SharePoint y la mejor practica para realizarlo. Y a pesar que los imágenes de SharePoint pertenecen a la versión Online este aplica para 2013, 2010 y 2007.
Hasta la próxima,
Juan Manuel Herrera
sábado, 28 de diciembre de 2013
Tips para el proceso de migración de SharePoint 2007 a 2013
Primero lo primero no se puede pasar de SharePoint 2007 a 2013 de un solo con el procedimiento de base de datos acoplada o Attach data base, con herramientas de terceros es posible pero es un proceso lento y no esta libre de errores. En 2007 hay dos procesos soportados In Place y Attached data base. Pero el último es el adoptado y único para versiones posteriores, por lo que mantendremos esta tendencia desde 2007.
Para realizar la migración debemos de contar por lo menos con dos granjas una de SharePoint 2010 y otra de SharePoint 2013.
No es recomendado realizar un downgrade es decir una reducción de versión en el proceso de migración. por ejemplo: Tenemos una granja SharePoint 2007 Edición Enterprise y deseamos convertirla a SharePoint 2013 Edición Standard o a SharePoint Foundation.
Lo contrario si es válido y posible, es decir hacer un upgrade o mejora de versión. Por ejemplo de WSS 3.0 a SharePoint 2013 Enterprise o Standard.
A continuación una tabla de la ruta de migración posible del 2007 al 2013 en sus diferentes ediciones:
A continuación una tabla de la ruta de migración recomendada (en color amarillo):
La recomendación se basa en que se utilice la misma edición de 2007 y hasta el final se utilice la edición deseada. Abajo una tabla de las rutas no soportadas en las cuales se suponen escenarios de color rojo donde erróneamente se escoge una ruta de upgrade en el intermedio (en la versión 2010) y luego se decide equivocadamente hacer un downgrade, esto acarreará muchos errores en la etapa de migración de 2010 a 2013 que puede incluso impedir la migración.
Debemos de recordar el idioma en que esta instalado el SharePoint debe de ser el mismo a migrar o bien contar con el paquete de idioma instalado en las granjas de SharePoint a migrar que en este artículo hablamos de 2010 y 2013.
La configuración de las granjas es algo que no debe de tomarse a la ligera ya que esto puede desembocar en un proceso rápido y efectivo o lento y frustrante.
La configuración de Hardware debe de analizarse desde el misma granja de SharePoint 2007, ya que podemos contar con imprevistos como el que no se haya instalado 2007 en una base de datos de SQL Server sino a través de la versión incrustada o embedded y esto hará el proceso de extracción de la base de datos más doloroso y complicado. Esto sucede cuando instalamos el SharePoint de forma solitaria o Stand Alone, instalación solamente diseñada para demostración y nunca recomendada para un ambiente de producción. La sorprendente es encontrar empresas que tienen así instalado su SharePoint en modo stand-alone.
La otra configuración importante es la de SharePoint 2010 que a pesar que sea una granja “puente” ya que solo se instalará para migrar el contenido de 2007 a 2010 y de 2010 a 2013. Debemos de asignar recursos adecuados para que el proceso de migración para que sea exitoso y eficiente. Esta granja posiblemente no cuente con muchos recursos pero debemos prestar atención a la RAM y espacio en disco y en los servicios y contenido que estamos migrando.
A continuación la configuración mínima y recomendada por Microsoft para SharePoint 2007 Front End en sus diferentes ediciones
A continuación mi recomendación práctica para una migración para la versión SharePoint 2007
Para el servidor Puente o sea el servidor SharePoint 2010 las recomendaciones son las siguientes:
En la medida de disponer de mayor cantidad de RAM se garantiza un proceso más rápido de migración. Y el espacio en disco se basa en el requerimiento de SharePoint de 5 veces el tamaño de la memoria RAM partiendo del mínimo recomendado de 80 GB + 5 Veces la RAM. Se asume por ser un servidor puente que solo será un servidor, pero esto dependerá de la granja de SharePoint 2007 de origen cuantos servidores tienen ya que no solo se migrará contenido sino servicios también.
A continuación la recomendación mínima de una granja de SharePoint 2013 y un servidor de SQL Server 2012 en sus diferentes ediciones:
Comandos útiles para la migración de base de datos de contenido adjunta:
Bueno eso es todo por este artículo espero lo encuentren útil.
Hasta la próxima, SharePoint4Fun!,
Juan Manuel Herrera Ocheita
martes, 5 de noviembre de 2013
Error Reporte RDL en SharePoint 2010 no despliega información o Type Sys.UI._Timer has already been registered
Este error no se manifiesta tan evidente ya que el navegador de IE 9, 10 no hará nada y por ende no mostrará la generación del reporte y es más funcionará para algunos usuarios y para otros no.
Si utilizamos las herramientas de desarrollador de IE presionando F12 desde IE en la pestaña de scripts podremos ver el siguiente detalle de error:
SCRIPT5022: Sys.InvalidOperationException: Type Sys.UI._Timer has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.
ScriptResource.axd?d=kPNVqg5Xk2xEHmG9iUkh6gb4nTjKg44qXODEnWnCK3WXpZEBMHocVoBFio19AkZm6XU5yigeZoGe2mg4Dmaq7JxvAk32sogRfD7ud5cTh5dVgp3pyap8Pqc2L3Eym8bxal5ATKCkLJDjXVUmA4sIWOvkUKp9Hs0UVf8fZ2TfizcKCAGb0&t=33137d1a
Gracias a Natalia Tsymbalenko por su solución con la pudimos resolver el problema:
http://sharing-the-experience.blogspot.com/2012/04/rsviewerpageaspx-type-sysuitimer-has.html
Lo único que quisiera agregar especialmente para usuarios no familiarizados con la estructura de SharePoint es que el web.config a modificar es de la Applicación Web donde esta el reporte instalado. Una instalación de SharePoint puede contar con varias aplicaciones Web y no solo con una así que debe de validarse cual es la que debemos de modificar.
Para ello puede ir al Servidor de SharePoint al IIS Manager y podrá ubicar la ruta de la aplicación Web de reportes:
Por ejemplo de forma predeterminada cuando creamos una aplicación web desde SharePoint esta la crea en la ubicación predeterminada del IIS que normalmente es c:\inetpub\wwwrooot\wss\VirtualDirectories y dentro de este directorio un directorio por cada aplicación Web por lo menos encontrará dos una del Central Administration y otra de la aplicación Web del portal.
Y finalmente dentro de ese directorio encontrará el archivo de configuración web.config. En la sección compilation batch verificar que el debug=”false” si esta activado debug=”true” cambielo a false y listo el así como vino desaparece.
<globalization fileEncoding="utf-8" />
<compilation batch="false" debug="false">
<assemblies>
<add assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Web.CommandUI, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<add assembly="Microsoft.SharePoint.Search, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<add assembly="Microsoft.Office.Access.Server.UI, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<add assembly="Microsoft.Office.Access.Services.UI, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<add assembly="Microsoft.SharePoint.Publishing, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<add assembly="Microsoft.Office.Server.Search, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
</assemblies>
…
</compilation>
Y ahora puede ejecutar los reportes desde IE 9 o 10 si este problema.
SharePoint4Fun,
Juan Manuel Herrera Ocheita
sábado, 2 de noviembre de 2013
Error al intentar consultar historial de versiones en SharePoint 2010
Este es uno de los errores que ha acompañado a SharePoint desde 2007 y en 2010 no ha sido la excepción. Si el problema es general en las bibliotecas puede intentar instalar la actualización de Abril del 2013 que registra el problema y su corrección.
- Foundation (KB 2794728) – http://support.microsoft.com/kb/2794728
- Server (KB 2775353) – http://support.microsoft.com/kb/2775353
Pero si no le funciona puede validar si esta solución que abajo describo puede resolver su problema.
Primero el error que muestra es el siguiente:
Si verificamos el error en los logs de SharePoint encontraremos el siguiente detalle:
Unexpected System.NullReferenceException: Object reference not set to an instance of an object. at ASP._layouts_versions_aspx.__Render__control14(HtmlTextWriter __w, Control parameterContainer) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) at System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) at System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) ... 1ee23f45-af8f-4521-a190-3b795d3fdda4
El error en detalle describe que el error se debe a que esta esperando un objeto en memoria al cual no esta instanciado. Es decir hace referencia de un objeto que esta ausente en ese momento.
Para esta solución utilizaremos SharePoint Designer 2010 para resolverlo. Abrimos el sitio donde están las bibliotecas con el error y luego en la pestaña de navegación seleccionamos la opción “Todos los archivos”
Luego seleccionamos en la biblioteca con el error
Luego seleccionamos la carpeta Forms
Luego seleccionamos la página DispForm.aspx, presionamos el botón derecho para que levante el menú contextual y seleccione la opción Eliminar (para que luego podamos crearla de nuevo)
Ahora seleccionamos la opción Listas y bibliotecas de la sección Navegación.
Luego seleccionamos nuevamente la biblioteca con error
Luego en la sección formularios presionamos el botón Nuevo
En el nombre del archivo escriba DispForm y luego presiona el botón Aceptar
Como resultado deberíamos observar que ya esta la página dentro de la sección Formularios.
Ahora si consultamos el historial de versiones nos debería mostrar una ventana similar a esta.
Eso es todo amigos nos vemos hasta la próxima.
SharePoint4Fun!,
Juan Manuel Herrera Ocheita
domingo, 2 de junio de 2013
Preparándose para el cambio crea un Alias de SQL antes de Instalar SharePoint
Una buena práctica poco conocida es antes de instalar es necesario prepararse para el cambio, y un cambio usual es el servidor de base de datos. Aunque iniciar con una sola caja o servidor no esta diseñado para ambientes productivos puede ser una realidad para muchas empresas, pero más pronto que tarde el portal crea interés y popularidad y es necesario expandir la instalación a por lo menos dos servidores; uno donde estén los bits de SharePoint y otro servidor de bases de datos.
O bien se quiere mudar las bases de datos a un servidor más potente o con una configuración de clusters o espejo por lo que si se maneja un alias y este es el utilizado en la configuración inicial de SharePoint bastará con colocar el alias al nuevo servidor de SQL y listo.
Cuando hacerlo?
Esto es clave, luego de instalar SQL Server o de crear una instancia de SQL para uso de SharePoint, es recomendable que se cree el alias, de tal forma que en la instalación Avanzada de SharePoint cuando solicite el nombre del servidor de base de datos utilizaremos el nombre del alias en vez del nombre del servidor de SQL.
El procedimiento lo puedes encontrar aquí:
http://msdn.microsoft.com/en-us/libranary/ms190445(v=sql.110).aspx
Y eso es todo por ahora.
SharePont4Fun!,
Juan Manuel Herrera
viernes, 17 de mayo de 2013
Como transformar una instalación de Modo “Stand-Alone” o Independiente a Modo de Granja de Servidores en SharePoint
Esto es aplicable para las versiones 2007, 2010 y 2013 con pequeñas variaciones por la versión. También es necesario un conocimiento base de administración de sistemas, realización de respaldos en SQL Server, una cuenta con privilegios de administración local en el servidor de SharePoint.
Porque razón debes de abandonar el modo “Stand-Alone” o Independiente y subirte al modo Granja. Bueno las razones son las siguientes:
1) Modo que su propósito fue diseñado para una instalación fácil de demostración o prueba piloto, por lo que todo lo configura con cuentas de servicio local que es un riesgo de seguridad, ya que le otorga acceso y privilegios a las cuentas no adecuadas. No fue diseñado para ambientes de producción.
2) No permite escalar el producto porque todo lo instala para ser usado en una sola computadora.
3) No permite optimizar las bases de dato y extraer copias de seguridad de forma sencilla ya que instala una versión de SQL Server Express 2008, sin el Management Studio incluido. Por esa razón se tiene una limitación de crecimiento por base de datos de 10 GB.
En resumidas cuentas el modo “Stand-Alone” o Independiente limita la escalabilidad, el almacenamiento, hay “gaps” de seguridad y no se puede optimizar para mejorar el rendimiento.
DESCARGO DE RESPONSABILIDAD: Favor tomar en cuenta que los siguientes pasos corren por cuenta propia del que los siga, la información indicada tiene fines educativos y no puedo ser responsable por el estado final de la instalación de SharePoint o consecuencias que puedan surgir como resultado de seguir parcial o totalmente el siguiente procedimiento, sino esta seguro de hacerlo favor avóquese a un proveedor local que tenga las credenciales que lo acrediten como especialista profesional en SharePoint.
Una vez justificado el cambio ahora vamos a ver el procedimiento necesario para realizarlo a continuación:
1) Debemos ubicar las bases de datos de contenido que están escondidas en el siguiente directorio: c:\program files\common files\microsoft shared\web server extensions\14\Data (Según la versión reemplace 14 por 12 si es SP 2007 o 15 si es SP 2013, si es SP 2010 deje el número 14). Las bases de datos de contenido por norma tiene el prefijo WSS_Content para confirmar esto, puede ir al Central Administration, Manage Applications, Content Databases y revisar el nombre de las bases de datos de contenido que están asignadas a las aplicaciones Web, para confirmar estos nombres puede ir también
2) Realizar una copia de respaldo de estas bases de datos o backup (el cómo: http://help.webtrends.com/en/installguide/backup_sql08_express_db)
3) Luego estamos listos para desconectarnos de la granja actual de SharePoint que realmente es solo uno pero así es el concepto. Para ello debemos de ejecutar el asistente de tecnologías Microsoft, podemos buscarlo en el Servidor de SharePoint en All Programs, Microsoft SharePoint 2010 Product y SharePoint 2010 Product Configuration Wizard, presione el botón Next , luego el botón Yes para permitir el reinicio de los servicios de IIS, SPTimerV4 y otros, y luego indíquele que desea desconectarse de la granja y presione el botón Next.
4) Ahora necesitamos instalar SQL Server recomendado en la versión Standard para ello puede revisar (http://msdn.microsoft.com/en-us/library/ms143219(v=sql.105).aspx)
5) Luego necesitamos restaurar las copias de respaldo de las bases de datos de contenido. Y como ya tenemos Management Studio será más sencillo. Más información en http://technet.microsoft.com/en-us/library/ms177429(v=sql.105).aspx
6) Ahora es necesario preparar la media (DVD, CD o ISO) de instalación de SharePoint, y su correspondiente llave de producto si fuera necesario (en caso de ser SharePoint Foundation que no es requerido), ya que vamos a desinstalar SharePoint, para instalarlo nuevamente. Para desinstalar los bits de SharePoint consulte el siguiente enlace:http://social.technet.microsoft.com/wiki/contents/articles/5449.how-to-uninstall-sharepoint-2010.aspx
7) Es saludable luego de desinstalar algún software de servidor reiniciarlo, así que favor hagámoslo.
8) Antes de iniciar la instalación la recomendación será que se preparemos las cuentas de dominio por lo menos mínimas para instalar SharePoint, para ello lea la siguiente publicación: http://jmhogua.blogspot.com/2011/08/cuentas-minimas-requeridas-para-la.html
8) Ahora ejecutemos la media de instalación de SharePoint
-
Ejecute Setup.exe desde el medio de instalación.
-
Escriba la clave del producto y haga clic en Continuar.
-
Revise los términos de licencia del software y, a continuación, active la casilla para aceptar el contrato. Haga clic en Continuar.
-
En la página de tipos de instalación, haga clic en Granja de servidores (esta es la primera diferencia entre la versión “Stand Alone” o Independiente.
-
En la página Tipo de servidor (aquí otro cambio importante seleccione la opción Completa), haga clic en Completa y, a continuación, haga clic en Instalar ahora.
-
Una vez completada la instalación, verá la página Ejecutar el Asistente para configuración. Compruebe que esté activada la casilla correspondiente a Ejecutar el Asistente para configuración de Productos de SharePoint en este momento.
Para ejecutar el Asistente para configuración de Productos de SharePoint
-
Una vez cerrada la instalación de SharePoint, se ejecuta el Asistente para configuración de Productos de SharePoint. El Asistente para la configuración de productos de SharePoint 2010 también se puede iniciar haciendo clic en el botón Iniciar y, a continuación, abriendo la carpeta Productos de Microsoft SharePoint 2010.
-
En la página Productos de SharePoint, haga clic en Siguiente. Verá un mensaje de advertencia notificando que es necesario reiniciar algunos servicios durante el proceso de configuración. Haga clic en Sí.
-
En la página Conectar a un conjunto de servidores, haga clic en Crear un nuevo conjunto de servidores y haga clic en Siguiente.
-
En la página Especificar los parámetros de la base de datos de configuración:
-
Escriba el nombre del servidor en el cuadro de texto Servidor de bases de datos. (Que en este caso es el nombre del servidor donde instalamos SQL Server, para descubrir el nombre podemos utilizar la línea de comando y ejecutar el comando hostname).
-
Use el Nombre de la base de datos predeterminado de SharePoint_Config. (favor deje el predeterminado)
-
Escriba un nombre de usuario y una contraseña apropiados para la cuenta de acceso a la base de datos. (utilice la cuenta que esta designada como Administrador de la granja, ej: sudominio\spfarm)
-
Haga clic en Siguiente.
-
-
En Especificar configuración de seguridad del conjunto de servidores escriba la frase de contraseña (se recomienda sea la misma de la cuenta spfarm para facilitar su recuerdo) deseada y haga clic en Siguiente.
-
En la página Configurar la aplicación web de Administración central de SharePoint:
-
Escriba el número de puerto. (Le sugiero 5 veces 5 o sea 55555, ya que es fácil de recordar )
-
Haga clic en el proveedor de autenticación deseado (recomendado Windows clásico).
-
Haga clic en Siguiente.
-
-
En la página Finalizando el Asistente para configuración de Productos de SharePoint, compruebe los valores y haga clic en Siguiente para ejecutar el asistente.
-
En la página Configuración realizada correctamente, revise la configuración de Administración central y haga clic en Finalizar. Se cerrará el Asistente para la configuración, el explorador se abrirá y cargará la página Administración central de SharePoint y el Asistente de configuración del conjunto de servidores inicial. (puede ejecutar el asistente para que lo ayude a configurar los demás servicios, lo mejor es hacerlo manualmente o un script por powershell pero esto queda afuera de la intención de este artículo)
Los pasos de instalación se basaron y fueron extraídos de http://msdn.microsoft.com/es-es/library/bb677368(v=sql.105).aspx para facilitar el trabajo del autor de este artículo, o sea yo.
Bueno amigo eso es todo por este vez donde vimos que es posible mover nuestra instalación Independiente o “Stand Alone” a una instalación de granja que nos permitirá entre otras cosas, escalar, respaldar nuestra instalación, optimizar SharePoint, asegurarlo y tener un control mayor sobre la plataforma.
SharePoint4Fun!,
Juan Manuel Herrera Ocheita
jueves, 16 de mayo de 2013
Donde se encuentran las base de datos de una instalación Stand-alone o de demostración en SharePoint 2010
Pueda que te encuentres con una instalación realizada de modo “Stand Alone” que fue diseñada solo para demostración, esta instalación provee su propia versión de SQL Server que presumiblemente es Express 2008. La cual tiene un tamaña máximo no confirmado por base de datos de 4GB, y no instala ninguna interfaz gráfica para administrar SQL Server, pueda que si intentas instalar el SQL Server Mananagement Studio puedas administrarla, realmente nunca lo he probado por que no es una instalación que haga siquiera para demos ya que no permite escalar la granja de SharePoint e instala muchos servicios con la cuenta local newtwork services que es precisamente una mala practica dictada por Microsoft por temas de seguridad que recomienda no se haga.
El directorio donde guarda las bases de datos de SharePoint 2010 de modo “Stand Alone” es el siguiente:
c:\program files\common files\microsoft shared\web server extensions\14\data
Pueda que te indique que esta oculto si tienes privilegios de administrador puedes confirmar que quieres ingresar y te dará los permisos para hacerlo.
La recomendación entonces es no instalen SharePoint en modo “Stand Alone”, aunque solo lo instalen en una sola caja y recomiendo instalen SQL Server 2008 R2 en su edición “Standard” que es suficiente para lo que utiliza SharePoint y no es muy cara la licencia cercanos a los 400 USD (que para la calidad que producto es y lo que puede hacer es un preciazo, siempre consúltelo con un LAR de Microsoft que este certificado en licenciamiento para confirmarlo), o bien olvídese de lo terrenal y súbase a la nube por 4 USD por usuario y tiene la versión SharePoint 2013 Enterprise en la nube.
Bueno esto es todo por ahora, voy a compartir un artículo de como pasarse de un modo “Stand Alone” a una instalación de Granja.
SharePoint4Fun!,
Juan Manuel Herrera Ocheita
lunes, 15 de abril de 2013
Error al intentar iniciar el servicio de sincronización de Perfiles de Usuario
Otro error al provisionar el servicio de Perfiles de Usuario se agrega a la lista:
ILM Certificate could not be created: Cert step 2 could not be created
El detalle es el siguiente:
Log Name: Application
Source: ILM Web Service Configuration
Date: 15/04/2013 03:35:09 p.m.
Event ID: 234
Task Category: None
Level: Warning
Keywords: Classic
User: N/A
Computer: INFOWARE-WFE-01.infowareguate.com
Description:
ILM Certificate could not be created: Cert step 2 could not be created: C:\Program Files\Microsoft Office Servers\14.0\Tools\MakeCert.exe -pe -sr LocalMachine -ss My -a sha1 -n CN="ForefrontIdentityManager" -sky exchange -pe -in "ForefrontIdentityManager" -ir localmachine -is root
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="ILM Web Service Configuration" />
<EventID Qualifiers="0">234</EventID>
<Level>3</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2013-04-15T21:35:09.000000000Z" />
<EventRecordID>628361</EventRecordID>
<Channel>Application</Channel>
<Computer>INFOWARE-WFE-01.infowareguate.com</Computer>
<Security />
</System>
<EventData>
<Data>ILM Certificate could not be created: Cert step 2 could not be created: C:\Program Files\Microsoft Office Servers\14.0\Tools\MakeCert.exe -pe -sr LocalMachine -ss My -a sha1 -n CN="ForefrontIdentityManager" -sky exchange -pe -in "ForefrontIdentityManager" -ir localmachine -is root</Data>
</EventData>
</Event>
La ventaja es que este puede solucionarse rápido. Solo es necesario validar que efectivamente la autoridad raíz de certificados esta duplicada, eliminarlos y ejecutar de nuevo el aprovisionamiento del servicio de perfiles de usuario.
Cómo hacerlo?
1) Ejecutar el monitor de consola de Microsoft MMC desde el comando Run del sistema operativo, Agregar el Add-in Certificate, revisar si esta duplicado ForefrontIdentityManager como aparece en la siguiente pantalla:
Estos se duplican cada vez que intentamos provisionar el servicio de Perfiles de Usuario
2) Eliminar estos registros, seleccionándolos todos los que indican forefrontIdentityManager, y presionando la tecla DEL o Supr.
3) Luego reprovisione el servicio de aplicación de Perfiles de Usuarios, esto lo puede hacer solamente seleccionando el servicio de Perfiles de Usuario y presionando el botón del Ribbon Properties, deslizarse hacia abajo y presionar el botón OK. Si eliminó el servicio vuélvalo a crear.
4) Intente iniciar el servicio de Sincronización de Perfiles de Usuario, desde Central Administration, Manage services on server , y praesionando la opción "Start" sobre "User Profile Synchronization Service" (Valide que la opción Use Profile Service" este ya levantada).
Les deseo éxito para resolver este problema, abajo la imagen con el servicio levantado y recuerde luego reiniciar el IIS para luego poder crear la conexión de Perfiles de Usuario.
SharePoint4Fun!,
Juan Manuel Herrera Ocheita
domingo, 14 de abril de 2013
Corrigiendo el problema cuando se desea mostrar un video y solicita las credenciales en SharePoint
Es de conocimiento general el poder incrustar video en las páginas web a través del DOM o Document Object Model como el siguiente ejemplo:
<!--
<object classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
width="640" height="360" id="mediaplayer1" title="Win Media Player">
<param name="FileName" value="/path/to/video.wmv">
<param name="AutoStart" value="False">
<param name="ShowControls" value="True">
<param name="ShowStatusBar" value="False">
<param name="ShowDisplay" value="False">
<param name="AutoRewind" value="True">
<param name="DisplayBackColor" value="True" />
<param name="BufferingTime" value="6">
<embed src="/path/to/video.wmv" width="640" height="360"
autostart="True" type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/MediaPlayer/"
filename="/path/to/video.wmv" showcontrols="True"
showstatusbar="False" showdisplay="False" autorewind="True"
displaybackcolor="True" bufferingtime="6">
</embed>
</object>
-->
Pero pueda que no funcione al momento de hacer clic sobre el botón play o al intentar que inicie automáticamente con el parámetro AutoStart.
Al parecer hay un bloqueo para ejecutar los videos incrustados y al utilizar https para navegar sobre SharePoint. Como resolverlo entonces, agregar el nombre de la aplicación Web en los sitios de intranet pero sin incluir http o https solo el nombre de la aplicación web como se resuelve, por ejemplo: portal.dominio.com.
Para realizar esto en el navegador de Internet Explorer haga lo siguiente:
1) Haga clic sobre Internet Options
2) Haga clic en la pestaña de Security
3) Local Intranet
4) Haga clic sobre Sites
5) Haga clic sobre el botón "Advanced"
6) Escriba el nombre de la aplicación Web del Portal de SharePoint (ej: portal.dominio.com) y presione el botón Add
7) Presione el botón "Close"
8) Presione el botón "OK" dos veces y listo.
Y eso es todo, espero que haya podido ayudado amigo lector.
Juan Manuel Herrera Ocheita
Y eso es todo,
jueves, 21 de marzo de 2013
Actualización de problemas comunes encontrados en la implementación de Kerberos para SharePoint 2010
A continuación detallo el escenario de configuración y luego los tips para configurarlo y documentación de soporte que pueden ayudarte.
Escenario:
Windows Server 2008 R2 DataCenter Edition
SQL Server 2008 SP2 Standard Edition
SharePoint Server 2010 Enterprise Edition with Service Pack 1.0
Configuración de Servidores:
Servidor de Base de Datos 12 GB RAM, Discos 2 de 100 GB, Quad Core.
Servidor Front End: 8 GB RAM, Disco de 100 GB, Quad Core.
Cuentas de Dominio Administrativas para configuración de SharePoint:
Cuenta de Instalación de SharePoint: SPAdmin
Cuenta de administrador de la granja de SharePoint: SPFarm
Cuenta para Servicio de Secure Store y Cuenta para Acceso deshatenido: SPSS y SPUAA
Cuenta para Servicios de Busqueda y Contenido: SPSearch y SPContent
Cuenta para Servicio de Sincronización con el AD. SPSyncAD
Cuenta para el portal con NTLM: SPWebApp
Cuenta para servicios de aplicaciones: SPSvcApp
Cuentas de dominio para delegar tickets de Kerberos:
Cuenta para el portal que implementa Kerberos: SPPortalKB
Cuenta de base de datos: SPDB
Cuenta de Analysis Servies: SPAS
Cuenta para Claims to Windows Token Service: SPC2WTS
Cuenta para Excel, Visio, BDC y PerformancePoint: SPExcel, SPVisio, SPDBC, SPPP
Cuenta para el Servicio de Reporting Services: SPRS
Primero lo primero:
Debes de configurar el SharePoint manualmente y utilizar la opción Avanzada y Completa de instalación y no la versión Stand Alone.
Luego de configurar todos los servicios y crear las aplicaciones Web y percatarse que todo esta funcionando, reinicie el servidor y valide que todo lo configurado funciona correctamente.
Primer tip y error común:
Si configura las cuentas de super user y super reader percátese que le ha dado acceso de full control y full reader a nivel de aplicación Web a estas cuentas respectivamente.
Iniciando la configuración de Kerberos:
Les recomiendo empiecen con la Aplicación Web que implementará Kerberos, validando que los usuarios se autentican con Kerberos y no con NTLM, para ello puede revisar el visor de eventos en la sección de Seguridad, también puedes utilizar FIDDLER para monitorear cuando se autentique si utiliza un ticket de Kerberos. Para esta tarea hay una excelente guía a continuación el enlace: http://blog.blksthl.com/2012/09/26/the-final-kerberos-guide-for-sharepoint-technicians/.
Importante que cuando este haciendo el registro de los nombre principales con setspn registre el nombre corto y el FQDN. Siempre valide estos nombres haciendo un ping al nombre corto y largo, no asuma valores sino compruébelos, incluyendo los nombres de las cuentas de usuario, con su respecto dominio. Revise detenidamente los nombres de los servidores y dominios ya que estos no son validados si usted los escribe incorrectamente.
Importante que los servidores tengan habilitado: "On the Delegation tab, click ‘Trust this computer for delegation to any service (Kerberos only)".
Si ya esta autenticando reinicie el servidor de SharePoint y pruebe de nuevo para asegurarse.
Delegando las cuentas registradas por SetSPN
Es importante conocer como deben de delegarse las cuentas. Para ejecutar SetSPN necesitas una cuenta que sea Domain Admin o tenga permisos para registrar estos nombres en el AD.
La cuenta del Portal SPPortal por ejemplo se asocia así misma, hacia las cuentas de servicios de SQL y a la cuenta de Reporting Services. No se delega a C2WTS, ni a los servicios de Excel, Visio, y PerformancePoint.
Las cuentas de los servicios Excel, Visio, PerformancePoint y C2Wts se delegan a las cuentas de los servicios de SQL.
Las cuentas de servicios de SQL no se delegan a ningún otro ya que funcionan como End-Points.
Para todas las cuentas registradas con SetSPN es recomendable habilitar la opción Advanced Futures del Active Directory Users & Computers para acceder la pestaña de Security de cada cuenta y asignar el permiso de Read al grupo Authenticated Users.
Los códigos de los servicios son los siguientes:
Servicio
Código de Servicio
HTTP o HTTPS
HTTP
SQL Server Database Engine
MSSQLSVC
SQL Server Analysis Service
MSOLAPSvc.3
Claims To Windows Token Service
SP/C2WTS
Excel Service
SP/ExcelServices
PerformancePoint Service
SP/PPS
Visio Service
SP/VisioServices
Reporting Services
HTTP
Business Data Connectivity Service
HTTP
La guía completa la puede encontrar como Configuring Kerberos Authentication for Microsoft SharePoint 2010 Products en: http://www.microsoft.com/en-us/download/details.aspx?id=23176
SharePonit4Fun!,
Juan Manuel Herrera Ocheita
domingo, 15 de julio de 2012
Creando entradas de blog en SharePoint 2010 desde el envío de correo
Esto es posible gracias a la opción “Incoming E-mail” disponible en SharePoint 2010 en cualquiera de sus versiones (Foundation,Standard,Enterprise). En este artículo vamos a ver como configurarlo y que problemas podemos encontrar y posibles soluciones.
Los pasos resumidos a seguir son los siguientes:
1) Configurar el servicio SMTP en el Front-End de SharePoint.
2) Configurar la opción Incoming E-mail en el Central Administration.
3) Configurar la lista de Blog.
4) Validar registros MX y Puertos.
5) Realizar las pruebas de funcionalidad.
Veamos a detalle cada uno de estos pasos.
Breve explicación del proceso
El servicio SMTP de Windows nos permitirá escuchar en el puerto 25 (el predeterminado) los correos que se redirecciones al servidor Front-End de SharePoint, los cuales serán descargados en una carpeta de correo de descarga, luego el mensaje será tomado por el Timer Service de SharePoint 2010 a través del Timer-Job llamado (que esta disponible hasta después de realizar el paso 2). Y este redirige el mensaje a la lista que tiene la cuenta de correo especificada (Paso 3), donde es depositada. No todas las listas tiene esta opción de recibir correos como entradas (por ejemplo las tareas) y no todas las listas acepta el formato del correo como (el calendario, necesario un evento con formato ics), pero entre las mas usadas las bibliotecas y los blogs.
Paso 1:
Valide si ya tiene el Servicio SMTP en el servidor Front-End de SharePoint, sino siga el enlace de abajo.
Para instalar el servicio de SMTP de Windows Server favor seguir este enlace: http://technet.microsoft.com/es-es/library/cc772058(v=ws.10).aspx
Una vez que ya tenga el servicio instalado en el Front-End lo configuraremos haciendo lo siguiente:
Creando un nuevo alias: Ejecute el IIS 6.0 Manager, luego presione clic derecho sobre Domains, New y luego Domain…
Luego seleccione la opción Alias y luego presione el botón Next.
Seleccione un alias para este servicio. Para este ejemplo escogeremos smtp.infowareplus.com por ultimo presione el botón Finish.
Nota: No se olvide de configurar el servicio para que inicie automáticamente y su recuperación en caso de falla es que se reinicie cada 5 minutos como se muestra en las imágenes de abajo:
Ahora solo vamos a copiar la ruta del directorio de descarga o Drop Directory que utilizaremos en el próximo paso. Para ello para el nombre de dominio Predeterminado (Default) haga clic derecho y seleccione la opción Properties, levantará una ventana donde le mostrará el directorio de descarga. Copie la ruta Ctrl+C.
Paso 2:
En este paso configuraremos SharePoint para habilitar en las listas y bibliotecas la recepción de correo entrante.
Desde el Central Administration, seleccione System settings y luego el enlace “Configure incoming e-mail settings”
Seleccione los siguientes valores para las siguientes casillas:
Enable sites on this server to receive e-mail?
Yes
Settings mode:
Advanced
E-mail server display address: (ingrese el alias del dominio configurado en el smtp service)
smtp.infowareplus.com
En la casilla E-mail drop folder: Pegue o escriba la ruta de la carpeta de descarga o drop folder. Y por ultimo presione el botón Finish.
Ahora vamos a verificar el permiso de la cuenta que ejecuta el Timer Service de SharePoint en el directorio de descarga o Drop foler. Para ello ejecute la consola de servicios: services.msc
La cuenta que ejecuta este servicio debe de tener los permisos Modify. En esta caso la cuenta spfarm tiene permisos de administrador local, por lo que no debo de preocuparme, pero usted valide si esto es así para la cuenta que ejecuta este servicio en su instalación.
Paso 3:
Ahora vamos a configurar el blog del perfil de usuario que esta disponible en SharePoint Server 2010. En la parte superior derecha donde esta el usuario conectado haga clic sobre el luego haga clic sobre My Profile.
Seleccione el enlace My Content
Luego haga clic en la opción Create Blog (si aún no lo tiene creado).
En Blog Tools seleccion Manage Posts
Haga clic en List en el Ribbon y luego List Settings.
Luego en la sección Communications, seleccione la opción Incoming e-mail settings (sino le aparece y no es una lista de Tareas, es porque no realizó el paso 2 o hubo algún error).
Seleccione la opción Allow this list to receive e-mail? Yes
En la casilla E-mail address: escriba la cuenta de correo ficticia que utilizará para enviar el correo y lo pueda redirigir SharePoint al Blog.
En la casilla E-Mail Security seleccione la opción: Accept e-mail messages based on list permissions. Este opción es la recomendada para que solo acepte corres enviados de usuarios que tiene correo electrónico asociado y que tiene permiso asignado al sitio o a la lista de Blog. Si estas dos condiciones no se cumplen le mostrará a nivel del USLogs de SharePoint error de acceso denegado al procesar el mensaje.
En la casilla Post Publishing seleccione la opción que mas le haga sentido y que cubra sus objetivos. Para finalizar presione el botón Ok.
Paso 4: Validar los registros MX y Puertos
En este paso deberá registrar el alias que coloco en el paso 1 para que todos los correos enviados a este alias sea redireccionado al servidor de SharePoint.
Luego revise el Firewall local del Servidor y de la red interna validando que el puerto 25 (el predeterminado) o el puerto que esta escuchando el Servicio SMTP este abierto.
Paso 5: Realizar las pruebas de funcionalidad
Revise lo siguiente:
1) Si al enviar el correo a la dirección de ejemplo no le regresa un correo de rechazo.
2) Si el mensaje aparece como un archivo en el directorio c:\inetpub\mailroot\drop de extensión eml.
3) Si no llega a la biblioteca y al revisar los registros de bitácora de SharePoint da un error de acceso denegado es porque el usuario no tiene permisos en la biblioteca o bien el usuario no tiene cuenta de correo electrónico asociada, esto lo puede revisar en el perfil de SharePoint.
El contenido del archivo eml es el siguiente:
x-sender: micorreo@gmail.com
x-receiver: miblog@alias.dominio.com
Received: from mail.google.com ([ip address]) by x-corporation with Microsoft SMTPSVC(7.5.7601.17514);
Tue, 10 Jul 2012 10:02:04 -0600
Received: by lbdb5 with SMTP id b5so64129lbd.3
for <miblog@alias.dominio.com>; Tue, 10 Jul 2012 09:02:11 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=google.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type:x-gm-message-state;
bh=saQCDmOD7S38FXhx34I61T3upzX4EI8+pRbIkW3qkMU=;
b=KoQccQW+6o2mVZbtPb+IYCdx9DP4/BSsoNKQ93StWohV4sx1+1FCNFpAjrfyW/2ad7
cklTN0Xz0Oqwt1gSLgwlXRGSyrFLHQBCSaqdmdN59VGrKX+3PmIP1ZjdzhrooBbRqmaf
bpRC1nVUFXYh2JZr0eI7+MKud5rPkwYhkjCeagXe59aXmDjDl4G5Z7Jb9WTTaZse464b
hZRrT80BF5HSIpwN23/G0Mf/GduXCYKRbO90fnYZ1OHlsoS6cVddP2Ps1m5TT0a99U1s
NRPoBjaTHH4W2cn3RKUpn2EFYqwTt53MLP9491Z/RBmTwdtWrb1kwVhwhiNnlYZnbY++
op1g==
MIME-Version: 1.0
Received: by 10.152.127.98 with SMTP id nf2mr9706519lab.4.1341936131436; Tue,
10 Jul 2012 09:02:11 -0700 (PDT)
Received: by 10.114.38.104 with HTTP; Tue, 10 Jul 2012 09:02:11 -0700 (PDT)
In-Reply-To: <CACRdqqpPyxPtUH_WQQJ2Cjhy-sPjPDj8arMr_biJXa3HHXdw_w@mail.gmail.com>
References: <CACRdqqpPyxPtUH_WQQJ2Cjhy-sPjPDj8arMr_biJXa3HHXdw_w@mail.gmail.com>
Date: Tue, 10 Jul 2012 10:02:11 -0600
Message-ID: <CACRdqqoxE3SYEzp6s=JTvcd8CjH0ARDCpBKwLW8Q-BqCrykmWg@mail.gmail.com>
Subject: Fwd: Testing from gmail
From: micorreo@gmail.com
To: miblog@alias.dominio.com
Content-Type: multipart/mixed; boundary=f46d042d05aa6cf14304c47bda2f
X-Gm-Message-State: ALoCoQkgxOizZKw6JloykgwZwy9e+tQjs8GmEH1doXgmXGPRO4a3SkvLeHJMCueeFRBl6aHJwg3T
Return-Path: micorreo@gmail.com
X-OriginalArrivalTime: 10 Jul 2012 16:02:05.0304 (UTC) FILETIME=[59D81F80:01CD5EB5]
--f46d042d05aa6cf14304c47bda2f
Content-Type: multipart/alternative; boundary=f46d042d05aa6cf13f04c47bda2d
--f46d042d05aa6cf13f04c47bda2d
Content-Type: text/plain; charset=ISO-8859-1
*Articulo*
Lorem ipsum ad his scripta blandit partiendo, eum fastidii accumsan
euripidis in, eum liber hendrerit an. Qui ut wisi vocibus suscipiantur, quo
dicit ridens inciderint id. Quo mundi lobortis reformidans eu, legimus
senserit definiebas an eos. Eu sit tincidunt incorrupte definitionem, vis
mutat affert percipit cu, eirmod consectetuer signiferumque eu per. In usu
latine equidem dolores. Quo no falli viris intellegam, ut fugit veritus
placerat per. Ius id vidit volumus mandamus, vide veritus democritum te
nec, ei eos debet libris consulatu. No mei ferri graeco dicunt, ad cum veri
accommodare. Sed at malis omnesque delicata, usu et iusto zzril meliore.
Dicunt maiorum eloquentiam cum cu, sit summo dolor essent te. Ne quodsi
nusquam legendos has, ea dicit voluptua eloquentiam pro, ad sit quas
qualisque. Eos vocibus deserunt quaestio ei. Blandit incorrupte quaerendum
in quo, nibh impedit id vis, vel no nullam semper audiam. Ei populo graeci
consulatu mei, has ea stet modus phaedrum. Inani oblique ne has, duo et
veritus detraxit. Tota ludus oratio ea mel, offendit persequeris ei vim.
Eos dicat oratio partem ut, id cum ignota senserit intellegat. Sit inani
ubique graecis ad, quando graecis liberavisse et cum, dicit option eruditi
at duo. Homero salutatus suscipiantur eum id, tamquam voluptaria expetendis
ad sed, nobis feugiat similique usu ex. Eum hinc argumentum te, no sit
percipit
--f46d042d05aa6cf13f04c47bda2d
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<strong><u>Articulo</u></strong><br><br>Lorem ip=
sum ad his scripta blandit partiendo, eum fastidii accumsan euripidis in, e=
um liber hendrerit an. Qui ut wisi vocibus suscipiantur, quo dicit ridens i=
nciderint id. Quo mundi lobortis reformidans eu, legimus senserit definieba=
s an eos. Eu sit tincidunt incorrupte definitionem, vis mutat affert percip=
it cu, eirmod consectetuer signiferumque eu per. In usu latine equidem dolo=
res. Quo no falli viris intellegam, ut fugit veritus placerat per. Ius id v=
idit volumus mandamus, vide veritus democritum te nec, ei eos debet libris =
consulatu. No mei ferri graeco dicunt, ad cum veri accommodare. Sed at mali=
s omnesque delicata, usu et iusto zzril meliore. Dicunt maiorum eloquentiam=
cum cu, sit summo dolor essent te. Ne quodsi nusquam legendos has, ea dici=
t voluptua eloquentiam pro, ad sit quas qualisque. Eos vocibus deserunt qua=
estio ei. Blandit incorrupte quaerendum in quo, nibh impedit id vis, vel no=
nullam semper audiam. Ei populo graeci consulatu mei, has ea stet modus ph=
aedrum. Inani oblique ne has, duo et veritus detraxit. Tota ludus oratio ea=
mel, offendit persequeris ei vim. Eos dicat oratio partem ut, id cum ignot=
a senserit intellegat. Sit inani ubique graecis ad, quando graecis liberavi=
sse et cum, dicit option eruditi at duo. Homero salutatus suscipiantur eum =
id, tamquam voluptaria expetendis ad sed, nobis feugiat similique usu ex. E=
um hinc argumentum te, no sit percipit=20
</div><br>
</div><br>
--f46d042d05aa6cf13f04c47bda2d--
--f46d042d05aa6cf14304c47bda2f
Content-Type: text/plain; charset=US-ASCII; name="blog.txt"
Content-Disposition: attachment; filename="blog.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h4h5tdy90
DQoNCkxvcmVtIGlwc3VtIGFkIGhpcyBzY3JpcHRhIGJsYW5kaXQgcGFydGllbmRvLCBldW0gZmFz
dGlkaWkgYWNjdW1zYW4gZXVyaXBpZGlzIGluLCBldW0gbGliZXIgaGVuZHJlcml0IGFuLiBRdWkg
dXQgd2lzaSB2b2NpYnVzIHN1c2NpcGlhbnR1ciwgcXVvIGRpY2l0IHJpZGVucyBpbmNpZGVyaW50
IGlkLiBRdW8gbXVuZGkgbG9ib3J0aXMgcmVmb3JtaWRhbnMgZXUsIGxlZ2ltdXMgc2Vuc2VyaXQg
ZGVmaW5pZWJhcyBhbiBlb3MuIEV1IHNpdCB0aW5jaWR1bnQgaW5jb3JydXB0ZSBkZWZpbml0aW9u
ZW0sIHZpcyBtdXRhdCBhZmZlcnQgcGVyY2lwaXQgY3UsIGVpcm1vZCBjb25zZWN0ZXR1ZXIgc2ln
bmlmZXJ1bXF1ZSBldSBwZXIuIEluIHVzdSBsYXRpbmUgZXF1aWRlbSBkb2xvcmVzLiBRdW8gbm8g
ZmFsbGkgdmlyaXMgaW50ZWxsZWdhbSwgdXQgZnVnaXQgdmVyaXR1cyBwbGFjZXJhdCBwZXIuIEl1
cyBpZCB2aWRpdCB2b2x1bXVzIG1hbmRhbXVzLCB2aWRlIHZlcml0dXMgZGVtb2NyaXR1bSB0ZSBu
ZWMsIGVpIGVvcyBkZWJldCBsaWJyaXMgY29uc3VsYXR1LiBObyBtZWkgZmVycmkgZ3JhZWNvIGRp
Y3VudCwgYWQgY3VtIHZlcmkgYWNjb21tb2RhcmUuIFNlZCBhdCBtYWxpcyBvbW5lc3F1ZSBkZWxp
Y2F0YSwgdXN1IGV0IGl1c3RvIHp6cmlsIG1lbGlvcmUuIERpY3VudCBtYWlvcnVtIGVsb3F1ZW50
aWFtIGN1bSBjdSwgc2l0IHN1bW1vIGRvbG9yIGVzc2VudCB0ZS4gTmUgcXVvZHNpIG51c3F1YW0g
bGVnZW5kb3MgaGFzLCBlYSBkaWNpdCB2b2x1cHR1YSBlbG9xdWVudGlhbSBwcm8sIGFkIHNpdCBx
dWFzIHF1YWxpc3F1ZS4gRW9zIHZvY2lidXMgZGVzZXJ1bnQgcXVhZXN0aW8gZWkuIEJsYW5kaXQg
aW5jb3JydXB0ZSBxdWFlcmVuZHVtIGluIHF1bywgbmliaCBpbXBlZGl0IGlkIHZpcywgdmVsIG5v
IG51bGxhbSBzZW1wZXIgYXVkaWFtLiBFaSBwb3B1bG8gZ3JhZWNpIGNvbnN1bGF0dSBtZWksIGhh
cyBlYSBzdGV0IG1vZHVzIHBoYWVkcnVtLiBJbmFuaSBvYmxpcXVlIG5lIGhhcywgZHVvIGV0IHZl
cml0dXMgZGV0cmF4aXQuIFRvdGEgbHVkdXMgb3JhdGlvIGVhIG1lbCwgb2ZmZW5kaXQgcGVyc2Vx
dWVyaXMgZWkgdmltLiBFb3MgZGljYXQgb3JhdGlvIHBhcnRlbSB1dCwgaWQgY3VtIGlnbm90YSBz
ZW5zZXJpdCBpbnRlbGxlZ2F0LiBTaXQgaW5hbmkgdWJpcXVlIGdyYWVjaXMgYWQsIHF1YW5kbyBn
cmFlY2lzIGxpYmVyYXZpc3NlIGV0IGN1bSwgZGljaXQgb3B0aW9uIGVydWRpdGkgYXQgZHVvLiBI
b21lcm8gc2FsdXRhdHVzIHN1c2NpcGlhbnR1ciBldW0gaWQsIHRhbXF1YW0gdm9sdXB0YXJpYSBl
eHBldGVuZGlzIGFkIHNlZCwgbm9iaXMgZmV1Z2lhdCBzaW1pbGlxdWUgdXN1IGV4LiBFdW0gaGlu
YyBhcmd1bWVudHVtIHRlLCBubyBzaXQgcGVyY2lwaXQg
--f46d042d05aa6cf14304c47bda2f--
En este artículo vimos como configurar el correo entrante en SharePoint y así poder alimentar un blog desde el envió de un correo.
SharePoint4Fun,
Juan Manuel Herrera Ocheita