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

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

Помимо аудита Viva Engage пользователей, вы можете узнать больше о том, как можно легко управлять службой Viva Engage из Microsoft 365. Дополнительные сведения см. в разделе Принудительное применение удостоверения Microsoft 365 для Viva Engage пользователей.

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

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

  1. В Viva Engage щелкните значок параметров Viva Engage , а затем выберите Сетевой Администратор.

  2. Выберите Экспорт пользователей.

  3. На странице Экспорт пользователей выберите Экспорт всех пользователей, а затем выберите Экспорт.

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

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

Примечание.

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

Поиск состояния пользователей Viva Engage в Microsoft 365

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

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

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

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

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

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

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

    Каждая из них — это учетные записи, которые существуют в Viva Engage, но не в Microsoft 365 / Microsoft Entra ID. Для каждого из них необходимо:

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

    • Создайте пользователя в Microsoft 365 или Microsoft Entra ID.

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

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