새 Windows 설치에 자동으로 도메인 그룹 추가

새 Windows 설치에 자동으로 도메인 그룹 추가

로컬 관리자에게 도메인 그룹을 자동으로 추가하려고 시도하는 동안 워크스테이션 설치 스크립트에서 다음 catch22를 발견했습니다.
내가 겪고 있는 문제는 다음과 같습니다.

  • 로컬 관리자를 사용하는 경우 로컬 그룹에 사용자를 추가할 수 있는 권한이 있지만 도메인에 연결하려면 도메인 자격 증명을 제공해야 합니다.
  • 도메인 사용자를 사용하면 AD에 연결할 수 있지만 이 작업을 수행하는 사용자는 아직 로컬 관리자가 아니므로 아직 로컬 그룹을 수정할 수 없습니다.

나는 GMP 환경에 있으므로 규칙과 규정은 정말! 다른 가능한 경로를 제한하는 엄격함.

  • 역할이 분할되어 도메인 관리자에 액세스할 수 없습니다.
  • 그룹 정책에서 그룹을 푸시할 수 있는 OU 변경은 허용되지 않습니다.
  • 원격 스크립트와 함께 PowerShell을 사용하는 것은 허용되지 않습니다.

compmgmt.msc를 사용할 때 수동으로 해결하고 요청 시 필요한 자격 증명을 제공하는 것은 상당히 쉽습니다. 하지만 수동 단계를 추가하지 않고 전체 설치를 최대한 자동화하고 싶습니다.

몇 가지 세부정보:

  • 워크스테이션의 OS는 Windows 10입니다.
  • 내가 사용하는 스크립트는 PowerShell입니다
  • 스크립트가 높은 권한을 가진 로컬 관리자 계정으로 실행 중입니다.
  • 워크스테이션이 이미 도메인에 가입되어 있습니다.
  • 워크스테이션을 도메인에 가입시키는 데 사용된 계정이 도메인 관리자가 아닙니다.
  • 내 도메인 계정에 대한 관리자 권한을 가지려면 우리 부서의 그룹을 로컬 관리자 그룹에 추가해야 합니다.

로컬 관리자 그룹에 그룹을 추가하는 데 사용하는 코드는 다음과 같습니다. $de = [ADSI]"WinNT://$Env:ComputerName/Administrators,group" $de.psbase.Invoke("Add",([ADSI]"WinNT://MyCompanyDomain/MyDepartmentGroup").path)
이 코드는 도메인 계정으로 실행할 때 매력처럼 작동합니다.그리고로컬 관리자입니다.

이것은 새로운 워크스테이션을 설치하는 데 사용되므로 도메인 계정으로 실행할 수 있습니다.또는로컬 관리자.
전자의 경우 $de.psbase.Invoke("Add",부분이 실패합니다.
후자의 경우 ([ADSI]"WinNT://MyCompanyDomain/MyDepartmentGroup").path실패합니다.

start-process다른 보안 컨텍스트를 얻기 위해 옵션 과 함께 cmdlet을 사용해 보았지만 –verb runas위와 같은 문제가 발생했습니다.

내가 할 수 있는 방법이 없을까?

  • 도메인 사용자의 보안 컨텍스트에서만 해결하고 ([ADSI]"WinNT://MyCompanyDomain/MyDepartmentGroup").path이를 로컬 관리자의 보안 컨텍스트에서 실행 중인 나머지 스크립트에 전달합니다(commgmt.msc가 수행하는 방식과 유사함).

또는

  • 도메인에 연결할 필요 없이 하드코딩된 데이터에서 [ADSI] 개체 구축

또는

  • 내가 생각하지 못한 또 다른 눈부시게 분명한 것

답변1

파일을 통해 도메인 그룹을 로컬 그룹에 추가할 수 있으므로 unattend.xml스크립팅이 필요하지 않습니다.

SIM(시스템 이미지 관리자)을 통해 Unattend.xml 편집

SIM을 연 후 unattend.xml창의 왼쪽 하단에서 에 대한 노드를 찾으세요 Microsoft-Windows-Shell-Setup.(메모:이미지 아키텍처에 해당하는 노드(예: 64비트 플랫폼의 경우 amd64)를 사용해야 합니다.Shell-Setup 노드를 확장한 다음 UserAccounts, DomainAccounts및 을 확장합니다 DomainAccountList. 노드 를 마우스 오른쪽 버튼으로 클릭 DomainAccount하고 7(oobeSystem)을 전달하는 설정을 추가하도록 선택합니다.무인에 DomainAccount 노드 추가

SIM 창 중앙에서 새로 추가된 노드를 구성해야 합니다. 노드 의 값 DomainAccountList에 도메인 이름을 입력합니다 Domain.

DomainAccount노드 에서 Group값은 수정하려는 로컬 그룹의 이름으로 설정되어야 합니다. 이 경우관리자. 값 Name은 로컬 그룹에 추가하려는 도메인 그룹의 이름으로 설정되어야 합니다.

Unattend.xml 수동 편집(권장하지 않음)

unattend.xml즐겨 사용하는 텍스트 편집기에서 파일을 수동으로 편집할 수도 있습니다 . <settings>해당 노드를 찾으세요 .oobe시스템통과하다. 아래 노드 를 복사하여 노드 뒤의 노드 DomainAccounts에 배치할 수 있습니다 . 노드 에 지정된 도메인 이름과 함께 노드 의 및 노드를 수정해야 합니다 .unattend.xmlAdministratorPasswordGroupNameDomainAccountDomain

  <settings pass="oobeSystem">
    <component name="Microsoft-Windows-Shell-Setup" ... >
      <UserAccounts>
        <AdministratorPassword>
          <Value>mylocaladminpassword</Value>
          <PlainText>true</PlainText>
        </AdministratorPassword>
        <DomainAccounts>
          <DomainAccountList wcm:action="add">
            <DomainAccount wcm:action="add">
              <Group>Administrators</Group>
              <Name>Name-Of-Domain-Group-To-Add</Name>
            </DomainAccount>
            <Domain>DOMAIN_NAME_HERE</Domain>
          </DomainAccountList>
        </DomainAccounts>

관련 정보