다음을 통해 공유


정책 CSP - LocalUsersAndGroups

구성

범위 에디션 적용 가능한 OS
✅ 장치
❌ 사용자
✅ 프로
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise/IoT Enterprise LTSC
✅ Windows 10 버전 20H2 [10.0.19042] 이상
./Device/Vendor/MSFT/Policy/Config/LocalUsersAndGroups/Configure

이 설정을 사용하면 관리자가 디바이스에서 로컬 그룹을 관리할 수 있습니다. 가능한 설정:

  1. 그룹 멤버 자격 업데이트: 'U' 작업을 통해 그룹을 업데이트하고 구성원을 추가 및/또는 제거합니다. Update를 사용하는 경우 정책에 지정되지 않은 기존 그룹 멤버는 그대로 유지됩니다.
  2. 그룹 멤버 자격 바꾸기: 'R' 작업을 통해 그룹 멤버 자격을 대체하여 그룹을 제한합니다. Replace를 사용하는 경우 기존 그룹 멤버 자격은 멤버 추가 섹션에 지정된 멤버 목록으로 바뀝니다. 이 옵션은 제한된 그룹과 동일한 방식으로 작동하며 정책에 지정되지 않은 모든 그룹 구성원이 제거됩니다.

주의

동일한 그룹이 Replace 및 Update로 구성된 경우 Replace가 승리합니다.

참고

RestrictedGroups/ConfigureGroupMembership 정책 설정을 사용하면 구성원(사용자 또는 Microsoft Entra 그룹)을 Windows 10 로컬 그룹으로 구성할 수도 있습니다. 그러나 기존 그룹을 새 멤버로 완전히 바꿀 수만 있으며 선택적 추가 또는 제거를 허용하지 않습니다.

Windows 10 버전 20H2부터는 RestrictedGroups 정책 대신 LocalUsersAndGroups 정책을 사용하는 것이 좋습니다. 두 정책을 동일한 디바이스에 적용하는 것은 지원되지 않으며 예측할 수 없는 결과를 가져올 수 있습니다.

설명 프레임워크 속성:

속성 이름 속성 값
형식 chr (문자열)
액세스 유형 추가, 삭제, 가져오기, 바꾸기

허용되는 값:


스키마 XML을 보려면 확장
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
  <xs:simpleType name="name">
    <xs:restriction base="xs:string">
      <xs:maxLength value="255" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="accessgroup">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="group" minOccurs="1" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>Group Configuration Action</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:attribute name="action" type="name" use="required" />
          </xs:complexType>
        </xs:element>
        <xs:element name="add" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Group Member to Add</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:attribute name="member" type="name" use="required" />
          </xs:complexType>
        </xs:element>
        <xs:element name="remove" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Group Member to Remove</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:attribute name="member" type="name" use="required" />
          </xs:complexType>
        </xs:element>
        <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Group property to configure</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:attribute name="desc" type="name" use="required" />
            <xs:attribute name="value" type="name" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="desc" type="name" use="required" />
    </xs:complexType>
  </xs:element>
  <xs:element name="GroupConfiguration">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="accessgroup" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Local Group Configuration</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

:

다음은 그룹 구성에 대한 정책 정의 XML의 예입니다.

<GroupConfiguration>
    <accessgroup desc = "">
        <group action = ""/>
            <add member = ""/>
            <remove member = ""/>
    </accessgroup>
</GroupConfiguration>

각 항목은 다음을 의미합니다.

  • <accessgroup desc>: 구성할 로컬 그룹의 이름 또는 SID를 지정합니다. SID를 지정하는 경우 LookupAccountSid API를 사용하여 SID를 유효한 그룹 이름으로 변환합니다. 이름을 지정하는 경우 LookupAccountName API를 사용하여 그룹을 조회하고 이름의 유효성을 검사합니다. 이름/SID 조회가 실패하면 그룹을 건너뛰고 XML 파일의 다음 그룹이 처리됩니다. 여러 오류가 있는 경우 정책 처리가 끝날 때 마지막 오류가 반환됩니다.

  • <group action>: 사용자와 R이 나타내는 업데이트 및 제한일 수 있는 로컬 그룹에 대해 수행할 작업을 지정합니다.

    • 업데이트. 이 작업은 현재 그룹 멤버 자격을 그대로 유지하고 특정 그룹의 멤버를 추가하거나 제거하는 데 사용해야 합니다.
    • 제한하다. 이 작업은 현재 멤버 자격을 새로 지정된 그룹으로 바꾸는 데 사용해야 합니다. 이 작업은 RestrictedGroups/ConfigureGroupMembership 정책 설정과 동일한 기능을 제공합니다.
  • <add member>: 구성할 멤버의 SID 또는 이름을 지정합니다.

  • <remove member>: 지정된 그룹에서 제거할 멤버의 SID 또는 이름을 지정합니다.

    참고

    사용자 계정의 멤버 이름을 지정할 때 AzureAD\userUPN 형식을 사용해야 합니다. 예를 들어 "AzureAD\user1@contoso.com" 또는 "AzureAD\user2@contoso.co.uk"입니다. Microsoft Entra 그룹을 추가하려면 Microsoft Entra 그룹 SID를 지정해야 합니다. Microsoft Entra 그룹 이름은 이 정책에서 지원되지 않습니다. 자세한 내용은 LookupAccountNameA 함수를 참조하세요.

사용자 지정 프로필을 만드는 방법에 대한 자세한 내용은 Intune에서 Windows 10 디바이스 에 대한 사용자 지정 설정 사용을 참조하세요.

중요

  • <add member><remove member> 는 Microsoft Entra SID 또는 사용자의 이름을 사용할 수 있습니다. 이 정책을 사용하여 Microsoft Entra 그룹을 추가하거나 제거하려면 그룹의 SID를 사용해야 합니다. Microsoft Entra 그룹 SID는 그룹용 Graph API를 사용하여 가져올 수 있습니다. SID는 특성에 securityIdentifier 있습니다.
  • 또는 <remove member>에서 <add member> SID를 지정하면 멤버 SID를 확인하려고 시도하지 않고 추가됩니다. 따라서 올바른지 확인하기 위해 SID를 지정할 때는 매우 주의해야 합니다.
  • <remove member> 는 R(제한) 작업에 유효하지 않으며 있는 경우 무시됩니다.
  • XML의 목록은 R 작업을 제외하고 지정된 순서로 처리되며, 이 작업은 마지막으로 처리되어 이길 수 있습니다. 또한 그룹이 다른 추가/제거 값으로 여러 번 있는 경우 모든 그룹이 있는 순서대로 처리됩니다.

예제 1: Microsoft Entra ID에 초점을 맞췄습니다.

다음 예제에서는 기본 제공 관리자 그룹을 MICROSOFT Entra 계정 "bob@contoso.com"으로 SID S-1-5-21-222222222222-33333333-44444444444-500으로 업데이트합니다. Microsoft Entra 조인 컴퓨터에서 SID S-1-12-1-1111111111-22222222222222-333333333-4444444444를 사용하는 Microsoft Entra 그룹입니다.

<GroupConfiguration>
    <accessgroup desc = "S-1-5-21-2222222222-3333333333-4444444444-500">
        <group action = "U" />
        <add member = "AzureAD\bob@contoso.com"/>
        <add member = "S-1-12-1-111111111-22222222222-3333333333-4444444444"/>
    </accessgroup>
</GroupConfiguration>

예제 2: 기본 제공 관리자 그룹을 Microsoft Entra 사용자 계정으로 바꾸기/제한합니다.

참고

'R' 바꾸기 옵션을 사용하여 SID S-1-5-21-22222222222222222-3333333-4444444444-500 으로 기본 제공 Administrators 그룹을 구성하는 경우 항상 관리자를 멤버와 다른 사용자 지정 멤버로 지정해야 합니다. 이는 기본 제공 관리자가 항상 관리자 그룹의 구성원이어야 하기 때문에 필요합니다.

<GroupConfiguration>
    <accessgroup desc = "S-1-5-21-2222222222-3333333333-4444444444-500">
        <group action = "R" />
        <add member = "AzureAD\bob@contoso.com"/>
        <add member = "Administrator"/>
    </accessgroup>
</GroupConfiguration>

예제 3: 하이브리드 조인된 컴퓨터에서 그룹 멤버를 추가하고 제거하기 위한 작업을 업데이트합니다.

다음 예제에서는 로컬 그룹(SIDS-1-5-21-222222222222-3333333-4444444444-500)을 사용하여 AD 도메인 그룹을 멤버로 추가하는 방법을 보여 줍니다(Contoso\IT).Admins) SID(S-1-12-1-111111111-2222222222222-333333333-444444444444)로 Microsoft Entra 그룹을 추가하고 있는 경우 로컬 계정(게스트)을 제거합니다.

<GroupConfiguration>
    <accessgroup desc = "S-1-5-21-2222222222-3333333333-4444444444-500">
        <group action = "U" />
        <add member = "Contoso\ITAdmins"/>
        <add member = "S-1-12-1-111111111-22222222222-3333333333-4444444444"/>
        <remove member = "Guest"/>
    </accessgroup>
</GroupConfiguration>

참고

Microsoft Entra 그룹 SID가 로컬 그룹에 추가되면 Microsoft Entra 계정 로그온 권한은 Windows 10 디바이스에서 다음과 같은 잘 알려진 그룹에 대해서만 평가됩니다.

  • 관리자
  • 사용자
  • 게스트
  • Power Users
  • 원격 데스크톱 사용자
  • 원격 관리 사용자

FAQ

이 섹션에서는 LocalUsersAndGroups 정책 CSP에 대한 몇 가지 일반적인 질문에 대한 답변을 제공합니다.

관리자 그룹에서 기본 제공 관리자 SID를 실수로 제거하면 어떻게 되나요?

기본 제공 관리자 그룹에서 기본 제공 관리자 계정을 제거하는 것은 보안상의 이유로 SAM/OS 수준에서 차단됩니다. 이렇게 하면 다음 오류가 발생합니다.

오류 코드 기호 이름 오류 설명 헤더
0x55b(16진수)
1371년(12월)
ERROR_SPECIAL_ACCOUNT 기본 제공 계정에서 이 작업을 수행할 수 없습니다. winerror.h

R(제한) 작업을 사용하여 기본 제공 Administrators 그룹을 구성할 때 이 오류를 방지하려면 에서 기본 제공 관리자 계정 SID/이름을 <add member> 지정합니다.

이미 있는 멤버를 추가할 수 있나요?

예, 이미 그룹의 구성원인 멤버를 추가할 수 있습니다. 이렇게 하면 그룹이 변경되지 않고 오류가 발생하지 않습니다.

그룹의 구성원이 아닌 경우 멤버를 제거할 수 있나요?

예, 그룹의 구성원이 아니더라도 멤버를 제거할 수 있습니다. 이렇게 하면 그룹이 변경되지 않고 오류가 발생하지 않습니다.

도메인 그룹을 로컬 그룹에 구성원으로 추가하려면 어떻게 해야 하나요?

도메인 그룹을 로컬 그룹에 구성원으로 추가하려면 로컬 그룹의 에서 <add member> 도메인 그룹을 지정합니다. 최상의 결과를 위해 격리된 이름(예: group_name) 대신 정규화된 계정 이름(예: domain_name\group_name)을 사용합니다. 자세한 내용은 LookupAccountNameA 함수 를 참조하세요.

동일한 디바이스에 둘 이상의 LocalUserAndGroups 정책/XML을 적용할 수 있나요?

아니요, 허용되지 않습니다. 이렇게 하면 Intune에서 충돌이 발생합니다.

존재하지 않는 그룹 이름을 지정하면 어떻게 되나요?

잘못된 그룹 이름 또는 SID를 건너뜁니다. 정책의 유효한 부분이 적용되고 처리가 끝나면 오류가 반환됩니다. 이 동작은 온-프레미스 AD GPP(그룹 정책 기본 설정) LocalUsersAndGroups 정책과 일치합니다. 마찬가지로 잘못된 멤버 이름을 건너뛰고 모든 설정이 성공적으로 적용되지 않았다는 것을 알리기 위해 마지막에 오류가 반환됩니다.

동일한 XML에 R 및 U를 지정하면 어떻게 되나요?

동일한 XML에서 R과 U를 모두 지정하면 R(제한) 작업이 U(업데이트)보다 우선합니다. 따라서 그룹이 XML에 두 번 표시되는 경우, 한 번은 사용자와 함께 한 번, R에서는 R 작업이 우선합니다.

클라이언트 디바이스에 적용되는 정책의 결과를 확인하려면 어떻게 해야 하나요?

클라이언트 디바이스에 정책이 적용된 후 이벤트 로그를 조사하여 결과를 검토할 수 있습니다.

  1. 이벤트 뷰어(eventvwr.exe)를 엽니다.
  2. 애플리케이션 및 서비스 로그>Microsoft>Windows>DeviceManagement-Enterprise-Diagnostics-Provider>Admin으로 이동합니다.
  3. 문자열을 LocalUsersAndGroups 검색하여 관련 세부 정보를 검토합니다.

이름/SID 조회 API 문제를 해결하려면 어떻게 해야 하나요?

이름/SID 조회 API 문제를 해결하려면 다음을 수행합니다.

  1. 다음 명령을 실행하여 클라이언트 디바이스에서 lsp.log 사용하도록 설정합니다.

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgInfoLevel -Value 0x800 -Type dword -Force
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgTraceOptions -Value 0x1 -Type dword -Force
    

    lsp.log 파일(C:\windows\debug\lsp.log)이 표시됩니다. 이 로그 파일은 SID-Name 확인을 추적합니다.

  2. 다음 명령을 실행하여 로깅을 끕니다.

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgInfoLevel -Value 0x0 -Type dword -Force
    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgTraceOptions -Value 0x0 -Type dword -Force
    

정책 구성 서비스 공급자