자습서: PowerShell을 사용하여 Microsoft Entra B2B 협업 사용자 일괄 초대

Microsoft Entra B2B 협업을 사용하여 외부 파트너와 협력하는 경우 포털을 통해 또는 PowerShell을 통해 동시에 여러 게스트 사용자를 조직에 초대할 수 있습니다. 이 자습서에서는 PowerShell을 사용하여 외부 사용자에게 일괄 초대를 보내는 방법을 알아봅니다. 특히 다음을 수행합니다.

  • 사용자 정보가 포함된 .csv(쉼표로 구분된 값) 파일 준비
  • PowerShell 스크립트를 실행하여 초대 보내기
  • 사용자가 디렉터리에 추가되었는지 확인

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

사전 요구 사항

최신 Microsoft Graph PowerShell 모듈 설치

최신 버전의 Microsoft Graph PowerShell 모듈을 설치해야 합니다.

먼저 설치한 모듈을 확인합니다. 관리자 권한 사용자로 PowerShell을 열고(관리자 권한으로 실행) 다음 명령을 실행합니다.

Get-InstalledModule Microsoft.Graph

PowerShell Core 또는 Windows PowerShell에서 SDK의 v1 모듈을 설치하려면 다음 명령을 실행합니다.

Install-Module Microsoft.Graph -Scope CurrentUser

필요에 따라 매개 변수를 사용하여 -Scope 설치 범위를 변경할 수 있습니다. 이렇게 하려면 관리자 권한이 필요합니다.

Install-Module Microsoft.Graph -Scope AllUsers

베타 모듈을 설치하려면 다음 명령을 실행합니다.

Install-Module Microsoft.Graph.Beta

신뢰할 수 없는 리포지토리에서 모듈을 설치하고 있음을 나타내는 메시지가 표시될 수 있습니다. 이전에 PSGallery 리포지토리를 신뢰할 수 있는 리포지토리로 설정하지 않으면 이 메시지가 표시됩니다. Y 키를 눌러 모듈을 설치합니다.

테스트 메일 계정 가져오기

초대를 보낼 수 있는 두 개 이상의 테스트 메일 계정이 필요합니다. 계정은 조직 외부에서 가져와야 합니다. gmail.com 또는 outlook.com 주소와 같은 소셜 계정을 포함하여 모든 계정 유형을 사용할 수 있습니다.

CSV 파일 준비

Microsoft Excel에서 초대 대상자 사용자 이름 및 메일 주소 목록이 포함된 CSV 파일을 만듭니다. NameInvitedUserEmailAddress 열 제목을 포함해야 합니다.

예를 들어 다음 형식으로 워크시트를 만듭니다.

Screenshot that shows the csv file columns of Name and InvitedUserEmailAddress.

파일을 C:\BulkInvite\Invitations.csv로 저장합니다.

Excel이 없는 경우에는 메모장과 같은 모든 텍스트 편집기에서 CSV 파일을 만들 수 있습니다. 각 값을 쉼표로 구분하고 각 행을 새 줄로 구분합니다.

테넌트에 로그인

다음 명령을 실행하여 테넌트에 연결합니다.

Connect-MgGraph -TenantId "<YOUR_TENANT_ID>"

예: Connect-MgGraph -TenantId "11111111-aaaa-2222-bbbb-33333333". 테넌트 do기본 사용할 수도 있지만 매개 변수는 다시 기본.-TenantId 예: Connect-MgGraph -TenantId "contoso.onmicrosoft.com".

메시지가 표시되면 자격 증명을 입력합니다.

일괄 초대 보내기

초대를 보내려면 다음 PowerShell 스크립트를 실행합니다(여기서 c:\bulkinvite\invitations.csv는 CSV 파일의 경로임).

$invitations = import-csv c:\bulkinvite\invitations.csv

$messageInfo = New-Object Microsoft.Open.MSGraph.Model.InvitedUserMessageInfo

$messageInfo.customizedMessageBody = "Hello. You are invited to the Contoso organization."

foreach ($email in $invitations)
   {New-MgInvitation `
      -InvitedUserEmailAddress $email.InvitedUserEmailAddress `
      -InvitedUserDisplayName $email.Name `
      -InviteRedirectUrl https://myapps.microsoft.com `
      -InvitedUserMessageInfo $messageInfo `
      -SendInvitationMessage $true
   }

스크립트는 invitations.csv 파일의 메일 주소로 초대를 보냅니다. 각 사용자에 대한 다음과 비슷한 출력이 표시되어야 합니다.

Screenshot that shows PowerShell output that includes pending user acceptance.

사용자가 디렉터리에 있는지 확인

초대된 사용자가 Microsoft Entra ID에 추가되었는지 확인하려면 다음 명령을 실행합니다.

 Get-MgUser -Filter "UserType eq 'Guest'"

초대한 사용자가 emailaddress#EXT#@domain 형식의 UPN(사용자 계정 이름)과 함께 나열되어야 합니다. 예를 들어, msullivan_fabrikam.com#EXT#@contoso.onmicrosoft.com에서 contoso.onmicrosoft.com은(는) 초대를 보낸 조직입니다.

리소스 정리

더 이상 필요하지 않은 경우 디렉터리에서 테스트 사용자 계정을 삭제할 수 있습니다. 다음 명령을 실행하여 사용자 계정을 삭제합니다.

 Remove-MgUser -UserId "<String>"

예: Remove-MgUser -UserId "11111111-aaaa-2222-bbbb-33333333"

다음 단계

이 자습서에서는 조직 외부의 게스트 사용자에게 일괄 초대를 보냈습니다. 다음으로 포털에서 게스트 사용자를 대량으로 초대하는 방법과 게스트 사용자에게 MFA를 적용하는 방법을 알아봅니다.