Windows PowerShell es insuperable en las operaciones masivas

 

Última modificación del tema: 2014-05-27

Desde siempre, las interfaces gráficas de usuario como el Centro de administración de Office 365 han dado los mejores resultados cuando había que realizar una única operación. ¿Hay que deshabilitar una cuenta de usuario? Activar una simple casilla es indudablemente más rápido, más fácil y menos propenso a errores que abrir Windows PowerShell y escribir un comando que haga exactamente lo mismo. Ah, ¿necesita cambiar el número de teléfono de un usuario y ya tiene decidido ir al Centro de administración para eso? No le culpamos: probablemente nosotros también lo haríamos.

Sin embargo, probablemente no es lo que haríamos si tuviéramos que cambiar miles de números de teléfono o si tuviéramos que realizar cualquier otra operación de carácter masivo. Imaginemos, por ejemplo, que su jefe le dice: “Mire, necesitamos quitar a Ken Myer de todos nuestros sitios de SharePoint Online. ¿Esto se puede hacer de forma rápida?”

Vamos a verlo. Tiene varios cientos de sitios de SharePoint Online y ni siquiera sabe a cuáles pertenece Ken. Eso significa que tendrá que empezar en el centro de administración de SharePoint Online y:

  1. Haga clic en la dirección URL del primer sitio.

  2. En el cuadro propiedades de colección de sitios, haga clic en el vínculo Dirección del sitio web para abrir el sitio.

  3. En el sitio, haga clic en Compartir.

  4. En el cuadro de diálogo Compartir, haga clic en el vínculo que muestra todos los usuarios que tienen permisos en el sitio:

    Visualización de los miembros de un sitio de SharePoint Online.

  5. En el cuadro de diálogo Compartido con, haga clic en Opciones avanzadas.

  6. Desplácese por la lista de usuarios, busque y seleccione Ken Myer (suponiendo que tiene permisos en el sitio) y, a continuación, haga clic en Quitar permisos de usuario.

  7. Repita este procedimiento en el resto de sitios.

¿Cuánto tiempo tardará en hacer esto? Estimación a ojo: una eternidad.

A menos que, desde luego, haya instalado el módulo de Windows PowerShell para SharePoint Online. En ese caso, puede ejecutar este pequeño comando para eliminar a Ken Myer de todos los sitios:

Get-SPOSite | ForEach-Object {Remove-SPOUser -Site $_.Url -LoginName "kenmyer@litwareinc.com"}

Cabe señalar que, si lo intenta, recibirá un mensaje de error si llega a visitar un sitio para el que Ken no cuenta con permisos actualmente. (Hay formas de evitar ese mensaje de error, pero no vamos a abordarlas en este artículo). Sin embargo, el comando se seguirá ejecutando y, cuando termine, Ken Myer habrá dejado de tener permisos en cualquiera de los sitios. Pero lo mejor de todo es que el proceso total puede tardar uno o dos minutos en completarse.

Y nos referimos a uno o dos minutos en total, no a uno o dos minutos por sitio.

¿Y si luego decide que quiere restablecer a Ken como miembro de todos los sitios? Fácil:

Get-SPOSite | ForEach-Object {Add-SPOUser -Site $_.Url -LoginName "kenmyer@litwareinc.com" -Group "Members"}

¿No es genial?

Nota

Recuerde que hemos sido un poco “tramposos” en el ejemplo anterior: hemos dado por hecho que quería agregar a Ken de nuevo a cada uno de sus sitios de SharePoint Online. Queríamos mostrar un buen ejemplo de las cosas tan increíbles que se pueden lograr al usar Windows PowerShell, pero es probable que no refleje sus verdaderas necesidades. En la vida real, probablemente querría agregar a Ken de nuevo a solo algunos sitios, a aquellos de los que fue miembro anteriormente. ¿Se puede? Sí, se puede, pero no lo explicaremos en este artículo de introducción. Solo un detalle: antes de quitar los privilegios de pertenencia de Ken, puede usar Windows PowerShell para dejar constancia de esa información en un archivo de texto. Así, cuando llegue el momento de restaurar esos privilegios, podrá agregar a Ken solo a los sitios especificados en ese archivo. Para más información, consulte Crear sitios y agregar usuarios con Windows PowerShell.

A continuación: Windows PowerShell es excelente en el filtrado de datos

Consulte también

Conceptos

Seis motivos por los que le aconsejamos usar Windows PowerShell para administrar Office 365