Auditar usuarios de Yammer en redes conectadas a Office 365

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

Además de auditar a los usuarios de Yammer, es posible que quiera comprender mejor cómo se puede administrar el servicio yammer sin problemas desde Office 365. Por ejemplo, puede administrar usuarios de Yammer a lo largo de su ciclo de vida desde Office 365 y aplicar Office 365 identidad para los usuarios de Yammer.

Exportación de la lista de usuarios de Yammer

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 Yammer.

  1. En Yammer, haga clic en el icono de configuración de Yammer Icono de configuración de Yammer y, a continuación, haga clic en Red Administración.

  2. Haga clic en Exportar usuarios.

    Menú Exportar usuarios de Yammer.

  3. En la página Exportar usuarios, seleccione Exportar todos los usuarios y después haga clic en Exportar.

    Opciones exportar usuarios de Yammer: exporte todos los usuarios o exporte todos los usuarios desde (fecha).

  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.

Buscar el estado de los usuarios de Yammer en Office 365

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

  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.  Yammer auditing tool for Office 365 looks for active Yammer accounts  that  are missing from Office 365 / Azure AD.  Takes User.csv file from Yammer Data Export as the input file.   Compares all Active Yammer 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. 

This information can be used to double check licenses are assigned correctly for each user.  

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 Yammer User Export tool  OutputFile: Output location to save the final CSV to  Example -  UserMatchToAzureAD.ps1 -InputFile .\Users.csv -OutputFile .\Results.csv  #> 
  
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 Yammer 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 "Writting the output csv file..."
  $yammerusers | Export-Csv $Outputfile -NoTypeInformation 
  Write-Host "Done." 
  
  1. 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 Yammer 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 Yammer, pero no en Office 365 o Azure AD. Para cada uno de ellos, decida si necesita:

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

    • Cree el usuario en Office 365 o Azure AD.

  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 Office 365 y Azure AD.

Si va a aplicar Office 365 identidad, después de una auditoría completa puede considerar la posibilidad de cerrar la sesión de todos los usuarios actuales, de modo que pueda estar seguro de que todos los usuarios inician sesión ahora con sus credenciales de Office 365 y no usan credenciales almacenadas en caché. Si decide hacerlo, asegúrese de que se comunica a los usuarios. Más información en Aplicar Office 365 identidad para los usuarios de Yammer.