PowerShell es una potente herramienta de automatización masiva diseñada para ayudar al departamento informático de una empresa a manipular y coordinar las operaciones subyacentes de un sistema operativo, una aplicación o una página web. ¿Cómo?
Con los famosos cmdlets y sus módulos preconfigurados.
Entre ellos destaca el dedicado a SharePoint Online.
Descubramos juntos todos los detalles.
Lo que encontrará en este artículo
Pasos para la cuenta de administrador con autenticación multifactor
PowerShell: qué es y para qué sirve
Automatización y scripting: así podríamos resumir, en pocas palabras, qué es PowerShell.
Esta plataforma fue creada por Microsoft para ayudar a los equipos informáticos a automatizar los procesos inherentes a los recursos informáticos de una empresa mediante scripts y comandos personalizados.
Por lo tanto, es una herramienta dirigida a usuarios con experiencia en programación que no quieren perder el tiempo creando automatizaciones manualmente, una a una, y empezando siempre desde cero.
En su lugar, desean automatizar tareas como la instalación de aplicaciones, la configuración de servidores o la gestión de colecciones de sitios de SharePoint en bloque.
Si usted también comparte este objetivo, o si simplemente siente curiosidad por lo que PowerShell puede hacer por su empresa, está usted en el artículo.
Vea intranet.ai en acción
Una intranet lista para usar en SharePoint Online, operativa en pocos días. Reserve una demo gratuita con nuestro equipo.
Reservar una demoCuáles son las principales característicasde PowerShell
Como se anticipó en el último capítulo, PowerShell constituye tanto un lenguaje de scripting como una plataforma destinada a la automatización de sistemas operativos, especialmente, pero también de aplicaciones y páginas web.
En cuanto a los sistemas operativos, cabe señalar que una de las principales ventajas de PowerShell es que puede adaptarse sin problemas a las principales plataformas (Windows, Linux y macOS).
Para lograr su objetivo, aprovecha el marco .NET, lo que le permite ofrecer a los usuarios varias formas de crear sus automatizaciones. Entre ellas se incluyen:
-
Cmdlet.
-
Scripts.
-
Archivos ejecutables.
-
Clases .NET estándar.
Hay que abrir un breve paréntesis para los primeros.
En efecto, los cmdlets (pronunciado “command-lets”) representan los elementos más característicos de PowerShell y los más utilizados por los usuarios.
En concreto, son comandos ligeros y especializados, ya que cada uno de ellos se ciñe a una sintaxis sencilla (Verbo-Sustantivo) y estandarizada que hace referencia a una única operación. Algunos ejemplos podrían ser “Obtener-ubicación”, “Mover-artículo” y “Eliminar-artículo”.
Sin embargo, los cmdlets pueden combinarse para crear scripts personalizados según la lógica del “pipelining”, la función que permite transformar la salida de un comando en la entrada de otro y que, en PowerShell, permite que los objetos fluyan de un cmdlet al siguiente.
El resultado del pipelining (indicado con el símbolo ”|”) es una reacción en cadena que permite a los usuarios lograr soluciones más sofisticadas y procesar datos más complejos.
Si luego pensamos que PowerShell cuenta con más de 200 cmdlets, resulta evidente cómo estas cadenas pueden desarrollarse en tamaño y personalización, apoyándose también en el uso de expresiones condicionales, conmutadores (utilizados para sustituir una larga sucesión de condiciones if/then/else), bucles y variables.
Además, aunque los cmdlets son bastante autoexplicativos, como hemos visto, éstos vienen acompañados de su documentación, a la que puede acceder directamente dentro de la plataforma.
O bien, puede utilizar el comando “Get-Help”, seguido de “online”, para recuperar artículos web que traten sobre el comando o la función que está buscando.
De esta forma, será más fácil para los usuarios menos experimentados aprender los diferentes componentes del sistema y cómo utilizarlos para sus automatizaciones.
Pero eso no es todo.
Hay otros dos aspectos importantes que aún debemos explorar para completar nuestra visión general.
El primero se refiere a la posibilidad de utilizar PowerShell de forma remota.
De hecho, los usuarios pueden iniciar comandos y scripts desde ordenadores remotos aprovechando el protocolo WS-Management o Windows Management Instrumentation.
Sin entrar en demasiados detalles, basta con saber que WS-Management es el protocolo desarrollado por la DMTF (Distributed Management Task Force), de la que forma parte Microsoft, para poder gestionar y supervisar los recursos de una red independientemente del sistema operativo que se utilice.
Por su parte, Windows Management Instrumentation proporciona a los usuarios una representación unificada de los recursos de un sistema, lo que les permite manipularlos a distancia.
El segundo aspecto a destacar se refiere a la modularidad, es decir, a la capacidad de organizar en módulos cmdlets con funcionalidades relacionadas.
Además, por supuesto, de los creados por el usuario, PowerShell proporciona 4 tipos ya configurados. Hablemos de los módulos:
- Script.
Módulos utilizados principalmente para importar, exportar y gestionar funciones.
- Binarios.
Los módulos se manipulan para crear cmdlets con una funcionalidad más potente que la que se puede obtener de los scripts normales que ofrece la plataforma.
- Manifesto.
Módulos particulares, que se caracterizan por estar formados por archivos de texto, utilizados para describir los componentes de un módulo.
En concreto, definen sus cmdlets, funciones, requisitos y dependencias, ayudando así a los usuarios a desarrollar y desplegar diferentes módulos de forma más fácil y rápida.
- Dinámica.
Módulos que se instalan a petición de un script.
Dado que satisfacen una necesidad momentánea, no suelen almacenarse de forma permanente en la plataforma.
Además, puede descargar e instalar aún más módulos, que también están preconfigurados pero no están presentes en PowerShell.
Entre ellos se incluyen los relacionados con las colecciones de sitios de SharePoint, sus grupos de usuarios y la configuración de seguridad.
Dado que el tema de nuestro próximo capítulo se refiere a la relación entre PowerShell y un tenant de SharePoint Online, el módulo que nos interesa es precisamente el dedicado a la versión en la nube de SharePoint. Su nombre es “Microsoft.SharePoint.Online.Management”.
Suscríbase a nuestro boletín
Recibirá:
-
Nuestras guías sobre digitalización corporativa;
-
Artículos en profundidad sobre el universo Microsoft y cómo mejorar su intranet de SharePoint Online aprovechando sus licencias de Microsoft 365.
Puede darse de baja en cualquier momento.
Cómo conectar un tenant de SharePoint Onlinea PowerShell
Antes de ver juntos los pasos a seguir para conectar PowerShell a uno de sus tenants de SharePoint Online, necesitamos hacer una pequeña introducción.
PowerShell se aplica a cualquier versión de SharePoint, permitiendo a los usuarios gestionar la configuración de la plataforma a nivel de organización y de colección de sitios.
Sin embargo, como ya hemos anticipado, necesita descargar e instalar el módulo específico para el tipo de tenant que desea conectar, dependiendo de si es on-prem o en la nube.
En el primer caso, el módulo que necesita es el denominado “Microsoft.SharePoint.Management”; en el segundo, que es el que exploraremos en este capítulo, el módulo con el que debe equiparse se denomina “Microsoft.SharePoint.Online.Management”.
Aunque los cmdlets y las funciones que contienen ambos módulos los distinguen entre sí, es posible encontrar puntos en común.
Por ejemplo, siempre hay comandos especializados en crear una nueva colección de sitios, definir su título, URL, propietario, cuota de almacenamiento y grupos de usuarios con los permisos correspondientes.
Además, puede encontrar cmdlets que le permiten obtener informes detallados y estadísticas sobre el uso y el rendimiento de los distintos sitios que componen una colección.
Dicho esto, pasemos ahora al núcleo de nuestro debate y pongámonos en el caso de que desee utilizar PowerShell para gestionar por lotes las operaciones de uno de sus tenants de SharePoint Online.
Si aún no ha instalado el módulo correspondiente, la forma más rápida de hacerlo es iniciar sesión como administrador en la galería PowerShell y ejecutar el cmdlet “Install-Module-Microsoft.SharePoint.Online.Management”.
Una vez hecho esto, pase a la conexión con el tenant.
El camino se bifurca en dos direcciones paralelas aquí, dependiendo de si su cuenta de administrador tiene autenticación multifactor (MFA) o no.
Veamos ambos casos.
1) Pasos para la cuenta de administrador con autenticación multifactor
En resumen, así es como debe proceder:
-
Acceda a la Galería PowerShell.
-
Ejecute el comando “Connect-SPOService-URL(…)”, especificando la dirección de su tenant.
-
Introduzca sus credenciales de Microsoft en la ventana que se abrirá.
-
Apruebe la solicitud de conexión, satisfaciendo los requisitos de autenticación.
Y ya está.
Ahora que el tenant está conectado a PowerShell, puede empezar a gestionar y manipular en serie las actividades que forman su base.
Pronto verá que su equipo de TI ya no tiene que perder horas o días enteros configurando los sitios de su empresa.
2) Pasos para la cuenta de administrador sin autenticación multifactor
En este caso, el proceso se vuelve significativamente menos exigente.
Esto es lo que tiene que hacer
-
Acceda a la Galería PowerShell.
-
Ejecute el comando “Connect-SPOService-URL(…)-Credential(…)”, especificando la dirección de su arrendatario e introduciendo su UPN, que es la dirección de correo electrónico que indica tanto su nombre de usuario como su dominio.
-
Introduzca la contraseña de su cuenta.
Una vez más, ha terminado.
¿Necesita una mano para gestionar sus sitios de Microsoft SharePoint?
Tenemos más de 100 para ayudar a su empresa a:
-
Mejorar la gestión de documentos y recursos
-
Distribuir los permisos adecuados a los usuarios
-
Garantizar la seguridad de la información compartida
-
Desarrollar partes web personalizadas y gráficos de marca
Contáctenos
Manténgase en contacto
Reciba nuestros recursos gratuitos para mejorar la intranet de su empresa y maximizar la inversión en Microsoft 365.


