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