Cerrar
InicioMicrosoft TEAMSMicrosoft Teams, conceptos y tecnología (Parte XXIII)

Microsoft Teams, conceptos y tecnología (Parte XXIII)

Seguramente muchos de los que estáis implicados en proyectos de Teams se os ha encomendado el migrar los ficheros compartidos, esos ficheros que históricamente nos hemos preocupado de mantener en nuestros servidores On-Premises. A priori suena a complejo y tedioso, pero ya veréis que puede ser todo lo contrario.

Antes de nada, tenemos que tener en cuenta algunas cosas, sobre todo del funcionamiento de Teams en cuanto a los canales, pestañas de ficheros, etc… algo que os había comentado en este artículo: Microsoft Teams, conceptos y tecnología (Parte I). El máximo problema es la gestión de los permisos, puesto que en Teams todo el que tiene acceso a un equipo tiene acceso a toda la información.  En Teams por definición, todos los usuarios tienen acceso a todo lo que se haya subido al equipo y en cualquier canal y, MSFT no recomienda tocar los permisos de las carpetas de la biblioteca “Documentos Compartidos” o “Shared Documents” porque esto podría corromper el equipo. Pero, también es cierto que podemos crearnos dentro de la colección del sitio de cada Teams nuevas bibliotecas, las cuales podemos ajustarle los permisos a nuestro parecer y que esté visible en una ficha de Teams. De momento, por lo menos, nos asegurará el que tengamos equipos creados y los usuarios puedan tener acceso a información de forma segregada con los diferentes permisos establecidos en las nuevas bibliotecas que podemos crearnos.

Una vez que esto lo tenemos “arreglado”, podemos subir información de forma masiva con la utilidad que nos ha puesto MSFT a nuestra disposición: Introducción a la Herramienta de migración de SharePoint. Esta herramienta, nos permite migrar la información desde SharePoint On-Premises y nuestros servidores de ficheros, además de utilizarlo en modo sincronización (iniciar el proceso en cualquier momento y justo antes de hacer el corte de ubicación final de los ficheros volver a sincronizar únicamente los cambios que hayan sufrido los documentos).  La “única” limitación que tenemos, es que no podemos sincronizar la información en carpetas de las bibliotecas de SharePoint, vamos, que tenemos que enviarla directamente a la biblioteca pero no podemos hacerlo directamente a carpetas existentes dentro de las bibliotecas. Esto, debemos tenerlo muy en cuenta, porque, si queremos subir la información directamente a la ficha de Archivos de cualquier canal, no lo vamos a poder hacer con esta herramienta por la propia arquitectura de Teams. Recordad, que cada canal en Teams realmente es una carpeta dentro de la biblioteca “Documentos Compartidos” o “Shared Documents” de la colección de sitios de ese equipo. Dicho esto, con la limitación de la herramienta de MSFT no podríamos utilizarla. Si queremos subir la información directamente a las carpetas de Ficheros de cada canal, tendríamos que hacerlo de alguna de las siguientes formas:

  • Sincronizar la carpeta de ficheros de cada canal vía OneDrive: es bastante complejo, no es su ejecución pero si en tener que configurar OneDrive en el servidor donde estén los ficheros o tener que mover los ficheros al equipo donde tengamos OneDrive instalado
  • Subir los ficheros vía PowerShell: debemos crear un script para ello, no es complejo pero será tedioso si tenemos problemas con los ficheros que no puedan subirse por alguna razón
  • Herramientas de terceros u otros desarrollos: se podrían adquirir otro tipo de soluciones de terceros, pero todas ellas de pago:
    • https://en.share-gate.com/sharepoint-migration
    • https://www.cloudfastpath.com/migrate-to-onedrive-for-business/
    • http://www.thinkscape.com/SharePoint-Online-File-Migration-Tool/

En este artículo voy a comentar como poder subir la información desde vuestros servidores de ficheros a Teams, utilizando para ello la herramienta gratuita de MSFT:  Introducción a la Herramienta de migración de SharePoint .. pero añadiendo una pequeñita capa de automatismo a la hora de crear los Teams y las bibliotecas personalizadas para subir la información. Aquí os dejo la infografía para este artículo:

Según este esquema, esto será lo que haremos:

  • Crear equipos en Teams vía PowerShell, para ello necesitaremos los módulos de PowerShell de Teams: MicrosoftTeams 0.9.5
  • Creación de bibliotecas vía SharePoint PnP PowerShell, para ello necesitamos tener instalados los siguientes módulos: Información general de PowerShell Plug and Play
  • Subir información a Teams vía SharePoint Migration Tool: subiremos la información a las nuevas bibliotecas que hemos creado fuera de los canales de Teams.

Dicho esto, lo primero será crear nuestro Teams, para ello aquí tenéis el script de PowerShell que he utilizado:

Connect-MicrosoftTeams -AccountId XXXX@santiagobuitragoreis.onmicrosoft.com
$group = New-Team -alias “Doc-IT-MSFT” -displayname “Doc-IT-MSFT3” -AccessType “private” -AddCreatorAsMember $True
Add-TeamUser -GroupId $group.GroupId -User “jfernandez@santiagobuitragoreis.com” -role Member
Add-TeamUser -GroupId $group.GroupId -User “sbuitrago@santiagobuitragoreis.com” -role owner
New-TeamChannel -GroupId $group.GroupId -DisplayName “Azure
New-TeamChannel -GroupId $group.GroupId -DisplayName “Windows-Server
New-TeamChannel -GroupId $group.GroupId -DisplayName “Windows-10
New-TeamChannel -GroupId $group.GroupId -DisplayName “SkypefB
Set-TeamFunSettings -GroupId $group.GroupId -AllowCustomMemes $true
Set-TeamMemberSettings -GroupId $group.GroupId -AllowCreateUpdateChannels $False -AllowDeleteChannels $False -AllowAddRemoveApps $False -AllowCreateUpdateRemoveTabs $False -AllowCreateUpdateRemoveConnectors $False
Set-TeamMessagingSettings -GroupId $group.GroupId -AllowUserEditMessages $True -AllowUserDeleteMessages $True -AllowOwnerDeleteMessages $True -AllowTeamMentions $True -AllowChannelMentions $True
Set-TeamPicture -GroupId $group.GroupId -ImagePath C:\Temp-Teams\Doc-IT-MSFT.png

Ahora vamos a revisar el script por parte, lo primero identificarnos en O365 con una cuenta con privilegios para crear equipos en Teams:

Connect-MicrosoftTeams -AccountId XXXX@tenant.onmicrosoft.com

Una vez que hemos hecho login, lo siguiente será crear el nuevo equipo en Teams, añadir sus miembros y crear los diferentes canales:

$group = New-Team -alias “Doc-IT-MSFT” -displayname “Doc-IT-MSFT3” -AccessType “private” -AddCreatorAsMember $True
Add-TeamUser -GroupId $group.GroupId -User “jfernandez@santiagobuitragoreis.com” -role Member
Add-TeamUser -GroupId $group.GroupId -User “sbuitrago@santiagobuitragoreis.com” -role owner
New-TeamChannel -GroupId $group.GroupId -DisplayName “Azure
New-TeamChannel -GroupId $group.GroupId -DisplayName “Windows-Server
New-TeamChannel -GroupId $group.GroupId -DisplayName “Windows-10
New-TeamChannel -GroupId $group.GroupId -DisplayName “SkypefB

Si tenemos abierto Teams y somos miembros del grupo, veremos que al instante se van mostrando todos los cambios que vamos realizando vía script:

Y por último, las diferentes  parametrizaciones que podemos ajustar vía PowerShell:

Set-TeamFunSettings -GroupId $group.GroupId -AllowCustomMemes $true
Set-TeamMemberSettings -GroupId $group.GroupId -AllowCreateUpdateChannels $False -AllowDeleteChannels $False -AllowAddRemoveApps $False -AllowCreateUpdateRemoveTabs $False -AllowCreateUpdateRemoveConnectors $False
Set-TeamMessagingSettings -GroupId $group.GroupId -AllowUserEditMessages $True -AllowUserDeleteMessages $True -AllowOwnerDeleteMessages $True -AllowTeamMentions $True -AllowChannelMentions $True
Set-TeamPicture -GroupId $group.GroupId -ImagePath C:\Temp-Teams\Doc-IT-MSFT.png

Si ahora queréis ver la URL que tiene la colección de sitios para este nuevo Teams, para ello primero debemos conectarnos a nuestro Tenant:

Connect-SPOService -url https://tenant-admin.sharepoint.com

Y con el siguiente cmdlet podemos ver las diferentes colecciones de sitio que tenemos creadas: Get-SPOSite y ahí vemos que la URL tiene el nombre del Teams creado: https://tenant.sharepoint.com/Sites/Nombre-Teams

Si ahora abrimos un navegador web y acceso al sitio web, vemos que tenemos un sitio de SharePoint creado con la plantilla de Teams.

Si ahora nos vamos a la biblioteca de Documentos o Shared Documents (en función del idioma de la colección de sitios), pues vemos que tenemos dos carpetas, la General y SypefB. Esta carpetas son las carpetas que tenemos conectadas a cada Canal de Teams,  y es la ficha de Archivos anclada por defecto. Ahora bien, porque sólo vemos dos y no el resto de carpetas .. pues porque no se han creado todavía porque desde Teams no hemos accedido a ellas. Como yo había accedido a la ficha de Archivos de estos dos canales, ya tengo  las carpetas disponibles:

Según vayamos accediendo a la ficha de Archivos, se nos irán creando las diferentes carpetas para cada canal:

Dicho esto, ahora vamos a ver que bibliotecas tenemos en esta colección de Sitios, para ello nos vamos a las rueda de opciones y pulsamos en Contenidos del sitio:

Y vemos que no tenemos más que las bibliotecas por defecto, esto os lo muestro para que veamos que luego las crearemos nosotros 

Si ahora entramos en carpeta General (recordad que se corresponde con el canal General de Teams) de la biblioteca Documentos o Shared Documents, veremos que aún no tiene contenido (lo comento porque vía PowerShell podemos automatizar la creación de estructuras de subcarpetas)

Lo que quiero hacer ahora, es crear una estructura de carpetas en cada Canal, de tal forma que podamos automatizar la creación de Teams y en sus canales crear una estructura de subcarpetas.  Lo primero, conectarnos vía PowerShell: Connect-PnPOnline -Url https://santiagobuitragoreis.sharepoint.com/sites/Doc-IT-MSFT -Credential (Get-credential) utilizando como URL de destino la URL del Site de Teams (claramente)

Ahora, crearé tres carpetas dentro del canal General, que realmente es  crear subcarpetas dentro de la carpeta General dentro de la biblioteca Documentos o Shared Documents:

Add-PnPFolder -Name “Procesos” -Folder “/Shared Documents/General
Add-PnPFolder -Name “Logos” -Folder “/Shared Documents/General
Add-PnPFolder -Name “Plantillas” -Folder “/Shared Documents/General

Una vez ejecutados, si accedemos a Teams o al SITE directamente de Teams, vemos que en la carpeta General tiene las carpetas que hemos creado vía PowerShell:

Otra cosa importante, que además, lo comentará al final del artículo, mientras que no se acceda a la ficha de Archivos de cada Canal, no se creará su carpeta en la biblioteca Documentos o Shared Documents. Pero, la podemos crear nosotros y a Teams le es totalmente válida (quedaros con este dato hasta el final del artículo):

Add-PnPFolder -Name “Azure” -Folder “/Shared Documents”
Add-PnPFolder -Name “Scripts” -Folder “/Shared Documents/Azure

Add-PnPFolder -Name “Windows-Server” -Folder “/Shared Documents”
Add-PnPFolder -Name “Scripts” -Folder “/Shared Documents/Windows-Server

Add-PnPFolder -Name “Windows-10” -Folder “/Shared Documents/”
Add-PnPFolder -Name “Procesos” -Folder “/Shared Documents/Windows-10
Add-PnPFolder -Name “Instrucciones” -Folder “/Shared Documents/Windows-10

Add-PnPFolder -Name “Procesos” -Folder “/Shared Documents/SkypefB
Add-PnPFolder -Name “Instrucciones” -Folder “/Shared Documents/SkypefB

Si ahora, accedemos a Teams, vemos que ya tenemos las carpeta disponibles.

Ahora, lo que queremos hacer es crear nuevas bibliotecas para subir de forma mavisa la documentación de la empresa (de nuestras carpetas compartidas en On-Premises). Para ello, volvemos a crearlas vía PowerShell:

New-PnPList -Title “AzureGuias” -Template DocumentLibrary -OnQuickLaunch
New-PnPList -Title “SkypeCloudMigration” -Template DocumentLibrary -OnQuickLaunch
New-PnPList -Title “Windows10Guias” -Template DocumentLibrary -OnQuickLaunch
New-PnPList -Title “WindowsServerGuias” -Template DocumentLibrary -OnQuickLaunch

Si volvemos al Site de SharePoint para Teams, vemos que ya tenemos las nuevas bibliotecas disponibles:

Como estas nuevas bibliotecas no son conectables a Teams de forma “automática”, tenemos que ir canal a canal y creando nuevas fichas, para ello pulsamos en el símbolo + en cada canal

Elegimos que queremos conectar una Biblioteca de documentos de SharePoint

Seleccionamos la opción Usar un vínculo de SharePOint y escribimos la URL del Site (no de la biblioteca): https://tenant.sharepoint.com/Sites/Nombre-Teams y pulsamos en Ir

Si la URL es la correcta, nos mostrará el SITE y pulsamos en Siguiente

En la siguiente pantalla, vemos como nos mostrará todas las bibliotecas que tenemos disponibles en el Site, debemos elegir la que queremos conectar como ficha en Temas en cada canal:

Especificamos un nombre para dicha ficha y pulsamos en Guardar

Una vez conectada, ya tenemos la ficha disponible para los usuarios

Ahora que ya hemos conectado todas las bibliotecas en cada canal, nos vamos a descargar la herramienta de migración de SharePoint. La URL de descarga es la siguiente: http://spmtreleasescus.blob.core.windows.net/install/default.htm, pulsamos en Install

Ahora que tenemos la herramienta instalada, lo primero, iniciar sesión con una cuenta que tenga permisos en O365 y en el Site en cuestión:

Introducimos las credenciales oportunas

Ahora si, ahora empezamos a definir paso a paso que vamos a migrar. Lo primero, definir el origen de la información, en mi caso elegiré File Share

Buscamos la ruta de la carpeta que queremos migrar (ruta de red o local)

Pulsamos en Next

Ahora, debemos especificar la URL del SITE donde estará la biblioteca donde vamos a subir la información de On-Premises. Esta URL es la del Site del Teams que hemos creado:

En cuestión de segundos, nos muestra el listado de bibliotecas donde podemos subir la información, como podéis apreciar, no podemos elegir una subcarpeta de alguna biblioteca, tiene que ser directamente sobre la biblioteca de forma directa

Una vez definido el origen y destino, pulsamos en Add

Esto debemos hacerlo por cada carpeta que queramos subir, aquí os muestro las que yo voy a subir a SharePoint y una vez que tengamos todas las carpetas preparadas para subir, podemos salvar este lote de carpetas a subir, lo que nos permitirá si queremos subir esta información en otro momento. Para guardar esta definición de las carpetas a subir a SharePoint, simplemente pulsamos en Save tasks

Elegimos donde vamos a dejar el fichero .json y especificamos un nombre para poder guardarlo 

Si editamos el fichero .json que hemos creado, como podéis apreciar no tiene más que la definición de origen y destino de la información a tratar:

Antes de iniciar el proceso de migración, podemos ver las opciones que tenemos disponibles en este lote, para ello desde la rueda de opciones, tenemos las siguientes opciones para habilitar o cambiar:

Importante … es definir una carpeta temporal, lo suyo es que tenga como mínimo un 20% del tamaño total de información a subir. Además, si queréis, podéis mantener los permisos de las carpetas compartidas (si tenéis vuestro AD sincronizado con AzureAD os conservará los permisos de la estructura de carpetas con los grupos que ya tengáis configurados en On-Premises)

Una vez que ya tengamos todo revisado, pulsamos en Migrate. El sistema lo primero que hará será un inventario de la información a subir, porque verá su tamaño, estructura, nombres de ficheros, etc….

Si todo está correcto, automáticamente se pondrá a sincronizar la información con el destino indicado el inicio del proceso:

Iremos teniendo información de cada proceso de cada carpeta …

Si ahora nos vamos a Teams, veremos que ya vamos teniendo la información migrada en la ficha creada por nosotros, bueno, porque es ahí a donde hemos enviado la información desde On-Premises.

Poco a poco se irá migrando la información, en función de las carpetas que se vayan completando los procesos lo iremos viendo.

Cuando se haya completado todo el lote de carpetas a subir, nos mostrará el siguiente aviso porque si queremos guardar este proceso para utilizarlo como incremental en una tarea posterior. Esto, nos viene perfecto para hacer migraciones más fáciles, porque podemos subir 500GB un día  pero no hacer el corte del acceso On-Premises es mismo día, iniciarlo nuevamente en otro momento y el sistema sabrá que tiene que hacerlo en modo incremental (sólo la información que haya cambiado desde la última subida)

Tenemos varios informes de la subida de ficheros, podemos verlos en cualquier momento.

Aquí os muestro una carpeta sincronizada, la cual, tiene varias carpetas y como veis se sube sin problemas:

Sin en otro momento, desde el mismo servidor, volvéis a ejecutar el proceso de migración, podemos elegir tareas previas de migración:

Simplemente, elegimos la tarea que queremos volver a iniciar y se volvería a iniciar el proceso en modos incremental.

Como habéis podido apreciar, el proceso para nada es complejo, únicamente debemos conocer las herramientas y los procesos que debemos llevar a cabo para subir nuestra documentación a Teams.

Os había comentado que al final de este artículo os diría algo que os puede ser de ayuda, como habéis observado, cuando creas los canales mientras que no accedas a la ficha de archivos de cada uno, las carpetas no se crean.. por lo que, si os creáis los canales y subís desde la herramienta de migración una carpeta raíz con el mismo nombre que el canal .. se creará la carpeta y luego todas las subcarpetas que queréis migrar. De esta forma, nos quitamos la “limitación” de la herramienta de migración. Porque si subimos una carpeta raíz de On-Premises con el mismo nombre del canal y luego ya todas las subcarpetas que tengáis, se creará la carpeta en Documentos o Shared Documents con el nombre del canal y luego todo su contenido dentro y listo, todo migrado.

Ahora sí, os toca a vosotros probarlo!!

Microsoft Teams, con
Microsoft Teams, con
NO HAY COMENTARIOS

DEJA UN COMENTARIO

Este sitio web utiliza cookies. Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra política de cookies. ACEPTAR

Aviso de cookies