Obtenga sitios de SP Team y agregue Doc Library con PowerShell PnP

Necesitaba crear una nueva biblioteca de documentos para todos nuestros sitios de equipo de SharePoint relacionados con proyectos.

Usamos Office 365 Teams tanto para las unidades comerciales como para nuestros proyectos, por lo que primero debemos obtener una lista de todos los sitios de equipo dentro del inquilino, luego verificar si el sitio es un sitio de equipo relacionado con el proyecto para finalmente agregarle una nueva biblioteca de documentos.

Para hacer el trabajo, vamos a usar PowerShell PnP:

Obtención de todos los sitios de grupo mediante PowerShell

Para obtener todos los sitios de grupo, debemos conectarnos al Centro de administración de SharePoint para recuperar una lista llamada: NO_ELIMINAR_SPLIST_TENANTADMIN_AGGREGATED_SITECOLLECTIONS

Conexión al centro de administración

Puedes usar uno de mis scripts de conector para ello. aquí en TechNet. O conéctese a SharePoint con:

#Create credential object
$cred = Get-Credential

#SharePoint admin center url (note the -admin)
$siteUrl="https://contoso-admin.sharepoint.com"
 
#Import the Skype for Business Online PS session
Connect-PnPOnline -url $siteUrl -Credentials $cred

Obtener los sitios de grupo

La colección de sitios de SharePoint Online se almacena en una lista oculta, denominada DO_NOT_DELETE_SPLIST_TENANTADMIN_AGGREGATED_SITECOLLECTIONS . Para recuperar el contenido de esta lista, primero obtenemos todos los elementos de la lista disponibles

$site = Get-PnPSite
$site.Context.Load( $site.RootWeb)
$site.Context.ExecuteQuery()
 
$web = $site.RootWeb
 
$site.Context.Load( $web.Lists)
$site.Context.ExecuteQuery()

$web.lists
obtener listas de equipos de sharepoint

Entonces, en este caso, es el tercer elemento, por lo que usamos $web.lists[2] para obtener los sitios de los equipos

$lists = $web.lists[2]

Compruebe si se trata de un sitio de equipo relacionado con un proyecto.

Ahora quería saber que los sitios del equipo en la lista están relacionados con el proyecto.

Todos nuestros sitios de proyectos tienen las mismas bibliotecas de documentos, por lo que la forma más fácil es verificar si existe una biblioteca de documentos en particular:

for ($x = 0; $x -lt $list.ItemCount; $x++ )
{
$item = $list.GetItemById($x)

$site.Context.Load( $item)
$site.Context.ExecuteQuery()

	if($item.FieldValues.SiteUrl -ne $null)
	{
		connect-pnponline -url $item.FieldValues.SiteUrl -cred $cred
		$getReferenceLibrary = get-pnplist -Identity 'Document Library Name'

		if($getReferenceLibrary -ne $null)
		{
			#Add new document library
		}
	}
}

Recorremos los elementos de la lista, verificamos si tiene SiteUrl, nos conectamos al sitio con pnponline y credenciales almacenadas.

Obtenga el pnplist con el nombre ‘Nombre de la biblioteca de documentos’, si no devuelve un valor nulo, entonces podemos agregar la nueva biblioteca de documentos.

Creación de una nueva biblioteca de documentos

La última parte es bastante fácil, todo lo que tenemos que hacer es agregar una nueva Biblioteca de documentos al sitio de Teams.

Solo para estar seguros, primero verificamos si la biblioteca de documentos aún no existe.

for ($x = 0; $x -lt $list.ItemCount; $x++ )
{
$item = $list.GetItemById($x)

$site.Context.Load( $item)
$site.Context.ExecuteQuery()

	if($item.FieldValues.SiteUrl -ne $null)
	{
		connect-pnponline -url $item.FieldValues.SiteUrl -cred $cred
		
		#Get reference library
		$getReferenceLibrary = get-pnplist -Identity 'Document Library Name'
		
		#Check if new library not already exists
		$checkNewLibrary = get-pnplist -Identity 'New Document Library Name'

		if($getReferenceLibrary -ne $null -and $checkNewLibrary -eq $null)
		{
			#Add new document library
			new-pnplist -Title 'New Document Library Name' -Template DocumentLibrary -OnQuickLaunch
		}
	}
}

Gracias a Pieter Veenstra por recuperar los sitios de grupo

Y para Veronique Lengelle por la parte Crear biblioteca de documentos

Otros artículos relacionados

Error 1719 instalador MSI en Windows 2008 r2

Error 1719 instalador MSI en Windows 2008 r2

Nuestra aplicación antivirus no se actualizó en un servidor terminal. Pensé que no era gran cosa, simplemente elimine el AV, ...
Leer Más
Configuración del inicio de sesión único (SSO) con Azure AD Connect

Configuración del inicio de sesión único (SSO) con Azure AD Connect

Con la nueva versión de Azure AD Connect, puede habilitar la opción de inicio de sesión único en combinación con ...
Leer Más
Mostrar los detalles de la reunión de un calendario de buzones de sala de Office 365

Mostrar los detalles de la reunión de un calendario de buzones de sala de Office 365

De forma predeterminada, el calendario de la sala muestra un estado ocupado. Pero en la mayoría de las organizaciones, desea ...
Leer Más
Asignar usuarios a la aplicación Azure AD con PowerShell

Asignar usuarios a la aplicación Azure AD con PowerShell

Las aplicaciones empresariales de Azure AD son una excelente manera de conectar aplicaciones de terceros a su Azure Active Directory ...
Leer Más
Cómo convertir de OST a PST

Cómo convertir de OST a PST

Los archivos PST de Outlook son una excelente manera de importar y exportar correo y a menudo, se usan para ...
Leer Más
CCNA 200-301 - Todo lo que necesita saber para obtener la certificación

CCNA 200-301 – Todo lo que necesita saber para obtener la certificación

El CCNA 200-301 es la nueva Certificación de Cisco de nivel de entrada y es realmente la columna vertebral de ...
Leer Más

Deja un comentario