
Я использую эту команду для добавления Linux-боксов в Active Directory:
net ads join -U username%password
Мне нужно сделать эту команду идемпотентной, отметив флажок Linux, который уже существует в домене. Справка по командной строке бесполезна.
Интересно, есть ли что-то вроде:
net ads search computer-name
Я использую Samba 3.
решение1
Использовать net ads testjoin
:
# net ads testjoin -k
Join is OK
→ Этот ящик присоединен. Теперь удалите его из домена и testjoin
вернет -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
решение2
Вы можете использовать net ads dn 'queryhere'
для поиска компьютерного объекта.
Например, я могу использовать следующее, чтобы найти сервер Linux «Nagios» в организационной единице «Servers» моего домена:
net ads dn 'CN=nagios,OU=Servers,DC=my,DC=domain,DC=com' cn -S DC_NAME -P -l
Переключатель -P
заставляет его использовать учетную запись компьютера для поиска (чтобы это работало, компьютер должен быть присоединен к домену) и -l
дает более подробную информацию. Если это не удается, using -d 10
покажет вам, почему.