650 |
650 |
exit 1
|
651 |
651 |
fi
|
652 |
652 |
|
653 |
|
# ceci est un contournement. dans certain cas, la création de l'entrée DNS n'est pas correctement faite
|
654 |
|
# après la jonction au domaine AD.
|
655 |
|
# il faut tester la présence, et si elle manque ajouter l'entrée.
|
656 |
|
# https://dev-eole.ac-dijon.fr/issues/28675
|
657 |
|
if dig "${AD_HOST_NAME}.${AD_REALM}" | grep "${AD_HOST_IP}"
|
658 |
|
then
|
659 |
|
echo "${AD_HOST_NAME} : Déjà inscrit!"
|
660 |
|
else
|
661 |
|
echo "${AD_HOST_NAME} : à créer"
|
662 |
|
# je n'ai pas le nom du DC1, j'utilise le nom par défault avec la résolution du domaine (!), comme 1er param
|
663 |
|
samba-tool dns add "${AD_REALM}" "${AD_REALM}" "${AD_HOST_NAME}" A "${AD_HOST_IP}" -U"${AD_DELEGATION}%${AD_DELEGATION_PASSWORD}"
|
664 |
|
fi
|
665 |
|
|
666 |
653 |
local IP_SERVER
|
667 |
654 |
IP_SERVER=$(host "${AD_REALM}" | cut -d" " -f4)
|
668 |
655 |
if ! net ads join -U"${AD_DELEGATION}%${AD_DELEGATION_PASSWORD}" -I "${IP_SERVER}"
|
... | ... | |
670 |
657 |
EchoRouge "Impossible de joindre le domaine."
|
671 |
658 |
exit 1
|
672 |
659 |
fi
|
673 |
|
|
674 |
|
# ceci est la suite du contournement.
|
675 |
|
# il faut tester la présence, et si elle manque ajouter l'entrée.
|
676 |
|
# en général dans les 20 secondes, le dns répond correctement !
|
677 |
|
# https://dev-eole.ac-dijon.fr/issues/28675
|
678 |
660 |
local entreeDnsTrouvee=0
|
679 |
|
for i in {1..10}
|
|
661 |
dns=( $(host "${AD_REALM}" | cut -d" " -f4) )
|
|
662 |
for serveur in "${dns[@]}"
|
680 |
663 |
do
|
681 |
|
if dig "${AD_HOST_NAME}.${AD_REALM}" | grep "${AD_HOST_IP}"
|
|
664 |
if host $AD_HOST_NAME.$AD_REALM ${serveur} | grep $AD_HOST_IP
|
682 |
665 |
then
|
683 |
|
echo "Entrée DNS présente, Ok"
|
684 |
666 |
entreeDnsTrouvee=1
|
685 |
|
break
|
686 |
|
else
|
687 |
|
echo "Entrée DNS manquante, essai ${i} ..."
|
688 |
|
if ! samba-tool dns add "${AD_REALM}" "${AD_REALM}" "${AD_HOST_NAME}" A "${AD_HOST_IP}" -U"${AD_DELEGATION}%${AD_DELEGATION_PASSWORD}"
|
689 |
|
then
|
690 |
|
echo "Impossible d'inscrire l'entrée DNS"
|
691 |
|
else
|
692 |
|
echo "Entrée DNS inscrite"
|
693 |
|
fi
|
694 |
667 |
fi
|
695 |
|
sleep 5
|
696 |
668 |
done
|
|
669 |
|
|
670 |
if [ "$entreeDnsTrouvee" -eq 0 ]; then
|
|
671 |
net ads dns register "${AD_HOST_NAME}.${AD_REALM}" -U"${AD_DELEGATION}%${AD_DELEGATION_PASSWORD}"
|
|
672 |
for serveur in "${dns[@]}"
|
|
673 |
do
|
|
674 |
if host $AD_HOST_NAME.$AD_REALM ${serveur} | grep $AD_HOST_IP
|
|
675 |
then
|
|
676 |
entreeDnsTrouvee=1
|
|
677 |
fi
|
|
678 |
done
|
|
679 |
fi
|
697 |
680 |
if [ $entreeDnsTrouvee -eq 0 ]
|
698 |
681 |
then
|
699 |
682 |
EchoRouge "L'entrée DNS de la machine n'est pas inscrite."
|