agregar automáticamente un grupo de dominio a la nueva instalación de Windows

agregar automáticamente un grupo de dominio a la nueva instalación de Windows

Me encontré con el siguiente catch22 en el script de instalación de mi estación de trabajo mientras intentaba agregar automáticamente un grupo de dominio a los administradores locales.
El problema que estoy experimentando es el siguiente:

  • Cuando uso el administrador local, tengo derechos para agregar usuarios a un grupo local, pero necesito proporcionar credenciales de dominio para conectarme al dominio.
  • Cuando uso un usuario de dominio, puedo conectarme al AD, pero el usuario que hace esto aún no es un administrador local, por lo que aún no puedo modificar los grupos locales.

Estoy en un entorno GMP, por lo que las reglas y regulaciones son ¡de verdad! estricto que limita otros caminos posibles.

  • Los roles están divididos, por lo que no tengo acceso al administrador del dominio.
  • No se permiten cambios en las unidades organizativas que podrían expulsar al grupo de la política de grupo.
  • No se permite el uso de PowerShell con scripts remotos

Esto es bastante fácil de solucionar manualmente al usar compmgmt.msc y proporcionar las credenciales necesarias cuando se me solicite... pero me gustaría evitar agregar pasos manuales y simplemente automatizar toda la instalación tanto como sea posible.

Algunos detalles:

  • El sistema operativo de la estación de trabajo es Windows 10.
  • El script que estoy usando es PowerShell
  • El script se ejecuta con una cuenta de administrador local con privilegios elevados.
  • La estación de trabajo ya está unida al dominio.
  • La cuenta utilizada para unir la estación de trabajo al dominio no es un administrador de dominio
  • Para tener derechos de administrador con mi cuenta de dominio, necesito agregar el grupo de nuestro departamento al grupo de administración local.

El código que uso para agregar un grupo al grupo de administración local es. $de = [ADSI]"WinNT://$Env:ComputerName/Administrators,group" $de.psbase.Invoke("Add",([ADSI]"WinNT://MyCompanyDomain/MyDepartmentGroup").path)
Este código funciona de maravilla cuando se ejecuta con una cuenta de dominio.yes un administrador local.

Dado que esto se utiliza para la instalación de una estación de trabajo nueva, puedo ejecutarlo como cuenta de dominio.oadministrador local.
Con el primero la $de.psbase.Invoke("Add",parte falla
Con el segundo ([ADSI]"WinNT://MyCompanyDomain/MyDepartmentGroup").pathfalla

Intenté usar start-processcmdlet con –verb runasopciones para obtener un contexto de seguridad diferente pero me encontré con el mismo problema que el anterior.

¿Hay alguna manera de que pueda

  • solo resolver ([ADSI]"WinNT://MyCompanyDomain/MyDepartmentGroup").pathen el contexto de seguridad de un usuario de dominio y pasarlo al resto de mi script que se ejecuta en el contexto de seguridad del administrador local (así es como lo hace compmgmt.msc)

o

  • construir el objeto [ADSI] a partir de datos codificados sin la necesidad de conectarse al dominio

o

  • Algo más deslumbrantemente obvio en lo que no había pensado

Respuesta1

Puede agregar un grupo de dominio a un grupo local a través del unattend.xmlarchivo, eliminando la necesidad de secuencias de comandos.

Edición de Unattend.xml a través del Administrador de imágenes del sistema (SIM)

Después de abrir tu unattend.xmltarjeta SIM, en la esquina inferior izquierda de la ventana, busca el nodo para Microsoft-Windows-Shell-Setup.(Nota:Debe utilizar el nodo correspondiente a la arquitectura de su imagen, es decir, amd64 para plataformas de 64 bits).Expanda el nodo Shell-Setup, luego UserAccounts, DomainAccountsy DomainAccountList. Haga clic derecho en el DomainAccountnodo y elija agregar la configuración para pasar 7 (oobeSystem).agregando el nodo DomainAccount para desatender

En el centro de la ventana SIM, debe configurar los nodos recién agregados. En el DomainAccountListnodo, ingrese el nombre de su dominio en el Domainvalor.

En el DomainAccountnodo, el Groupvalor debe establecerse en el nombre del grupo local que desea modificar, en este casoAdministradores. El Namevalor debe establecerse en el nombre del grupo de dominio que desea agregar al grupo local.

Edición manual de Unattend.xml (no recomendado)

También puedes editar el unattend.xmlarchivo manualmente, en tu editor de texto favorito. Localice el <settings>nodo para eloobeSistemaaprobar. Puede copiar el DomainAccountsnodo a continuación y colocarlo unattend.xmldespués del AdministratorPasswordnodo. Asegúrese de modificar los nodos Groupy Nameen el DomainAccountnodo, junto con el nombre de dominio especificado en el Domainnodo.

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

información relacionada