Modificando arquivo de imagem customizada do Windows com o DISM

Montando e checando integridade:
C:\Windows\system32\Dism.exe /Mount-Image /ImageFile:{caminho do arquivo de imagem .wim} /index:{índice da imagem a ser modificada} /CheckIntegrity /MountDir:{caminho do diretório para montagem da imagem}

Definindo identificação de edição e chave do produto:
C:\Windows\system32\Dism.exe /Image:{caminho do diretório de montagem da imagem} /Set-Edition:ServerStandardEval /Set-ProductKey:XC9B7-NBPP2-83J2H-RHMBY-92BT4

Desmontando e salvando alterações:
C:\Windows\system32\Dism.exe /Unmount-Image /MountDir:{caminho do diretório de montagem da imagem} /commit

Autologin em Host de Sessão de Área de Trabalho Remota Microsoft a partir de terminal LTSP

No LTSP (Linux Terminal Server Project), uma das formas de configurar o início automático de sessão no serviço de terminal da Microsoft a partir dos terminais leves usando o cliente xfreerdp v1.0.2 é associar o endereço MAC dos terminais LTSP a contas de usuário existentes na base de dados de autenticação utilizada pelo serviço de terminal alvo do acesso remoto. Esta associação deve ser declarada no arquivo de configuração /var/lib/tftpboot/ltsp/i386/lts.conf, conforme exemplo a seguir.

[rdp]
#End IP do servidor de área de trabalho remota da Microsoft
RDP_SERVER="x.y.z.w"

#MAC XX:XX:XX:XX:XX:XX associado à conta user1
[XX:XX:XX:XX:XX:XX]
LIKE=rdp
RDP_OPTIONS="-f --disable-full-window-drag --disable-theming --disable-wallpaper --disable-menu-animations --no-auth --no-nla --ignore-certificate -u 'domain\user1' -p 'asdf' --plugin rdpsnd --data alsa -- --plugin drdynvc --data tsmf audin -- --plugin rdpdr --data disk:usbdisk:/media/usb -- "

O script shell a seguir realiza a associação de uma lista de endereços MAC (arquivo contendo um MAC por linha recebido como argumento no terminal) a contas de usuário existentes na base de dados de autenticação utilizada pelo serviço de terminal alvo do acesso remoto.

#!/bin/bash
USERSEQ=0
PREFIXO="lab2"
while IFS='' read -r line || [[ -n "$line" ]]; do
    USERSEQ=$(expr $USERSEQ + 1)
    echo "[$line]"
    echo "LIKE=rdp"
    if [ "$USERSEQ" -lt 10 ]
    then
        echo "RDP_OPTIONS=\"-f --disable-full-window-drag --disable-theming --disable-wallpaper --disable-menu-animations --no-auth --no-nla --ignore-certificate -u 'dominio\\$PREFIXO"0"$USERSEQ' -p 'asdfg' --plugin rdpsnd --data alsa -- --plugin drdynvc --data tsmf audin -- --plugin rdpdr --data disk:usbdisk:/media/usb -- \""
    else
        echo "RDP_OPTIONS=\"-f --disable-full-window-drag --disable-theming --disable-wallpaper --disable-menu-animations --no-auth --no-nla --ignore-certificate -u 'dominio\\$PREFIXO$USERSEQ' -p 'asdfg' --plugin rdpsnd --data alsa -- --plugin drdynvc --data tsmf audin -- --plugin rdpdr --data disk:usbdisk:/media/usb -- \""
    fi
    echo " "
done < "$1"

A saída do script acima deve ser inserida no arquivo de configuração /var/lib/tftpboot/ltsp/i386/lts.conf para autorizar o início automático de sessão.

#Saída do script para arquivo de entrada contendo 44 endereços MAC:
[18:A9:05:34:75:F9]
LIKE=rdp
RDP_OPTIONS="-f --disable-full-window-drag --disable-theming --disable-wallpaper --disable-menu-animations --no-auth --no-nla --ignore-certificate -u 'dominio\lab201' -p 'asdfg' --plugin rdpsnd --data alsa -- --plugin drdynvc --data tsmf audin -- --plugin rdpdr --data disk:usbdisk:/media/usb -- "
...
..
.
[D8:D3:85:6D:C5:FA]
LIKE=rdp
RDP_OPTIONS="-f --disable-full-window-drag --disable-theming --disable-wallpaper --disable-menu-animations --no-auth --no-nla --ignore-certificate -u 'dominio\lab244' -p 'asdfg' --plugin rdpsnd --data alsa -- --plugin drdynvc --data tsmf audin -- --plugin rdpdr --data disk:usbdisk:/media/usb -- "


Criando contas de usuário em massa no samba 4

Recentemente precisei criar 185 contas de usuário no Samba 4 (com o papel de Active Directory Domain Controller) e percebi que não seria muito prático realizar esta tarefa utilizando o RSAT (Remote Server Administration Tools) a partir da minha estação de trabalho Windows, pois teria que repetir o procedimento de criação de usuário diversas vezes a partir do ambiente gráfico utilizando o snap-in Usuários e Computadores do Active Directory.

O script shell a seguir acelerou o processo de criação das contas de usuário.

#!/bin/bash

#Sequencial utilizado na designação de cada conta
USERSEQ=0

#Identificação da sala/laboratório
PREFIXO=lab2

#Quantidade de contas a serem criadas
NUMTERMINAIS=46
while [ $USERSEQ -lt $NUMTERMINAIS ]
do
    USERSEQ=$(expr $USERSEQ + 1)
    if [ "$USERSEQ" -lt 10 ]
    then
        USER=$PREFIXO"0"$USERSEQ
        samba-tool user add $USER asdfg
    else
        USER=$PREFIXO"$USERSEQ"
        samba-tool user add $USER asdfg
    fi
    echo " "
done

Como resultado da execução do script, serão criadas 46 contas de usuário, todas com a senha asdfg, sendo a primeira lab201 e a última lab246.