adicionar automaticamente o grupo de domínio à nova instalação do Windows

adicionar automaticamente o grupo de domínio à nova instalação do Windows

Encontrei o seguinte catch22 no script de instalação da minha estação de trabalho ao tentar adicionar automaticamente um grupo de domínio aos administradores locais.
O problema que estou enfrentando é o seguinte:

  • Quando uso o administrador local, tenho direitos para adicionar usuários a um grupo local, mas preciso fornecer credenciais de domínio para conectar-me ao domínio
  • Quando estou usando um usuário de domínio, posso me conectar ao AD, mas o usuário que faz isso ainda não é um administrador local, portanto ainda não posso modificar grupos locais.

Estou em um ambiente GMP, então as regras e regulamentos são! estrito que limita outros caminhos possíveis.

  • As funções são divididas, portanto não tenho acesso ao administrador do domínio.
  • Nenhuma alteração é permitida nas UOs que possam expulsar o grupo da Política de Grupo
  • Não é permitido usar o PowerShell com scripts remotos

Isso é bastante fácil de contornar manualmente ao usar compmgmt.msc e fornecer as credenciais necessárias quando solicitado... mas gostaria de evitar adicionar etapas manuais e apenas automatizar toda a instalação tanto quanto possível.

Alguns detalhes:

  • O sistema operacional da estação de trabalho é o Windows 10
  • O script que estou usando é o PowerShell
  • O script está sendo executado com uma conta de administrador local com privilégios elevados
  • A estação de trabalho já está associada ao domínio
  • A conta usada para associar a estação de trabalho ao domínio não é um administrador de domínio
  • Para ter direitos de administrador na minha conta de domínio, preciso adicionar o grupo do nosso departamento ao grupo de administração local

O código que uso para adicionar um grupo ao grupo de administração local é $de = [ADSI]"WinNT://$Env:ComputerName/Administrators,group" $de.psbase.Invoke("Add",([ADSI]"WinNT://MyCompanyDomain/MyDepartmentGroup").path)
Este código funciona perfeitamente quando executado com uma conta de domínioeé um administrador local.

Como isso é usado para instalação de uma nova estação de trabalho, posso executá-lo como conta de domínioouadministrador local.
Com o primeiro a $de.psbase.Invoke("Add",parte falha
Com o último a ([ADSI]"WinNT://MyCompanyDomain/MyDepartmentGroup").pathfalha

Tentei usar start-processo cmdlet com –verb runasopções para obter um contexto de segurança diferente, mas encontrei o mesmo problema acima.

Existe alguma maneira que eu possa

  • resolva apenas ([ADSI]"WinNT://MyCompanyDomain/MyDepartmentGroup").pathno contexto de segurança de um usuário de domínio e passe isso para o resto do meu script em execução no contexto de segurança do administrador local (é assim que compmgmt.msc faz isso)

ou

  • construir o objeto [ADSI] a partir de dados codificados sem a necessidade de se conectar ao domínio

ou

  • outra coisa incrivelmente óbvia em que não pensei

Responder1

Você pode adicionar um grupo de domínio a um grupo local por meio do unattend.xmlarquivo, eliminando a necessidade de qualquer script.

Editando Unattend.xml por meio do System Image Manager (SIM)

Depois de abrir o seu unattend.xmlSIM, no canto inferior esquerdo da janela, encontre o nó para Microsoft-Windows-Shell-Setup.(Observação:Você deve usar o nó correspondente à arquitetura da sua imagem, ou seja, amd64 para plataformas de 64 bits.)Expanda o nó Shell-Setup e, em seguida UserAccounts, DomainAccounts, e DomainAccountList. Clique com o botão direito no DomainAccountnó e escolha adicionar a configuração para a passagem 7 (oobeSystem).adicionando nó DomainAccount para autônomo

No centro da janela do SIM, você precisa configurar os nós recém-adicionados. No DomainAccountListnó, insira o nome do seu domínio no Domainvalor.

No DomainAccountnó, o Groupvalor deve ser definido como o nome do grupo local que você deseja modificar, neste casoAdministradores. O Namevalor deve ser definido como o nome do grupo de domínio que você deseja adicionar ao grupo local.

Editando Unattend.xml manualmente (não recomendado)

Você também pode editar o unattend.xmlarquivo manualmente, em seu editor de texto favorito. Localize o <settings>nó dooobeSystempassar. Você pode copiar o DomainAccountsnó abaixo e colocá-lo unattend.xmlapós o AdministratorPasswordnó. Certifique-se de modificar os nós Groupe Nameno DomainAccountnó, juntamente com o nome de domínio especificado no Domainnó.

  <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>

informação relacionada