다음을 통해 공유


Microsoft 365에 연결된 네트워크의 Viva Engage 사용자 감사

회사의 Viva Engage 네트워크에는 더 이상 회사에서 일하지 않는 사용자가 있을 수 있습니다. 또는 일부 Viva Engage 사용자가 해당 Microsoft 365 계정이 없기 때문에 전자 메일 및 암호로 로그인할 수 있습니다. 이러한 상황을 분석하고 조치를 취하기 위해 Viva Engage 사용자를 감사할 수 있습니다. 여기에는 Viva Engage 사용자 목록을 내보내고, Windows PowerShell 위해 Azure Active Directory 모듈을 사용하여 Microsoft 365에서 이러한 Viva Engage 사용자의 상태 찾고, 결과를 분석하고 조치를 취하는 작업이 포함됩니다.

Viva Engage 사용자를 감사하는 것 외에도 Microsoft 365에서 Viva Engage 서비스를 원활하게 관리하는 방법에 대해 자세히 이해할 수 있습니다. 자세한 내용은 Viva Engage 사용자에 대해 Microsoft 365 ID 적용을 참조하세요.

Viva Engage 사용자 목록 내보내기

감사 스크립트를 실행하기 전에 스크립트에서 사용할 사용자 계정 목록이 포함된 입력 파일을 만듭니다. Viva Engage 사용자 내보내기 함수를 사용하여 입력 파일을 만듭니다.

  1. Viva Engage Viva Engage 설정 아이콘 을 선택한 다음 네트워크 관리 선택합니다.

  2. 사용자 내보내기 를 선택합니다.

  3. 사용자 내보내기 페이지에서 모든 사용자 내보내기를 선택한 다음 내보내 기를 선택합니다.

  4. 내보낸 파일을 저장합니다. 파일은 .zip 파일 이름 확장명을 가진 압축 파일로 저장됩니다.

  5. 압축 파일을 저장한 위치로 이동하여 압축 파일을 확장합니다.

참고

압축된 파일에는 여러 파일이 포함되어 있습니다. 이름이 users.csv 파일만 필요합니다.

Microsoft 365에서 Viva Engage 사용자의 상태 찾기

  1. Windows PowerShell Azure Active Directory 모듈을 설치하고 구성합니다. 이에 대한 지침은 Microsoft Entra ID 문서를 참조하세요.

  2. 다음 샘플 코드를 복사하여 메모장과 같은 텍스트 편집기에 붙여넣은 다음 파일을 UserMatchToAzureAD.ps1로 저장합니다.

    organization 요구에 맞게 자유롭게 수정하세요.

     <#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 Microsoft 365 Global Admin Credentials..."
     	   $msolcred = get-credential
     	   connect-msolservice -credential $msolcred
        }
        Write-Host "Loading all Microsoft 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 Microsoft 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. Windows PowerShell 명령 창에 대한 Azure Active Directory 모듈에서 다음 예제와 같이 명령을 실행하여 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 ID를 적용하는 경우 모든 사용자가 현재 사용자를 로그오프하여 모든 사용자가 이제 Microsoft 365 자격 증명으로 로그인하고 캐시된 자격 증명을 사용하지 않도록 하는 것이 좋습니다. 이렇게 하려면 먼저 사용자와 통신해야 합니다. 자세한 내용은 Viva Engage 사용자를 위해 Microsoft 365 ID 적용을 참조하세요.