11 comandos de PowerShell para Office 365 que necesita saber





El uso de PowerShell para administrar Office 365 puede hacer que su trabajo sea más rápido, más eficiente y más fácil. PowerShell le brinda acceso a información sobre su entorno de Office 365 a la que no se puede acceder a través del centro de administración de Microsoft 365 y le permite realizar operaciones masivas con un solo comando. Al integrar los productos de Office 365 en una única interfaz, PowerShell también simplifica el control de acceso de los usuarios y refuerza la ciberseguridad.



Este artículo explica los comandos de Office 365 PowerShell más útiles para administradores de sistemas. Hemos dividido estos comandos en tres categorías: Automatización, Informes y Configuración, para que pueda encontrar rápidamente lo que necesita.



Cómo PowerShell puede ayudarlo a trabajar con Office 365







El centro de administración de Microsoft 365 es ideal para usuarios ocasionales. Con este sistema, puede administrar sus cuentas de usuario y licencias de Office 365, así como servicios como Exchange Online, Teams y SharePoint Online. También puede administrar todos estos componentes mediante PowerShell. Su uso simplifica enormemente la automatización y hace que su trabajo sea más eficiente.



En particular, hay varios factores clave que facilitan la administración de Office 365 con PowerShell:



  • PowerShell para Office 365 muestra información adicional que no puede ver en el centro de administración de Microsoft 365.
  • PowerShell , Office 365;
  • Office 365 , PowerShell Office 365 ;
  • ;
  • PowerShell Office 365 , Office 365. ;
  • Office 365 CSV-;
  • PowerShell .


Todas estas funciones son extremadamente útiles para los administradores de sistemas. Sin embargo, debe tenerse en cuenta que PowerShell ayuda a mejorar la administración de Office 365 y no reemplaza el centro de administración de Microsoft 365. Algunas tareas serán más eficientes a través del centro de administración y, a la inversa, algunos procedimientos de configuración solo se pueden realizar mediante comandos de PowerShell.



Una vez que domine los conceptos básicos de PowerShell, el sistema se puede expandir casi de forma ilimitada. Hay docenas de herramientas de PowerShell que pueden simplificar y acelerar la administración del sistema, y ​​el uso de la línea de comandos le permitirá ejecutar scripts para automatizar tareas frecuentes y que requieren mucho tiempo.



Por último, pruebe el entorno de scripting integrado (ISE) de PowerShell para todas sus necesidades de PowerShell. Este entorno no solo facilita la creación de scripts de PowerShell, sino que también mejora la interacción con la interfaz de línea de comandos.



Comandos de PowerShell para la automatización de Office 365







En lugar de procesar manualmente docenas de cuentas de usuario, puede usar PowerShell para recopilar, filtrar y organizar rápidamente información sobre sus usuarios de Office 365. Luego, usando la misma interfaz de línea de comandos, puede realizar acciones masivas en la cuenta deseada.



Los comandos de PowerShell más útiles para la automatización de Office 365 son:



1. Conéctese a la aplicación Office 365 mediante PowerShell



Antes de que pueda comenzar a usar PowerShell para Office 365, debe descargar e instalar el Módulo de Office 365 para Windows PowerShell y conectarlo a su instancia de Office 365. A



continuación, le indicamos cómo hacerlo:



  • Descargue e instale el Asistente de inicio de sesión de Microsoft Online Services para profesionales de TI, RTW .
  • Importe el módulo de servicios en línea de PowerShell para Microsoft Azure Active Directory y Office 365 mediante los siguientes comandos de PowerShell:



    1.	Install-Module -Name AzureAD
    2.	
    3.	Install-Module -Name MSOnline
    
          
          





  • Ingrese sus credenciales de administrador de Office 365:



    $Cred = Get-Credential
          
          





    Ahora necesita crear una sesión de PowerShell como usuario remoto. Esto se puede hacer con el siguiente comando:



     $O365 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection
          
          





  • Ahora importe los comandos de sesión en su sesión local de Windows PowerShell:



    Import-PSSession $O365
          
          





  • Finalmente, conecte su sesión a todos sus servicios de Office 365 usando este comando:



    Connect-MsolService –Credential $O365
          
          





    Esto conectará y administrará Office 365 PowerShell para su instancia de Office 365.



2. Conéctese a Exchange Online y SharePoint Online mediante PowerShell



Puede conectarse a Microsoft Exchange Online y Microsoft SharePoint Online para administrar estos servicios mediante PowerShell.



  • Conectarse a Exchange Online es esencialmente lo mismo que conectarse a Office 365. Estos son los comandos relevantes:



    1.	$Cred = Get-Credential
    2.	
    3.	$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic –AllowRedirection
    
          
          





  • La conexión a SharePoint Online es un poco más compleja y deberá instalar software adicional.



    Primero, instale el componente Shell de administración de SharePoint Online .



    Luego, ejecute el siguiente comando desde PowerShell:



    1.	$admin="Admin@enterprise.onmicrosoft.com"
    2.	
    3.	$orgname="enterprise"
    4.	
    5.	$userCred = Get-Credential -UserName $admin -Message " ."
    6.	
    7.	Connect-SPOService -Url https://$orgname-admin.sharepoint.com -Credential $userCred
    
          
          







3. Lista de cmdlets de PowerShell disponibles para Office 365



Los cmdlets son el tipo principal de cmdlets de PowerShell para Office 365 y los usará con mayor frecuencia. PowerShell para Office 365, como la mayoría de las CLI, le permite ver una lista de todos los cmdlets disponibles para su sistema.



  • Para obtener una lista de todos los cmdlets disponibles para MSOnline, ejecute el siguiente comando:



    Get-Command -module MSOnline
          
          



  • También puede ejecutar el mismo comando para ver una lista de todos los cmdlets disponibles para Azure Active Directory simplemente reemplazando la variable -module:



    Get-Command -module AzureAD
          
          





4. Lista de todos los usuarios de Office 365



Uno de los usos más comunes de PowerShell es obtener una lista de todos los usuarios de Office 365. En PowerShell, puede hacer esto con un solo cmdlet: Get-msoluser .



Este cmdlet le mostrará todos los usuarios de Office 365 con una licencia válida y automáticamente obtendrá información básica sobre cada uno de ellos: DisplayName, City, Department y ObjectID.



  • Para hacer esto, ejecute el comando:



    1.	Get-MsolUser | Select DisplayName, City, Department, ObjectID 
          
          



  • Luego, puede ver la cantidad de cuentas ejecutando un comando similar:



    1.	Get-MsolAccountSku
          
          



  • Y para obtener una lista de los servicios disponibles para usted, ejecute este comando:



    1.	Get-MsolAccountSku | select -ExpandProperty ServiceStatus
          
          



  • Utilizando la lógica de línea de comandos estándar, estos comandos se pueden ampliar para filtrar los resultados. Por ejemplo, puede agrupar a todos los usuarios según su ubicación ejecutando:



    1.	Get-MsolUser | Select DisplayName, UsageLocation | Sort UsageLocation, DisplayName
          
          





5. Cree un nuevo usuario en Office 365 usando PowerShell



PowerShell se puede utilizar para automatizar el proceso de creación de nuevos usuarios en su sistema. Para hacer esto, use el cmdlet New-MsolUser :

Para automatizar el proceso de creación de usuarios, use este cmdlet con las variables apropiadas:



1.	New-MsolUser -UserPrincipalName JSmith@enterprise.onmicrosoft.com -DisplayName "John Smith" -FirstName “John” -LastName “Smith”

      
      





Después de ejecutar este comando, PowerShell mostrará información sobre el usuario que creó, incluida su contraseña temporal y el estado de la licencia.



6. Cambie la contraseña en Office 365 usando PowerShell



Una de las tareas más comunes y molestas para los administradores del sistema es cambiar la contraseña de un usuario. Idealmente, use un administrador de contraseñas para hacer esto , pero PowerShell le brinda la capacidad de actualizar automáticamente las contraseñas para usuarios individuales.



Para hacer esto, ejecute el comando:



1.	Set-MsolUserPassword -UserPrincipalName JSmith@netwrixqcspa.onmicrosoft.com -NewPassword P@SSw0rd!

      
      





También puede omitir el parámetro -NewPassword , en cuyo caso el sistema generará automáticamente una contraseña aleatoria:



1.	Set-MsolUserPassword -UserPrincipalName JSmith@netwrixqcspa.onmicrosoft.com

      
      





Comandos de Windows PowerShell para informes







PowerShell para Office 365 es una excelente herramienta de informes. El uso de cmdlets de PowerShell agiliza y facilita el acceso, la ordenación y la correlación de la información sobre los usuarios de Office 365, así como la información sobre cómo usan el sistema.



Cabe señalar que la mayoría de los cmdlets de informes quedaron obsoletos en enero de 2018. Microsoft ha reemplazado estos cmdlets con la nueva API de informes de Microsoft Graph. Esto redujo las capacidades de generación de informes de PowerShell en Office 365, pero toda la funcionalidad anterior todavía está disponible a través del Centro de cumplimiento y seguridad de Office 365.



Sin embargo, cuando se trata de informes de usuarios y grupos, PowerShell para Office 365 sigue siendo una herramienta clave. A continuación, se muestran algunos de los informes más útiles para los que puede usar PowerShell.



1. Planes de licencias



PowerShell tiene un cmdlet extremadamente útil que le permite ver un resumen de sus planes de licencia actuales y las licencias disponibles para cada plan. Para usarlo, haga lo siguiente.



Para hacer esto, ejecute el comando:



1.	Get-MsolAccountSku

      
      





Como resultado, recibirá un informe que contiene varios datos clave:



  • AccountSkuld : muestra los planes de licencia disponibles para su organización;
  • ActiveUnits La cantidad de licencias que ha comprado para un plan de licencias específico.
  • WarningUnits El número de licencias no renovadas en el plan de licencias que caducan al final del período de gracia de 30 días.
  • ConsumedUnits es la cantidad de licencias que ha asignado a los usuarios de un plan de licencias específico.


También puede utilizar sintaxis adicional para obtener más información sobre sus licencias o filtrar y ordenar los resultados. Para obtener más información sobre cómo hacer esto, consulte la documentación de Microsoft sobre el uso de PowerShell para informes .



2. Cuentas de usuario



Otro cmdlet útil para la generación de informes es Get-MsolUser , que devuelve una lista de todas las cuentas de usuario de Office 365. A continuación, le mostramos cómo puede usar este comando.



Ejecute el comando:




1.	Get-MsolUser

      
      





Verá una lista completa de cuentas de usuario con nombres coincidentes. También puede agregar una serie de opciones para filtrar las cuentas mostradas. Por ejemplo, para obtener una lista de usuarios sin licencia (usuarios que se agregaron a Office 365 pero que aún no recibieron una licencia para usar ninguno de los servicios), ejecute el siguiente comando:



1.	Get-MsolUser -UnlicensedUsersOnly

      
      





Puede usar el cmdlet where para explorar más cuentas específicas .



Para combinar los dos cmdlets, use la barra vertical "|": esto significa que PowerShell para Office 365 tomará los resultados del primer comando y los enviará al siguiente comando. Por ejemplo, si solo desea mostrar las cuentas de usuario que no tienen una ubicación específica, puede usar un comando como este:



1.	Get-MsolUser | Where {{$_.UsageLocation -eq $Null}}

      
      





Al agregar sintaxis adicional después de la canalización "|", puede refinar los informes y obtener listas de usuarios con cualquier combinación de atributos.



3. Informes por correo electrónico



PowerShell también es una herramienta poderosa para verificar el uso y los usuarios del correo electrónico. De hecho, es una de las principales aplicaciones del sistema a la hora de generar informes. A continuación se enumeran algunos informes útiles sobre el correo electrónico:



  • Puede usar PowerShell para obtener información sobre cada buzón de su sistema con el siguiente comando:



    1.	Get-mailbox | get-MailboxStatistics
    
          
          





  • También puede obtener una lista de todos los buzones de correo que no han iniciado sesión durante 30 días (o cualquier otro período que necesite que signifique que debe cerrar esos buzones de correo). Para hacer esto, ejecute el comando:



    1.	Get-Mailbox –RecipientType 'UserMailbox' | Get-MailboxStatistics | Sort-Object LastLogonTime | Where {{$_.LastLogonTime –lt ([DateTime]::Now).AddDays(-30) }} | Format-Table DisplayName, LastLogonTime
    
          
          





  • , , . . :



    1.	Get-MailTrafficTopReport
    
          
          







PowerShell Office 365







PowerShell también es extremadamente útil para personalizar su entorno de Office 365. Como señalamos en nuestro video tutorial gratuito sobre configuraciones ocultas de Office 365 que se pueden desbloquear usando PowerShell , hay ciertas opciones de configuración que solo están disponibles a través de la interfaz de PowerShell.



Los comandos de PowerShell más útiles y más utilizados para la configuración son los relacionados con la administración de grupos de usuarios y la creación de nuevos sitios de SharePoint. Estas tareas a menudo complican el trabajo de los administradores del sistema y su automatización puede ahorrar mucho tiempo.



1. Configure los parámetros "ocultos" con PowerShell para Office 365



Como mencionamos anteriormente, solo se puede acceder a algunas de las opciones de configuración de Office 365 mediante PowerShell.



El ejemplo más destacado son las opciones de configuración de Skype Empresarial. El centro de administración en línea para este servicio contiene varias configuraciones para ayudarlo a personalizar la forma en que funciona para su organización. Sin embargo, con PowerShell, tendrá acceso a más opciones de configuración. Por ejemplo, las conferencias estándar de Skype están configuradas para que:



  • los usuarios anónimos pueden iniciar sesión automáticamente en cada conferencia;
  • los participantes pueden grabar la conferencia;
  • todos los usuarios de su organización pueden designarse como presentadores.


Para cambiar esta configuración predeterminada, puede utilizar Powershell. Aquí está el comando para deshabilitar las tres opciones anteriores:



1.	Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $False -AllowConferenceRecording $False -DesignateAsPresenter "None"

      
      





Si desea restablecer la configuración a sus valores predeterminados, use el siguiente comando:



1.	Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $True -AllowConferenceRecording $True -DesignateAsPresenter "Company"

      
      





Este es solo un ejemplo de parámetros ocultos a los que puede acceder mediante PowerShell. Visite nuestro curso en línea gratuito para obtener más información .



2. Administrar la pertenencia a grupos de Office 365 mediante PowerShell



PowerShell tiene varios cmdlets específicamente para trabajar con grupos de Office 365. Por ejemplo ...



Ejecute el comando para ver una lista de todos los grupos activos en Office 365.



1.	Get-MsolGroup

      
      





Este comando también le proporcionará el ID hexadecimal para cada grupo que necesitará para administrar su membresía.



Para agregar y eliminar miembros del grupo, también necesitará el ID hexadecimal de sus cuentas, que se puede obtener con el comando:



1.	Get-MsolUser | Select ObjectID.

      
      





Luego, puede ejecutar el cmdlet apropiado para agregar o quitar usuarios de grupos específicos . Para agregar usuarios, ejecute el siguiente comando, reemplazando los ID hexadecimales que se muestran en el ejemplo con los ID relacionados con su grupo y el usuario deseado:



1.	Add-MsolGroupMember -GroupObjectId 5b61d9e1-a13f-4a2d-b5ba-773cebc08eec -GroupMemberObjectId a56cae92-a8b9-

      
      





Para eliminar usuarios de grupos, puede ejecutar el mismo comando, pero con la primera parte modificada:



1.	Remove-MsolGroupMember

      
      





Cómo interactúa Varonis con PowerShell



Varonis complementa el uso de PowerShell de varias formas.



Supervisión



Varonis supervisa y valida la actividad en Office 365 (incluidos los cambios de configuración) y los comandos de PowerShell. Esto le permite realizar un seguimiento de los cambios que realizan los administradores o atacantes mediante PowerShell.



Los administradores deben realizar cambios en la configuración o los permisos de Office 365 con una solicitud de cambio válida. Este nivel adicional de verificación asegura que los procesos y procedimientos funcionen sin problemas.



Los atacantes intentan usar PowerShell para deshabilitar las medidas de seguridad o elevar una cuenta. Varonis detecta estos cambios y supervisa cualquier otra acción que los atacantes realicen en Office 365.



Reciba alertas y actúe



Varonis permite a los usuarios ejecutar scripts de PowerShell cuando reciben alertas.

El uso más común de esta función es responder automáticamente a los ataques de ransomware. El modelo de amenaza de ransomware invoca un script que desactiva la cuenta del usuario y apaga todas las computadoras en las que inician sesión para detener el ataque.



Conclusión



PowerShell es una herramienta eficaz para trabajar con Office 365. Le permite acceder rápidamente a la información del sistema, generar informes detallados y realizar acciones masivas. También le permite acceder a ciertas funciones de Office 365 que no están disponibles de ninguna otra manera.



Conectar Powershell a Office 365 es relativamente fácil y, como resultado, tendrá acceso a todas las funciones avanzadas enumeradas anteriormente. También le permitirá integrar más fácilmente su entorno de Office 365 con la plataforma de ciberseguridad de Varonis y mantener seguros los datos confidenciales.



All Articles