¿Cómo exportar listas de distribución y sus miembros de Office 365 a un archivo .csv?

Anónimas
2021-02-24T16:41:24+00:00

Hola,

Podrían apoyarme para conocer alguna forma para exportar las listas de distribución y los miembros de cada lista que tengo en Microsoft 365 hacía un archivo .CSV.

Intente por Power Shell pero solo puedo visualizar por lista la información, ¿alguna idea?

Gracias

Microsoft 365 y Office | Suscripción, cuenta y facturación | Para la casa | Windows

Pregunta bloqueada. Esta pregunta se migró desde la Comunidad de Soporte técnico de Microsoft. Puede votar si es útil, pero no puede agregar comentarios o respuestas ni seguir la pregunta.

0 comentarios No hay comentarios
{count} votos

1 respuesta

Ordenar por: Muy útil
  1. Anónimas
    2021-02-24T17:48:49+00:00

    Hola,

    Continuando con este tema, he realizado la búsqueda y encontré información para generar un script para obtener la información de las listas de distribución y sus miembros, sin embargo ejecuto el script pero no obtengo la información.

    Este es el script:

    #Parametros de Entrada

    #Este script acepta 2 parametros opcionales como son el login y la contrasena del usuario administrador que utilizaremos para conectarnos a nuestro tenant

    Param(

    [Parameter(Position=0, Mandatory=$false, ValueFromPipeline=$true)] 
    
    [string] $Office365Username, 
    
    [Parameter(Position=1, Mandatory=$false, ValueFromPipeline=$true)] 
    
    [string] $Office365Password 
    

    )

    #En esta variable pondremos la ruta o el nombre del fichero CSV resultante de la consulta

    #En el caso de no especificar una ruta el fichero se genera en la misma ruta donde se encuentre este script

    $OutputFile = "Listado_Miembros_Grupos.csv"

    $arrDLMembers = @{}

    #Eliminamos las sesiones existentes de PowerShell en caso de que existan

    Get-PSSession | Remove-PSSession

    #Sino hemos pasado por parametros las credenciales para conectar al tenant se nos requira

    if (([string]::IsNullOrEmpty($Office365Username) -eq $false) -and ([string]::IsNullOrEmpty($Office365Password) -eq $false))

    {

    $SecureOffice365Password = ConvertTo-SecureString -AsPlainText $Office365Password -Force     
    
    $Office365Credentials  = New-Object System.Management.Automation.PSCredential $Office365Username, $SecureOffice365Password 
    

    }

    else

    {

    $Office365Credentials  = Get-Credential
    

    }

    #Creamos la sesion con nuestro Tenant

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

    #Importamos la sesion

    Import-PSSession $Session -AllowClobber | Out-Null

    #Preparamos las cabeceras de nuestro fichero CSV

    Out-File -FilePath $OutputFile -InputObject "Distribution Group DisplayName,Distribution Group Email,Member DisplayName, Member Email, Member Type" -Encoding UTF8

    #Obtenemos todos los grupos de distribucion existente en Office 365

    $objDistributionGroups = Get-DistributionGroup -ResultSize Unlimited

    #Recorremos uno a uno cada grupo para ir obteniendo los usuarios

    Foreach ($objDistributionGroup in $objDistributionGroups)

    {

    write-host "Procesando $($objDistributionGroup.DisplayName)..." 
    
    #Obtenemos los miembros del grupo
    
    $objDGMembers = Get-DistributionGroupMember -Identity $($objDistributionGroup.PrimarySmtpAddress) 
    
     
    
    write-host "Encontrados $($objDGMembers.Count) miembros..." 
    
     
    
    #Recorremos cada uno de los miembros para obtener su informacion
    
    Foreach ($objMember in $objDGMembers) 
    
    { 
    
    	Out-File -FilePath $OutputFile -InputObject "$($objDistributionGroup.DisplayName),$($objDistributionGroup.PrimarySMTPAddress),$($objMember.DisplayName),$($objMember.PrimarySMTPAddress),$($objMember.RecipientType)" -Encoding UTF8 -append 
    
    	write-host "`t$($objDistributionGroup.DisplayName),$($objDistributionGroup.PrimarySMTPAddress),$($objMember.DisplayName),$($objMember.PrimarySMTPAddress),$($objMember.RecipientType)"
    
    } 
    

    }

    #Cerramos la conexion con el tenant de Office 365

    Get-PSSession | Remove-PSSession

    Sin embargo no me muestra algún error pero tampoco obtengo el archivo.

    Saludos!

    2 personas han encontrado útil esta respuesta.
    0 comentarios No hay comentarios