e61c99faa4ab664e5359e4b8bc065fcc68a2916e
Ansible role for joining AD with adcli
URL: https://xpk.headdesk.me/git/xpk/role.adcli.git
Note that ad_netbios_name will default to inventory hostname if not supplied. That said, hostname must be specified in the inventory file.
Writes adcli output to /var/log/adcli.log
Required variables:
- ad_domain
- ad_dc1
- ad_dc2
- ad_joinusr
- ad_joinpw
Optional variable:
- ad_sudoers_group
- ad_netbios_name (note this is a host variable, useful when hostname is longer than the netbios limit of 15 characters)
Sample playbook utilizing this role
Here variables are set in the inventory. One may prefer setting the in group_vars/ so they can be encrypted
- name: Join stupid AD
hosts: a-hostname-with-more-than-15-characters
become: yes
roles:
- role: adcli
vars:
- ad_domain: foo.local
- ad_dc1: 192.168.1.10
- ad_dc2: 192.168.1.11
- ad_joinusr: adjoin
- ad_joinpw: adjoin-password
- ad_sudoers_group: linuxadmins
Sample inventory
a-hostname-with-more-than-15-characters ansible_host=192.168.1.101 ad_netbios_name=shorterMe
Pre-checks
Check that the target machines have access to AD controller on these ports: 53, 88, 389, 445. e.g.
nmap -p53,88,389,445 <ad controller ip>
Adding this as a git submodule to your ansible home
git submodule add https://xpk.headdesk.me/git/xpk/role.adcli.git roles/adcli
git commit -S -m 'SUB: adcli submodule'
git push
Description