Desafiando convicciones

Hasta una simple gota de agua solo por ser constante, con el tiempo puede perforar una roca

Month: junio 2024

Migración de Contenido en SharePoint Online con Sharegate: Configuración de DenyAddAndCustomizePages para Personalización de Páginas

Aquí dejo este pequeño script de código PowerShell para cuando queramos migrar contenido como páginas, documentos y configuración de un sitio moderno de SharePoint Online utilizando la herramienta Sharegate.

Ellos mismo hacen la recomendación de que en el sitio destino debemos de configurar la propiedad DenyAddAndCustomizePages en 0.

Connect-SPOService -Url https://mitenant-admin.sharepoint.com
Set-SPOSite -Identity https://mitenant.sharepoint.com/sites/misitio -DenyAddAndCustomizePages 0

En SharePoint Online, la propiedad DenyAddAndCustomizePages controla la capacidad de los usuarios para agregar y personalizar páginas utilizando código o scripts personalizados. Cuando esta propiedad está establecida en 0, permite a los usuarios realizar estas acciones. Aquí un desglose más detallado:

  • DenyAddAndCustomizePages en 0: Los usuarios pueden agregar y personalizar páginas utilizando código y scripts personalizados. Esto incluye la capacidad de usar PowerShell, CSOM, y REST API para modificar páginas, así como la capacidad de agregar páginas personalizadas y contenido que pueda incluir scripts de terceros.

  • DenyAddAndCustomizePages en 1: Los usuarios no pueden agregar ni personalizar páginas utilizando código o scripts personalizados. Esto es útil para mantener un entorno más seguro y controlado, evitando posibles problemas de seguridad o compatibilidad que puedan surgir de scripts no autorizados.

Claro, ocuparás el SharePoint Online Management Shell para poder ejecutar estos comandos sobre PowerShell.

https://www.microsoft.com/en-us/download/details.aspx?id=35588

Saberse llamado para el éxito

Así se ve desde fuera:

HLI_afuera

Así se ve desde dentro:

HLI_adentro

Lograr que las cosas sucedan es el resultado de la intersección entre la oportunidad y la preparación. La oportunidad es un momento fugaz, una puerta que se abre brevemente en el vasto pasillo del tiempo. Sin embargo, estar preparado es lo que nos permite identificar esa puerta y tener la llave lista para abrirla. Prepararse no solo implica adquirir habilidades y conocimientos, sino también cultivar la perseverancia y la adaptabilidad. Cuando finalmente la oportunidad se presenta, aquellos que han dedicado tiempo y esfuerzo a su preparación son los que están listos para actuar con confianza y determinación. Es en ese preciso instante, donde el esfuerzo constante se encuentra con el momento adecuado, que las grandes cosas suceden.

No es solo suerte, es el fruto de un trabajo arduo y una visión clara, que juntos, crean las condiciones perfectas para el éxito.

Aunque he de confirmar que existe el factor X, el no nada mas sentirse llamado, sino saberse llamado.

Cómo manejar fechas nulas de SharePoint en Power Automate

En ocasiones tenemos que trabajar con datos que provienen de SharePoint y que vienen vacíos por ejemplo una fecha o algún otro campo dentro de una lista, en este ejemplo quiero mostrar justamente un error que surgió porque el valor de la fecha que estaba retornando de una lista sharepoint venían en nulo por ende vacía y tuve que hacer una expresión dentro de power automate para presentar la fecha en el formato correcto sin embargo debido a que viene en nulo power automate fallaba.

Lo que vamos a ver a continuación es una expresión que en primer lugar convierte a cadena de texto el valor nulo obtenido de la lista SharePoint y posteriormente evaluar si está vacío, en el caso de que no esté vacío entonces si retornar la fecha con el formato de fecha correcto, en caso contrario, retornamos una cadena de texto vacía.

if(

empty(

string(triggerOutputs()?[‘body/Start_x0020_Date_x0020_New’])),”,

formatDateTime(triggerOutputs()?[‘body/Start_x0020_Date_x0020_New’],’d’)

)

Agregando grupo de dominio como Site Collection Administrator en los sitios SharePoint de mi tenant

Pues en esta ocasión nos topamos con un pequeño proceso de estabilización de cuentas administrativas. Simplemente crearon un nuevo grupo de dominio para agregar en el a todos los que serán SharePoint Administrators dentro de la empresa. Y pues básicamente fue necesario mediante PowerShell crear un Script que de manera recursiva obtenga todos los sitios SharePoint Online y agregue el grupo de seguridad de dominio.

Tan simple como ejecutar lo siguiente:

Connect-SPOService -Url https://company-admin.sharepoint.com

$Sites = Get-SPOSite -Limit ALL
Foreach ($Site in $Sites)
{
   Set-SPOUser -site $Site -LoginName “c:0t.c|tenant|0ae0c4c0-f68a-4cdc-b39b-803069feda5c” -IsSiteCollectionAdmin $True
}

Para obtener el –LoginName del grupo de seguridad simplemente me aseguré de agregar el grupo dentro del algún grupo de seguridad de SharePoint, después di clic sobre el grupo y en la página de propiedades obtuve ese valor:

peolple

Configurando los grupos de seguridad de un sitio SharePoint

Como parte de un proceso de migración o estabilización de contenido SharePoint con el fin de garantizar una simplicidad de configuración es necesario en ocasiones hacer un mapeo apropiado de los grupos de seguridad, esto sucede cuando el sitio destino tiene nombre distinto al sitio fuente. Recuerden que cuando creamos un sitio SharePoint, este automáticamente crea tres grupos de seguridad, que son [nombre del sitio] Visitors, [nombre del sitio] Owners y [nombre del sitio] Members y pues para garantizar la simplicidad y ser homogéneos podemos utilizar la pagina de configuración  /_layouts/15/permsetup.aspx para establecer que grupos de seguridad serán considerados los predeterminados para nuestro sitio.

Powered by WordPress & Theme by Anders Norén