Managing Office 365 with PowerShell

Este es otro articulo de Jeff Schertz, a quien admiro por su manera de redacción y que simplemente al traducirlo me encanta replicarles a mis conocidos.-. el original esta en ingles en http://blog.schertz.name/2018/10/managing-office-365-with-powershell/

 

Este artículo pretende compartir un enfoque racionalizado para administrar los servicios de Office 365 a través de PowerShell, que son pertinentes a la plataforma UC de Microsoft, a saber, Exchange Online, Skype para Business online y equipos Microsoft.  Cubiertas son una serie de pasos de instalación de una sola vez necesarios para preparar una única estación de trabajo con el software necesario, así como los cmdlets individuales de PowerShell utilizados repetidamente para invocar el acceso a cada servicio cuando es necesario ejecutar los procesos de administración.

Antes de saltar a cómo conectar una sola ventana de PowerShell a todos estos servicios relacionados con la UC en línea, es importante comprender los diferentes servicios y lo que ha cambiado a lo largo de los años en términos de comportamiento de PowerShell.

Background

Existen varios artículos disponibles que proporcionan orientación para conectarse a los diversos servicios en línea de Microsoft Office 365 a través de PowerShell.  Van desde ejemplos como un viejo blog post escrito específicamente para Lync en línea a nuevo, actualizado Dirección de Microsoft sobre cómo acceder a múltiples servicios en una sola consola.  Los enfoques anteriores utilizaban los requisitos originales para descargar e instalar manualmente varios módulos de PowerShell a través de los paquetes tradicionales de Windows Installer creados para conectarse a servicios como Lync Online y Exchange Online.  Incluso se utiliza para ser una descarga separada requerida simplemente para autenticar en la oficina 365 primero utilizando el identificador de organización original (ID org) modelo de autenticación en línea.

Ahora bien, sin embargo, la mayoría de los diversos servicios en Office 365 son más fáciles de conectar a Vía PowerShell con fines de administración, pero todavía no están utilizando la misma metodología y procesos de instalación.  Mientras que la mayoría se actualizan para utilizar básicamente el mismo proceso hay algunos valores atípicos.  Para acceder a Exchange Online y/o al centro de seguridad y cumplimiento de la oficina 365 se usó un enfoque completamente diferente que el resto de los módulos de PowerShell utilizados para administrar los servicios a Azure Active Directory (Azure AD), Skype para negocios en línea o equipos.

De los cambios más recientes que mejoran y simplifican las experiencias generales de gestión hay dos conceptos principales que vale la pena llamar.  Una es la creación de un repositorio central para los recursos de PowerShell y el otro es la inclusión de la autenticación moderna.  El más nuevo Galería PowerShell ahora se utiliza para almacenar y distribuir varios módulos que hacen la instalación y las actualizaciones de la versión futura del módulo mucho más fáciles.  También mediante el aprovechamiento de la autenticación moderna cada uno de estos módulos utilizan el mismo enfoque para proporcionar credenciales administrativas para el acceso.

The Modules

Sin embargo, como se mencionó anteriormente, no todos estos servicios operan de forma idéntica e incluso hay algunos módulos superpuestos utilizados para acceder al servicio de oficina central 365

Se necesitan los siguientes módulos básicos para administrar cualquier cuenta de anuncios o componentes de los inquilinos de Azure subyacentes:

  1. Módulo de Active Directory de Microsoft Azure para Windows PowerShell – Este módulo contiene el conjunto original de *-Msol * cmdlets para la administración de Azure AD.  Este es el módulo más antiguo de v1 PowerShell denominado MSOnline
        
  2. Azure Active Directory PowerShell para Graph – Este módulo es el módulo V2 más nuevo que contiene todos los *-AzureAD * cmdlets para la administración de Azure AD.   Este es el módulo más reciente de V2 PowerShell denominado AzureAD.

Microsoft recomienda actualmente utilizar el módulo V2 más reciente, pero actualmente no incluye ninguno de los cmdlets proporcionados en el módulo v1.  Por lo tanto, no es factible simplemente utilizar Sólo el nuevo módulo de anuncios Azure cuando no incluye también toda la funcionalidad anterior.  Para muchas de las tareas de gestión cubiertas en este blog para servicios como Skype para negocios todavía se requiere para ejecutar varios cmdlets MSOnline, por lo tanto, el V1 y V2 serían apalancados.  De hecho, sólo el módulo V1 es realmente necesario en la mayoría de los Skype actualmente documentados para la configuración del negocio y los procesos de gestión, ya que todos utilizan el -Msol cmdlets, y no los nuevos -AzureAD Cmdlets.  Si en el futuro se actualiza parte de esa orientación, asegúrese de aprovechar los módulos apropiados.

Afortunadamente, los dos cmdlets anteriores pueden instalarse fácilmente en la Galería PowerShell, de modo que la inclusión de ambos es trivial y, esencialmente, no hay ningún daño en cargar un módulo adicional en una sesión de PowerShell, incluso si no se ejecutan los cmdlets de dicho módulo.

Los dos módulos siguientes se manejan de forma completamente diferente a los módulos anteriores, ya que no están disponibles a través de la Galería PowerShell y deben instalarse mediante dos procesos manuales independientes.

  1. Skype para negocios en línea PowerShell – Este módulo contiene todas las *-CS * cmdlets originalmente añadidos para administrar Lync en línea, ahora Skype para negocios online, y también incluye cmdlets de administración de equipos de Microsoft relacionados con la UC.
  2. Exchange Online PowerShell – Este nuevo módulo con soporte de autenticación moderno contiene todos los cmdlets utilizados para administrar Exchange Online pero estos nombres de cmdlet no comparten una Convención de nomenclatura común para una identificación fácil.


Installation

Los siguientes pasos caminan a través de la importación o la instalación de cada módulo individual de PowerShell y sólo se requieren una vez por estación de trabajo.  Se utilizó una estación de trabajo de Windows 10 actualizada que contiene todos los componentes de Windows necesarios para completar satisfactoriamente el proceso.  Si se producen errores al utilizar versiones anteriores de Windows, puede ser necesario actualizar componentes como Powershell O Entorno de administración de Windows.

MSOnline

La instalación del primer módulo supondrá que no se han instalado nunca otros módulos de PowerShell en la estación de trabajo específica y se solicitará la instalación única del proveedor de paquetes NuGet, así como solicitar la confianza temporal del PSGallery Repositorio.

  1. Lanzamiento Windows PowerShell como administrador.


  • Introduzca el siguiente cmdlet para instalar el MSOnline módulo en la estación de trabajo local directamente desde la Galería PowerShell.

Install-Module -Name MSOnline

  • Cuando se le solicite instalar el prerrequisito NuGet proveedor entrar «Y» para permitir la instalación.


  1. Cuando se le solicite instalar el repositorio no confiable entrar «A» para permitir la instalación.


  1. Para verificar la instalación satisfactoria del NuGet PSGallery componentes, así como la MSOnline módulo ejecute los siguientes cmdlets para enumerar los proveedores de paquetes, repositorios y módulos de PowerShell instalados.

Get-PackageProvider


Get-PSRepository


Get-InstalledModule


Tenga en cuenta que el PSGallery el repositorio que aparece arriba se establece actualmente como Untrusted.  Si bien esto es aceptable, continuará activando el indicador ‘ repositorio no confiable ‘ que se ha visto antes al intentar instalar cualquier otro módulo de la Galería PowerShell.  En este punto se puede preferir configurar esto como un repositorio de confianza en la estación de trabajo específica para optimizar aún más la instalación adicional del módulo.  Este es un paso completamente opcional, pero uno que normalmente se recomienda dar a la Galería PowerShell es un origen de confianza de Microsoft.

  1. Utilice los siguientes PSRepository cmdlets para configurar la Galería PowerShell en Trusted y, a continuación, confirmar dicha modificación.

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

Get-PSRepository


Azure AD

  1. En la misma ventana de PowerShell administrativa se emite el siguiente cmdlet para instalar el AzureAD Módulo. 

Install-Module -Name AzureAD


Si el repositorio PSGallery no se confió manualmente mediante el paso opcional anterior, el paso anterior volverá a solicitar el acceso al repositorio aún no confiable para descargar el módulo AzureAD.  Si aparece este mensaje, escriba «A«para permitirlo.

  1. Utilice el Get-InstalledModule cmdlet de nuevo para verificar que AzureAD el módulo ha sido instalado.

Get-InstalledModule


Skype for Business

  1. Descargue e instale la versión más reciente de la Módulo de Skype para negocios en línea de Windows PowerShell.


  1. Si la instalación falla con un error al informar de una versión insuficiente o faltante del Runtime de Visual C++ 2017 x64, entonces Descargar e instalar la última versión del paquete redistribuible x64 (p. ej. vc_redist. x64. exe).
  2. Para comprobar la instalación correcta abierta Apps & Features en la configuración del sistema de Windows y, a continuación, buscar ‘ Skype ‘ para filtrar fuera de la lista de programas instalados para mostrar los siguientes resultados.


Exchange Online

  1. Uso de Microsoft Edge (es posible que otros navegadores no sean compatibles) iniciar sesión en el Centro de administración de Microsoft 365 usar una cuenta de administrador y, a continuación, desplácese hasta Centros administrativos Intercambio para abrir el Centro de administración de Exchange en una nueva ventana del navegador.
  2. Seleccione Híbrido del panel de exploración y, a continuación, haga clic en Configurar bajoEl módulo Exchange Online PowerShell soporta la autenticación de varios factores. Descargue el módulo para administrar Exchange en línea de forma más segura.«


  1. Abra el Microsoft. online. CSE. PSModule. Client. Application y luego seleccione Instalar Cuando se le solicite.


  1. Una vez finalizada la instalación del módulo, simplemente cierre la ventana de Windows PowerShell que se abrió automáticamente.


En este punto se han instalado los cuatro módulos de PowerShell en la estación de trabajo y se ha completado la instalación de una sola vez.


Usage

Los siguientes cmdlets se pueden emitir individualmente para establecer conexiones en cada servicio en línea deseado a través de PowerShell.  Debido a la forma en que funciona el módulo Exchange, es fundamental utilizar el módulo de Exchange PowerShell para empezar, ya que ese módulo no se puede utilizar en una ventana estándar de PowerShell.

Este enfoque aprovecha el soporte para la autenticación moderna a través de los cuatro módulos que no utilizan un solo conjunto almacenado de credenciales.  Cada conexión pedirá autenticación en una ventana separada.

Conexión a servicios en línea

  1. Inicie el Módulo de Microsoft Exchange Online PowerShell que se acaba de instalar en la estación de trabajo en el paso anterior.


  1. Conéctese a Exchange en línea mediante el Connect-EXOPSSession Cmdlet.

Connect-EXOPSSession


  1. Iniciar sesión usando una cuenta administrativa para el inquilino.

     

Una vez que se ha importado la sesión, puede aparecer una advertencia relacionada con verbos potencialmente no aprobados que pueden ignorarse.

  1. Conéctese a Azure AD usando el Connect-MsolService cmdlet e introduzca las mismas credenciales de administrador cuando se le solicite.

Connect-MsolService

  • Conéctese a Azure AD usando el Connect-AzureAD cmdlet, introduciendo de nuevo las mismas credenciales si se le solicita.

Connect-AzureAD

  1. Conéctese a Skype para negocios en línea utilizando los siguientes cmdlets, proporcionando el nombre de usuario de la cuenta cuando se le solicite en línea y la contraseña de la cuenta cuando se le solicite una ventana separada.

Import-Module SkypeOnlineConnector

$skype = New-CsOnlineSession

Import-PSSession $skype

Si todos los comandos fueron exitosos, la ventana de PowerShell resultante debería ser algo como esto:


Testing Connectivity

Emita los siguientes cuatro cmdlets de ejemplo para comprobar que cada uno de los cuatro módulos funciona correctamente con el acceso a los servicios en línea.

Get-Mailbox

Get-MsolAccountSku

Get-AzureADUser

Get-CsOnlineUser

Quick Reference

Lo siguiente puede insertarse en un archivo. PS1 para crear un proceso de lote básico para conectarse a los cuatro servicios en sucesión. Debido a la forma en que la autenticación moderna no permite el uso compartido de tokens entre los distintos módulos, los avisos de autenticación aparecerán todavía entre cada intento de conexión.  Algunos de los Conectar los cmdlets admiten la prestación del nombre principal de usuario en línea, mientras que otros no.  Para intentar incorporar estos nuevos módulos en secuencias de comandos personalizadas para automatizar aún más el proceso, eche un vistazo a estos Otros Blog Artículos.

Connect-MsolService 
Connect-AzureAD 
Connect-EXOPSSession -UserPrincipalName «jeff@jdskype.net» 
Import-Module SkypeOnlineConnector 
$skype = New-CsOnlineSession -UserName «jeff@jdskype.net» 
Import-PSSession $skype

Asegúrese de ejecutar el script después de iniciar el módulo Microsoft Exchange Online PowerShell, ya que es la única instancia de PowerShell que es capaz de utilizar el Connect-EXOPSSession Cmdlet.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *