
Estou usando este comando para adicionar caixas Linux ao Active Directory:
net ads join -U username%password
Tenho que tornar este comando idempotente marcando se a caixa Linux já existe no domínio. A ajuda da linha de comando não é útil.
Eu me pergunto se existe algo como:
net ads search computer-name
Estou usando o Samba3
Responder1
Usar net ads testjoin
:
# net ads testjoin -k
Join is OK
→ Esta caixa está unida. Agora remova-o do domínio e testjoin
retorne -1:
# net ads leave -k
Deleted account for 'DEADBEEF' in realm 'EXAMPLE.COM'
# net ads testjoin -k
Join to domain is not valid: NT code 0xfffffff6
# echo $?
255
Responder2
Você pode usar net ads dn 'queryhere'
para procurar um objeto de computador.
Por exemplo, posso usar o seguinte para localizar o servidor Linux "Nagios" na unidade organizacional "Servidores" do meu domínio:
net ads dn 'CN=nagios,OU=Servers,DC=my,DC=domain,DC=com' cn -S DC_NAME -P -l
A -P
opção faz com que ele use a conta do computador para fazer uma pesquisa (o computador deve estar associado a um domínio para que isso funcione) e -l
fornece informações mais detalhadas. Se falhar, o uso -d 10
mostrará o porquê.