Auditar Viva Engage usuarios en redes conectadas a Microsoft 365

La red de Viva Engage de su empresa podría tener usuarios que ya no trabajen para su empresa. O bien, algunos usuarios de Viva Engage podrían iniciar sesión con su correo electrónico y contraseña porque no tienen una cuenta de Microsoft 365 correspondiente. Para analizar estas situaciones y tomar medidas, puede auditar a los usuarios Viva Engage. Esto implica exportar la lista de usuarios Viva Engage, buscar el estado de estos Viva Engage usuarios en Microsoft 365 mediante el módulo de Azure Active Directory para Windows PowerShell y analizar los resultados y tomar medidas.

Además de auditar Viva Engage usuarios, es posible que quiera comprender mejor cómo se puede administrar sin problemas el servicio Viva Engage desde Microsoft 365. Para obtener más información, consulte Aplicación de la identidad de Microsoft 365 para usuarios Viva Engage.

Exportación de la lista de usuarios Viva Engage

Antes de ejecutar el script de auditoría, cree un archivo de entrada que contenga la lista de cuentas de usuario para que el script se use. El archivo de entrada se crea mediante la función Exportar usuarios en Viva Engage.

  1. En Viva Engage, seleccione el icono de configuración de Viva Engage y, a continuación, seleccione Red Administración.

  2. Seleccione Exportar usuarios.

  3. En la página Exportar usuarios, elija Exportar todos los usuarios y, a continuación, seleccione Exportar.

  4. Guarde el archivo exportado. El archivo se guarda como un archivo comprimido con una extensión de nombre de archivo .zip.

  5. Vaya a la ubicación donde guardó el archivo comprimido y expándalo.

Nota:

Hay varios archivos contenidos en el archivo comprimido. Solo necesita el archivo denominado users.csv.

Búsqueda del estado de Viva Engage usuarios en Microsoft 365

  1. Instale y configure el módulo de Azure Active Directory para Windows PowerShell. Para obtener instrucciones sobre esto, lea el siguiente documento: Microsoft Entra ID Ayuda.

  2. Copie el código de ejemplo siguiente, péguelo en un editor de texto como el Bloc de notas y, a continuación, guarde el archivo como UserMatchToAzureAD.ps1.

    No dude en modificarlo para satisfacer las necesidades de su organización.

     <#Copyright 2016  Microsoft Licensed under the Apache License, Version 2.0 (the "License");  you may not use this file except in compliance with the License.  You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0  Unless required by applicable law or agreed to in writing, software  distributed under the License is distributed on an "AS IS" BASIS,  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions  and limitations under the License.  Viva Engage auditing tool for Office 365 looks for active Viva Engage accounts  that  are missing from Office 365 / Azure AD.  Takes User.csv file from Viva Engage Data Export as the input file.   Compares all Active Viva Engage accounts in the input file to user   lookup in Azure AD. User is searched by both email and proxyAddresses.   The output csv file is exactly matching the source file, but it includes  three new columns: exists_in_azure_ad, object_id and azure_licenses:  exists_in_azure_ad: Will be TRUE or FALSE, and signals that the user can be, or cannot be found in Office 365 / Azure AD  object_id: For users that can be found, lists the ObjectId in Azure AD  azure_licenses: For users that can be found, lists the plans assigned to the user in Azure AD. 
    
     azurepowershell
    
     This information can be used to double check licenses are assigned correctly for each user.  
    
     azurepowershell
    
     Params -  UseExistingConnection: Defines if the script should try to use an existing Azure AD connection. Will prompt for credentials and will start a new connection if $FALSE. Default is $FALSE  InputFile: Source CSV file of users, coming from the Viva Engage User Export tool  OutputFile: Output location to save the final CSV to  Example -  UserMatchToAzureAD.ps1 -InputFile .\Users.csv -OutputFile .\Results.csv  #> 
    
     azurepowershell
    
     Param(
     	 [bool]$UseExistingConnection = $FALSE,
     	 [string]$InputFile = ".\Users.csv",
     	 [string]$Outputfile = ".\Results.csv"
     	) 
       if(!$UseExistingConnection){
     	   Write-Host "Creating a new connection. Login with your Office 365 Global Admin Credentials..."
     	   $msolcred = get-credential
     	   connect-msolservice -credential $msolcred
        }
        Write-Host "Loading all Office 365 users from Azure AD. This can take a while depending on the number of users..."
        $o365usershash = @{}
        get-msoluser -All | Select userprincipalname,proxyaddresses,objectid,@{Name="licenses";Expression={$_.Licenses.AccountplanId}} | ForEach-Object {
     	   $o365usershash.Add($_.userprincipalname.ToUpperInvariant(), $_)
     	   $_.proxyaddresses | ForEach-Object {
     		   $email = ($_.ToUpperInvariant() -Replace "SMTP:(\\*)*", "").Trim()
     		   if(!$o365usershash.Contains($email))
     		   {
     			   $o365usershash.Add($email, $_)
     		   }
     	   }
        }
        Write-Host "Matching Viva Engage users to Office 365 users"
        $yammerusers = Import-Csv -Path $InputFile | Where-Object {$_.state -eq "active"}
        $yammerusers | ForEach-Object {
     	   $o365user = $o365usershash[$_.email.ToUpperInvariant()]
     	   $exists_in_azure_ad = ($o365user -ne $Null)
     	   $objectid = if($exists_in_azure_ad) { $o365user.objectid } else { "" }
     	   $licenses = if($exists_in_azure_ad) { $o365user.licenses } else { "" }
     	   $_ | Add-Member -MemberType NoteProperty -Name "exists_in_azure_ad" -Value $exists_in_azure_ad
     	   $_ | Add-Member -MemberType NoteProperty -Name "azure_object_id" -Value $objectid
     	   $_ | Add-Member -MemberType NoteProperty -Name "azure_licenses" -Value $licenses
        } 
       Write-Host "Writing the output csv file..."
       $yammerusers | Export-Csv $Outputfile -NoTypeInformation 
       Write-Host "Done." 
    
  3. Desde un módulo de Azure Active Directory para Windows PowerShell ventana de comandos, ejecute el comando como en el ejemplo siguiente, pasando el archivo de entrada exportado desde Viva Engage y una ubicación del archivo de salida.

    Ejemplo de uso:

     UserMatchToAzureAD.ps1 -InputFile .\Users.csv -OutputFile .\Results.csv
    

    Para obtener más información sobre cómo ejecutar el script, consulte el archivo PS1 anterior.

Analizar los resultados y tomar medidas

  1. Abra el archivo CSV de resultado y filtre todas las filas que muestran la columna exists_in_azure_ad como FALSE.

    Cada una de ellas son cuentas que existen en Viva Engage, pero no en Microsoft 365/Microsoft Entra ID. Para cada uno de ellos, decida si necesita:

    • Suspenda la cuenta de usuario en Viva Engage si el usuario no debe tener acceso.

    • Cree el usuario en Microsoft 365/Microsoft Entra ID.

  2. Una vez completadas estas operaciones, se recomienda volver a ejecutar estos pasos desde el principio para confirmar que todos los usuarios se encuentran ahora en Microsoft Entra ID.

Después de una auditoría completa, si está aplicando la identidad de Microsoft 365, considere la posibilidad de cerrar la sesión de todos los usuarios actuales para asegurarse de que todos los usuarios inicien sesión ahora con sus credenciales de Microsoft 365 y no usen las credenciales almacenadas en caché. Si decide hacerlo, asegúrese de comunicarse primero con los usuarios. Más información en Exigir identidad de Microsoft 365 para usuarios Viva Engage.