Búsqueda de sitios web

¿Cómo conectarse a SharePoint Online desde PowerShell?


Sé que lo dije varias veces, pero lo diré de nuevo: ¡Me encanta PowerShell! PowerShell es un marco de gestión de configuración y automatización de tareas administrativas de Microsoft que le permite administrar productos de Microsoft, incluido SharePoint Online. PowerShell facilita las tareas repetitivas y hace nuestra vida más inteligente, ayuda a automatizar tareas complejas y reduce el riesgo de errores humanos. Estoy explorando cómo usar PowerShell con SharePoint Online en este artículo.

¿Cómo conectarse a SharePoint Online usando PowerShell?

¿Por qué deberíamos usar PowerShell para administrar SharePoint Online? Si es administrador de SharePoint, sabe que PowerShell es su mejor amigo. Con PowerShell, puede automatizar muchas tareas que, de otro modo, tardarían mucho en completarse. No sólo eso, hay varias razones por las que usamos PowerShell:

  • Realice operaciones masivas y acelere el proceso, por ejemplo, aplicar configuraciones a todos los sitios, bibliotecas de documentos, etc.
  • Generar informes: por ejemplo, exportar todos los permisos de usuario de un sitio
  • Ciertas operaciones y configuraciones solo se pueden realizar y están disponibles únicamente a través de PowerShell.
  • Automatice tareas repetitivas comunes con la ayuda del Programador de tareas de Windows.
  • Consultar y filtrar los datos.
  • Configurar servicios, manipular objetos, Monitorización, etc.

En esta publicación, le mostraré cómo conectarse a SharePoint Online usando PowerShell como principiante. Entonces, para empezar, siga estos pasos para conectarse a SharePoint Online a través de PowerShell:

Paso 1: Instale el Shell de administración de SharePoint Online o el módulo de PowerShell de SharePoint Online

Asegúrese de tener instalados PowerShell y el módulo PowerShell de SharePoint Online. Para descargar Windows Management Framework 3, que incluye PowerShell 3.0: https://www.microsoft.com/en-us/download/details.aspx?id=34595

Descargue e instale el Shell de administración de SharePoint Online
Para comenzar con SharePoint Online PowerShell, debe descargar e instalar el Shell de administración de SharePoint Online. Descargue PowerShell para el módulo SharePoint Online en https://www.microsoft.com/en-us/download/details.aspx?id=35588 y ejecute el instalador en modo administrativo.

Esto le permite automatizar tareas comunes y realizar operaciones masivas en su entorno de SharePoint Online.

Actualización: En lugar de descargar e instalar el archivo MSI, también puede instalar el módulo PowerShell para SharePoint Online desde la Galería PowerShell, si está ejecutando un sistema operativo como Windows 10, que admite PowerShell versión 5 o más nuevo: Install-Module -Name Microsoft.Online.SharePoint.PowerShell, consulte aquí para obtener más información: Instalar el módulo Shell de administración de SharePoint Online a través de PowerShell

¿Cómo comprobar la versión del Shell de administración de SharePoint Online? Utilice el Panel de control >> Agregar o quitar programas para conocer la versión instalada de SharePoint Online Management Shell. También puede usar Panel de control: Agregar o quitar programas para desinstalar el shell de administración de SharePoint Online.

Paso 2: Conéctese a SharePoint Online PowerShell mediante el cmdlet Connect-SPOService

Una vez instalado el Shell de administración de SharePoint Online, el siguiente paso es conectarse al sitio de SharePoint Online mediante PowerShell. ¿Cómo accedo al Shell de administración de SharePoint Online? Inicie el símbolo del sistema "SharePoint Online Management Shell" desde el menú Inicio y conéctese primero al Centro de administración de SharePoint Online y ejecute el siguiente comando para conectarse a SharePoint Online: (O también puede usar la consola de Windows PowerShell/PowerShell ISE para ejecutar un secuencia de comandos de PowerShell)


Connect-SPOService -Url https://salaudeen-admin.sharepoint.com `
           -credential salaudeen@salaudeen.onmicrosoft.com

Este cmdlet debe ejecutarse antes de usar cualquier otro cmdlet de SharePoint Online. Tan pronto como presione Intro, recibirá un mensaje de inicio de sesión para ingresar su nombre de usuario y contraseña. Asegúrese de conectarse con una cuenta con permiso mínimo del administrador de SharePoint Online y use HTTPS en la URL del sitio de administración. Recibirás un mensaje para la contraseña.

Paso 3: ¡Comience a usar los cmdlets de PowerShell de SharePoint Online!

¿Cómo utilizar el Shell de administración de SharePoint Online? Una vez conectado, puede comenzar a administrar SharePoint Online con cmdlets de PowerShell para el inquilino de SharePoint Online o para sitios individuales, por ejemplo, el cmdlet Get-SPOSite. A continuación se muestran algunos ejemplos de cómo utilizar el Shell de administración de SharePoint Online. Creemos una colección de sitios en SharePoint Online usando PowerShell.

SharePoint Online PowerShell para crear una colección de sitios
Ahora puede acceder a SharePoint Online desde PowerShell y comenzar a administrar sitios de SharePoint (desde la consola de PowerShell/Shell de administración de SharePoint Online o desde PowerShell ISE). Creemos un nuevo sitio de SharePoint con el siguiente cmdlet.


#Lets create a new Site collection:
New-SPOSite -Url https://salaudeen.sharepoint.com/sites/Sales `
   -Owner salaudeen@salaudeen.onmicrosoft.com -StorageQuota 1000 -Title "Sales Site" 

Una vez que haya terminado, puede desconectar la sesión de PowerShell con "Disconnect-SPOService". Sin embargo, no es obligatorio. Generalmente, es una buena idea dejar la conexión abierta hasta que trabaje con diferentes inquilinos.

¿Necesito derechos de administrador global para ejecutar cmdlets de PowerShell para SharePoint Online?
Necesita derechos de administrador de SharePoint Online o de administrador global para poder ejecutar estos scripts de PowerShell. Sin embargo, para ejecutar scripts CSOM o PnP PowerShell a nivel de sitio, solo necesita derechos de administrador de la colección de sitios.

Crear un grupo en SharePoint Online con PowerShell ISE:
¿Cómo ejecutar un script de PowerShell para SharePoint Online? Puede usar PowerShell ISE para ejecutar el script de PowerShell para SharePoint Online. Creemos un grupo usando PowerShell para SharePoint Online con los siguientes comandos.


#sharepoint online powershell create group:
Import-Module Microsoft.Online.SharePoint.Powershell -DisableNameChecking

#connect to sharepoint online site collection using powershell
Connect-SPOService -Url https://salaudeen-admin.sharepoint.com `
      -credential salaudeen@salaudeen.onmicrosoft.com

#create group
New-SPOSiteGroup -Site https://salaudeen.sharepoint.com/sites/Sales  `
            -Group "Sales Managers" -PermissionLevels "Full Control" 

Un código aún más genérico para conectarse a SharePoint Online a través de PowerShell sería con los siguientes cmdlets:


#Import SharePoint Online PowerShell module
Import-Module Microsoft.Online.Sharepoint.PowerShell -DisableNameChecking

#SharePoint Admin Center URL - Set it accordingly
$AdminSiteURL= "https://crescent-admin.sharepoint.com"

#Get credentials to connect
$Credential = Get-Credential

#Connect to SharePoint Online services
Connect-SPOService -url $AdminSiteURL -Credential $credential

#Get Tenant settings
Get-SPOTenant

¿Qué sucede si no desea recibir el mensaje de credenciales? Por ejemplo, guarde las credenciales en el script y prográmelas en el programador de tareas de Windows. A continuación se explica cómo conectarse a SharePoint Online desde PowerShell utilizando el ID de usuario y la contraseña:


#Variables for processing
$AdminCenterURL = "https://crescent-admin.sharepoint.com"

#User Name Password to connect 
$AdminUserName = "Salaudeen@crescent.com"
$AdminPassword = "Password goes here"

#Prepare the Credentials
$SecurePassword = ConvertTo-SecureString $AdminPassword -AsPlainText -Force
$Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminUserName, $SecurePassword
 
#Connect to SharePoint Online
Connect-SPOService -url $AdminCenterURL -Credential $Credential
 
#Get all Site colections with SharePoint PowerShell
Get-SPOSite

Todos estos métodos también se aplican a OneDrive for Business, para conectarse desde PowerShell. No hay ningún módulo PowerShell independiente disponible para OneDrive.

Conecte SharePoint Online PowerShell con MFA (autenticación multifactor)

¿Cómo me conecto a SharePoint Online con cuentas habilitadas para MFA desde PowerShell? Para conectarse con SharePoint Online donde la autenticación multifactor está habilitada, simplemente elimine el parámetro -Credential del cmdlet "Connect-SPOService".


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

Presione Enter y aparecerá una ventana emergente (que es compatible con MFA) para ingresar las credenciales y el código de la autenticación multifactor. Para obtener más información sobre cómo conectarse a SharePoint Online con cuentas habilitadas para MFA, consulte mi otra publicación: PowerShell: conectarse a SharePoint Online con MFA

Comandos de PowerShell para SharePoint Online: índice de cmdlets de PowerShell de SharePoint Online:

Para obtener la lista de cmdlets disponibles para SharePoint Online, consulte los cmdlets de PowerShell de SharePoint Online en https://technet.microsoft.com/en-us/library/fp161364.aspx. También puede usar este cmdlet para enumerar los cmdlets de PowerShell de SharePoint Online:


Get-Command -Module Microsoft.Online.SharePoint.PowerShell

Esto enumera todos los comandos de Sharepoint Online PowerShell disponibles. Es posible que haya notado que todos los cmdlets seguirán el patrón: -SPO. Por ejemplo, Agregar-SPOUser.

Limitación: A diferencia de SharePoint local, SharePoint Online ofrece solo el conjunto mínimo de cmdlets de PowerShell para administrar SharePoint Online. Por ejemplo, no hay cmdlets de PowerShell directos para activar una función, crear un subsitio, crear una lista, agregar un elemento de lista, obtener datos de la lista de SharePoint, descargar archivos de SharePoint, etc. La solución sería utilizar el modelo de objetos del lado del cliente. (CSOM) componentes con PowerShell! ¿Cómo conectarse a SharePoint Online usando CSOM PowerShell?

El modelo de objetos del lado del cliente (CSOM) es un subconjunto del Shell de administración de SharePoint Online.

Cmdlets PnP de PowerShell

SharePoint Patterns and Practices (PnP) es un módulo de PowerShell multiplataforma que contiene una biblioteca de cmdlets de PowerShell que le permite realizar operaciones complejas en productos de Microsoft 365 como SharePoint Online, Microsoft Teams, Microsoft Planner, Power Automate, etc. con un solo cmdlet. Para conectarse a SharePoint Online usando el módulo PnP PowerShell, consulte ¿Cómo conectarse a SharePoint Online usando PnP PowerShell?

Preguntas frecuentes:

¿Cómo creo una nueva colección de sitios en SharePoint Online usando PowerShell?

Para crear una colección de sitios de equipo moderna en SharePoint Online, use el cmdlet New-SPOSite de PowerShell.
New-SPOSite -Url “Site-URL” -Owner “User-ID” -StorageQuota 2048 -Title “Site-Title” - Plantilla “STS#3”
Más información: PowerShell para crear una colección de sitios moderna en SharePoint Online

¿Cómo ejecuto un script de PowerShell en SharePoint Online?

Puede ejecutar un script de PowerShell simplemente haciendo clic derecho en el archivo .ps1 y eligiendo "Ejecutar con PowerShell" en el Explorador de archivos de Windows. También puede utilizar PowerShell ISE para crear, depurar y ejecutar scripts de PowerShell para SharePoint.
Más información: ¿Cómo ejecutar scripts de PowerShell en SharePoint?

¿Cómo me conecto a SharePoint Online con cuentas habilitadas para MFA desde PowerShell?

Simplemente ejecute el cmdlet "Connect-SPOService" sin ningún parámetro de "Credenciales". Esto lo llevará a una ventana emergente de inicio de sesión habilitada para MFA para la autenticación moderna. Más información: Conéctese a SharePoint Online desde PowerShell con MFA

¿Cómo obtengo elementos de una lista de SharePoint Online en PowerShell?

Puede usar los métodos CSOM o PnP PowerShell para obtener elementos de una lista de SharePoint Online. Por ejemplo, “Get-PnPListItem -List 'List-Name'”
Más información: obtenga una lista de elementos de una lista de SharePoint en PowerShell

Artículos relacionados