"Después del juego es antes del juego"
Sepp Herberger

lunes, 15 de junio de 2015

Creación masiva de usuarios locales en Windows mediante WPKG.


Crear usuarios locales simultáneamente en muchas maquinas con Linux está tirado con puppet y su recurso "user". En Windows hacer eso no es tan sencillo, ya que o tenemos un Windows Server o usamos WPKG para evitar ir PC por PC creando el usuario.

Vamos a ver como hacerlo usando WPKG. Crearemos un usuario llamado oposicion perteneciente al grupo de administradores sobre todas las máquinas que pertenezcan a un perfil.

Lo primero es el package usuarios.xml, que guardaremos en el directorio de packages:


<?xml version="1.0" encoding="UTF-8"?>
<packages>

<package id="usuario_oposicion"
   name="Creacion usuario oposicion"
   revision="1"
   reboot="false"
   priority="1"
   execute="once">

   <install cmd="%comspec% /C net user /add oposicion passwordoposicion" />
   <remove  cmd="%comspec% /C net user /del oposicion" />

</package>

<package id="usuario_oposicion_admin"
   name="Inclusiónn usuario oposicion en administradores maquiina"
   revision="1"
   reboot="false"
   priority="1"
   execute="once">

   <depends package-id="usuario_oposicion" />
   <install cmd="%comspec% /C net localgroup Administradores oposicion /add" />

</package>


</packages>

Como se puede ver, hacemos uso de los comandos "net user" y "net localgroup" de Windows, una herencia de MS-DOS que permite manejar usuarios y grupos desde el cmd.exe. El depends es importante ya que establece precedencia en la ejecución de los paquetes.

Nótese que no hace falta regla remove en el paquete usuario_oposicion_admin ya que borrar el usuario de la máquina supone borrarlo en cascada de los localgroup a los que pertenece.

Ahora asociamos los paquetes al perfil nuevo, añadiendo en profiles.xml el nuevo perfil usuario_oposicion:


<profile id="usuario_oposicion">
   <variable name="SOFTWARE" value="\\wpkgserver\wpkg\files"/>
   <package package-id="usuario_oposicion" />
   <package package-id="usuario_oposicion_admin" />
</profile>

Por último, definimos en hosts.xml que máquinas están asociadas al perfil creado en el paso anterior:


<host name="a23-.+" profile-id="default">
   <profile id="prevencion" />
   <profile id="usuario_oposicion"/>
</host>

En este caso se aplica a todos los hosts cuyo nombre de máquina empiece por "a23-". Y con esto ya está, con que enciendan las máquinas y esperen unos minutos el usuario en cuestión estará creado mientras que nosotros hacemos cosas mas interesantes que crear usuarios uno a uno. Recordemos que el Eclesiastés dice eres mejor sysadmin cuanto mas tiempo dedicas a hacer cosas para no trabajar.

No hay comentarios:

Publicar un comentario