Аудит пользователей Yammer в сетях, подключенных к Office 365

В сети Yammer вашей компании могут быть пользователи, которые больше не работают в вашей компании. Кроме того, некоторые пользователи Yammer могут войти с помощью электронной почты и пароля, так как у них нет соответствующей учетной записи Office 365. Чтобы проанализировать такие ситуации и принять меры, вы можете выполнить аудит пользователей Yammer. Это включает экспорт списка пользователей Yammer, поиск состояния этих пользователей Yammer в Office 365 с помощью модуля Azure Active Directory для Windows PowerShell, а также анализ результатов и принятие действий.

Помимо аудита пользователей Yammer, вы можете узнать больше о том, как можно легко управлять службой Yammer из Office 365. Например, вы можете управлять пользователями Yammer на протяжении их жизненного цикла с Office 365 и принудительно применять удостоверение Office 365 для пользователей Yammer.

Экспорт списка пользователей Yammer

Перед запуском скрипта аудита создайте входной файл, содержащий список учетных записей пользователей. Входной файл создается с помощью функции Экспорт пользователей в Yammer.

  1. В Yammer щелкните значок параметров Yammer значок параметров Yammer и выберите пункт Сеть Администратор.

  2. Щелкните пункт Экспорт пользователей.

    Меню

  3. На странице "Экспорт пользователей" установите флажок Экспорт всех пользователей и нажмите кнопку Экспорт.

    Параметры Экспорта пользователей в Yammer — экспорт всех пользователей или Экспорт всех пользователей с момента (дата).

  4. Сохраните экспортированный файл. Он сохраняется как сжатый ZIP-файл.

  5. Перейдите к расположению, где сохранен сжатый файл, и откройте его.

    Примечание.

    В сжатом файле несколько файлов. Вам нужен только файл Users.csv.

Поиск состояния пользователей Yammer в Office 365

  1. Установите и настройте модуль Azure Active Directory для Windows PowerShell. Инструкции по этому вопросу см. в следующем документе: справка Azure AD.

  2. Скопируйте следующий пример кода, вставьте его в текстовый редактор, например Блокнот, а затем сохраните файл как UserMatchToAzureAD.ps1.

    Вы можете изменить его в соответствии с потребностями вашей организации.


<#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. В модуле Azure Active Directory для Windows PowerShell командном окне выполните команду, как показано в приведенном ниже примере, передав входной файл, экспортируемый из Yammer, и расположение выходного файла.

    Пример использования:

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

Дополнительные сведения о запуске скрипта см. в файле PS1 выше.

Анализ результатов и принятие мер

  1. Откройте результирующий CSV-файл и отфильтруйте все строки, в которые столбец exists_in_azure_ad отображается как FALSE.

    Каждая из них — это учетные записи, существующие в Yammer, но не в Office 365 и Azure AD. Для каждого из них необходимо:

    • Приостановите учетную запись пользователя в Yammer, если у пользователя не должно быть доступа.

    • Создайте пользователя в Office 365 или Azure AD.

  2. После завершения этих операций рекомендуется выполнить эти действия с самого начала, чтобы убедиться, что все пользователи теперь находятся в Office 365 и Azure AD.

Если вы применяете Office 365 удостоверение, то после полного аудита вы можете рассмотреть возможность выхода из системы всех текущих пользователей, чтобы убедиться, что все пользователи теперь входят в систему со своими учетными данными Office 365 и не используют кэшированные учетные данные. Если вы решили сделать это, убедитесь, что это сообщение будет передано пользователям. Дополнительные сведения см. в статье Принудительное Office 365 удостоверение для пользователей Yammer.