그룹 설정을 구성하기 위한 Microsoft Entra cmdlet

이 문서에는 PowerShell cmdlet을 사용하여 Microsoft Entra의 일부인 Microsoft Entra ID에서 그룹을 만들고 업데이트하는 방법에 대한 지침이 포함되어 있습니다. 이 콘텐츠는 Microsoft 365 그룹에만 적용됩니다(통합 그룹이라고도 함).

Important

일부 설정에는 Microsoft Entra ID P1 라이선스가 필요합니다. 자세한 내용은 템플릿 설정 표를 참조하세요.

관리자가 아닌 사용자가 보안 그룹을 만들지 못하게 하는 방법에 대한 자세한 내용은 Update-MgPolicyAuthorizationPolicy설명된 대로 속성을 False로 설정합니다AllowedToCreateSecurityGroups.

Microsoft 365 그룹 설정은 설정 개체와 SettingsTemplate 개체를 사용하여 구성됩니다. 처음에는 디렉터리가 기본 설정으로 구성되어 있으므로 디렉터리에 설정 개체가 표시되지 않습니다. 기본 설정을 변경하려면 설정 템플릿을 사용하여 새 설정 개체를 만들어야 합니다. 설정 템플릿은 Microsoft가 정의합니다. 여러 종류의 설정 템플릿이 있습니다. 디렉터리에 Microsoft 365 그룹 설정을 구성하려면 “Group.Unified” 템플릿을 사용하세요. 단일 그룹의 Microsoft 365 그룹 설정을 구성하려면 “Group.Unified.Guest” 템플릿을 사용하세요. 이 템플릿은 Microsoft 365 그룹에 대한 게스트 액세스 관리에 사용됩니다.

cmdlet은 Microsoft Graph PowerShell 모듈의 일부입니다. 컴퓨터에 모듈을 다운로드하고 설치하는 방법에 대한 지침은 Microsoft Graph PowerShell SDK 설치를 참조하세요.

Important

Azure AD PowerShell은 2024년 3월 30일에 사용 중단될 예정입니다. 자세한 내용은 사용 중단 업데이트를 참조하세요. Microsoft Graph PowerShell로 마이그레이션하여 Microsoft Entra ID(이전의 Azure AD)와 상호 작용하는 것이 좋습니다. Microsoft Graph PowerShell은 모든 Microsoft Graph API에 대한 액세스를 허용하며 PowerShell 7에서 사용할 수 있습니다. 일반적인 마이그레이션 쿼리에 대한 답변은 마이그레이션 FAQ를 참조하세요.

참고 항목

Microsoft 365 그룹에 대한 게스트 추가를 제한하는 설정이 있더라도 관리자는 Microsoft 365 그룹에 게스트 사용자를 계속 추가합니다. 이 설정은 관리자가 아닌 사용자가 Microsoft 365 그룹에 게스트 사용자를 추가하지 못하도록 제한합니다.

PowerShell cmdlet 설치

Microsoft Graph PowerShell SDK 설치에 설명된 대로 Microsoft Graph cmdlet을 설치합니다.

  1. 관리자로 Windows PowerShell 앱을 엽니다.

  2. Microsoft Graph cmdlet을 설치합니다.

    Install-Module Microsoft.Graph -Scope AllUsers
    
  3. Microsoft Graph 베타 cmdlet을 설치합니다.

    Install-Module Microsoft.Graph.Beta -Scope AllUsers
    

디렉터리 수준에서 설정 만들기

다음 단계는 디렉터리 수준에서 설정을 만드는 것입니다. 이 설정은 디렉터리에 있는 모든 Microsoft 365 그룹에 적용됩니다.

  1. DirectorySettings cmdlet에서 사용하려는 SettingsTemplate의 ID를 지정해야 합니다. 이 ID를 모르는 경우 이 cmdlet은 모든 설정 템플릿 목록을 반환합니다.

    Get-MgBetaDirectorySettingTemplate
    

    이 cmdlet을 호출하면 사용할 수 있는 모든 템플릿이 반환됩니다.

    Id                                   DisplayName         Description
    --                                   -----------         -----------
    62375ab9-6b52-47ed-826b-58e47e0e304b Group.Unified       ...
    08d542b9-071f-4e16-94b0-74abb372e3d9 Group.Unified.Guest Settings for a specific Microsoft 365 group
    16933506-8a8d-4f0d-ad58-e1db05a5b929 Company.BuiltIn     Setting templates define the different settings that can be used for the associ...
    4bc7f740-180e-4586-adb6-38b2e9024e6b Application...
    898f1161-d651-43d1-805c-3b0b388a9fc2 Custom Policy       Settings ...
    5cf42378-d67d-4f36-ba46-e8b86229381d Password Rule       Settings ...
    
  2. 사용 지침 URL을 추가하려면 사용 지침 URL 값을 정의하는 SettingsTemplate 개체를 가져와야 합니다. 즉, Group.Unified 템플릿입니다.

    $TemplateId = (Get-MgBetaDirectorySettingTemplate | where { $_.DisplayName -eq "Group.Unified" }).Id
    $Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value $TemplateId -EQ
    
  3. 디렉터리 설정에 사용할 값이 포함된 개체를 만듭니다. 이러한 값은 사용 지침 값을 변경하고 민감도 레이블을 사용하도록 설정합니다. 필요에 따라 템플릿에서 해당 설정 또는 다른 설정을 지정합니다.

    $params = @{
       templateId = "$TemplateId"
       values = @(
          @{
             name = "UsageGuidelinesUrl"
             value = "https://guideline.example.com"
          }
          @{
             name = "EnableMIPLabels"
             value = "True"
          }
       )
    }
    
  4. New-MgBetaDirectorySetting을 사용하여 디렉터리 설정을 만듭니다.

    New-MgBetaDirectorySetting -BodyParameter $params
    
  5. 다음 명령을 사용하여 값을 읽을 수 있습니다.

    $Setting = Get-MgBetaDirectorySetting | where { $_.DisplayName -eq "Group.Unified"}
    $Setting.Values
    

디렉터리 수준에서 설정 업데이트

설정 템플릿에서 UsageGuideLinesUrl 값을 업데이트하려면 Microsoft Entra ID에서 현재 설정을 읽습니다. 그러지 않으면 UsageGuideLinesUrl 이외의 기존 설정을 덮어쓰게 될 수 있습니다.

  1. Group.Unified SettingsTemplate에서 현재 설정을 가져옵니다.

    $Setting = Get-MgBetaDirectorySetting | where { $_.DisplayName -eq "Group.Unified"}
    
  2. 현재 설정을 확인합니다.

    $Setting.Values
    

    이 명령은 다음 값을 반환합니다.

    Name                            Value
    ----                            -----
    EnableMIPLabels                 True
    CustomBlockedWordsList
    EnableMSStandardBlockedWords    False
    ClassificationDescriptions
    DefaultClassification
    PrefixSuffixNamingRequirement
    AllowGuestsToBeGroupOwner       False
    AllowGuestsToAccessGroups       True
    GuestUsageGuidelinesUrl
    GroupCreationAllowedGroupId
    AllowToAddGuests                True
    UsageGuidelinesUrl              https://guideline.example.com
    ClassificationList
    EnableGroupCreation             True
    NewUnifiedGroupWritebackDefault True
    
  3. UsageGuideLinesUrl 값을 제거하려면 URL을 편집하여 빈 문자열이 되도록 합니다.

    $params = @{
       Values = @(
          @{
             Name = "UsageGuidelinesUrl"
             Value = ""
          }
       )
    }
    
  4. Update-MgBetaDirectorySetting cmdlet을 사용하여 값을 업데이트합니다.

    Update-MgBetaDirectorySetting -DirectorySettingId $Setting.Id -BodyParameter $params
    

템플릿 설정

다음은 Group.Unified 설정 템플릿에서 정의된 설정입니다. 달리 명시되지 않는 한 이러한 기능에는 Microsoft Entra ID P1 라이선스가 필요합니다.

설정 설명
  • EnableGroupCreation
  • 형식: Boolean
  • 기본값: True
관리자가 아닌 사용자에 의해 디렉터리에서 Microsoft 365 그룹 만들기가 허용되는지 여부를 나타내는 플래그입니다. 이 설정에는 Microsoft Entra ID P1 라이선스가 필요하지 않습니다.
  • GroupCreationAllowedGroupId
  • 형식: 문자열
  • 기본값: “”
EnableGroupCreation == false일 때도 구성원이 Microsoft 365 그룹을 만들도록 허용된 보안 그룹의 GUID입니다.
  • UsageGuidelinesUrl
  • 형식: 문자열
  • 기본값: “”
그룹 사용 지침 링크입니다.
  • ClassificationDescriptions
  • 형식: 문자열
  • 기본값: “”
쉼표로 구분된 분류 설명 목록입니다. ClassificationDescriptions 값은 다음 형식일 때만 유효합니다.
$setting["ClassificationDescriptions"] ="Classification:Description,Classification:Description"
여기서 분류는 ClassificationList의 항목과 일치합니다.
EnableMIPLabels == True인 경우에는 이 설정이 적용되지 않습니다.
ClassificationDescriptions 속성의 문자 제한은 300이며 쉼표는 이스케이프할 수 없습니다.
  • DefaultClassification
  • 형식: 문자열
  • 기본값: “”
설정이 지정되지 않은 경우에 그룹의 기본 분류로 사용되는 분류입니다.
EnableMIPLabels == True인 경우에는 이 설정이 적용되지 않습니다.
  • PrefixSuffixNamingRequirement
  • 형식: 문자열
  • 기본값: “”
Microsoft 365 그룹에 대해 구성된 명명 규칙을 정의하는 최대 64자의 문자열입니다. 자세한 내용은 Microsoft 365 그룹에 대한 명명 정책 적용을 참조하세요.
  • CustomBlockedWordsList
  • 형식: 문자열
  • 기본값: “”
사용자가 그룹 이름 또는 별칭에서 사용하도록 허용되지 않은 쉼표로 구분된 구의 문자열입니다. 자세한 내용은 Microsoft 365 그룹에 대한 명명 정책 적용을 참조하세요.
  • EnableMSStandardBlockedWords
  • 형식: Boolean
  • 기본값: “False”
사용되지 않음. 사용하지 마십시오.
  • AllowGuestsToBeGroupOwner
  • 형식: Boolean
  • 기본값: False
게스트 사용자가 그룹의 소유자일 수 있는지 여부를 나타내는 부울 값입니다.
  • AllowGuestsToAccessGroups
  • 형식: Boolean
  • 기본값: True
게스트 사용자가 Microsoft 365 그룹의 콘텐츠에 액세스할 수 있는지 여부를 나타내는 부울 값입니다. 이 설정에는 Microsoft Entra ID P1 라이선스가 필요하지 않습니다.
  • GuestUsageGuidelinesUrl
  • 형식: 문자열
  • 기본값: “”
게스트 사용 지침의 링크 URL입니다.
  • AllowToAddGuests
  • 형식: Boolean
  • 기본값: True
이 디렉터리에 게스트를 추가하는 것이 허용되는지 여부를 나타내는 부울 값입니다.
EnableMIPLabelsTrue로 설정되고 게스트 정책이 그룹에 할당된 민감도 레이블과 연결된 경우 이 설정은 재정의되고 읽기 전용이 될 수 있습니다.
조직 수준에서 AllowToAddGuests 설정이 False로 설정된 경우 그룹 수준의 모든 AllowToAddGuests 설정이 무시됩니다. 소수의 그룹에만 게스트 액세스를 사용하려면 조직 수준에서 AllowToAddGuests를 true로 설정한 후 특정 그룹에 선택적으로 사용하지 않도록 설정해야 합니다.
  • ClassificationList
  • 형식: 문자열
  • 기본값: “”
Microsoft 365 그룹에 적용할 수 있는 유효한 분류 값을 쉼표로 구분한 목록입니다.
EnableMIPLabels == True인 경우에는 이 설정이 적용되지 않습니다.
  • EnableMIPLabels
  • 형식: Boolean
  • 기본값: “False”
Microsoft Purview 규정 준수 포털에 게시된 민감도 레이블을 Microsoft 365 그룹에 적용할 수 있는지 여부를 나타내는 플래그입니다. 자세한 내용은 Microsoft 365 그룹에 대한 민감도 레이블 할당을 참조하세요.
  • NewUnifiedGroupWritebackDefault
  • 형식: Boolean
  • 기본값: "True"
관리자가 요청 페이로드에서 groupWritebackConfiguration 리소스 유형을 설정하지 않고 새 Microsoft 365 그룹을 만들 수 있도록 하는 플래그입니다. 이 설정은 Microsoft Entra Connect에서 그룹 쓰기 저장이 구성된 경우에 적용됩니다. "NewUnifiedGroupWritebackDefault"는 전역 Microsoft 365 그룹 설정입니다. 기본값은 true입니다. 설정 값을 false로 업데이트하면 새로 만든 Microsoft 365 그룹의 기본 쓰기 저장 동작이 변경되며 기존 Microsoft 365 그룹의 isEnabled 속성 값은 변경되지 않습니다. 그룹 관리자가 기존 Microsoft 365 그룹의 쓰기 저장 상태를 변경하려면 그룹 isEnabled 속성 값을 명시적으로 업데이트해야 합니다.

예: 디렉터리 수준에서 그룹의 게스트 정책 구성

  1. 모든 설정 템플릿을 가져옵니다.

    Get-MgBetaDirectorySettingTemplate
    
  2. 디렉터리 수준에서 그룹에 대한 게스트 정책을 설정하려면 Group.Unified 템플릿이 필요합니다.

    $Template = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "62375ab9-6b52-47ed-826b-58e47e0e304b" -EQ
    
  3. 지정된 템플릿의 AllowToAddGuests 값을 설정합니다.

    $params = @{
       templateId = "62375ab9-6b52-47ed-826b-58e47e0e304b"
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "False"
          }
       )
    }
    
  4. 다음으로 New-MgBetaDirectorySetting cmdlet을 사용하여 새 설정 개체를 만듭니다.

    $Setting = New-MgBetaDirectorySetting -BodyParameter $params
    
  5. 다음 설정을 사용하여 값을 읽습니다.

    $Setting.Values
    

디렉터리 수준에서 설정 읽기

검색할 설정의 이름을 알고 있는 경우 아래 cmdlet을 사용하여 현재 설정 값을 검색할 수 있습니다. 이 예제에서는 "UsageGuidelinesUrl"이라는 설정의 값을 검색합니다.

(Get-MgBetaDirectorySetting).Values | where -Property Name -Value UsageGuidelinesUrl -EQ

다음 단계는 디렉터리 수준에서 설정을 읽는 것입니다. 이 설정은 디렉터리에 있는 모든 Office 그룹에 적용됩니다.

  1. 모든 기존 디렉터리 설정 읽기:

    Get-MgBetaDirectorySetting -All
    

    이 cmdlet은 모든 디렉터리 설정 목록을 반환합니다.

    Id                                   DisplayName   TemplateId                           Values
    --                                   -----------   ----------                           ------
    c391b57d-5783-4c53-9236-cefb5c6ef323 Group.Unified 62375ab9-6b52-47ed-826b-58e47e0e304b {class SettingValue {...
    
  2. 특정 그룹의 모든 설정 읽기:

    Get-MgBetaGroupSetting -GroupId "ab6a3887-776a-4db7-9da4-ea2b0d63c504"
    
  3. 설정 ID GUID를 사용하여 특정 디렉터리 설정 개체의 모든 디렉터리 설정 값을 읽습니다.

    (Get-MgBetaDirectorySetting -DirectorySettingId "c391b57d-5783-4c53-9236-cefb5c6ef323").values
    

    이 cmdlet은 이 특정 그룹에 대한 이 설정 개체의 이름과 값을 반환합니다.

    Name                          Value
    ----                          -----
    ClassificationDescriptions
    DefaultClassification
    PrefixSuffixNamingRequirement
    CustomBlockedWordsList        
    AllowGuestsToBeGroupOwner     False 
    AllowGuestsToAccessGroups     True
    GuestUsageGuidelinesUrl
    GroupCreationAllowedGroupId
    AllowToAddGuests              True
    UsageGuidelinesUrl            https://guideline.example.com
    ClassificationList
    EnableGroupCreation           True
    

디렉터리 수준에서 설정 제거

다음 단계는 디렉터리 수준에서 설정을 제거하는 것입니다. 이 설정은 디렉터리에 있는 모든 Office 그룹에 적용됩니다.

Remove-MgBetaDirectorySetting –DirectorySettingId "c391b57d-5783-4c53-9236-cefb5c6ef323c"

특정 그룹의 설정 만들기

  1. 설정 템플릿을 가져옵니다.

    Get-MgBetaDirectorySettingTemplate
    
  2. 결과에서 "Groups.Unified.Guest"라는 설정 템플릿을 찾습니다.

    Id                                   DisplayName            Description
    --                                   -----------            -----------
    62375ab9-6b52-47ed-826b-58e47e0e304b Group.Unified          ...
    08d542b9-071f-4e16-94b0-74abb372e3d9 Group.Unified.Guest    Settings for a specific Microsoft 365 group
    4bc7f740-180e-4586-adb6-38b2e9024e6b Application            ...
    898f1161-d651-43d1-805c-3b0b388a9fc2 Custom Policy Settings ...
    5cf42378-d67d-4f36-ba46-e8b86229381d Password Rule Settings ...
    
  3. Groups.Unified.Guest 템플릿에 대한 템플릿 개체를 검색합니다.

    $Template1 = Get-MgBetaDirectorySettingTemplate | where -Property Id -Value "08d542b9-071f-4e16-94b0-74abb372e3d9" -EQ
    
  4. 이 설정을 적용하려는 그룹의 ID를 가져옵니다.

    $GroupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
    
  5. 새 설정을 만듭니다.

    $params = @{
       templateId = "08d542b9-071f-4e16-94b0-74abb372e3d9"
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "False"
          }
       )
    }
    
  6. 그룹 설정을 만듭니다.

    New-MgBetaGroupSetting -GroupId $GroupId -BodyParameter $params
    
  7. 설정을 확인하려면 이 명령을 실행합니다.

    Get-MgBetaGroupSetting -GroupId $GroupId | FL Values
    

특정 그룹의 설정 업데이트

  1. 설정을 업데이트하려는 그룹의 ID를 가져옵니다.

    $groupId = (Get-MgGroup -Filter "DisplayName eq '<YourGroupName>'").Id
    
  2. 그룹의 설정을 검색합니다.

    $Setting = Get-MgBetaGroupSetting -GroupId $GroupId
    
  3. 필요에 따라 그룹의 설정을 업데이트합니다.

    $params = @{
       values = @(
          @{
             name = "AllowToAddGuests"
             value = "True"
          }
       )
    }
    
  4. 그런 다음, 이 설정에 대한 새 값을 설정할 수 있습니다.

    Update-MgBetaGroupSetting -DirectorySettingId $Setting.Id -GroupId $GroupId -BodyParameter $params
    
  5. 설정 값을 읽고 올바르게 업데이트되었는지 확인할 수 있습니다.

    Get-MgBetaGroupSetting -GroupId $GroupId  | FL Values
    

Cmdlet 구문 참조

Microsoft Entra Cmdlets에서 더 많은 Microsoft Graph PowerShell 설명서를 찾을 수 있습니다.

Microsoft Graph를 사용하여 그룹 설정 관리

Microsoft Graph를 사용하여 그룹 설정을 구성하고 관리하려면 리소스 종류 및 관련 메서드를 참조 groupSetting 하세요.

추가 자료