This log is too long to show here, 73 KB has been skipped — click to see the complete log
Exécution des scripts pretemplate
10:34:46 --------------------------------------------------------------------------------
10:34:46 run-parts: executing /usr/share/eole/pretemplate/00-letsencrypt reconfigure
10:34:46 run-parts: executing /usr/share/eole/pretemplate/00-network reconfigure
10:34:46 run-parts: executing /usr/share/eole/pretemplate/00-partitioning reconfigure
10:34:46 run-parts: executing /usr/share/eole/pretemplate/00-resolvconf reconfigure
10:34:46 run-parts: executing /usr/share/eole/pretemplate/00-reverseproxy reconfigure
10:34:46 run-parts: executing /usr/share/eole/pretemplate/00-saltstack reconfigure
10:34:46 run-parts: executing /usr/share/eole/pretemplate/00-timezone reconfigure
10:34:46 run-parts: executing /usr/share/eole/pretemplate/01-fix-home-fstab reconfigure
10:34:46 run-parts: executing /usr/share/eole/pretemplate/01-uucp reconfigure
10:34:46 usermod : aucun changement
10:34:46 run-parts: executing /usr/share/eole/pretemplate/30-eole-workstation-manager reconfigure
10:34:51 run-parts: executing /usr/share/eole/pretemplate/50-ad_certificates reconfigure
10:34:51 --------------------------------------------------------------------------------
10:34:51 Redémarrage du réseau
10:34:51 --------------------------------------------------------------------------------
10:34:51 Purge de toutes les interfaces...
10:34:51 Désactivation de l’interface 'enp4s0'...OK
10:34:51 Purge des adresses IP de l’interface 'enp4s0'...OK
10:34:56 Restart Systemd service systemd-networkd [ OK ]
10:34:56 enp4s0 configured routable
10:34:56 --------------------------------------------------------------------------------
10:34:56 Génération des fichiers de configuration.
10:34:56 --------------------------------------------------------------------------------
10:34:56 --------------------------------------------------------------------------------
10:34:56 Configuration des services
10:34:56 --------------------------------------------------------------------------------
10:34:56 Enable Restart only service cron systemd-resolved ssh rsyslog named
10:35:01 Disable Systemd service rng-tools clamav-freshclam clamav-daemon isc-dhcp-server isc-dhcp-server6 nut-server nut-driver.target nut-driver-enumerator.path nut-driver-enumerator nut-monitor smbd nmbd winbind
10:35:06 Enable Systemd service ntpsec salt-api-ead3 salt-master-ead3 salt-minion-ead3 eole-workstation-manager ead-server ead-web samba-ad-dc exim4 eoleflask nginx bastion z_stats
10:35:16 --------------------------------------------------------------------------------
10:35:16 Génération des certificats
10:35:16 --------------------------------------------------------------------------------
10:35:16 Updating certificates in /etc/ssl/certs...
10:35:16 0 added, 0 removed; done.
10:35:16 Running hooks in /etc/ca-certificates/update.d...
10:35:16 done.
10:35:16 --------------------------------------------------------------------------------
10:35:16 Exécution des scripts posttemplate
10:35:16 --------------------------------------------------------------------------------
10:35:16 run-parts: executing /usr/share/eole/posttemplate/00-alogs reconfigure
10:35:16 run-parts: executing /usr/share/eole/posttemplate/00-antivirus reconfigure
10:35:16 run-parts: executing /usr/share/eole/posttemplate/00-backport-patches reconfigure
10:35:16 run-parts: executing /usr/share/eole/posttemplate/00-eole-common reconfigure
10:35:21 Purge log files with non-conventional names
10:35:21 Erased files:
10:35:21 Renamed files:
10:35:21 Untouched files:
10:35:21 Génération des règles de pare-feu
10:35:21 Activation du mode forteresse sur enp4s0
10:35:21 Le serveur est protégé. Pour relancer le pare-feu, exécuter "CreoleService bastion restart"
10:35:21 run-parts: executing /usr/share/eole/posttemplate/00-eole-workstation-binaries reconfigure
10:35:21 run-parts: executing /usr/share/eole/posttemplate/00-filter-motd reconfigure
10:35:21 run-parts: executing /usr/share/eole/posttemplate/00-systemd-resolved reconfigure
10:35:21 run-parts: executing /usr/share/eole/posttemplate/00-upgrade-messages reconfigure
10:35:21 run-parts: executing /usr/share/eole/posttemplate/01-ad_certificates reconfigure
10:35:26 run-parts: executing /usr/share/eole/posttemplate/01-avscanner reconfigure
10:35:26 run-parts: executing /usr/share/eole/posttemplate/01-bind-apparmor reconfigure
10:35:26 run-parts: executing /usr/share/eole/posttemplate/01-ead reconfigure
10:35:31 run-parts: executing /usr/share/eole/posttemplate/01-eoleflask-nginx reconfigure
10:35:31 run-parts: executing /usr/share/eole/posttemplate/02-partages reconfigure
10:35:31 run-parts: executing /usr/share/eole/posttemplate/03-mail reconfigure
10:35:36 run-parts: executing /usr/share/eole/posttemplate/05-dhcp reconfigure
10:35:36 run-parts: executing /usr/share/eole/posttemplate/10-eole-salt-dependencies reconfigure
10:35:36 Install creole library to salt extras modules
10:35:36 run-parts: executing /usr/share/eole/posttemplate/30-ewt-portal reconfigure
10:35:36 run-parts: executing /usr/share/eole/posttemplate/51-ead3fileserver reconfigure
10:35:36 run-parts: executing /usr/share/eole/posttemplate/70-eoleflask reconfigure
10:35:41 --------------------------------------------------------------------------------
10:35:41 Application des paramètres Noyau
10:35:41 --------------------------------------------------------------------------------
10:35:41 --------------------------------------------------------------------------------
10:35:41 Démarrage des services
10:35:41 --------------------------------------------------------------------------------
10:35:41 Start Restart only services [|] /]
10:35:41 Service cron is running [ OK ]
10:35:41 Service systemd-resolved is running [ OK ]
10:35:41 Service ssh is running [ OK ]
10:35:41 Service rsyslog is running [ OK ]
10:35:41 Service named is running [ OK ]
10:35:41 Start Systemd services [|] /] -] \] |] /]
10:35:46 -]
10:35:46 Service ntpsec is running [ OK ]
10:35:46 Service salt-api-ead3 is running [ OK ]
10:35:46 Service salt-master-ead3 is running [ OK ]
10:35:46 Service salt-minion-ead3 is running [ OK ]
10:35:46 Service eole-workstation-manager is running [ OK ]
10:35:46 Service ead-server is running [ OK ]
10:35:46 Service ead-web is running [ OK ]
10:35:46 Service samba-ad-dc is running [ OK ]
10:35:46 Service exim4 is running [ OK ]
10:35:46 Service eoleflask is running [ OK ]
10:35:46 Service nginx is running [ OK ]
10:35:46 Service bastion is running [ OK ]
10:35:46 Service z_stats is running [ OK ]
10:35:46 --------------------------------------------------------------------------------
10:35:46 Gestion des utilisateurs systèmes
10:35:46 --------------------------------------------------------------------------------
10:35:46 --------------------------------------------------------------------------------
10:35:46 Exécution des scripts postservice
10:35:46 --------------------------------------------------------------------------------
10:35:46 run-parts: executing /usr/share/eole/postservice/00-eole-common reconfigure
10:35:46 run-parts: executing /usr/share/eole/postservice/00-letsencrypt reconfigure
10:35:46 run-parts: executing /usr/share/eole/postservice/00-snapd_maintenance reconfigure
10:35:46 Aucun snap installé pour le moment. Essayez « snap install hello-world ».
10:35:46 25hESCAPE<[0[[>Krun-parts: executing /usr/share/eole/postservice/00-systemd-networkd reconfigure
10:35:46 run-parts: executing /usr/share/eole/postservice/00-ubuntu-motd reconfigure
10:35:46 run-parts: executing /usr/share/eole/postservice/05-tftp reconfigure
10:35:46 run-parts: executing /usr/share/eole/postservice/24-test-synchro-with-time-reference reconfigure
10:35:51 run-parts: executing /usr/share/eole/postservice/25-manage-samba reconfigure
10:35:51 Samba/Seth reconfigure
10:35:51 * Mise à jour du backend DNS
10:35:51 Reading domain information
10:35:51 DNS accounts already exist
10:35:51 No zone file /var/lib/samba/bind-dns/dns/DOMSETH.AC-TEST.FR.zone (normal)
10:35:51 DNS partitions already exist
10:35:51 dns-dc1 account already exists
10:35:51 See /var/lib/samba/bind-dns/named.conf for an example configuration include file for BIND
10:35:51 and /var/lib/samba/bind-dns/named.txt for further documentation required for secure DNS updates
10:35:51 Finished upgrading DNS
10:35:51 Gestion des Zones DNS Inversées
10:35:51 Zone : 0.168.192.in-addr.arpa existe déjà
10:35:51 Entrée PTR pour 192.168.0.5 existe.
10:35:51 Zone : 1.1.10.in-addr.arpa existe déjà
10:35:51 Zone : 2.1.10.in-addr.arpa existe déjà
10:35:51 Gestion des DNS
10:35:51 Entrée A pour isatap existe.
10:35:56 Entrée A pour wpad existe.
10:35:56 Changed password OK
10:35:56 Export one principal to /var/lib/samba/private/managed_account/gpo-dc1.keytab
10:35:56 Changed password OK
10:35:56 Export one principal to /var/lib/samba/private/managed_account/gpo-dc1.keytab
10:36:01 * Active Directory est initialisé, reload la configuration
10:36:01 Samba/Seth reconfigure end
10:36:01 run-parts: executing /usr/share/eole/postservice/26-actions reconfigure
10:36:01 ## Acceptation de la clé du minion local ##
10:36:01 ## Synchronisation des modules SaltStack ##
10:36:06 local:
10:36:06 - modules.ead.saltkey.__init__
10:36:06 run-parts: executing /usr/share/eole/postservice/26-partages reconfigure
10:36:06 run-parts: executing /usr/share/eole/postservice/27-dbcheck reconfigure
10:36:06 run-parts: executing /usr/share/eole/postservice/30-eole-workstation-manager reconfigure
10:36:06 Résolution du nom d'hôte "salt" en 192.168.0.5 :
10:36:11 Record added successfully
10:36:11 Ajout du compte de jonction au domaine 'eole-workstation-manager'...
10:36:11 User 'eole-workstation-manager' added successfully
10:36:11 Mise en conformité de l’utilisateur 'eole-workstation-manager'...
10:36:11 Expiry for user 'eole-workstation-manager' disabled.
10:36:11 Changed password OK
10:36:16 Délégation pour 'eole-workstation-manager' absentes sur CN=Computers
10:36:16 Délégation pour 'eole-workstation-manager' activée sur CN=Computers
10:36:16 Ajout du compte de lecture 'eole-workstation-reader'...
10:36:21 User 'eole-workstation-reader' added successfully
10:36:21 Mise en conformité de l’utilisateur 'eole-workstation-reader'...
10:36:21 Expiry for user 'eole-workstation-reader' disabled.
10:36:21 Changed password OK
10:36:21 Restart Systemd service eole-workstation-manager [ OK ]
10:36:26 run-parts: executing /usr/share/eole/postservice/30-gposcript reconfigure
10:36:26 * 'eole_script' existe, rebuild demandé
10:36:26 * Import GPO
10:36:31 * Version différente, positionne à 393229
10:36:31 * Check sysvol ACL : Ok
10:36:31 * Import GPO eole_script : OK
10:36:31 run-parts: executing /usr/share/eole/postservice/40-password_management reconfigure
10:36:41 run-parts: executing /usr/share/eole/postservice/99-check-console-setup reconfigure
10:36:41 --------------------------------------------------------------------------------
10:36:41 Planificateur de tâche
10:36:41 --------------------------------------------------------------------------------
10:36:41 Tâches planifiées EOLE :
10:36:41 * les tâches journalières se feront tous les jours à 05:34 (hors sauvegarde)
10:36:41 - avant sauvegarde
10:36:41 + Export des quotas (quota)
10:36:41 - après sauvegarde
10:36:41 + Purge des corbeilles Samba (adtrash)
10:36:41 * les tâches hebdomadaires se feront le vendredi à 05:34 (hors sauvegarde)
10:36:41 - après sauvegarde
10:36:41 + Mise à jour du serveur (majauto)
10:36:41 Tâches désactivées EOLE :
10:36:41 + Créer une archive de sauvegarde Samba (samba_backup)
10:36:41 + Arrêt du serveur (z_shutdownauto)
10:36:41 + Reconfigure du serveur (y_reconfigureauto)
10:36:41 + Renouvellement du certificat Let's Encrypt (renew_lets_encrypt)
10:36:41 + Liste des mises à jour disponibles (queryauto)
10:36:41 + Redémarrage du serveur (z_rebootauto)
10:36:41 --------------------------------------------------------------------------------
10:36:41 Finalisation de la configuration
10:36:41 --------------------------------------------------------------------------------
10:36:41 --------------------------------------------------------------------------------
10:36:41 Reconfiguration OK
10:36:41 --------------------------------------------------------------------------------
10:36:41 Machine aca.dc1 2.10.0 : ciMonitor python3 ==> RESULT=0
10:36:41 * Désactive home profile 'prof1'
10:36:41 Modified CN=prof1,CN=Users,DC=domseth,DC=ac-test,DC=fr
10:36:41 Modified 1 records successfully
10:36:41 * Inject BGInfo
10:36:41 * samba-tool ntacl sysvolcheck
10:36:46 * ls -lR /home/sysvol/domseth.ac-test.fr/Policies/
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/:
10:36:46 total 24
10:36:46 drwxrwx---+ 4 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 13 18:55 {31B2F340-016D-11D2-945F-00C04FB984F9}
10:36:46 drwxrwx---+ 4 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 14 10:36 {388A3E37-3023-4AC1-BAFB-2C93FBD99E51}
10:36:46 drwxrwx---+ 4 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 13 18:55 {6AC1786C-016F-11D2-945F-00C04FB984F9}
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{31B2F340-016D-11D2-945F-00C04FB984F9}:
10:36:46 total 24
10:36:46 -rwxrwx---+ 1 DOMSETH/domain admins DOMSETH/domain admins 20 mars 13 18:55 GPT.INI
10:36:46 drwxrwx---+ 2 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 13 18:55 MACHINE
10:36:46 drwxrwx---+ 2 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 13 18:55 USER
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{31B2F340-016D-11D2-945F-00C04FB984F9}/MACHINE:
10:36:46 total 0
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{31B2F340-016D-11D2-945F-00C04FB984F9}/USER:
10:36:46 total 0
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{388A3E37-3023-4AC1-BAFB-2C93FBD99E51}:
10:36:46 total 24
10:36:46 -rwxr-----+ 1 DOMSETH/domain admins DOMSETH/domain admins 76 mars 14 10:36 GPT.INI
10:36:46 drwxr-x---+ 4 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 14 10:36 Machine
10:36:46 drwxr-x---+ 3 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 14 10:36 User
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{388A3E37-3023-4AC1-BAFB-2C93FBD99E51}/Machine:
10:36:46 total 32
10:36:46 -rwxr-----+ 1 DOMSETH/domain admins DOMSETH/domain admins 546 mars 14 10:36 comment.cmtx
10:36:46 drwxr-x---+ 3 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 14 10:36 Preferences
10:36:46 -rwxr-----+ 1 DOMSETH/domain admins DOMSETH/domain admins 486 mars 14 10:36 Registry.pol
10:36:46 drwxr-x---+ 3 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 14 10:36 Scripts
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{388A3E37-3023-4AC1-BAFB-2C93FBD99E51}/Machine/Preferences:
10:36:46 total 8
10:36:46 drwxr-x---+ 2 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 14 10:36 Registry
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{388A3E37-3023-4AC1-BAFB-2C93FBD99E51}/Machine/Preferences/Registry:
10:36:46 total 8
10:36:46 -rwxr-----+ 1 DOMSETH/domain admins DOMSETH/domain admins 556 mars 14 10:36 Registry.xml
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{388A3E37-3023-4AC1-BAFB-2C93FBD99E51}/Machine/Scripts:
10:36:46 total 20
10:36:46 -rwxr-----+ 1 DOMSETH/domain admins DOMSETH/domain admins 112 mars 14 10:36 psscripts.ini
10:36:46 -rwxr-----+ 1 DOMSETH/domain admins DOMSETH/domain admins 0 mars 14 10:36 scripts.ini
10:36:46 drwxr-x---+ 2 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 14 10:36 Startup
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{388A3E37-3023-4AC1-BAFB-2C93FBD99E51}/Machine/Scripts/Startup:
10:36:46 total 24
10:36:46 -rwxr-----+ 1 DOMSETH/domain admins DOMSETH/domain admins 20466 mars 14 10:36 installMinion.ps1
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{388A3E37-3023-4AC1-BAFB-2C93FBD99E51}/User:
10:36:46 total 8
10:36:46 drwxr-x---+ 3 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 14 10:36 Scripts
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{388A3E37-3023-4AC1-BAFB-2C93FBD99E51}/User/Scripts:
10:36:46 total 20
10:36:46 drwxr-x---+ 2 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 14 10:36 Logon
10:36:46 -rwxr-----+ 1 DOMSETH/domain admins DOMSETH/domain admins 86 mars 14 10:36 psscripts.ini
10:36:46 -rwxr-----+ 1 DOMSETH/domain admins DOMSETH/domain admins 0 mars 14 10:36 scripts.ini
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{388A3E37-3023-4AC1-BAFB-2C93FBD99E51}/User/Scripts/Logon:
10:36:46 total 16
10:36:46 -rwxr-----+ 1 DOMSETH/domain admins DOMSETH/domain admins 11929 mars 14 10:36 ps.ps1
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{6AC1786C-016F-11D2-945F-00C04FB984F9}:
10:36:46 total 24
10:36:46 -rwxrwx---+ 1 DOMSETH/domain admins DOMSETH/domain admins 20 mars 13 18:55 GPT.INI
10:36:46 drwxrwx---+ 2 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 13 18:55 MACHINE
10:36:46 drwxrwx---+ 2 DOMSETH/domain admins DOMSETH/domain admins 4096 mars 13 18:55 USER
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{6AC1786C-016F-11D2-945F-00C04FB984F9}/MACHINE:
10:36:46 total 0
10:36:46 /home/sysvol/domseth.ac-test.fr/Policies/{6AC1786C-016F-11D2-945F-00C04FB984F9}/USER:
10:36:46 total 0
10:36:46 * ls -lR /usr/share/eole/workstation
10:36:46 /usr/share/eole/workstation:
10:36:46 total 296
10:36:46 drwxr-xr-x 2 root root 4096 mars 14 10:34 bootstrap-salt
10:36:46 -rw-r--r-- 1 root root 602 mars 11 11:44 index.html
10:36:46 -rwxr-xr-x 1 root root 77 mars 11 11:44 installMinion.conf
10:36:46 -rwxr-xr-x 1 root root 118272 mars 11 11:44 installMinion.exe
10:36:46 -rw-r--r-- 1 root root 27942 mars 11 11:44 installMinion.ps1
10:36:46 -rw-r--r-- 1 root root 10762 mars 11 11:44 installMinion.sh
10:36:46 -rwxr-xr-x 1 root root 117760 mars 11 11:44 installMinion-x64.exe
10:36:46 drwxr-xr-x 2 root root 4096 mars 14 10:34 saltstack
10:36:46 -rw-r--r-- 1 root root 172 mars 11 11:44 SHA256SUMS
10:36:46 drwxr-xr-x 2 root root 4096 mars 14 10:34 veyon
10:36:46 /usr/share/eole/workstation/bootstrap-salt:
10:36:46 total 312
10:36:46 -rw-r--r-- 1 root root 315185 mars 11 11:44 bootstrap-salt.sh
10:36:46 -rw-r--r-- 1 root root 84 mars 11 11:44 bootstrap-salt.sh.sha256
10:36:46 /usr/share/eole/workstation/saltstack:
10:36:46 total 107160
10:36:46 -rw-r--r-- 1 root root 62336088 août 26 2025 Salt-Minion-3007.5-Py3-AMD64-Setup.exe
10:36:46 -rw-r--r-- 1 root root 105 août 26 2025 Salt-Minion-3007.5-Py3-AMD64-Setup.exe.sha256
10:36:46 -rw-r--r-- 1 root root 47382680 août 26 2025 Salt-Minion-3007.5-Py3-x86-Setup.exe
10:36:46 -rw-r--r-- 1 root root 103 août 26 2025 Salt-Minion-3007.5-Py3-x86-Setup.exe.sha256
10:36:46 /usr/share/eole/workstation/veyon:
10:36:46 total 30628
10:36:46 -rw-r--r-- 1 root root 15727592 mars 31 2025 veyon-4.9.4.0-win32-setup.exe
10:36:46 -rw-r--r-- 1 root root 96 mars 31 2025 veyon-4.9.4.0-win32-setup.exe.sha256
10:36:46 -rw-r--r-- 1 root root 15625320 mars 31 2025 veyon-4.9.4.0-win64-setup.exe
10:36:46 -rw-r--r-- 1 root root 96 mars 31 2025 veyon-4.9.4.0-win64-setup.exe.sha256
10:36:46 * cat /usr/share/eole/workstation/installMinion.conf
10:36:46 #debug=1
10:36:46 salt-version-amd64=3007.5-Py3-AMD64
10:36:46 salt-version-x86=3007.5-Py3-x86
10:36:46 * check installMinion.ps1
10:36:46 < = /home/sysvol/domseth.ac-test.fr/Policies/{388A3E37-3023-4AC1-BAFB-2C93FBD99E51}/Machine/Scripts/Startup/installMinion.ps1
10:36:46 > = /usr/share/eole/workstation/installMinion.ps1
10:36:46 1,3c1,22
10:36:46 < param(
10:36:46 < [switch]$debug=$false
10:36:46 < )
10:36:46 ---
10:36:46 > # Do not use Requires -RunAsAdministrator
10:36:46 > # Do not use requires -Version 5.1 # For [<TYPE>] syntax
10:36:46 > # They are not logged by Start-Transcript
10:36:46 >
10:36:46 > # Use Common parameters
10:36:46 > # https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_commonparameters
10:36:46 > [CmdletBinding()]
10:36:46 > param()
10:36:46 >
10:36:46 > Set-StrictMode -Version 3
10:36:46 >
10:36:46 > [cultureinfo]::CurrentUICulture = "en-US"
10:36:46 >
10:36:46 > # Used to compute SHA256
10:36:46 > # Contains script path when running .ps1 directly
10:36:46 > # Contains script content when running .exe
10:36:46 > $self = $MyInvocation.MyCommand.Definition
10:36:46 >
10:36:46 > $LogFile = Join-Path -Path $env:TEMP -childPath "install-minion.log"
10:36:46 > $LogPrefix = "installMinion:"
10:36:46 > $config = @{}
10:36:46 > $installedMinion = @{}
10:36:46 5c24
10:36:46 < function log($t)
10:36:46 ---
10:36:46 > function main()
10:36:46 7,8c26
10:36:46 < Write-Host "installMinion: $t"
10:36:46 < }
10:36:46 ---
10:36:46 > setupLogging
10:36:46 10,12c28,32
10:36:46 < function logDebug($t)
10:36:46 < {
10:36:46 < if ( $debug )
10:36:46 ---
10:36:46 > $selfHash = sha256 $self
10:36:46 > $fileVersion = ( Get-Item -Path ( getSelfPath ) ).VersionInfo.FileVersion
10:36:46 >
10:36:46 > log "------------------------------------------"
10:36:46 > if ( $fileVersion )
10:36:46 14c34
10:36:46 < log "DEBUG: $t"
10:36:46 ---
10:36:46 > log "Version: $fileVersion"
10:36:46 16,27c36
10:36:46 < }
10:36:46 <
10:36:46 < # tips: https://stackoverflow.com/questions/35260354/powershell-wget-protocol-violation
10:36:46 < function Set-UseUnsafeHeaderParsing
10:36:46 < {
10:36:46 < param(
10:36:46 < [Parameter(Mandatory,ParameterSetName='Enable')]
10:36:46 < [switch]$Enable,
10:36:46 <
10:36:46 < [Parameter(Mandatory,ParameterSetName='Disable')]
10:36:46 < [switch]$Disable
10:36:46 < )
10:36:46 ---
10:36:46 > log "SHA256: $selfHash"
10:36:46 29c38,39
10:36:46 < $ShouldEnable = $PSCmdlet.ParameterSetName -eq 'Enable'
10:36:46 ---
10:36:46 > checkEnvironment
10:36:46 > Set-ExecutionPolicy Bypass -Scope Process -Force
10:36:46 31c41,42
10:36:46 < $netAssembly = [Reflection.Assembly]::GetAssembly([System.Net.Configuration.SettingsSection])
10:36:46 ---
10:36:46 > $config = getConfig
10:36:46 > $installedMinion = getInstalledMinion
10:36:46 33c44
10:36:46 < if($netAssembly)
10:36:46 ---
10:36:46 > if ( $installedMinion["version"] )
10:36:46 35,40c46,48
10:36:46 < $bindingFlags = [Reflection.BindingFlags] 'Static,GetProperty,NonPublic'
10:36:46 < $settingsType = $netAssembly.GetType('System.Net.Configuration.SettingsSectionInternal')
10:36:46 <
10:36:46 < $instance = $settingsType.InvokeMember('Section', $bindingFlags, $null, $null, @())
10:36:46 <
10:36:46 < if($instance)
10:36:46 ---
10:36:46 > log "------------------------------------------"
10:36:46 > log "Check if installed minion is up-to-date..."
10:36:46 > if ( $config["version"].toString().startsWith($installedMinion["version"]) )
10:36:46 42,48c50,62
10:36:46 < $bindingFlags = 'NonPublic','Instance'
10:36:46 < $useUnsafeHeaderParsingField = $settingsType.GetField('useUnsafeHeaderParsing', $bindingFlags)
10:36:46 <
10:36:46 < if($useUnsafeHeaderParsingField)
10:36:46 < {
10:36:46 < $useUnsafeHeaderParsingField.SetValue($instance, $ShouldEnable)
10:36:46 < }
10:36:46 ---
10:36:46 > throw [InstallMinionNotForMeException]::new(
10:36:46 > "The version '$($installedMinion['version'])' is already installed"
10:36:46 > )
10:36:46 > }
10:36:46 > elseif ( $config["version"] -lt $installedMinion["version"] )
10:36:46 > {
10:36:46 > throw [InstallMinionConfigException]::new(
10:36:46 > "The version '$($installedMinion['version'])' can't be downgraded to older version '$($config['version'])'"
10:36:46 > )
10:36:46 > }
10:36:46 > else
10:36:46 > {
10:36:46 > log "The version '$($installedMinion['version'])' must be upgraded to new version '$($config['version'])'"
10:36:46 50,51d63
10:36:46 < }
10:36:46 < }
10:36:46 53,59c65
10:36:46 < function doDownload( $url1, $file1)
10:36:46 < {
10:36:46 < [string]$url = $url1.ToString()
10:36:46 < [string]$file = $file1.ToString()
10:36:46 < if( Test-Path $file )
10:36:46 < {
10:36:46 < Remove-Item -Path $file
10:36:46 ---
10:36:46 > unInstallMinion $installedMinion
10:36:46 61,62c67
10:36:46 <
10:36:46 < try
10:36:46 ---
10:36:46 > elseif ( $installedMinion["service"] )
10:36:46 64,71c69,70
10:36:46 < $global:ProgressPreference = 'SilentlyContinue'
10:36:46 < [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
10:36:46 < $wc = New-Object Net.WebClient
10:36:46 < $wc.UseDefaultCredentials = $true
10:36:46 < $wc.Proxy = $null
10:36:46 < #$wc.Proxy.Credentials = $wc.Credentials
10:36:46 < $wc.Encoding = [System.Text.Encoding]::UTF8
10:36:46 < $wc.CachePolicy = New-Object Net.Cache.HttpRequestCachePolicy([System.Net.Cache.HttpRequestCacheLevel]::NoCacheNoStore)
10:36:46 ---
10:36:46 > $serviceName = $installedMinion["service"].getValue("DisplayName")
10:36:46 > log "The service '$serviceName' exists without installer => remove!"
10:36:46 73,87c72,76
10:36:46 < log "Download WebClient $url"
10:36:46 < $wc.DownloadFile($url, $file)
10:36:46 < }
10:36:46 < catch
10:36:46 < {
10:36:46 < $_ | Out-Host # Output the thread pipeline error
10:36:46 < $StatusCode = $_.Exception.Response.StatusCode.value__
10:36:46 < log "StatusCode = $StatusCode"
10:36:46 < log "ERROR: download WebClient '$url'. Stop!"
10:36:46 < }
10:36:46 <
10:36:46 < if( !(Test-Path $file ))
10:36:46 < {
10:36:46 < # Win 7, 8, 2012 ... <= Win 10 !
10:36:46 < try
10:36:46 ---
10:36:46 > # Try to uninstall properly with uninst.exe
10:36:46 > # uninst.exe may be in same directory as ssm.exe or in parent directory
10:36:46 > # See: https://github.com/saltstack/salt/issues/67949
10:36:46 > $servicePath = ( $installedMinion["service"].getValue("ImagePath") ) -replace "[`"']",""
10:36:46 > foreach ( $uninstPath in ( Split-Path -parent $servicePath ), ( ( Split-Path -parent $servicePath ) | Split-Path -parent ) )
10:36:46 89,93c78,83
10:36:46 < # avec DisableKeepAlive !
10:36:46 < log "Invoke-WebRequest $url"
10:36:46 < $r = Invoke-WebRequest -Uri $url -OutFile $file -Method Get -DisableKeepAlive -UseDefaultCredentials -useBasicParsing
10:36:46 < $StatusCode = $Response.StatusCode
10:36:46 < log "StatusCode = $StatusCode"
10:36:46 ---
10:36:46 > $uninst = Join-Path -Path $uninstPath -childPath "uninst.exe"
10:36:46 > verbose "Lookup 'uninst.exe' in '$uninstPath'"
10:36:46 > if ( Test-Path $uninst ) {
10:36:46 > verbose "Uninstaller '$uninst' found"
10:36:46 > $installedMinion["UninstallString"] = $uninst
10:36:46 > }
10:36:46 95c85,87
10:36:46 < catch
10:36:46 ---
10:36:46 >
10:36:46 > $config_dir = Join-Path -path $env:ProgramData -childPath "Salt Project\Salt\conf"
10:36:46 > if ( Test-Path $config_dir )
10:36:46 97,100c89,90
10:36:46 < $_ | Out-Host # Output the thread pipeline error
10:36:46 < $StatusCode = $_.Exception.Response.StatusCode.value__
10:36:46 < log "StatusCode = $StatusCode"
10:36:46 < log "ERROR: download Invoke-WebRequest '$url'. Stop!"
10:36:46 ---
10:36:46 > verbose "Salt configuration dir '$config_dir' found"
10:36:46 > $installedMinion["config_dir"] = $config_dir
10:36:46 101a92
10:36:46 > unInstallMinion $installedMinion
10:36:46 103,112c94,99
10:36:46 <
10:36:46 < if( !(Test-Path $file ))
10:36:46 < {
10:36:46 < log "ERROR: download '$url'. Stop!"
10:36:46 < return 1
10:36:46 < }
10:36:46 < else
10:36:46 < {
10:36:46 < log "'$file1' downloaded"
10:36:46 < return 0
10:36:46 ---
10:36:46 >
10:36:46 > downloadInstaller $config
10:36:46 > $newMinion = installMinion $config
10:36:46 >
10:36:46 > if ( $installedMinion.containsKey("version") -and $installedMinion["version"] -lt "3004.0" -and $newMinion["version"] -ge "3004.0" ) {
10:36:46 > moveMinionDirs $newMinion $installedMinion
10:36:46 113a101,102
10:36:46 >
10:36:46 > configMinion $newMinion
10:36:46 116c105
10:36:46 < function doInstallMinion()
10:36:46 ---
10:36:46 > function checkEnvironment()
10:36:46 118,122c107,109
10:36:46 < Set-ExecutionPolicy Bypass -Scope Process -Force
10:36:46 <
10:36:46 < #############################################################################
10:36:46 < # Phase 1 : check environement
10:36:46 < #############################################################################
10:36:46 ---
10:36:46 > log "------------------------------------------"
10:36:46 > log "Check environment compatibility..."
10:36:46 >
10:36:46 125c112
10:36:46 < if ($Major -le 4)
10:36:46 ---
10:36:46 > if ( $Major -le 4 )
10:36:46 127,128c114,116
10:36:46 < log "You must use PowerShell 4.0 or above."
10:36:46 < return -1
10:36:46 ---
10:36:46 > throw [InstallMinionEnvironmentException]::new(
10:36:46 > "You must use PowerShell 4.0 or above instead of '$Major'"
10:36:46 > )
10:36:46 133,134c121,124
10:36:46 < log "Attention: Install Minion 2023-06-29"
10:36:46 <
10:36:46 ---
10:36:46 >
10:36:46 > #############################################################################
10:36:46 > # .Net Framework
10:36:46 > #############################################################################
10:36:46 138,150c128,141
10:36:46 < switch ($release) {
10:36:46 < ({ $_ -ge 528040 }) { '4.8'; break }
10:36:46 < ({ $_ -ge 461808 }) { '4.7.2'; break }
10:36:46 < ({ $_ -ge 461308 }) { '4.7.1'; break }
10:36:46 < ({ $_ -ge 460798 }) { '4.7'; break }
10:36:46 < ({ $_ -ge 394802 }) { '4.6.2'; break }
10:36:46 < ({ $_ -ge 394254 }) { '4.6.1'; break }
10:36:46 < ({ $_ -ge 393295 }) { '4.6'; break }
10:36:46 < ({ $_ -ge 379893 }) { '4.5.2'; break }
10:36:46 < ({ $_ -ge 378675 }) { '4.5.1'; break }
10:36:46 < ({ $_ -ge 378389 }) { '4.5'; break }
10:36:46 < default { '4.5+ not installed.' }
10:36:46 < }
10:36:46 ---
10:36:46 > switch ($release) {
10:36:46 > ({ $_ -ge 533320 }) { '4.8.1'; break }
10:36:46 > ({ $_ -ge 528040 }) { '4.8'; break }
10:36:46 > ({ $_ -ge 461808 }) { '4.7.2'; break }
10:36:46 > ({ $_ -ge 461308 }) { '4.7.1'; break }
10:36:46 > ({ $_ -ge 460798 }) { '4.7'; break }
10:36:46 > ({ $_ -ge 394802 }) { '4.6.2'; break }
10:36:46 > ({ $_ -ge 394254 }) { '4.6.1'; break }
10:36:46 > ({ $_ -ge 393295 }) { '4.6'; break }
10:36:46 > ({ $_ -ge 379893 }) { '4.5.2'; break }
10:36:46 > ({ $_ -ge 378675 }) { '4.5.1'; break }
10:36:46 > ({ $_ -ge 378389 }) { '4.5'; break }
10:36:46 > default { '4.5+ not installed.' }
10:36:46 > }
10:36:46 152c143
10:36:46 <
10:36:46 ---
10:36:46 >
10:36:46 154,156c145
10:36:46 <
10:36:46 < Set-Location $env:TEMP
10:36:46 <
10:36:46 ---
10:36:46 >
10:36:46 158c147
10:36:46 < # Phase 1b : check os
10:36:46 ---
10:36:46 > # OS
10:36:46 163c152
10:36:46 < log "Check is os type ?"
10:36:46 ---
10:36:46 > log "Check if os type is workstation..."
10:36:46 169,172c158,162
10:36:46 < log "La machine n'est pas une station de travail, je l'ignore. exit=0"
10:36:46 < return 0
10:36:46 < }
10:36:46 <
10:36:46 ---
10:36:46 > throw [InstallMinionNotForMeException]::new(
10:36:46 > "Computer is not a workstation, abort!"
10:36:46 > )
10:36:46 > }
10:36:46 >
10:36:46 174c164
10:36:46 < # Phase 1c : check elevated
10:36:46 ---
10:36:46 > # Elevated privileged is required
10:36:46 176,178c166,168
10:36:46 < log "check is elevated session ?"
10:36:46 < $isAdmin=([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
10:36:46 < if ( -Not( $isAdmin ) )
10:36:46 ---
10:36:46 > log "Check if session is elevated..."
10:36:46 > $isAdmin=( [Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent() ).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
10:36:46 > if ( -Not $isAdmin )
10:36:46 180,181c170,172
10:36:46 < log "Vous n'êtes pas 'Administrateur' ou dans une session 'Elevated', exit=-2"
10:36:46 < return -2
10:36:46 ---
10:36:46 > throw [InstallMinionEnvironmentException]::new(
10:36:46 > "You are not 'Administrator' or 'Elevated' session"
10:36:46 > )
10:36:46 185c176
10:36:46 < log "Vous êtes dans une session 'Elevated', Ok"
10:36:46 ---
10:36:46 > log "You are in 'Elevated' session, OK"
10:36:46 187c178
10:36:46 <
10:36:46 ---
10:36:46 >
10:36:46 189c180
10:36:46 < # Phase 2 : check Slat dns
10:36:46 ---
10:36:46 > # DNS query must find `salt`
10:36:46 191c182
10:36:46 < log "check 'salt' dns resolution ?"
10:36:46 ---
10:36:46 > log "Check 'salt' dns resolution..."
10:36:46 194c185
10:36:46 < while( $i -le 3 -and -Not( $testConnection ))
10:36:46 ---
10:36:46 > while( $i -le 3 -and -Not $testConnection )
10:36:46 197c188
10:36:46 < log "La résolution du nom 'salt' n'est pas fonctionnelle, (essai = $i)"
10:36:46 ---
10:36:46 > log "DNS lookup of 'salt' does not work (try $i/3)"
10:36:46 203c194
10:36:46 < log "La résolution du nom 'salt' est fonctionnelle, Ok"
10:36:46 ---
10:36:46 > log "DNS lookup of 'salt' is working"
10:36:46 207,208c198,200
10:36:46 < log "La résolution du nom 'salt' n'est pas fonctionnelle. Configurer l'enregistrement DNS sur le serveur DNS. exit=-3"
10:36:46 < return -3
10:36:46 ---
10:36:46 > throw [InstallMinionException]::new(
10:36:46 > "DNS lookup of 'salt' does not work. Check your DNS configuration or DNS record."
10:36:46 > )
10:36:46 213c205
10:36:46 < if( -Not ($ipSaltMaster) )
10:36:46 ---
10:36:46 > if ( -Not $ipSaltMaster )
10:36:46 215,216c207,209
10:36:46 < log "L'adresse ip du nom 'salt' n'est pas correcte. exit=-3"
10:36:46 < return -3
10:36:46 ---
10:36:46 > throw [InstallMinionException]::new(
10:36:46 > "DNS lookup of 'salt' has incorrect IP address"
10:36:46 > )
10:36:46 220a214
10:36:46 > $config["saltMasterIP"] = $ipSaltMaster
10:36:46 224c218
10:36:46 < # Préparation Invoke hhtprequest pour avoir un debug
10:36:46 ---
10:36:46 > # Prepare Invoke httprequest for debug
10:36:46 227,240c221,231
10:36:46 <
10:36:46 < #############################################################################
10:36:46 < # Phase 3 : téléchargement de 'installMinion.conf' depuis le scribe
10:36:46 < #############################################################################
10:36:46 < log "---"
10:36:46 < $saltMinionConfFile="$env:TEMP\installMinion.conf"
10:36:46 < $saltMinionConfUrl="http://$ipSaltMaster/joineole/installMinion.conf"
10:36:46 < $cdu = doDownload -url1 $saltMinionConfUrl -file1 $saltMinionConfFile
10:36:46 < if( $cdu -eq 1)
10:36:46 < {
10:36:46 < return -4
10:36:46 < }
10:36:46 <
10:36:46 < # protection si le firewall/filtrage renvoi autre chose ...
10:36:46 ---
10:36:46 > }
10:36:46 >
10:36:46 > function getConfig()
10:36:46 > {
10:36:46 > log "------------------------------------------"
10:36:46 > log "Load installMinion configuration..."
10:36:46 > $saltMinionConfFile = Join-Path -Path $env:TEMP -childPath "installMinion.conf"
10:36:46 > $saltMinionConfUrl = "http://$($config['saltMasterIP'])/joineole/installMinion.conf"
10:36:46 > doDownload -url $saltMinionConfUrl -file $saltMinionConfFile
10:36:46 >
10:36:46 > # Be carefull if firewall/proxy return something else...
10:36:46 245,250c236,243
10:36:46 < log "La réponse du serveur n'est pas la bonne"
10:36:46 < log "Vérifier votre configuration de filtrage. exit=-4"
10:36:46 < return -4
10:36:46 < }
10:36:46 <
10:36:46 < $context = @{}
10:36:46 ---
10:36:46 > throw [DownloadProxyError]::new(@"
10:36:46 > Bad reply from server.
10:36:46 > Check your firewall configuration.
10:36:46 > "@)
10:36:46 > }
10:36:46 >
10:36:46 > # Initialize with current config
10:36:46 > $context = $config
10:36:46 258c251
10:36:46 < log "context $name = $value"
10:36:46 ---
10:36:46 > log "config $name = $value"
10:36:46 261,268c254,258
10:36:46 <
10:36:46 < [string]$debugCtx = $context["debug"]
10:36:46 < if ( $debugCtx -eq "1" )
10:36:46 < {
10:36:46 < $debug = $true
10:36:46 < Set-PSDebug -Trace 1
10:36:46 < }
10:36:46 <
10:36:46 ---
10:36:46 >
10:36:46 > $VerbosePreference = if ( $context["verbose"] -eq "1" ) { "Continue" } else { $VerbosePreference }
10:36:46 > $DebugPreference = if ( $context["debug"] -eq "1" ) { "Continue" } else { $DebugPreference }
10:36:46 > setDebug
10:36:46 >
10:36:46 270c260
10:36:46 < # Phase 4 : identification de l'éxécutable à télécharger
10:36:46 ---
10:36:46 > # Build installer file name and URL
10:36:46 272,276c262,265
10:36:46 < # salt-version contient la version + l'architecture
10:36:46 < if( [System.Environment]::Is64BitOperatingSystem )
10:36:46 < {
10:36:46 < [string]$saltVersion = $context["salt-version-amd64"]
10:36:46 < if ( -Not ( $saltVersion ) )
10:36:46 ---
10:36:46 > if ( [System.Environment]::Is64BitOperatingSystem )
10:36:46 > {
10:36:46 > $arch = "AMD64"
10:36:46 > if ( -Not $context["salt-version-amd64"] )
10:36:46 278,279c267,269
10:36:46 < log "La variable de configuration 'salt-version-amd64' n'existe pas. exit=-2"
10:36:46 < return -2
10:36:46 ---
10:36:46 > throw [InstallMinionConfigException]::new(
10:36:46 > "Configuration variable 'salt-version-amd64' does not exist."
10:36:46 > )
10:36:46 281c271,273
10:36:46 < $saltInstallDir="c:\Program Files\Salt Project\Salt"
10:36:46 ---
10:36:46 > # salt-version-amd64 must be mangled to became a `[version]`
10:36:46 > [version]$context["version"] = $context["salt-version-amd64"] -replace '-.*',''
10:36:46 > [string]$context["installer_version"] = $context["salt-version-amd64"] -replace '-Py.*',''
10:36:46 284,286c276,317
10:36:46 < {
10:36:46 < [string]$saltVersion = $context["salt-version-x86"]
10:36:46 < if ( -Not ( $saltVersion ) )
10:36:46 ---
10:36:46 > {
10:36:46 > $arch = "x86"
10:36:46 > if ( -Not $context["salt-version-x86"] )
10:36:46 > {
10:36:46 > throw [InstallMinionConfigException]::new(
10:36:46 > "Configuration variable 'salt-version-x86' does not exist."
10:36:46 > )
10:36:46 > }
10:36:46 > # salt-version-x86 must be mangled to became a `[version]`
10:36:46 > [version]$context["version"] = $context["salt-version-x86"] -replace '-.*',''
10:36:46 > [string]$context["installer_version"] = $context["salt-version-x86"] -replace '-Py.*',''
10:36:46 > }
10:36:46 >
10:36:46 > log "Wanted Salt version: $($context['version'])"
10:36:46 > $context["setupName"] = "Salt-Minion-$($context['installer_version'])-Py3-$arch-Setup.exe"
10:36:46 > $context["setupUrl"] = "http://$($context['saltMasterIP'])/joineole/saltstack/$($context['SetupName'])"
10:36:46 > $context["setupFile"] = Join-Path -Path $env:TEMP -childPath $context["SetupName"]
10:36:46 >
10:36:46 > verbose "New minion configuration"
10:36:46 > verbose ( $context | Out-String )
10:36:46 >
10:36:46 > return $context
10:36:46 > }
10:36:46 >
10:36:46 > function getInstalledMinion()
10:36:46 > {
10:36:46 > log "------------------------------------------"
10:36:46 > log "Check installed minion..."
10:36:46 >
10:36:46 > $context = @{}
10:36:46 > $installerSalt = getInstaller "Salt Minion"
10:36:46 >
10:36:46 > if ( $installerSalt )
10:36:46 > {
10:36:46 > verbose "Installed minion installer"
10:36:46 > verbose ( regDump $installerSalt | Out-String )
10:36:46 >
10:36:46 > $context["installer"] = $installerSalt
10:36:46 > [version]$context["version"] = $installerSalt.GetValue("DisplayVersion") -replace '-.*',''
10:36:46 > $context["UninstallString"] = $installerSalt.GetValue("UninstallString")
10:36:46 >
10:36:46 > if ( $context["version"] -lt "3004.0" )
10:36:46 288,289c319,320
10:36:46 < log "La variable de configuration 'salt-version-x86' n'existe pas. exit=-2"
10:36:46 < return -2
10:36:46 ---
10:36:46 > $context["install_dir"] = $context["UninstallString"].Substring(0, $context["UninstallString"].lastIndexOf("\"))
10:36:46 > $context["root_dir"] = $context["install_dir"]
10:36:46 291c322,338
10:36:46 < $saltInstallDir="c:\Program Files (x86)\Salt Project\Salt"
10:36:46 ---
10:36:46 > else
10:36:46 > {
10:36:46 > $context["install_dir"] = expandPath ( regGetItemProperty -path "HKLM:Software\Salt Project\Salt" -value "install_dir" )
10:36:46 > $context["root_dir"] = expandPath ( regGetItemProperty -path "HKLM:Software\Salt Project\Salt" -value "root_dir" )
10:36:46 > }
10:36:46 >
10:36:46 > if ( Test-Path ( Join-Path -Path $context["install_dir"] -childPath "salt-call.exe" ) )
10:36:46 > {
10:36:46 > $context["salt_call"] = Join-Path -Path $context["install_dir"] -childPath "salt-call.exe"
10:36:46 > }
10:36:46 > elseif ( Test-Path ( Join-Path -Path $context["install_dir"] -childPath "salt-call.bat" ) )
10:36:46 > {
10:36:46 > $context["salt_call"] = Join-Path -Path $context["install_dir"] -childPath "salt-call.bat"
10:36:46 > }
10:36:46 >
10:36:46 > $context["config_dir"] = Join-Path -Path $context["root_dir"] -childPath "conf"
10:36:46 > $context["var_dir"] = Join-Path -Path $context["root_dir"] -childPath "var"
10:36:46 293,294c340
10:36:46 < log "saltVersion= $saltVersion"
10:36:46 < if ( $saltVersion -gt "3004" )
10:36:46 ---
10:36:46 > else
10:36:46 296,297c342,350
10:36:46 < log "salt APRES 3004"
10:36:46 < $saltRootDir=$env:ProgramData + "\Salt Project\Salt"
10:36:46 ---
10:36:46 > log "No minion package installed"
10:36:46 > }
10:36:46 >
10:36:46 > $serviceSalt = getService "salt-minion"
10:36:46 > if ( $serviceSalt )
10:36:46 > {
10:36:46 > verbose "Installed minion service"
10:36:46 > verbose ( regDump $serviceSalt | Out-String )
10:36:46 > $context["service"] = $serviceSalt
10:36:46 301,303c354
10:36:46 < log "Salt AVANT 3004"
10:36:46 < $saltInstallDir="c:\salt"
10:36:46 < $saltRootDir="c:\salt"
10:36:46 ---
10:36:46 > log "No minion service found"
10:36:46 305,315c356,357
10:36:46 < log "saltInstallDir=$saltInstallDir"
10:36:46 < log "saltRootDir=$saltRootDir"
10:36:46 <
10:36:46 < #############################################################################
10:36:46 < # Phase 5 : identification du minion installé (s'il existe)
10:36:46 < #############################################################################
10:36:46 < $doUninstall = $false
10:36:46 < $doInstall = $false
10:36:46 < $installersSalt = ((Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall") |
10:36:46 < Where-Object { $_.GetValue( "DisplayName" ) -like "*Salt Minion*" } );
10:36:46 < if ( $installersSalt.Length -eq 0 )
10:36:46 ---
10:36:46 >
10:36:46 > if ( $context.ContainsKey("installer") )
10:36:46 317,321c359
10:36:46 < if ( $env:PROCESSOR_ARCHITECTURE -eq 'AMD64' )
10:36:46 < {
10:36:46 < $installersSalt = ((Get-ChildItem "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall") |
10:36:46 < Where-Object { $_.GetValue( "DisplayName" ) -like "*Salt Minion*" } );
10:36:46 < }
10:36:46 ---
10:36:46 > log "Installed minion version: $($context['installer'].getValue('DisplayVersion'))"
10:36:46 323,324c361,362
10:36:46 <
10:36:46 < if ( $installersSalt.Length -eq 0 )
10:36:46 ---
10:36:46 >
10:36:46 > if ( $context.Count -ne 0 )
10:36:46 326,343c364,401
10:36:46 < $installedSaltVersion = $null
10:36:46 < log "salt-minion n'est pas installé d'après Uninstall"
10:36:46 < $doInstall = $true
10:36:46 <
10:36:46 < #############################################################################
10:36:46 < # nous allons tester s'il reste des scories d'un ancien Salt
10:36:46 < $serviceSalt = ((Get-ChildItem "HKLM:\SYSTEM\CurrentControlSet\services" -ErrorAction SilentlyContinue) |
10:36:46 < Where-Object { $_.GetValue( "DisplayName" ) -like "*Salt*" } );
10:36:46 < if ( $serviceSalt.Length -ne 0 )
10:36:46 < {
10:36:46 < log "le service salt-minion existe, mais je ne connais pas l'installeur !"
10:36:46 < if (!(Test-Path $saltInstallDir))
10:36:46 < {
10:36:46 < log "le service salt-minion existe, mais pas de répertoire $saltInstallDir ==> sc delete !"
10:36:46 < CMD.EXE /C "sc delete salt-minion"
10:36:46 < }
10:36:46 < }
10:36:46 < else
10:36:46 ---
10:36:46 > verbose "Installed minion configuration"
10:36:46 > verbose ( $context | Out-String )
10:36:46 > }
10:36:46 >
10:36:46 > return $context
10:36:46 > }
10:36:46 >
10:36:46 > function getInstaller( [string] $name )
10:36:46 > {
10:36:46 > debug "getInstaller for $name"
10:36:46 > return regGetItemProperty -path "HKLM:Software\Microsoft\Windows\CurrentVersion\Uninstall\$name"
10:36:46 > }
10:36:46 >
10:36:46 > function getService( [string] $name )
10:36:46 > {
10:36:46 > debug "getService for $name"
10:36:46 > return regGetItemProperty -path "HKLM:System\CurrentControlSet\services\$name"
10:36:46 > }
10:36:46 >
10:36:46 > function unInstallMinion( [hashtable] $minion )
10:36:46 > {
10:36:46 > log "------------------------------------------"
10:36:46 > log "Uninstall minion '$($minion['version'])' with '$($minion['UninstallString'])'..."
10:36:46 >
10:36:46 > try
10:36:46 > {
10:36:46 > $minion_file = Join-Path -Path $minion["config_dir"] -childPath "minion"
10:36:46 > $minion_d = Join-Path -Path $minion["config_dir"] -childPath "minion.d"
10:36:46 >
10:36:46 > $serviceName = $minion["service"].getValue("DisplayName") -replace "[`"']",""
10:36:46 > $servicePath = $minion["service"].getValue("ImagePath") -replace "[`"']",""
10:36:46 >
10:36:46 > # Spawn uninstaller and wait for termination
10:36:46 > Start-Process -FilePath $minion["UninstallString"] -ArgumentList "/S" -Wait
10:36:46 >
10:36:46 > log "Uninstall done"
10:36:46 >
10:36:46 > if ( Test-Path $servicePath )
10:36:46 345c403,404
10:36:46 < log "le service salt-minion n'existe pas dans le registre."
10:36:46 ---
10:36:46 > log "Remove orphan service '$serviceName'"
10:36:46 > sc.exe delete $serviceName
10:36:46 346a406,413
10:36:46 >
10:36:46 > log "Clean minion configuration"
10:36:46 >
10:36:46 > log "Remove '$minion_file' file"
10:36:46 > Remove-Item -path $minion_file -ErrorAction SilentlyContinue
10:36:46 >
10:36:46 > log "Remove '$minion_d' directory"
10:36:46 > Remove-Item -recurse -path $minion_d -ErrorAction SilentlyContinue
10:36:46 348c415
10:36:46 < else
10:36:46 ---
10:36:46 > catch
10:36:46 350c417,431
10:36:46 < if ( $debug )
10:36:46 ---
10:36:46 > throw [InstallMinionUninstallException]::new(
10:36:46 > "Error during uninstall: $($PSItem.ToString())",
10:36:46 > $PSItem.Exception
10:36:46 > )
10:36:46 > }
10:36:46 > }
10:36:46 >
10:36:46 > function moveMinionDirs( [hashtable] $newMinion, [hashtable] $oldMinion )
10:36:46 > {
10:36:46 > log "------------------------------------------"
10:36:46 > log "Move '$($oldMinion['version'])' directories..."
10:36:46 >
10:36:46 > try
10:36:46 > {
10:36:46 > if ( -Not ( Test-Path $newMinion["root_dir"] ) )
10:36:46 352c433,434
10:36:46 < $installersSalt[0] | Out-Host
10:36:46 ---
10:36:46 > log "Create new installation root directory '$($newMinion['root_dir'])'"
10:36:46 > verbose ( md $newMinion["root_dir"] | Out-String )
10:36:46 354,358c436,438
10:36:46 < [string]$installedSaltVersion = $installersSalt[0].GetValue( "DisplayVersion" )
10:36:46 < [string]$uninstallMinion = $installersSalt[0].GetValue( "UninstallString" )
10:36:46 < log "installedSaltVersion = $installedSaltVersion"
10:36:46 < log "uninstallMinion = $uninstallMinion"
10:36:46 < if ( $saltVersion.startsWith($installedSaltVersion) )
10:36:46 ---
10:36:46 >
10:36:46 > log "Move '$($oldMinion['config_dir'])' to '$($newMinion['config_dir'])'"
10:36:46 > if ( Test-Path $newMinion["config_dir"] )
10:36:46 360c440,441
10:36:46 < log "la version de salt est déjà installée"
10:36:46 ---
10:36:46 > verbose "Remove '$($newMinion['config_dir'])'"
10:36:46 > Remove-Item -Recurse -Force -Path $newMinion["config_dir"]
10:36:46 362c443,446
10:36:46 < else
10:36:46 ---
10:36:46 > Move-Item -Force -Path $oldMinion["config_dir"] -Destination $newMinion["config_dir"]
10:36:46 >
10:36:46 > log "Move '$($oldMinion['var_dir'])' to '$($newMinion['var_dir'])'"
10:36:46 > if ( Test-Path $newMinion["var_dir"] )
10:36:46 364,366c448,449
10:36:46 < log "la version de salt doit être upgradée"
10:36:46 < $doUninstall = $true
10:36:46 < $doInstall = $true
10:36:46 ---
10:36:46 > verbose "Remove '$($newMinion['var_dir'])'"
10:36:46 > Remove-Item -Recurse -Force -Path $newMinion["var_dir"]
10:36:46 368c451
10:36:46 < }
10:36:46 ---
10:36:46 > Move-Item -Force -Path $oldMinion["var_dir"] -Destination $newMinion["var_dir"]
10:36:46 370,379c453
10:36:46 < if ( $doInstall )
10:36:46 < {
10:36:46 < #############################################################################
10:36:46 < # Phase 6 : téléchargemenet de l'éxécutable
10:36:46 < #############################################################################
10:36:46 < $saltMinionSetupName="Salt-Minion-$saltVersion-Setup.exe"
10:36:46 < $saltMinionSetupUrl="http://$ipSaltMaster/joineole/saltstack/$saltMinionSetupName"
10:36:46 < $saltMinionSetupFile="$env:TEMP\$saltMinionSetupName"
10:36:46 <
10:36:46 < if (!(Test-Path $saltMinionSetupFile))
10:36:46 ---
10:36:46 > if ( -Not ( Test-Path "$($oldMinion['root_dir'])\*" ) )
10:36:46 381,388c455,456
10:36:46 < log "download '$saltMinionSetupUrl' ..."
10:36:46 < $cdu = doDownload -url1 $saltMinionSetupUrl -file1 $saltMinionSetupFile
10:36:46 < if( $cdu -eq 1)
10:36:46 < {
10:36:46 < log "Impossible de télécharger '$saltMinionSetupUrl'. exit=-5"
10:36:46 < return -5
10:36:46 < }
10:36:46 < Unblock-File $saltMinionSetupFile
10:36:46 ---
10:36:46 > log "Clean old empty directory '$($oldMinion['root_dir'])'"
10:36:46 > Remove-Item $oldMinion["root_dir"]
10:36:46 390a459,465
10:36:46 > catch
10:36:46 > {
10:36:46 > throw [InstallMinionUninstallException]::new(
10:36:46 > "Can't move old directories: $($PSItem.ToString())"
10:36:46 > )
10:36:46 > }
10:36:46 > }
10:36:46 392c467,471
10:36:46 < if ( $doUninstall )
10:36:46 ---
10:36:46 > function downloadInstaller( [hashtable] $minion )
10:36:46 > {
10:36:46 > log "------------------------------------------"
10:36:46 > log "Download salt installer..."
10:36:46 > if ( Test-Path $minion["setupFile"] )
10:36:46 394,422c473,480
10:36:46 < #############################################################################
10:36:46 < # Phase 7 : uninstall du service ?
10:36:46 < #############################################################################
10:36:46 < log "uninstall $uninstallMinion..."
10:36:46 < try
10:36:46 < {
10:36:46 < # l'uninstaller démarre lance un autre exe et s'arrete tout de suite ....
10:36:46 < CMD.EXE /C "$uninstallMinion" /S
10:36:46 <
10:36:46 < # il faut donc attendre un peu
10:36:46 < $i=1
10:36:46 < Do
10:36:46 < {
10:36:46 < if ( $debug )
10:36:46 < {
10:36:46 < $installersSalt[0] | Out-Host
10:36:46 < }
10:36:46 < [string]$uninstalledSaltVersion = $installersSalt[0].GetValue( "DisplayVersion" )
10:36:46 < if ( -Not( $uninstalledSaltVersion ))
10:36:46 < {
10:36:46 < break
10:36:46 < }
10:36:46 < Write-Host "attente uninstall $i"
10:36:46 < $i++
10:36:46 < Start-Sleep -s 10
10:36:46 < }
10:36:46 < while ($i -le 10)
10:36:46 <
10:36:46 < log "uninstall done"
10:36:46 ---
10:36:46 > log "File '$($minion['setupFile'])' already downloaded"
10:36:46 > }
10:36:46 > else
10:36:46 > {
10:36:46 > doDownload -url $minion["setupUrl"] -file $minion["setupFile"]
10:36:46 > Unblock-File -Path $minion["setupFile"]
10:36:46 > }
10:36:46 > }
10:36:46 424,428c482,485
10:36:46 < log "Clean minion configuration"
10:36:46 < if ( $installedSaltVersion -gt "3004" )
10:36:46 < {
10:36:46 < logDebug "Remove $saltRootDir\conf\minion file"
10:36:46 < Remove-Item -path "$saltRootDir\conf\minion"
10:36:46 ---
10:36:46 > function installMinion( [hashtable] $minion )
10:36:46 > {
10:36:46 > log "------------------------------------------"
10:36:46 > log "Install minion with '$($minion['setupFile'])'..."
10:36:46 430,436c487
10:36:46 < logDebug "Remove $saltRootDir\conf\minion.d directory"
10:36:46 < Remove-Item -recurse -path "$saltRootDir\conf\minion.d\"
10:36:46 < }
10:36:46 < else
10:36:46 < {
10:36:46 < logDebug "Remove c:\salt\conf\minion file"
10:36:46 < Remove-Item -path "c:\salt\conf\minion"
10:36:46 ---
10:36:46 > Start-Process -FilePath $minion["setupFile"] -ArgumentList "/S /start-minion=0" -Wait
10:36:46 438,440c489
10:36:46 < logDebug "Remove c:\salt\conf\minion.d directory"
10:36:46 < Remove-Item -recurse -path "c:\salt\conf\minion.d\"
10:36:46 < }
10:36:46 ---
10:36:46 > $newMinion = getInstalledMinion
10:36:46 442,479c491,583
10:36:46 < log "Move minion configuration ?"
10:36:46 < if ( $installedSaltVersion -lt "3004" )
10:36:46 < {
10:36:46 < if ( $saltVersion -gt "3004" )
10:36:46 < {
10:36:46 < log "version actuelle $installedSaltVersion, et nouvelle $saltVersion --> déplacement conf"
10:36:46 < if ( -Not( Test-Path( $saltRootDir )) )
10:36:46 < {
10:36:46 < New-Item -Path $saltRootDir -ItemType Directory -ErrorAction SilentlyContinue
10:36:46 < }
10:36:46 < $conf = Move-Item -Path C:\salt\conf\ -Destination $saltRootDir -PassThru
10:36:46 < if ( $conf )
10:36:46 < {
10:36:46 < log "conf déplacée dans '$conf'"
10:36:46 < }
10:36:46 < else
10:36:46 < {
10:36:46 < log "ERREUR: 'conf' n'est pas déplacé !"
10:36:46 < }
10:36:46 < $var = Move-Item -Path C:\salt\var\ -Destination $saltRootDir -PassThru
10:36:46 < if ( $var )
10:36:46 < {
10:36:46 < log "var déplacé dans '$var'"
10:36:46 < }
10:36:46 < else
10:36:46 < {
10:36:46 < log "ERREUR: 'var' n'est pas déplacée !"
10:36:46 < }
10:36:46 < }
10:36:46 < else
10:36:46 < {
10:36:46 < log "version actuelle $installedSaltVersion, et nouvelle $saltVersion --> pas de déplacement conf"
10:36:46 < }
10:36:46 < }
10:36:46 < else
10:36:46 < {
10:36:46 < log "version actuelle $installedSaltVersion --> Pas de déplacement du répertoire de conf Salt"
10:36:46 < }
10:36:46 ---
10:36:46 > if ( -Not $newMinion )
10:36:46 > {
10:36:46 > throw [InstallMinionInstallException]::new(
10:36:46 > "Critical error: salt-minion service does not exist after installation."
10:36:46 > )
10:36:46 > }
10:36:46 >
10:36:46 > log "Service 'salt-minion' exists"
10:36:46 >
10:36:46 > if ( Test-Path "$($newMinion['salt_call'])" )
10:36:46 > {
10:36:46 > log "salt-call path '$($newMinion['salt_call'])'."
10:36:46 > }
10:36:46 > else
10:36:46 > {
10:36:46 > throw [InstallMinionInstallException]::new(
10:36:46 > "'$($newMinion['salt_call'])' does not exist."
10:36:46 > )
10:36:46 > }
10:36:46 >
10:36:46 > return $newMinion
10:36:46 > }
10:36:46 >
10:36:46 > function configMinion( [hashtable] $minion )
10:36:46 > {
10:36:46 > log "------------------------------------------"
10:36:46 > log "Configure salt-minion..."
10:36:46 > $grainsConfPath = Join-Path -Path $minion["config_dir"] -childPath "grains"
10:36:46 >
10:36:46 > if ( -Not ( Test-Path $grainsConfPath ) )
10:36:46 > {
10:36:46 > log "Add roles 'ad/member', 'veyon/master' and 'veyon/client'"
10:36:46 > & "$($minion['salt_call'])" --local grains.append roles '["ad/member", "veyon/master", "veyon/client"]'
10:36:46 > }
10:36:46 > else
10:36:46 > {
10:36:46 > log "salt-minion is already configured."
10:36:46 > }
10:36:46 >
10:36:46 > log "Lookup 'roles' grain"
10:36:46 > & "$($minion['salt_call'])" --local grains.get roles | Write-Host
10:36:46 >
10:36:46 > log "Read '$grainsConfPath'"
10:36:46 > log ( Get-Content "$grainsConfPath" | Out-String )
10:36:46 >
10:36:46 > $serviceName = $minion["service"].getValue("DisplayName")
10:36:46 > log "Set service to automatic startup"
10:36:46 > Set-Service -StartupType Automatic $serviceName
10:36:46 > Start-Service $serviceName
10:36:46 >
10:36:46 > log "salt-minion configured"
10:36:46 > }
10:36:46 >
10:36:46 > function doDownload( [string] $url, [string] $file )
10:36:46 > {
10:36:46 > debug "Download '$url' to '$file'"
10:36:46 >
10:36:46 > if ( Test-Path $file ) {
10:36:46 > Remove-Item -Path $file
10:36:46 > }
10:36:46 >
10:36:46 > try
10:36:46 > {
10:36:46 > $global:ProgressPreference = 'SilentlyContinue'
10:36:46 > [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
10:36:46 > $wc = New-Object Net.WebClient
10:36:46 > $wc.UseDefaultCredentials = $true
10:36:46 > $wc.Proxy = $null
10:36:46 > #$wc.Proxy.Credentials = $wc.Credentials
10:36:46 > $wc.Encoding = [System.Text.Encoding]::UTF8
10:36:46 > $wc.CachePolicy = New-Object Net.Cache.HttpRequestCachePolicy([System.Net.Cache.HttpRequestCacheLevel]::NoCacheNoStore)
10:36:46 >
10:36:46 > log "Download WebClient $url"
10:36:46 > $wc.DownloadFile($url, $file)
10:36:46 > }
10:36:46 > catch
10:36:46 > {
10:36:46 > $_ | Out-Host # Output the thread pipeline error
10:36:46 > $StatusCode = $_.Exception.Response.StatusCode.value__
10:36:46 > log "StatusCode = $StatusCode"
10:36:46 > log "ERROR: download WebClient '$url'. Stop!"
10:36:46 > }
10:36:46 >
10:36:46 > if ( -Not ( Test-Path $file ) )
10:36:46 > {
10:36:46 > # Win 7, 8, 2012 ... <= Win 10 !
10:36:46 > try
10:36:46 > {
10:36:46 > # avec DisableKeepAlive !
10:36:46 > log "Invoke-WebRequest $url"
10:36:46 > $r = Invoke-WebRequest -Uri $url -OutFile $file -Method Get -DisableKeepAlive -UseDefaultCredentials -useBasicParsing
10:36:46 > $StatusCode = $Response.StatusCode
10:36:46 > log "StatusCode = $StatusCode"
10:36:46 484,485c588,590
10:36:46 < log "ERROR: uninstall failed"
10:36:46 < return -9
10:36:46 ---
10:36:46 > $StatusCode = $_.Exception.Response.StatusCode.value__
10:36:46 > log "StatusCode = $StatusCode"
10:36:46 > log "ERROR: download Invoke-WebRequest '$url'. Stop!"
10:36:46 489c594
10:36:46 < if ( $doInstall )
10:36:46 ---
10:36:46 > if ( -Not ( Test-Path $file ) )
10:36:46 491,495c596,609
10:36:46 < #############################################################################
10:36:46 < # Phase 7 : install du service ?
10:36:46 < #############################################################################
10:36:46 < $pss = Get-Service 'salt-minion' -ErrorAction SilentlyContinue
10:36:46 < if ( $pss -eq $null )
10:36:46 ---
10:36:46 > throw [InstallMinionDownloadException]::new("Unable to download '$url'. Stop!")
10:36:46 > }
10:36:46 >
10:36:46 > log "'$file' downloaded"
10:36:46 > }
10:36:46 >
10:36:46 > function regGetItemProperty( [string] $path, [string] $value )
10:36:46 > {
10:36:46 > debug "regGetItemProperty lookup -path '$path' -value '$value'"
10:36:46 >
10:36:46 > if ( [System.Environment]::Is64BitProcess )
10:36:46 > {
10:36:46 > $regObject = regGetItemProperty64($path)
10:36:46 > if ( $regObject -eq $null )
10:36:46 497,504c611,612
10:36:46 < log "service salt-minion n'existe pas, je l'installe ..."
10:36:46 < CMD.EXE /C "$saltMinionSetupFile" /S
10:36:46 < $pss = Get-Service 'salt-minion' -ErrorAction SilentlyContinue
10:36:46 < if ( $pss -eq $null )
10:36:46 < {
10:36:46 < log "Le service salt-minion n'existe pas après l'installation. C'est une erreur grave. exit=-6"
10:36:46 < return -6
10:36:46 < }
10:36:46 ---
10:36:46 > debug "regGetItemProperty: no 64 bits native '$path', lookup in 32 bits hive"
10:36:46 > $regObject = regGetItemProperty32($path)
10:36:46 506c614,618
10:36:46 < else
10:36:46 ---
10:36:46 > }
10:36:46 > elseif ( [System.Environment]::Is64BitOperatingSystem )
10:36:46 > {
10:36:46 > $regObject = regGetItemProperty64($path)
10:36:46 > if ( $regObject -eq $null )
10:36:46 508c620,621
10:36:46 < log "service salt-minion existe !"
10:36:46 ---
10:36:46 > debug "regGetItemProperty: no WOW6432 bits '$path', lookup in 64 bits hive"
10:36:46 > $regObject = regGetItemProperty32($path)
10:36:46 509a623,627
10:36:46 > }
10:36:46 > else {
10:36:46 > debug "regGetItemProperty: 32 bits process on 32 bits system"
10:36:46 > regGetItemProperty32($path)
10:36:46 > }
10:36:46 510a629,633
10:36:46 > if ( $regObject -and $value )
10:36:46 > {
10:36:46 > $ret = $regObject.getValue($value, $null, 1)
10:36:46 > debug "regGetItemProperty: '$path' '$value' = '$ret'"
10:36:46 > return $ret
10:36:46 512,517c635,658
10:36:46 <
10:36:46 < #############################################################################
10:36:46 < # Phase 7c : check présence salt-call.bat/exe
10:36:46 < #############################################################################
10:36:46 < $saltCallPath="$saltInstallDir\salt-call.bat"
10:36:46 < if (!(Test-Path "$saltCallPath" ))
10:36:46 ---
10:36:46 > else
10:36:46 > {
10:36:46 > return $regObject
10:36:46 > }
10:36:46 > }
10:36:46 >
10:36:46 > function regGetItemProperty32( [string] $path )
10:36:46 > {
10:36:46 > $noHivePath = $path -replace '^HKLM:\\?',''
10:36:46 > $HKLM32 = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry32)
10:36:46 > return $HKLM32.OpenSubKey($noHivePath)
10:36:46 > }
10:36:46 >
10:36:46 > function regGetItemProperty64( [string] $path )
10:36:46 > {
10:36:46 > $noHivePath = $path -replace '^HKLM:\\?',''
10:36:46 > $HKLM64 = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry64)
10:36:46 > return $HKLM64.OpenSubKey($noHivePath)
10:36:46 > }
10:36:46 >
10:36:46 > function regDump( $regObject )
10:36:46 > {
10:36:46 > $object = @{}
10:36:46 > if ( $regObject -ne $null )
10:36:46 519,520c660
10:36:46 < $saltCallPath="$saltInstallDir\salt-call.exe"
10:36:46 < if (!(Test-Path "$saltCallPath" ))
10:36:46 ---
10:36:46 > foreach ( $valueName in $regObject.getValueNames() )
10:36:46 522,523c662
10:36:46 < log "Le script '$saltInstallDir\salt-call.exe/bat' n'existe pas. exit=-2"
10:36:46 < return -2
10:36:46 ---
10:36:46 > $object[$valueName] = $regObject.getValue($valueName)
10:36:46 525c664,674
10:36:46 < else
10:36:46 ---
10:36:46 > }
10:36:46 >
10:36:46 > return $object
10:36:46 > }
10:36:46 >
10:36:46 > function expandPath( [string] $path )
10:36:46 > {
10:36:46 > $expandedPath = $path
10:36:46 > foreach ( $program_files in "ProgramFiles", "ProgramFiles(x86)", "ProgramW6432" )
10:36:46 > {
10:36:46 > if ( Test-Path ( $path -replace "%ProgramFiles%",[Environment]::GetEnvironmentVariable($program_files) ) )
10:36:46 527c676
10:36:46 < log "Le script '$saltInstallDir\salt-call.exe' existe."
10:36:46 ---
10:36:46 > $expandedPath = $expandedPath -replace "%ProgramFiles%",[Environment]::GetEnvironmentVariable($program_files)
10:36:46 530c679,695
10:36:46 < else
10:36:46 ---
10:36:46 > return $expandedPath -replace "%ProgramData%",${env:ProgramData}
10:36:46 > }
10:36:46 >
10:36:46 > function getSelfPath()
10:36:46 > {
10:36:46 > if ( $PSCommandPath -ne "" ) {
10:36:46 > $psScriptPath = $PSCommandPath
10:36:46 > } else {
10:36:46 > # This enables the script to be compiles and get the directory of it.
10:36:46 > $psScriptPath = [System.Diagnostics.Process]::GetCurrentProcess().MainModule.FileName
10:36:46 > }
10:36:46 > return $psScriptPath
10:36:46 > }
10:36:46 >
10:36:46 > function sha256( $string )
10:36:46 > {
10:36:46 > if ( Test-Path($string) )
10:36:46 532c697,698
10:36:46 < log "Le script '$saltInstallDir\salt-call.bat' existe."
10:36:46 ---
10:36:46 > $hash = Get-FileHash -Algorithm SHA256 -Path $string
10:36:46 > return $hash.Hash
10:36:46 534,539c700
10:36:46 <
10:36:46 < #############################################################################
10:36:46 < # Phase 8 : configuration du minion avant re démarrage
10:36:46 < #############################################################################
10:36:46 < $startupConfPath="$saltRootDir\conf\minion.d\startup.conf"
10:36:46 < if (!(Test-Path $startupConfPath ))
10:36:46 ---
10:36:46 > else
10:36:46 541,543c702,706
10:36:46 < log "---"
10:36:46 < log "Ecriture de '$startupConfPath'"
10:36:46 < & "$saltCallPath" --local file.write "$startupConfPath" 'startup_states: hightstate'
10:36:46 ---
10:36:46 > $hasher = [System.Security.Cryptography.HashAlgorithm]::Create('sha256')
10:36:46 > $hashBytes = $hasher.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($string + "`n" -replace "`r"))
10:36:46 > return [BitConverter]::ToString($hashBytes) -replace '-',''
10:36:46 > }
10:36:46 > }
10:36:46 545,546c708,712
10:36:46 < log "Ajout des rôles ad/member, veyon/master et veyon/client"
10:36:46 < & "$saltCallPath" --local grains.append roles '["ad/member", "veyon/master", "veyon/client"]'
10:36:46 ---
10:36:46 > function setupLogging()
10:36:46 > {
10:36:46 > setDebug
10:36:46 > Start-Transcript -Path $LogFile
10:36:46 > }
10:36:46 548,554c714,718
10:36:46 < #############################################################################
10:36:46 < # Phase 9 : redémarrage
10:36:46 < #############################################################################
10:36:46 < log "stop salt-minion..."
10:36:46 < Stop-Service -Name 'salt-minion' -ErrorAction SilentlyContinue
10:36:46 < log "start salt-minion..."
10:36:46 < Restart-Service 'salt-minion' -ErrorAction SilentlyContinue
10:36:46 ---
10:36:46 > function setDebug()
10:36:46 > {
10:36:46 > if ( $DebugPreference -ne "SilentlyContinue" )
10:36:46 > {
10:36:46 > Set-PSDebug -Trace 1
10:36:46 556c720,737
10:36:46 < else
10:36:46 ---
10:36:46 > }
10:36:46 >
10:36:46 > # tips: https://stackoverflow.com/a/35260673
10:36:46 > function Set-UseUnsafeHeaderParsing
10:36:46 > {
10:36:46 > param(
10:36:46 > [Parameter(Mandatory,ParameterSetName="Enable")]
10:36:46 > [switch]$Enable,
10:36:46 >
10:36:46 > [Parameter(Mandatory,ParameterSetName="Disable")]
10:36:46 > [switch]$Disable
10:36:46 > )
10:36:46 >
10:36:46 > $ShouldEnable = $PSCmdlet.ParameterSetName -eq "Enable"
10:36:46 >
10:36:46 > $netAssembly = [Reflection.Assembly]::GetAssembly([System.Net.Configuration.SettingsSection])
10:36:46 >
10:36:46 > if ( $netAssembly )
10:36:46 558c739,753
10:36:46 < log "salt-minion est déjà configuré."
10:36:46 ---
10:36:46 > $bindingFlags = [Reflection.BindingFlags] "Static,GetProperty,NonPublic"
10:36:46 > $settingsType = $netAssembly.GetType("System.Net.Configuration.SettingsSectionInternal")
10:36:46 >
10:36:46 > $instance = $settingsType.InvokeMember("Section", $bindingFlags, $null, $null, @())
10:36:46 >
10:36:46 > if ( $instance )
10:36:46 > {
10:36:46 > $bindingFlags = "NonPublic","Instance"
10:36:46 > $useUnsafeHeaderParsingField = $settingsType.GetField("useUnsafeHeaderParsing", $bindingFlags)
10:36:46 >
10:36:46 > if ( $useUnsafeHeaderParsingField )
10:36:46 > {
10:36:46 > $useUnsafeHeaderParsingField.SetValue($instance, $ShouldEnable)
10:36:46 > }
10:36:46 > }
10:36:46 559a755
10:36:46 > }
10:36:46 561,565c757,760
10:36:46 < #############################################################################
10:36:46 < # Phase 10 : vérification
10:36:46 < #############################################################################
10:36:46 < log "Lecture de '$startupConfPath'"
10:36:46 < & "$saltCallPath" --local file.read "$startupConfPath" | Write-Host
10:36:46 ---
10:36:46 > function log {
10:36:46 > Param([string] $message)
10:36:46 > Write-Host "$logPrefix $message" @Args
10:36:46 > }
10:36:46 567,568c762,765
10:36:46 < log "Get-Content '$startupConfPath'"
10:36:46 < Get-Content "$startupConfPath" | Write-Host
10:36:46 ---
10:36:46 > function verbose {
10:36:46 > Param([string] $message)
10:36:46 > Write-Verbose -Message "$logPrefix $message" @Args
10:36:46 > }
10:36:46 570,571c767,769
10:36:46 < log "salt-minion ok"
10:36:46 < return 0
10:36:46 ---
10:36:46 > function warning {
10:36:46 > Param([string] $message)
10:36:46 > Write-Warning -Message "$logPrefix $message" @Args
10:36:46 574c772,777
10:36:46 < if ( $debug )
10:36:46 ---
10:36:46 > function debug {
10:36:46 > Param([string] $message)
10:36:46 > Write-Debug -Message "$logPrefix $message" @Args
10:36:46 > }
10:36:46 >
10:36:46 > class InstallMinionException : Exception
10:36:46 576c779,781
10:36:46 < Set-PSDebug -Trace 1
10:36:46 ---
10:36:46 > InstallMinionException() : base() {}
10:36:46 > InstallMinionException([string] $message) : base($message) {}
10:36:46 > InstallMinionException([string] $message, [Exception] $inner) : base($message, $inner) {}
10:36:46 578c783,784
10:36:46 < else
10:36:46 ---
10:36:46 >
10:36:46 > class InstallMinionNotForMeException : InstallMinionException
10:36:46 580c786,788
10:36:46 < Set-PSDebug -Trace 0
10:36:46 ---
10:36:46 > InstallMinionNotForMeException() : base() {}
10:36:46 > InstallMinionNotForMeException([string] $message) : base($message) {}
10:36:46 > InstallMinionNotForMeException([string] $message, [Exception] $inner) : base($message, $inner) {}
10:36:46 582,584c790,791
10:36:46 < Start-Transcript -Path "$env:TEMP\install-minion.log"
10:36:46 < $cdu = 255
10:36:46 < try
10:36:46 ---
10:36:46 >
10:36:46 > class InstallMinionEnvironmentException : InstallMinionException
10:36:46 586c793,795
10:36:46 < $cdu = doInstallMinion
10:36:46 ---
10:36:46 > InstallMinionEnvironmentException() : base() {}
10:36:46 > InstallMinionEnvironmentException([string] $message) : base($message) {}
10:36:46 > InstallMinionEnvironmentException([string] $message, [Exception] $inner) : base($message, $inner) {}
10:36:46 588c797,798
10:36:46 < catch
10:36:46 ---
10:36:46 >
10:36:46 > class InstallMinionConfigException : InstallMinionException
10:36:46 590c800,802
10:36:46 < $_ | Out-Host # Output the thread pipeline error
10:36:46 ---
10:36:46 > InstallMinionConfigException() : base() {}
10:36:46 > InstallMinionConfigException([string] $message) : base($message) {}
10:36:46 > InstallMinionConfigException([string] $message, [Exception] $inner) : base($message, $inner) {}
10:36:46 592c804,843
10:36:46 < finally
10:36:46 ---
10:36:46 >
10:36:46 > class InstallMinionUninstallException : InstallMinionException
10:36:46 > {
10:36:46 > InstallMinionUninstallException() : base() {}
10:36:46 > InstallMinionUninstallException([string] $message) : base($message) {}
10:36:46 > InstallMinionUninstallException([string] $message, [Exception] $inner) : base($message, $inner) {}
10:36:46 > }
10:36:46 >
10:36:46 > class InstallMinionDownloadException : InstallMinionException
10:36:46 > {
10:36:46 > InstallMinionDownloadException() : base() {}
10:36:46 > InstallMinionDownloadException([string] $message) : base($message) {}
10:36:46 > InstallMinionDownloadException([string] $message, [Exception] $inner) : base($message, $inner) {}
10:36:46 > }
10:36:46 >
10:36:46 > class InstallMinionDownloadProxyException : InstallMinionDownloadException
10:36:46 > {
10:36:46 > InstallMinionDownloadProxyException() : base() {}
10:36:46 > InstallMinionDownloadProxyException([string] $message) : base($message) {}
10:36:46 > InstallMinionDownloadProxyException([string] $message, [Exception] $inner) : base($message, $inner) {}
10:36:46 > }
10:36:46 >
10:36:46 > class InstallMinionInstallException : InstallMinionException
10:36:46 > {
10:36:46 > InstallMinionInstallException() : base() {}
10:36:46 > InstallMinionInstallException([string] $message) : base($message) {}
10:36:46 > InstallMinionInstallException([string] $message, [Exception] $inner) : base($message, $inner) {}
10:36:46 > }
10:36:46 >
10:36:46 >
10:36:46 > ####
10:36:46 > #### Execute main
10:36:46 > ####
10:36:46 > try
10:36:46 > {
10:36:46 > Push-Location
10:36:46 > Set-Location $env:TEMP
10:36:46 > main
10:36:46 > }
10:36:46 > catch [InstallMinionNotForMeException]
10:36:46 594c845,856
10:36:46 < Set-PSDebug -Trace 0
10:36:46 ---
10:36:46 > log $PSItem.ToString()
10:36:46 > exit 0
10:36:46 > }
10:36:46 > catch
10:36:46 > {
10:36:46 > log $PSItem.ToString()
10:36:46 > exit -1
10:36:46 > }
10:36:46 > finally {
10:36:46 > Pop-Location
10:36:46 > Set-PSDebug -Off
10:36:46 >
10:36:46 597d858
10:36:46 < exit $cdu
10:36:46 WARNING: Diff installMinion.ps1 / GPO installMinion.ps1
10:36:56
10:36:56 AUTOMATE : aca.dc2 'force-synchro-sysvol-dc2.sh' args=[]
10:37:22 * Force synchro dc2 pour actualiser la GPO
10:37:32 * samba-tool ntacl sysvolcheck : Ok
10:37:32 * samba_dnsupdate from DC1
10:37:32 IPs: ['192.168.0.6']
10:37:32 Looking for DNS entry A dc2.domseth.ac-test.fr 192.168.0.6 as dc2.domseth.ac-test.fr.
10:37:32 Looking for DNS entry CNAME f00c5fcd-2750-4458-896f-4756a74876d9._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr as f00c5fcd-2750-4458-896f-4756a74876d9._msdcs.domseth.ac-test.fr.
10:37:32 Looking for DNS entry NS domseth.ac-test.fr dc2.domseth.ac-test.fr as domseth.ac-test.fr.
10:37:32 Looking for DNS entry NS _msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr as _msdcs.domseth.ac-test.fr.
10:37:32 Looking for DNS entry A domseth.ac-test.fr 192.168.0.6 as domseth.ac-test.fr.
10:37:32 Looking for DNS entry SRV _ldap._tcp.domseth.ac-test.fr dc2.domseth.ac-test.fr 389 as _ldap._tcp.domseth.ac-test.fr.
10:37:32 Checking 0 100 389 dc2.domseth.ac-test.fr. against SRV _ldap._tcp.domseth.ac-test.fr dc2.domseth.ac-test.fr 389
10:37:32 Looking for DNS entry SRV _ldap._tcp.dc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 389 as _ldap._tcp.dc._msdcs.domseth.ac-test.fr.
10:37:32 Checking 0 100 389 dc2.domseth.ac-test.fr. against SRV _ldap._tcp.dc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 389
10:37:32 Looking for DNS entry SRV _ldap._tcp.874ab379-eabe-4755-a5a9-ef729e8eaa6b.domains._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 389 as _ldap._tcp.874ab379-eabe-4755-a5a9-ef729e8eaa6b.domains._msdcs.domseth.ac-test.fr.
10:37:32 Checking 0 100 389 dc2.domseth.ac-test.fr. against SRV _ldap._tcp.874ab379-eabe-4755-a5a9-ef729e8eaa6b.domains._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 389
10:37:32 Looking for DNS entry SRV _kerberos._tcp.domseth.ac-test.fr dc2.domseth.ac-test.fr 88 as _kerberos._tcp.domseth.ac-test.fr.
10:37:32 Checking 0 100 88 dc2.domseth.ac-test.fr. against SRV _kerberos._tcp.domseth.ac-test.fr dc2.domseth.ac-test.fr 88
10:37:32 Looking for DNS entry SRV _kerberos._udp.domseth.ac-test.fr dc2.domseth.ac-test.fr 88 as _kerberos._udp.domseth.ac-test.fr.
10:37:32 Checking 0 100 88 dc2.domseth.ac-test.fr. against SRV _kerberos._udp.domseth.ac-test.fr dc2.domseth.ac-test.fr 88
10:37:32 Looking for DNS entry SRV _kerberos._tcp.dc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 88 as _kerberos._tcp.dc._msdcs.domseth.ac-test.fr.
10:37:32 Checking 0 100 88 dc1.domseth.ac-test.fr. against SRV _kerberos._tcp.dc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 88
10:37:32 Checking 0 100 88 dc2.domseth.ac-test.fr. against SRV _kerberos._tcp.dc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 88
10:37:32 Looking for DNS entry SRV _kpasswd._tcp.domseth.ac-test.fr dc2.domseth.ac-test.fr 464 as _kpasswd._tcp.domseth.ac-test.fr.
10:37:32 Checking 0 100 464 dc2.domseth.ac-test.fr. against SRV _kpasswd._tcp.domseth.ac-test.fr dc2.domseth.ac-test.fr 464
10:37:32 Looking for DNS entry SRV _kpasswd._udp.domseth.ac-test.fr dc2.domseth.ac-test.fr 464 as _kpasswd._udp.domseth.ac-test.fr.
10:37:32 Checking 0 100 464 dc2.domseth.ac-test.fr. against SRV _kpasswd._udp.domseth.ac-test.fr dc2.domseth.ac-test.fr 464
10:37:32 Looking for DNS entry SRV _ldap._tcp.Default-First-Site-Name._sites.domseth.ac-test.fr dc2.domseth.ac-test.fr 389 as _ldap._tcp.Default-First-Site-Name._sites.domseth.ac-test.fr.
10:37:32 Checking 0 100 389 dc2.domseth.ac-test.fr. against SRV _ldap._tcp.Default-First-Site-Name._sites.domseth.ac-test.fr dc2.domseth.ac-test.fr 389
10:37:32 Looking for DNS entry SRV _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 389 as _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.domseth.ac-test.fr.
10:37:32 Checking 0 100 389 dc1.domseth.ac-test.fr. against SRV _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 389
10:37:32 Checking 0 100 389 dc2.domseth.ac-test.fr. against SRV _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 389
10:37:32 Looking for DNS entry SRV _kerberos._tcp.Default-First-Site-Name._sites.domseth.ac-test.fr dc2.domseth.ac-test.fr 88 as _kerberos._tcp.Default-First-Site-Name._sites.domseth.ac-test.fr.
10:37:32 Checking 0 100 88 dc2.domseth.ac-test.fr. against SRV _kerberos._tcp.Default-First-Site-Name._sites.domseth.ac-test.fr dc2.domseth.ac-test.fr 88
10:37:32 Looking for DNS entry SRV _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 88 as _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.domseth.ac-test.fr.
10:37:32 Checking 0 100 88 dc1.domseth.ac-test.fr. against SRV _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 88
10:37:32 Checking 0 100 88 dc2.domseth.ac-test.fr. against SRV _kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 88
10:37:32 Looking for DNS entry A gc._msdcs.domseth.ac-test.fr 192.168.0.6 as gc._msdcs.domseth.ac-test.fr.
10:37:32 Looking for DNS entry SRV _gc._tcp.domseth.ac-test.fr dc2.domseth.ac-test.fr 3268 as _gc._tcp.domseth.ac-test.fr.
10:37:32 Checking 0 100 3268 dc2.domseth.ac-test.fr. against SRV _gc._tcp.domseth.ac-test.fr dc2.domseth.ac-test.fr 3268
10:37:32 Looking for DNS entry SRV _ldap._tcp.gc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 3268 as _ldap._tcp.gc._msdcs.domseth.ac-test.fr.
10:37:32 Checking 0 100 3268 dc2.domseth.ac-test.fr. against SRV _ldap._tcp.gc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 3268
10:37:32 Looking for DNS entry SRV _gc._tcp.Default-First-Site-Name._sites.domseth.ac-test.fr dc2.domseth.ac-test.fr 3268 as _gc._tcp.Default-First-Site-Name._sites.domseth.ac-test.fr.
10:37:32 Checking 0 100 3268 dc2.domseth.ac-test.fr. against SRV _gc._tcp.Default-First-Site-Name._sites.domseth.ac-test.fr dc2.domseth.ac-test.fr 3268
10:37:32 Looking for DNS entry SRV _ldap._tcp.Default-First-Site-Name._sites.gc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 3268 as _ldap._tcp.Default-First-Site-Name._sites.gc._msdcs.domseth.ac-test.fr.
10:37:32 Checking 0 100 3268 dc1.domseth.ac-test.fr. against SRV _ldap._tcp.Default-First-Site-Name._sites.gc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 3268
10:37:32 Checking 0 100 3268 dc2.domseth.ac-test.fr. against SRV _ldap._tcp.Default-First-Site-Name._sites.gc._msdcs.domseth.ac-test.fr dc2.domseth.ac-test.fr 3268
10:37:32 Looking for DNS entry A DomainDnsZones.domseth.ac-test.fr 192.168.0.6 as DomainDnsZones.domseth.ac-test.fr.
10:37:32 Looking for DNS entry SRV _ldap._tcp.DomainDnsZones.domseth.ac-test.fr dc2.domseth.ac-test.fr 389 as _ldap._tcp.DomainDnsZones.domseth.ac-test.fr.
10:37:32 Checking 0 100 389 dc2.domseth.ac-test.fr. against SRV _ldap._tcp.DomainDnsZones.domseth.ac-test.fr dc2.domseth.ac-test.fr 389
10:37:32 Looking for DNS entry SRV _ldap._tcp.Default-First-Site-Name._sites.DomainDnsZones.domseth.ac-test.fr dc2.domseth.ac-test.fr 389 as _ldap._tcp.Default-First-Site-Name._sites.DomainDnsZones.domseth.ac-test.fr.
10:37:32 Checking 0 100 389 dc1.domseth.ac-test.fr. against SRV _ldap._tcp.Default-First-Site-Name._sites.DomainDnsZones.domseth.ac-test.fr dc2.domseth.ac-test.fr 389
10:37:32 Checking 0 100 389 dc2.domseth.ac-test.fr. against SRV _ldap._tcp.Default-First-Site-Name._sites.DomainDnsZones.domseth.ac-test.fr dc2.domseth.ac-test.fr 389
10:37:32 Looking for DNS entry A ForestDnsZones.domseth.ac-test.fr 192.168.0.6 as ForestDnsZones.domseth.ac-test.fr.
10:37:32 Looking for DNS entry SRV _ldap._tcp.ForestDnsZones.domseth.ac-test.fr dc2.domseth.ac-test.fr 389 as _ldap._tcp.ForestDnsZones.domseth.ac-test.fr.
10:37:32 Checking 0 100 389 dc2.domseth.ac-test.fr. against SRV _ldap._tcp.ForestDnsZones.domseth.ac-test.fr dc2.domseth.ac-test.fr 389
10:37:32 Looking for DNS entry SRV _ldap._tcp.Default-First-Site-Name._sites.ForestDnsZones.domseth.ac-test.fr dc2.domseth.ac-test.fr 389 as _ldap._tcp.Default-First-Site-Name._sites.ForestDnsZones.domseth.ac-test.fr.
10:37:32 Checking 0 100 389 dc2.domseth.ac-test.fr. against SRV _ldap._tcp.Default-First-Site-Name._sites.ForestDnsZones.domseth.ac-test.fr dc2.domseth.ac-test.fr 389
10:37:32 No DNS updates needed
10:37:32 * samba-tool drs replicate DC2 DC1
10:37:32 Replicate from DC1 to DC2 was successful.
10:37:32 Replicate from DC1 to DC2 was successful.
10:37:37 Replicate from DC1 to DC2 was successful.
10:37:37 Replicate from DC1 to DC2 was successful.
10:37:37 Replicate from DC1 to DC2 was successful.
10:37:37 * samba-tool drs showrepl
10:37:37 Default-First-Site-Name\DC2
10:37:37 DSA Options: 0x00000001
10:37:37 DSA object GUID: f00c5fcd-2750-4458-896f-4756a74876d9
10:37:37 DSA invocationId: 5a921e29-bc76-420e-81d0-2761508b832b
10:37:37 ==== INBOUND NEIGHBORS ====
10:37:37 DC=ForestDnsZones,DC=domseth,DC=ac-test,DC=fr
10:37:37 Default-First-Site-Name\DC1 via RPC
10:37:37 DSA object GUID: 72f37525-531a-40ce-9e8a-22384f9a8797
10:37:37 Last attempt @ Sat Mar 14 10:37:31 2026 CET was successful
10:37:37 0 consecutive failure(s).
10:37:37 Last success @ Sat Mar 14 10:37:31 2026 CET
10:37:37 DC=DomainDnsZones,DC=domseth,DC=ac-test,DC=fr
10:37:37 Default-First-Site-Name\DC1 via RPC
10:37:37 DSA object GUID: 72f37525-531a-40ce-9e8a-22384f9a8797
10:37:37 Last attempt @ Sat Mar 14 10:37:32 2026 CET was successful
10:37:37 0 consecutive failure(s).
10:37:37 Last success @ Sat Mar 14 10:37:32 2026 CET
10:37:37 DC=domseth,DC=ac-test,DC=fr
10:37:37 Default-First-Site-Name\DC1 via RPC
10:37:37 DSA object GUID: 72f37525-531a-40ce-9e8a-22384f9a8797
10:37:37 Last attempt @ Sat Mar 14 10:37:31 2026 CET was successful
10:37:37 0 consecutive failure(s).
10:37:37 Last success @ Sat Mar 14 10:37:31 2026 CET
10:37:37 CN=Schema,CN=Configuration,DC=domseth,DC=ac-test,DC=fr
10:37:37 Default-First-Site-Name\DC1 via RPC
10:37:37 DSA object GUID: 72f37525-531a-40ce-9e8a-22384f9a8797
10:37:37 Last attempt @ Sat Mar 14 10:37:33 2026 CET was successful
10:37:37 0 consecutive failure(s).
10:37:37 Last success @ Sat Mar 14 10:37:33 2026 CET
10:37:37 CN=Configuration,DC=domseth,DC=ac-test,DC=fr
10:37:37 Default-First-Site-Name\DC1 via RPC
10:37:37 DSA object GUID: 72f37525-531a-40ce-9e8a-22384f9a8797
10:37:37 Last attempt @ Sat Mar 14 10:37:32 2026 CET was successful
10:37:37 0 consecutive failure(s).
10:37:37 Last success @ Sat Mar 14 10:37:32 2026 CET
10:37:37 ==== OUTBOUND NEIGHBORS ====
10:37:37 DC=ForestDnsZones,DC=domseth,DC=ac-test,DC=fr
10:37:37 Default-First-Site-Name\DC1 via RPC
10:37:37 DSA object GUID: 72f37525-531a-40ce-9e8a-22384f9a8797
10:37:37 Last attempt @ NTTIME(0) was successful
10:37:37 0 consecutive failure(s).
10:37:37 Last success @ NTTIME(0)
10:37:37 DC=DomainDnsZones,DC=domseth,DC=ac-test,DC=fr
10:37:37 Default-First-Site-Name\DC1 via RPC
10:37:37 DSA object GUID: 72f37525-531a-40ce-9e8a-22384f9a8797
10:37:37 Last attempt @ NTTIME(0) was successful
10:37:37 0 consecutive failure(s).
10:37:37 Last success @ NTTIME(0)
10:37:37 DC=domseth,DC=ac-test,DC=fr
10:37:37 Default-First-Site-Name\DC1 via RPC
10:37:37 DSA object GUID: 72f37525-531a-40ce-9e8a-22384f9a8797
10:37:37 Last attempt @ NTTIME(0) was successful
10:37:37 0 consecutive failure(s).
10:37:37 Last success @ NTTIME(0)
10:37:37 CN=Schema,CN=Configuration,DC=domseth,DC=ac-test,DC=fr
10:37:37 Default-First-Site-Name\DC1 via RPC
10:37:37 DSA object GUID: 72f37525-531a-40ce-9e8a-22384f9a8797
10:37:37 Last attempt @ NTTIME(0) was successful
10:37:37 0 consecutive failure(s).
10:37:37 Last success @ NTTIME(0)
10:37:37 CN=Configuration,DC=domseth,DC=ac-test,DC=fr
10:37:37 Default-First-Site-Name\DC1 via RPC
10:37:37 DSA object GUID: 72f37525-531a-40ce-9e8a-22384f9a8797
10:37:37 Last attempt @ NTTIME(0) was successful
10:37:37 0 consecutive failure(s).
10:37:37 Last success @ NTTIME(0)
10:37:37 ==== KCC CONNECTION OBJECTS ====
10:37:37 Connection --
10:37:37 Connection name: 8e19b01f-6197-45d7-bae7-c5161dec6481
10:37:37 Enabled : TRUE
10:37:37 Server DNS name : dc1.domseth.ac-test.fr
10:37:37 Server DN name : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domseth,DC=ac-test,DC=fr
10:37:37 TransportType: RPC
10:37:37 options: 0x00000001
10:37:37 Warning: No NC replicated for Connection!
10:37:37 * samba_kcc export topology
10:37:37 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478/kcc/NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domseth,DC=ac-test,DC=fr.dot
10:37:37 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478/kcc/NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domseth,DC=ac-test,DC=fr.dot
10:37:37 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478/kcc/NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domseth,DC=ac-test,DC=fr.dot
10:37:37 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478/kcc/NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domseth,DC=ac-test,DC=fr.dot
10:37:37 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478/kcc/NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domseth,DC=ac-test,DC=fr.dot
10:37:37 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478/kcc/NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domseth,DC=ac-test,DC=fr.dot
10:37:37 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478/kcc/NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=domseth,DC=ac-test,DC=fr.dot
10:37:52
10:37:52 AUTOMATE : aca.gateway 'prepare-gateway-domseth.sh' args=[]
10:38:07 * Verification 'salt.domseth.ac-test.fr' doit être connu du Domaine
10:38:07 192.168.0.5
10:38:07 * Vérification résolution 'salt'
10:38:07 192.168.0.5
10:38:07 * Vérification du Forward de la GW vers les DC
10:38:07 192.168.0.6
10:38:07 192.168.0.5
10:38:17 Sauvegarde forcée...
10:38:17 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
10:38:17 Sauvegarde forcée...
10:38:17 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
10:38:17 FIN install-workstation : OK
10:38:17 ================================================
10:38:17 Fin Test install-workstation Duree=275s
10:38:17 Test joinad
10:38:17
10:38:17 AUTOMATE : aca.pc 'test-setdns.ps1' args=[domseth, 2.10.0]
10:38:32 Ouverture /mnt/eole-ci-tests/output/jenkins7/1679482/done/1.log
10:38:32
10:38:32 0
10:38:32 Repertoire partage Vm : Z:\output\jenkins7\1679482
10:38:32 initializeContextDomain [vmConfiguration = domseth, vmVersionMajeurCible = 2.10.0]
10:38:32 * Exception 5 : 2.10.0 DOMSETH -> pwdAdmin=Eole12345!, pwdUser=Eole12345!
10:38:32 * utilise dns=192.168.0.5 192.168.0.6, domain=domseth.ac-test.fr
10:38:32 * Disable ipV6 ! -------------------
10:38:32 Name DisplayName ComponentID Enabled
10:38:32 ---- ----------- ----------- -------
10:38:37 Ethernet 3 Protocole Internet version 6 (TCP/IPv6) ms_tcpip6 False
10:38:37 * Disable ipV6 ---------------------
10:38:37 DHCPEnabled : True
10:38:37 IPAddress : {192.168.0.154}
10:38:37 DefaultIPGateway : {192.168.0.1}
10:38:37 DNSDomain : domseth.ac-test.fr
10:38:37 ServiceName : RTL8023x64
10:38:37 Description : Realtek RTL8139C+ Fast Ethernet NIC #3
10:38:37 Index : 2
10:38:42 -------------------------------
10:38:42 Configuring Network Settings: + Realtek RTL8139C+ Fast Ethernet NIC #3
10:38:42 * Set dns to '192.168.0.5 192.168.0.6'
10:38:42 ... Success
10:38:42 - Primary DNS Domain est déjà 'domseth.ac-test.fr'
10:38:42 - Set Dynamic DNS Registration
10:38:42 - Dynamic DNS Registration est Domain='False' et Full=''
10:38:42 SetDynamicDNSRegistration ok False
10:38:47 ... Success
10:38:47 - DNS Suffix Search Order est déjà 'domseth.ac-test.fr'
10:38:47 ******************************************************
10:38:47 * si j'ai modifié les paramétres DNS --> flushdns
10:38:47 * - ipconfig /flushdns
10:38:47 Configuration IP de Windows
10:38:47 Cache de résolution DNS vidé.
10:38:47 * - ipconfig /registerdns
10:38:47 Configuration IP de Windows
10:38:47 L'inscription des enregistrements de ressource DNS pour toutes les cartes de
10:38:47 cet ordinateur a été initiée. Toute erreur sera signalée dans l'Observateur
10:38:47 d'événements dans 15 minutes.
10:38:47 ******************************************************
10:38:47 * Test Connection 'salt' OK
10:38:47 0
10:38:47 ExitCode ==> 0
10:39:02
10:39:02 AUTOMATE : aca.pc 'test-joindomain.ps1' args=[domseth, 2.10.0]
10:39:17 Ouverture /mnt/eole-ci-tests/output/jenkins7/1679482/done/2.log
10:39:17
10:39:17 0
10:39:17 Repertoire partage Vm : Z:\output\jenkins7\1679482
10:39:17 initializeContextDomain [vmConfiguration = domseth, vmVersionMajeurCible = 2.10.0]
10:39:17 * Exception 5 : 2.10.0 DOMSETH -> pwdAdmin=Eole12345!, pwdUser=Eole12345!
10:39:17 * -------------------------------
10:39:17 * -------------------------------
10:39:17 * -------------------------------
10:39:17 * JoinDomain domain=domseth.ac-test.fr, user=admin@domseth.ac-test.fr, pwd=Eole12345!
10:39:17 * Add Computer to domseth.ac-test.fr
10:39:17 * ConfirmPreference High
10:39:17 * SupportsShouldProcess
10:39:17 * ConfirmPreference lower
10:39:17 AVERTISSEMENT : Les modifications seront prises en compte après le redémarrage de l'ordinateur PC-1679482.
10:39:17 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482/NetSetup.LOG
10:39:17 * Pc join au domaine OK!
10:39:17 True
10:39:17 0
10:39:17 ExitCode ==> 0
10:39:32
10:39:32 AUTOMATE : aca.pc 'prepare-autologon.ps1' args=[domseth, 2.10.0, prof1]
10:39:47 Ouverture /mnt/eole-ci-tests/output/jenkins7/1679482/done/3.log
10:39:47
10:39:47 0
10:39:47 initializeContextDomain [vmConfiguration = domseth, vmVersionMajeurCible = 2.10.0]
10:39:47 * Exception 5 : 2.10.0 DOMSETH -> pwdAdmin=Eole12345!, pwdUser=Eole12345!
10:39:47 Autologon : AutoAdminLogon=1 DefaultDomainName=DOMSETH DefaultUsername=prof1 DefaultPassword=Eole12345!
10:39:47 ----------------------------------------------------------------------
10:39:47 cf: https://techcommunity.microsoft.com/t5/ask-the-directory-services-team/a-treatise-on-group-policy-troubleshooting-8211-now-with-gpsvc/ba-p/400304
10:39:47 prepare-autologon: prépare debug GPO pendant reboot
10:39:47 prepare-autologon: create C:\Windows\debug\usermode
10:39:52 prepare-autologon: create HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\\Diagnostics
10:39:52 prepare-autologon: Prepare GPSvcDebugLevel = 0x00030002
10:39:52 prepare-autologon: Prepare GPMgmtTraceLevel = 2
10:39:52 prepare-autologon: Prepare GPMgmtLogFileOnly = 1
10:39:52 prepare-autologon: Gci HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
10:39:52 ConsentPromptBehaviorAdmin ConsentPromptBehaviorUser DSCAutomationHostEnabled EnableCursorSuppression EnableFullTrustSt
10:39:52 artupTasks
10:39:52 -------------------------- ------------------------- ------------------------ ----------------------- -----------------
10:39:57 5 3 2 1 2
10:39:57 prepare-autologon: Prepare test EnableLinkedConnection
10:39:57 prepare-autologon: EnableLinkedConnections =
10:39:57 prepare-autologon: RESET EnableLinkedConnections = 0
10:39:57 prepare-autologon: Prepare test SyncForegroundPolicy
10:39:57 prepare-autologon: HKLM:\Software\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon manque --> OK (?)
10:39:57 prepare-autologon: Prepare test AsyncScriptDelay
10:39:57 prepare-autologon: HKLM:\Software\Policies\Microsoft\Windows\System manque --> OK (?)
10:40:02 prepare-autologon: DevicePasswordLessBuildVersion = 2
10:40:02 prepare-autologon: DevicePasswordLessBuildVersion != 0 --> RESET
10:40:02 L'utilisateur ne s'est pas encore connecté. C:\Users\prof1 n'existe pas: ok
10:40:02 Le PC n'a pas été redémarré. C:\Windows\TEMP\install-minion.log n'existe pas: ok
10:40:02 * nettoyage de tous les logs !
10:40:02 Microsoft-Windows-LiveId/Analytic ignoré
10:40:02 Microsoft-Windows-LiveId/Operational ignoré
10:40:07 * powercfg /H OFF : Impératif, sinon le service de contextulization ne serait pas lancé (car il est System).
10:40:07 Le démarrage rapide crée un 'snapshot' du démarrage système... avant de démarrer les services réseaux et autres ...
10:40:07 L'opération a réussi.
10:40:07 * fin
10:40:07 0
10:40:07 ExitCode ==> 0
10:40:22
10:40:22 doCommandeAutomate Windows !
10:40:22 AUTOMATE : Reboot Windows aca.pc
10:40:22 Reboot aca.pc
10:40:22 deleteVirtFsDirectory : /mnt/eole-ci-tests/output/jenkins7/1679482 false
10:40:52 Vm démarrée : aca.pc id=1679482 on nebula81.eole.lan
10:41:08 Sauvegarde forcée...
10:41:08 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
10:41:09 Sauvegarde forcée...
10:41:09 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
10:41:09 FIN joinad : OK
10:41:09 ================================================
10:41:09 Fin Test joinad Duree=171s
10:41:09 Test verification-gpo
10:41:09
10:41:09 pause aca.dc1 : durée=600s
10:41:09 Pause 600 secondes ...
10:51:09
10:51:09 AUTOMATE : aca.pc 'wait-event-gpo.ps1' args=[domseth, 2.10.0, prof1]
10:51:24 Ouverture /mnt/eole-ci-tests/output/jenkins7/1679482/done/1.log
10:51:24
10:51:24 0
10:51:24 Repertoire partage Vm : Z:\output\jenkins7\1679482
10:51:24 initializeContextDomain [vmConfiguration = domseth, vmVersionMajeurCible = 2.10.0]
10:51:24 * Exception 5 : 2.10.0 DOMSETH -> pwdAdmin=Eole12345!, pwdUser=Eole12345!
10:51:24 ----------------------------------------------------------------------
10:51:24 wait-event-gpo :
10:51:29 1
10:51:29 Ok dans le domaine
10:51:29 install-minion.log apparait
10:51:29 Session 'DOMSETH\prof1' ouverte
10:51:29 eole_script.log apparait
10:51:34 2
10:51:34 Ok, delay
10:51:39 3
10:51:39 Ok, delay
10:51:44 4
10:51:44 Ok, delay
10:51:49 5
10:51:49 Ok, delay
10:51:54 6
10:51:54 Ok, delay
10:51:59 7
10:51:59 Ok, delay
10:52:04 8
10:52:04 Ok, delay
10:52:09 9
10:52:09 Ok, delay
10:52:14 10
10:52:14 Ok, delay
10:52:19 11
10:52:19 Ok, delay
10:52:24 12
10:52:24 Ok, delay
10:52:29 13
10:52:29 Ok, delay
10:52:34 14
10:52:39 Ok, delay
10:52:39 15
10:52:44 Ok, delay
10:52:44 16
10:52:49 Ok, delay
10:52:49 17
10:52:54 Ok, delay
10:52:54 18
10:52:59 Ok, delay
10:52:59 19
10:53:04 Ok, delay
10:53:04 20
10:53:09 Ok, delay
10:53:09 21
10:53:14 Ok, delay
10:53:19 22
10:53:19 Ok, delay
10:53:24 23
10:53:24 Ok, delay
10:53:29 24
10:53:29 "LogonUI.exe" /flags:0x0 /state0:0xa3fa9855 /state1:0x41c64e6d
10:53:29 C:\WINDOWS\system32\DllHost.exe /Processid:{338B40F9-9D68-4B53-A793-6B9AA0C5F63B}
10:53:29 C:\WINDOWS\system32\svchost.exe -k LocalSystemNetworkRestricted -p -s NgcSvc
10:53:29 C:\WINDOWS\system32\svchost.exe -k LocalServiceNetworkRestricted -p -s NgcCtnrSvc
10:53:29 "C:\WINDOWS\system32\SearchProtocolHost.exe" Global\UsGthrFltPipeMssGthrPipe5_ Global\UsGthrCtrlFltPipeMssGthrPipe5 1 -2147483646 "Software\Microsoft\Windows Search" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT; MS Search 4.0 Robot)" "C:\ProgramData\Microsoft\Search\Data\Temp\usgthrsvc" "DownLevelDaemon"
10:53:29 "C:\WINDOWS\system32\SearchFilterHost.exe" 0 832 836 844 8192 840 816
10:53:29 "C:\WINDOWS\SystemApps\Microsoft.LockApp_cw5n1h2txyewy\LockApp.exe" -ServerName:WindowsDefaultLockScreen.AppX7y4nbzq37zn4ks9k7amqjywdat7d3j2z.mca
10:53:29 taskhostw.exe
10:53:34 C:\WINDOWS\system32\svchost.exe -k LocalService -p -s BthAvctpSvc
10:53:34 C:\WINDOWS\system32\vssvc.exe
10:53:34 C:\WINDOWS\System32\svchost.exe -k swprv
10:53:34 Ok, delay
10:53:34 25
10:53:34 C:\WINDOWS\system32\DllHost.exe /Processid:{AB8902B4-09CA-4BB6-B78D-A8F59079A8D5}
10:53:34 Ok, delay
10:53:39 26
10:53:39 C:\WINDOWS\system32\svchost.exe -k netsvcs -p -s gpsvc
10:53:39 Ok, delay
10:53:44 27
10:53:44 Ok, delay
10:53:49 28
10:53:49 Ok, delay
10:53:54 29
10:53:54 Ok, delay
10:53:59 30
10:53:59 Ok, delay
10:54:04 31
10:54:04 Ok, delay
10:54:09 32
10:54:09 Ok, delay
10:54:14 33
10:54:14 Ok, delay
10:54:19 34
10:54:19 Ok, delay
10:54:24 35
10:54:24 Ok, delay
10:54:29 36
10:54:29 Ok, delay
10:54:34 37
10:54:34 Ok, delay
10:54:39 38
10:54:39 Ok, delay
10:54:44 39
10:54:44 Ok, delay
10:54:49 40
10:54:49 Ok, delay
10:54:54 41
10:54:54 Ok, delay
10:54:59 42
10:54:59 Ok, delay
10:55:04 43
10:55:04 Ok, delay
10:55:09 44
10:55:09 Ok, delay
10:55:14 45
10:55:14 Ok, delay
10:55:19 46
10:55:19 Ok, delay
10:55:24 47
10:55:29 Ok, delay
10:55:29 48
10:55:34 Ok, delay
10:55:34 49
10:55:39 Ok, delay
10:55:39 50
10:55:44 Ok, delay
10:55:44 51
10:55:49 Ok, delay
10:55:49 52
10:55:54 Ok, sortie
10:55:54 DansDomain = True
10:55:54 InstallMinionPresent = True
10:55:54 SessionOuverte = True
10:55:54 EoleScriptLogPresent = True
10:55:54 ExitCode ==> 0
10:56:09
10:56:09 AUTOMATE : aca.pc 'check-joindomain.ps1' args=[domseth, 2.10.0, prof1]
10:56:24 Ouverture /mnt/eole-ci-tests/output/jenkins7/1679482/done/2.log
10:56:24
10:56:24 0
10:56:24 initializeContextDomain [vmConfiguration = domseth, vmVersionMajeurCible = 2.10.0]
10:56:24 * Exception 5 : 2.10.0 DOMSETH -> pwdAdmin=Eole12345!, pwdUser=Eole12345!
10:56:24 ----------------------------------------------------------------------
10:56:24 check-joindomain
10:56:24 displayJoinStatus: Get-ADComputer status
10:56:24 ----------------------------------------------------
10:56:24 Domain : domseth.ac-test.fr
10:56:24 Manufacturer : QEMU
10:56:24 Model : Standard PC (i440FX + PIIX, 1996)
10:56:24 Name : PC-1679482
10:56:24 PrimaryOwnerName : pcadmin
10:56:24 TotalPhysicalMemory : 8589393920
10:56:24 displayJoinStatus: DomainRole = Member workstation
10:56:24 displayJoinStatus: Machine dans le domaine OK
10:56:24 * Check UserName et Session ?
10:56:24 UserName : AUTORITE NT\SERVICE LOCAL
10:56:24 SessionId : 0
10:56:24 UserName : AUTORITE NT\SERVICE RÉSEAU
10:56:29 SessionId : 0
10:56:29 UserName : AUTORITE NT\Système
10:56:29 SessionId : 0
10:56:29 UserName : AUTORITE NT\Système
10:56:29 SessionId : 1
10:56:29 UserName : DOMSETH\prof1
10:56:34 SessionId : 1
10:56:34 UserName : Font Driver Host\UMFD-0
10:56:34 SessionId : 0
10:56:34 UserName : Font Driver Host\UMFD-1
10:56:34 SessionId : 1
10:56:34 UserName : PC-1679482\pcadmin
10:56:34 SessionId : 0
10:56:39 UserName : Window Manager\DWM-1
10:56:39 SessionId : 1
10:56:39 * est-ce que la session 'DOMSETH\prof1' est ouverte ?
10:56:39 * La session 'DOMSETH\prof1' est ouverte : OK
10:56:39 * C:\Windows\TEMP\install-minion.log EXISTE !
10:56:39 * C:\Users\prof1\AppData\Local\Temp\eole_script.log EXISTE !
10:56:39 ----------------------------------------------------------------------
10:56:44 check-joindomain: test AsyncScriptDelay
10:56:44 check-joindomain: AsyncScriptDelay = 0
10:56:44 check-joindomain: AsyncScriptDelay OK
10:56:44 check-joindomain: test EnableLinkedConnection
10:56:44 check-joindomain: EnableLinkedConnections = 1
10:56:44 check-joindomain: EnableLinkedConnections OK
10:56:44 ----------------------------------------------------------------------
10:56:44 check-joindomain: GPRESULT /H c:\eole\GpResult.htm /F
10:56:44 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482/GpResult.html
10:56:44 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482/GpResultUser.html
10:56:44 Warning: check-joindomain: pas de fichier gpsvc.log !
10:56:44 Warning: check-joindomain: pas de fichier gpmgmt.log !
10:56:44 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482/install-minion.log
10:56:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10:56:44 **********************
10:56:44 Début de la transcription Windows PowerShell
10:56:44 Heure de début : 20260314114103
10:56:44 Nom d'utilisateur : DOMSETH\Système
10:56:44 Utilisateur runAs : DOMSETH\Système
10:56:49 Nom de la configuration :
10:56:49 Ordinateur : PC-1679482 (Microsoft Windows NT 10.0.19045.0)
10:56:49 Application hôte : -ExecutionPolicy ByPass -File installMinion.ps1
10:56:49 ID de processus : 4832
10:56:49 PSVersion: 5.1.19041.6456
10:56:49 PSEdition: Desktop
10:56:49 PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.19041.6456
10:56:49 BuildVersion: 10.0.19041.6456
10:56:49 CLRVersion: 4.0.30319.42000
10:56:49 WSManStackVersion: 3.0
10:56:49 PSRemotingProtocolVersion: 2.3
10:56:49 SerializationVersion: 1.1.0.1
10:56:49 **********************
10:56:49 Transcription démarrée, le fichier de sortie est C:\WINDOWS\TEMP\install-minion.log
10:56:49 installMinion: ps version : 5
10:56:49 installMinion: OS Build : 19041
10:56:49 installMinion: Attention: Install Minion 2023-06-29
10:56:49 installMinion: .NetFramework release = 533325
10:56:49 installMinion: NetFramework = 4.8
10:56:49 installMinion: Check is os type ?
10:56:49 installMinion: ProductType = 1
10:56:49 installMinion: check is elevated session ?
10:56:49 installMinion: Vous êtes dans une session 'Elevated', Ok
10:56:49 installMinion: check 'salt' dns resolution ?
10:56:49 installMinion: La résolution du nom 'salt' est fonctionnelle, Ok
10:56:49 installMinion: ipSaltMaster = 192.168.0.5
10:56:49 installMinion: ---
10:56:49 installMinion: Download WebClient http://192.168.0.5/joineole/installMinion.conf
10:56:49 installMinion: 'C:\WINDOWS\TEMP\installMinion.conf' downloaded
10:56:49 installMinion: context #debug = 1
10:56:49 installMinion: context salt-version-amd64 = 3007.5-Py3-AMD64
10:56:49 installMinion: context salt-version-x86 = 3007.5-Py3-x86
10:56:49 installMinion: saltVersion= 3007.5-Py3-AMD64
10:56:49 installMinion: salt APRES 3004
10:56:49 installMinion: saltInstallDir=c:\Program Files\Salt Project\Salt
10:56:49 installMinion: saltRootDir=C:\ProgramData\Salt Project\Salt
10:56:49 installMinion: salt-minion n'est pas installé d'après Uninstall
10:56:49 installMinion: le service salt-minion n'existe pas dans le registre.
10:56:49 installMinion: download 'http://192.168.0.5/joineole/saltstack/Salt-Minion-3007.5-Py3-AMD64-Setup.exe' ...
10:56:49 installMinion: Download WebClient http://192.168.0.5/joineole/saltstack/Salt-Minion-3007.5-Py3-AMD64-Setup.exe
10:56:49 installMinion: 'C:\WINDOWS\TEMP\Salt-Minion-3007.5-Py3-AMD64-Setup.exe' downloaded
10:56:49 installMinion: service salt-minion n'existe pas, je l'installe ...
10:56:49 installMinion: Le script 'c:\Program Files\Salt Project\Salt\salt-call.exe' existe.
10:56:49 installMinion: ---
10:56:49 installMinion: Ecriture de 'C:\ProgramData\Salt Project\Salt\conf\minion.d\startup.conf'
10:56:49 installMinion: Ajout des rôles ad/member, veyon/master et veyon/client
10:56:49 installMinion: stop salt-minion...
10:56:49 installMinion: start salt-minion...
10:56:49 installMinion: Lecture de 'C:\ProgramData\Salt Project\Salt\conf\minion.d\startup.conf'
10:56:49 local:
10:56:49 startup_states: hightstate
10:56:49 installMinion: Get-Content 'C:\ProgramData\Salt Project\Salt\conf\minion.d\startup.conf'
10:56:49 startup_states: hightstate
10:56:49 installMinion: salt-minion ok
10:56:49 **********************
10:56:49 Fin de la transcription Windows PowerShell
10:56:49 Heure de fin : 20260314104206
10:56:49 **********************
10:56:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10:56:49 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482/eole_script.log
10:56:49 #########################################################################################################################
10:56:49 **********************
10:56:49 Début de la transcription Windows PowerShell
10:56:49 Heure de début : 20260314104220
10:56:49 Nom d'utilisateur : DOMSETH\prof1
10:56:49 Utilisateur runAs : DOMSETH\prof1
10:56:49 Nom de la configuration :
10:56:49 Ordinateur : PC-1679482 (Microsoft Windows NT 10.0.19045.0)
10:56:49 Application hôte : -ExecutionPolicy ByPass -File ps.ps1
10:56:49 ID de processus : 3876
10:56:49 PSVersion: 5.1.19041.6456
10:56:49 PSEdition: Desktop
10:56:49 PSCompatibleVersions: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1.19041.6456
10:56:49 BuildVersion: 10.0.19041.6456
10:56:49 CLRVersion: 4.0.30319.42000
10:56:49 WSManStackVersion: 3.0
10:56:49 PSRemotingProtocolVersion: 2.3
10:56:49 SerializationVersion: 1.1.0.1
10:56:49 **********************
10:56:49 Transcription démarrée, le fichier de sortie est C:\Users\prof1\AppData\Local\Temp\eole_script.log
10:56:49 2026-03-14 10:42:20 - <ScriptBlock> - Attention: ps-Futur.ps1
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\users\prof1.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\Vista.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\10.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\10\19045.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\Vista\users\prof1.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\10\users\prof1.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\10\19045\users\prof1.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\groups\Domain Users.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\Vista\groups\Domain Users.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\10\groups\Domain Users.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\10\19045\groups\Domain Users.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\groups\professeurs.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\Vista\groups\professeurs.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\10\groups\professeurs.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\os\10\19045\groups\professeurs.txt
10:56:49 2026-03-14 10:42:20 - read_logon_script - not found \\DC2\sysvol\DOMSETH.AC-TEST.FR\scripts\machines\PC-1679482.txt
10:56:49 **********************
10:56:49 Fin de la transcription Windows PowerShell
10:56:49 Heure de fin : 20260314104220
10:56:49 **********************
10:56:49 #########################################################################################################################
10:56:49 0
10:56:49 ExitCode ==> 0
10:57:04 Sauvegarde forcée...
10:57:04 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
10:57:04 Sauvegarde forcée...
10:57:04 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482
10:57:04 Sauvegarde forcée...
10:57:04 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
10:57:04 Sauvegarde forcée...
10:57:04 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482
10:57:04 FIN verification-gpo : OK
10:57:04 ================================================
10:57:04 Fin Test verification-gpo Duree=955s
10:57:04 Test test-saltminion
10:57:04
10:57:04 AUTOMATE : aca.dc1 'test-enregistrement-client.sh' args=[1679482]
10:57:29 Inject Salt Debug Seth
10:57:34 Accepted Keys:
10:57:34 Denied Keys:
10:57:34 Unaccepted Keys:
10:57:34 PC-1679482.domseth.ac-test.fr
10:57:34 Rejected Keys:
10:57:34 * Recherche MinionID pour id=1679482
10:57:34 minionid=PC-1679482.domseth.ac-test.fr
10:57:34 * salt-key -a PC-1679482.domseth.ac-test.fr
10:57:34 The following keys are going to be accepted:
10:57:34 Unaccepted Keys:
10:57:34 PC-1679482.domseth.ac-test.fr
10:57:34 Proceed? [n/Y] Key for minion PC-1679482.domseth.ac-test.fr accepted.
10:57:34 * salt-run state.event pretty=True
10:57:34 * ======================================================================================
10:57:34 *********************************************
10:57:34 Machine aca.dc1 2.10.0 : (py3) ciMonitor salt-run state.event pretty=True
10:57:34 MONITOR: salt-run state.event pretty=True
10:57:39 salt/auth {
10:57:39 "_stamp": "2026-03-14T09:57:35.458999",
10:57:39 "act": "accept",
10:57:39 "id": "PC-1679482.domseth.ac-test.fr",
10:57:39 "pub": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz/I0a05+AV1RI2hnrDr+\n+/NbS+dmB1e5IH86iXq0XBK4RqTOUyllFVtaw+pyfB5C8om8ocqQULLt2RviKjlP\nk5nf1kjh4WqIAw9WKf1e4F7C57NFxHKLLPTFjpwO3qNXgDT1iofFVAjWNtOrNZko\nRDW57+8csVs4inw9SrVckHhqGiF0ZAe1m+sT76uk6eQgBffqC0RWsMSDJ0ZG5KnG\n/OACtDnXpHLpWFUByHjoTpfgSn5bOVpVcDM9MuPD5009K73ewk56X7KWD5Bt7Vtx\nhN+m+Af8hoxoQ38Y7NDAGMxyorlWxT92fza5/5PeiF9lEf6OHJPyHZLdWAT2yfBG\nOwIDAQAB\n-----END PUBLIC KEY-----",
10:57:39 "result": true
10:57:39 }
10:57:39 minion/refresh/PC-1679482.domseth.ac-test.fr {
10:57:39 "Minion data cache refresh": "PC-1679482.domseth.ac-test.fr",
10:57:39 "_stamp": "2026-03-14T09:57:36.151394"
10:57:39 }
10:57:39 PID1=15269
10:57:39 15270
10:57:49 minion_start {
10:57:49 "_stamp": "2026-03-14T09:57:46.463978",
10:57:49 "cmd": "_minion_event",
10:57:49 "data": "Minion PC-1679482.domseth.ac-test.fr started at Sat Mar 14 10:57:45 2026",
10:57:49 "id": "PC-1679482.domseth.ac-test.fr",
10:57:49 "pretag": null,
10:57:49 "tag": "minion_start",
10:57:49 "ts": 1773482265
10:57:49 }
10:57:49 salt/minion/PC-1679482.domseth.ac-test.fr/start {
10:57:49 "_stamp": "2026-03-14T09:57:46.788912",
10:57:49 "cmd": "_minion_event",
10:57:49 "data": "Minion PC-1679482.domseth.ac-test.fr started at Sat Mar 14 10:57:46 2026",
10:57:49 "id": "PC-1679482.domseth.ac-test.fr",
10:57:49 "pretag": null,
10:57:49 "tag": "salt/minion/PC-1679482.domseth.ac-test.fr/start",
10:57:49 "ts": 1773482266
10:57:49 }
10:57:49 20260314095746948666 {
10:57:49 "_stamp": "2026-03-14T09:57:46.950899",
10:57:49 "minions": [
10:57:49 "PC-1679482.domseth.ac-test.fr"
10:57:49 ]
10:57:49 }
10:57:49 salt/job/20260314095746948666/new {
10:57:49 "_stamp": "2026-03-14T09:57:46.951937",
10:57:49 "arg": [],
10:57:49 "fun": "state.apply",
10:57:49 "jid": "20260314095746948666",
10:57:49 "minions": [
10:57:49 "PC-1679482.domseth.ac-test.fr"
10:57:49 ],
10:57:49 "missing": [],
10:57:49 "tgt": "PC-1679482.domseth.ac-test.fr",
10:57:49 "tgt_type": "glob",
10:57:49 "user": "root"
10:57:49 }
10:57:49 salt/job/20260314095746948666/publish {
10:57:49 "_stamp": "2026-03-14T09:57:46.953387",
10:57:49 "arg": [],
10:57:49 "fun": "state.apply",
10:57:49 "jid": "20260314095746948666",
10:57:49 "ret": "",
10:57:49 "tgt": "PC-1679482.domseth.ac-test.fr",
10:57:49 "tgt_type": "glob",
10:57:49 "user": "root"
10:57:49 }
10:57:54 salt/job/20260314095751060439/ret/PC-1679482.domseth.ac-test.fr {
10:57:54 "_stamp": "2026-03-14T09:57:51.061714",
10:57:54 "arg": [],
10:57:54 "cmd": "_return",
10:57:54 "fun": "state.highstate",
10:57:54 "fun_args": [],
10:57:54 "id": "PC-1679482.domseth.ac-test.fr",
10:57:54 "jid": "20260314095751060439",
10:57:54 "out": "highstate",
10:57:54 "retcode": 1,
10:57:54 "return": [
10:57:54 "The function \"state.apply\" is running as PID 5988 and was started at 2026, Mar 14 09:57:46.948666 with jid 20260314095746948666"
10:57:54 ],
10:57:54 "success": false,
10:57:54 "tgt": "PC-1679482.domseth.ac-test.fr",
10:57:54 "tgt_type": "glob",
10:57:54 "ts": 1773482271
10:57:54 }
10:57:54 salt/job/20260314095746948666/ret/PC-1679482.domseth.ac-test.fr {
10:57:54 "_stamp": "2026-03-14T09:57:51.080606",
10:57:54 "cmd": "_return",
10:57:54 "fun": "state.apply",
10:57:54 "fun_args": [],
10:57:54 "id": "PC-1679482.domseth.ac-test.fr",
10:57:54 "jid": "20260314095746948666",
10:57:54 "out": "highstate",
10:57:54 "retcode": 1,
10:57:54 "return": [
10:57:54 "The function \"state.highstate\" is running as PID 5540 and was started at with jid req"
10:57:54 ],
10:57:54 "success": false,
10:57:54 "ts": 1773482271,
10:57:54 "user": "root"
10:57:54 }
11:09:19 * ======================================================================================
11:09:19 * salt PC-1679482.domseth.ac-test.fr test.ping
11:09:19 20260314100918578830 {
11:09:19 "_stamp": "2026-03-14T10:09:18.581388",
11:09:19 "minions": [
11:09:19 "PC-1679482.domseth.ac-test.fr"
11:09:19 ]
11:09:19 }
11:09:19 salt/job/20260314100918578830/new {
11:09:19 "_stamp": "2026-03-14T10:09:18.582566",
11:09:19 "arg": [],
11:09:19 "fun": "test.ping",
11:09:19 "jid": "20260314100918578830",
11:09:19 "minions": [
11:09:19 "PC-1679482.domseth.ac-test.fr"
11:09:19 ],
11:09:19 "missing": [],
11:09:19 "tgt": "PC-1679482.domseth.ac-test.fr",
11:09:19 "tgt_type": "glob",
11:09:19 "user": "root"
11:09:19 }
11:09:19 salt/job/20260314100918578830/publish {
11:09:19 "_stamp": "2026-03-14T10:09:18.585194",
11:09:19 "arg": [],
11:09:19 "fun": "test.ping",
11:09:19 "jid": "20260314100918578830",
11:09:19 "ret": "",
11:09:19 "tgt": "PC-1679482.domseth.ac-test.fr",
11:09:19 "tgt_type": "glob",
11:09:19 "user": "root"
11:09:19 }
11:09:24 salt/job/20260314100918578830/ret/PC-1679482.domseth.ac-test.fr {
11:09:24 "_stamp": "2026-03-14T10:09:20.429511",
11:09:24 "cmd": "_return",
11:09:24 "fun": "test.ping",
11:09:24 "fun_args": [],
11:09:24 "id": "PC-1679482.domseth.ac-test.fr",
11:09:24 "jid": "20260314100918578830",
11:09:24 "retcode": 0,
11:09:24 "return": true,
11:09:24 "success": true,
11:09:24 "ts": 1773482960,
11:09:24 "user": "root"
11:09:24 }
11:09:24 * test.ping exit ok
11:09:24 PC-1679482.domseth.ac-test.fr:
11:09:24 True
11:09:24 * ======================================================================================
11:09:24 * salt --out=txt 'PC-1679482.domseth.ac-test.fr' grains.get os
11:09:24 20260314100921633928 {
11:09:24 "_stamp": "2026-03-14T10:09:21.636507",
11:09:24 "minions": [
11:09:24 "PC-1679482.domseth.ac-test.fr"
11:09:24 ]
11:09:24 }
11:09:24 salt/job/20260314100921633928/new {
11:09:24 "_stamp": "2026-03-14T10:09:21.638040",
11:09:24 "arg": [
11:09:24 "os"
11:09:24 ],
11:09:24 "fun": "grains.get",
11:09:24 "jid": "20260314100921633928",
11:09:24 "minions": [
11:09:24 "PC-1679482.domseth.ac-test.fr"
11:09:24 ],
11:09:24 "missing": [],
11:09:24 "tgt": "PC-1679482.domseth.ac-test.fr",
11:09:24 "tgt_type": "glob",
11:09:24 "user": "root"
11:09:24 }
11:09:24 salt/job/20260314100921633928/publish {
11:09:24 "_stamp": "2026-03-14T10:09:21.640784",
11:09:24 "arg": [
11:09:24 "os"
11:09:24 ],
11:09:24 "fun": "grains.get",
11:09:24 "jid": "20260314100921633928",
11:09:24 "ret": "",
11:09:24 "tgt": "PC-1679482.domseth.ac-test.fr",
11:09:24 "tgt_type": "glob",
11:09:24 "user": "root"
11:09:24 }
11:09:24 salt/job/20260314100921633928/ret/PC-1679482.domseth.ac-test.fr {
11:09:24 "_stamp": "2026-03-14T10:09:23.411067",
11:09:24 "cmd": "_return",
11:09:24 "fun": "grains.get",
11:09:24 "fun_args": [
11:09:24 "os"
11:09:24 ],
11:09:24 "id": "PC-1679482.domseth.ac-test.fr",
11:09:24 "jid": "20260314100921633928",
11:09:24 "retcode": 0,
11:09:24 "return": "Windows",
11:09:24 "success": true,
11:09:24 "ts": 1773482963,
11:09:24 "user": "root"
11:09:24 }
11:09:24 PC-1679482.domseth.ac-test.fr: Windows
11:09:24 * ======================================================================================
11:09:24 * salt 'PC-1679482.domseth.ac-test.fr' cmd.run 'wmic ComputerSystem get PartOfDomain'
11:09:24 20260314100924619169 {
11:09:24 "_stamp": "2026-03-14T10:09:24.621884",
11:09:24 "minions": [
11:09:24 "PC-1679482.domseth.ac-test.fr"
11:09:24 ]
11:09:24 }
11:09:24 salt/job/20260314100924619169/new {
11:09:24 "_stamp": "2026-03-14T10:09:24.623198",
11:09:24 "arg": [
11:09:24 "Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property PartOfDomain",
11:09:24 {
11:09:24 "__kwarg__": true,
11:09:24 "shell": "powershell"
11:09:24 }
11:09:24 ],
11:09:24 "fun": "cmd.run",
11:09:24 "jid": "20260314100924619169",
11:09:24 "minions": [
11:09:24 "PC-1679482.domseth.ac-test.fr"
11:09:24 ],
11:09:24 "missing": [],
11:09:24 "tgt": "PC-1679482.domseth.ac-test.fr",
11:09:24 "tgt_type": "glob",
11:09:24 "user": "root"
11:09:24 }
11:09:24 salt/job/20260314100924619169/publish {
11:09:24 "_stamp": "2026-03-14T10:09:24.626142",
11:09:24 "arg": [
11:09:24 "Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property PartOfDomain",
11:09:24 {
11:09:24 "__kwarg__": true,
11:09:24 "shell": "powershell"
11:09:24 }
11:09:24 ],
11:09:24 "fun": "cmd.run",
11:09:24 "jid": "20260314100924619169",
11:09:24 "ret": "",
11:09:24 "tgt": "PC-1679482.domseth.ac-test.fr",
11:09:24 "tgt_type": "glob",
11:09:24 "user": "root"
11:09:24 }
11:09:29 salt/job/20260314100924619169/ret/PC-1679482.domseth.ac-test.fr {
11:09:29 "_stamp": "2026-03-14T10:09:27.404689",
11:09:29 "cmd": "_return",
11:09:29 "fun": "cmd.run",
11:09:29 "fun_args": [
11:09:29 "Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property PartOfDomain",
11:09:29 {
11:09:29 "__kwarg__": true,
11:09:29 "shell": "powershell"
11:09:29 }
11:09:29 ],
11:09:29 "id": "PC-1679482.domseth.ac-test.fr",
11:09:29 "jid": "20260314100924619169",
11:09:29 "retcode": 0,
11:09:29 "return": "\r\nPartOfDomain\r\n------------\r\n True",
11:09:29 "success": true,
11:09:29 "ts": 1773482967,
11:09:29 "user": "root"
11:09:29 }
11:09:29 PC-1679482.domseth.ac-test.fr:
11:09:29 PartOfDomain
11:09:29 ------------
11:09:29 True
11:09:29 * salt-call --local --versions-report
11:09:29 Salt Version:
11:09:29 Salt: 3007.6
11:09:29 Python Version:
11:09:29 Python: 3.10.17 (main, Jul 2 2025, 22:34:57) [GCC 11.2.0]
11:09:29 Dependency Versions:
11:09:29 cffi: 1.16.0
11:09:29 cherrypy: 18.8.0
11:09:29 cryptography: 42.0.5
11:09:29 dateutil: 2.8.2
11:09:29 docker-py: Not Installed
11:09:29 gitdb: Not Installed
11:09:29 gitpython: Not Installed
11:09:29 Jinja2: 3.1.6
11:09:29 libgit2: Not Installed
11:09:29 looseversion: 1.3.0
11:09:29 M2Crypto: 0.42.0
11:09:29 Mako: Not Installed
11:09:29 msgpack: 1.0.7
11:09:29 msgpack-pure: Not Installed
11:09:29 mysql-python: Not Installed
11:09:29 packaging: 24.0
11:09:29 pycparser: 2.21
11:09:29 pycrypto: Not Installed
11:09:29 pycryptodome: 3.19.1
11:09:29 pygit2: Not Installed
11:09:29 python-gnupg: 0.5.2
11:09:29 PyYAML: 6.0.1
11:09:29 PyZMQ: 25.1.2
11:09:29 relenv: 0.19.4
11:09:29 smmap: Not Installed
11:09:29 timelib: 0.3.0
11:09:29 Tornado: 6.4.2
11:09:29 ZMQ: 4.3.4
11:09:29 Salt Package Information:
11:09:29 Package Type: onedir
11:09:29 System Versions:
11:09:29 dist: ubuntu 24.04.4 noble
11:09:29 locale: utf-8
11:09:29 machine: x86_64
11:09:29 release: 6.8.0-101-generic
11:09:29 system: Linux
11:09:29 version: Ubuntu 24.04.4 noble
11:09:44 Sauvegarde forcée...
11:09:44 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
11:09:45 Sauvegarde forcée...
11:09:45 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482
11:09:45 FIN test-saltminion : OK
11:09:45 ================================================
11:09:45 Fin Test test-saltminion Duree=760s
11:09:45 Test log-salt-minion
11:09:45
11:09:45 AUTOMATE : aca.pc 'test-connectivite.ps1' args=[domseth, 2.10.0]
11:10:00 Ouverture /mnt/eole-ci-tests/output/jenkins7/1679482/done/3.log
11:10:00
11:10:00 0
11:10:00 initializeContextDomain [vmConfiguration = domseth, vmVersionMajeurCible = 2.10.0]
11:10:00 * Exception 5 : 2.10.0 DOMSETH -> pwdAdmin=Eole12345!, pwdUser=Eole12345!
11:10:00 ******************************************************
11:10:00 * ciPingIp: ping 192.168.0.1
11:10:00 PSComputerName ResponseTime ReplyInconsistency ResolveAddressNames
11:10:05 -------------- ------------ ------------------ -------------------
11:10:05 PC-1679482 0 False False
11:10:05 PC-1679482 0 False False
11:10:05 PC-1679482 0 False False
11:10:05 ******************************************************
11:10:05 * ciPingIp: ping 192.168.0.253
11:10:05 PSComputerName ResponseTime ReplyInconsistency ResolveAddressNames
11:10:10 -------------- ------------ ------------------ -------------------
11:10:10 PC-1679482 0 False False
11:10:10 PC-1679482 0 False False
11:10:10 PC-1679482 0 False False
11:10:10 ******************************************************
11:10:10 * ciPingIp: ping 192.168.232.2
11:10:15 ******************************************************
11:10:15 * ciPingHost: ping gateway.ac-test.fr
11:10:20 PSComputerName ResponseTime ReplyInconsistency ResolveAddressNames
11:10:20 -------------- ------------ ------------------ -------------------
11:10:20 PC-1679482 0 False False
11:10:20 PC-1679482 0 False False
11:10:20 PC-1679482 0 False False
11:10:20 ******************************************************
11:10:25 * ciPingHost: ping hestia.eole.lan
11:10:35 ******************************************************
11:10:35 * ciPingHost: ping domseth.ac-test.fr
11:10:35 PSComputerName ResponseTime ReplyInconsistency ResolveAddressNames
11:10:35 -------------- ------------ ------------------ -------------------
11:10:35 PC-1679482 0 False False
11:10:35 PC-1679482 0 False False
11:10:35 PC-1679482 0 False False
11:10:40 test-connectivite: Get-NetRoute
11:10:40 test-connectivite: Resolve-DnsName domseth.ac-test.fr
11:10:40 ifIndex DestinationPrefix NextHop RouteMetric ifMetric PolicyStore
11:10:40 ------- ----------------- ------- ----------- -------- -----------
11:10:40 7 255.255.255.255/32 0.0.0.0 256 25 ActiveStore
11:10:40 1 255.255.255.255/32 0.0.0.0 256 75 ActiveStore
11:10:40 7 224.0.0.0/4 0.0.0.0 256 25 ActiveStore
11:10:40 1 224.0.0.0/4 0.0.0.0 256 75 ActiveStore
11:10:40 7 192.168.0.255/32 0.0.0.0 256 25 ActiveStore
11:10:40 7 192.168.0.154/32 0.0.0.0 256 25 ActiveStore
11:10:40 7 192.168.0.0/24 0.0.0.0 256 25 ActiveStore
11:10:40 1 127.255.255.255/32 0.0.0.0 256 75 ActiveStore
11:10:40 1 127.0.0.1/32 0.0.0.0 256 75 ActiveStore
11:10:40 1 127.0.0.0/8 0.0.0.0 256 75 ActiveStore
11:10:40 7 0.0.0.0/0 192.168.0.1 0 25 ActiveStore
11:10:40 1 ff00::/8 :: 256 75 ActiveStore
11:10:40 1 ::1/128 :: 256 75 ActiveStore
11:10:40 Name : domseth.ac-test.fr
11:10:40 QueryType : A
11:10:40 TTL : 900
11:10:40 Section : Answer
11:10:40 IP4Address : 192.168.0.5
11:10:40 Name : domseth.ac-test.fr
11:10:40 QueryType : A
11:10:40 TTL : 900
11:10:40 Section : Answer
11:10:40 IP4Address : 192.168.0.6
11:10:40 exit 0
11:10:40 0
11:10:40 ExitCode ==> 0
11:10:55
11:10:55 AUTOMATE : aca.pc 'test-salt-minion.ps1' args=[]
11:11:10 Ouverture /mnt/eole-ci-tests/output/jenkins7/1679482/done/4.log
11:11:10
11:11:10 0
11:11:10 Repertoire partage Vm : Z:\output\jenkins7\1679482
11:11:10 test-salt-minion: Test-Connection 'salt'
11:11:10 PSComputerName ResponseTime ReplyInconsistency ResolveAddressNames
11:11:10 -------------- ------------ ------------------ -------------------
11:11:10 PC-1679482 0 False False
11:11:10 PC-1679482 0 False False
11:11:10 PC-1679482 0 False False
11:11:10 PC-1679482 0 False False
11:11:10 * test-joineole-271: TempDir = 'C:\WINDOWS\TEMP\' ...
11:11:10 ATTENTION test-salt-minion.ps1: téléchargement de installMinion.conf
11:11:10 ********************************************
11:11:10 doDownload: http://salt/joineole/installMinion.conf -> C:\Users\pcadmin\AppData\Local\Temp\C:\WINDOWS\TEMP\\installMinion.conf
11:11:10 doDownload: essai DownloadFile http://salt/joineole/installMinion.conf dans C:\WINDOWS\TEMP\\installMinion.conf
11:11:10 doDownload: essai avec Invoke-WebRequest http://salt/joineole/installMinion.conf
11:11:10 doDownload: StatusCode =
11:11:10 doDownload: Impossible de downloader 'http://salt/joineole/installMinion.conf'. Stop!
11:11:10 1
11:11:10 ********************************************
11:11:10 #debug=1
11:11:15 salt-version-amd64=3007.5-Py3-AMD64
11:11:15 salt-version-x86=3007.5-Py3-x86
11:11:15 context #debug = 1
11:11:15 context salt-version-amd64 = 3007.5-Py3-AMD64
11:11:15 context salt-version-x86 = 3007.5-Py3-x86
11:11:15 saltVersion= 3007.5-Py3-AMD64
11:11:15 saltRootDir=C:\ProgramData\Salt Project\Salt
11:11:15 Répertoire : C:\ProgramData\Salt Project\Salt
11:11:15 Mode LastWriteTime Length Name
11:11:15 ---- ------------- ------ ----
11:11:15 d----- 14/03/2026 10:41 conf
11:11:15 d----- 14/03/2026 10:41 var
11:11:15 saltInstallDir=c:\Program Files\Salt Project\Salt
11:11:15 Répertoire : C:\Program Files\Salt Project\Salt
11:11:15 Mode LastWriteTime Length Name
11:11:15 ---- ------------- ------ ----
11:11:15 d----- 14/03/2026 11:41 DLLs
11:11:15 d----- 14/03/2026 10:41 extras-3.10
11:11:15 d----- 14/03/2026 11:41 Include
11:11:15 d----- 14/03/2026 10:41 Lib
11:11:15 d----- 14/03/2026 10:41 libs
11:11:15 d----- 14/03/2026 10:41 Scripts
11:11:15 -a---- 26/06/2025 20:15 204 multi-minion.cmd
11:11:15 -a---- 26/06/2025 20:15 13419 multi-minion.ps1
11:11:15 -a---- 26/06/2025 20:15 108391 salt-call.exe
11:11:15 -a---- 26/06/2025 20:15 108387 salt-cp.exe
11:11:15 -a---- 26/06/2025 20:15 108395 salt-minion.exe
11:11:15 -a---- 26/06/2025 20:15 108389 salt-pip.exe
11:11:15 -a---- 26/06/2025 20:15 140240 salt.ico
11:11:15 -a---- 26/06/2025 20:15 545432 ssm.exe
11:11:15 -a---- 14/03/2026 10:41 199380 uninst.exe
11:11:15 Le script 'c:\Program Files\Salt Project\Salt\salt-call.exe' existe.
11:11:15 test-salt-minion: c:\Program Files\Salt Project\Salt\salt-call.exe --version (avec PATH !)
11:11:15 salt-call 3007.5 (Chlorine)
11:11:15 * salt call version : salt-call 3007.5 (Chlorine)
11:11:15 Version Salt : 'salt-call 3007.5 (Chlorine)', attendue '3007.5-Py3-AMD64'
11:11:15 * salt-call --local --versions-report
11:11:15 Salt Version:
11:11:15 Salt: 3007.5
11:11:15 Python Version:
11:11:15 Python: 3.10.17 (heads/main:8bbacbe, Jun 9 2025, 20:41:47) [MSC v.1943 64 bit (AMD64)]
11:11:15 Dependency Versions:
11:11:15 cffi: 1.16.0
11:11:15 cherrypy: 18.8.0
11:11:15 cryptography: 42.0.5
11:11:15 dateutil: 2.8.2
11:11:15 docker-py: Not Installed
11:11:15 gitdb: 4.0.10
11:11:15 gitpython: Not Installed
11:11:15 Jinja2: 3.1.6
11:11:15 libgit2: Not Installed
11:11:15 looseversion: 1.3.0
11:11:15 M2Crypto: Not Installed
11:11:15 Mako: Not Installed
11:11:15 msgpack: 1.0.7
11:11:15 msgpack-pure: Not Installed
11:11:15 mysql-python: Not Installed
11:11:15 packaging: 24.0
11:11:15 pycparser: 2.21
11:11:15 pycrypto: Not Installed
11:11:15 pycryptodome: 3.19.1
11:11:15 pygit2: Not Installed
11:11:15 python-gnupg: 0.5.2
11:11:15 PyYAML: 6.0.1
11:11:15 PyZMQ: 25.1.2
11:11:15 relenv: 0.19.3
11:11:15 smmap: 5.0.1
11:11:15 timelib: 0.3.0
11:11:15 Tornado: 6.4.2
11:11:15 ZMQ: 4.3.4
11:11:15 Salt Package Information:
11:11:15 Package Type: onedir
11:11:15 System Versions:
11:11:15 dist:
11:11:15 locale: utf-8
11:11:15 machine: AMD64
11:11:15 release: 10
11:11:15 system: Windows
11:11:15 version: 10 10.0.19045 SP0 Multiprocessor Free
11:11:15 test-salt-minion: get log
11:11:15 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482/salt_minion.log
11:11:15 displayJoinStatus
11:11:15 displayJoinStatus: Get-ADComputer status
11:11:15 ----------------------------------------------------
11:11:15 Domain : domseth.ac-test.fr
11:11:15 Manufacturer : QEMU
11:11:15 Model : Standard PC (i440FX + PIIX, 1996)
11:11:15 Name : PC-1679482
11:11:15 PrimaryOwnerName : pcadmin
11:11:15 TotalPhysicalMemory : 8589393920
11:11:15 displayJoinStatus: DomainRole = Member workstation
11:11:15 displayJoinStatus: Machine dans le domaine OK
11:11:15 test-salt-minion: fin
11:11:15 0
11:11:15 ExitCode ==> 0
11:11:30 Sauvegarde forcée...
11:11:30 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
11:11:30 Sauvegarde forcée...
11:11:30 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482
11:11:30 Sauvegarde forcée...
11:11:30 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
11:11:30 Sauvegarde forcée...
11:11:30 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482
11:11:30 FIN log-salt-minion : OK
11:11:30 ================================================
11:11:30 Fin Test log-salt-minion Duree=105s
11:11:30 Test log-salt-minion
11:11:30
11:11:30 doCommandeAutomate Windows !
11:11:30 pause aca.pc : durée=120s
11:11:30 Pause 120 secondes ...
11:13:30
11:13:30 AUTOMATE : aca.pc 'test-veyon.ps1' args=[domseth, 2.10.0]
11:13:45 Ouverture /mnt/eole-ci-tests/output/jenkins7/1679482/done/5.log
11:13:45
11:13:45 0
11:13:45 Repertoire partage Vm : Z:\output\jenkins7\1679482
11:13:45 initializeContextDomain [vmConfiguration = domseth, vmVersionMajeurCible = 2.10.0]
11:13:45 * Exception 5 : 2.10.0 DOMSETH -> pwdAdmin=Eole12345!, pwdUser=Eole12345!
11:13:45 ERREUR: test-veyon: VEYON n'est pas installé !
11:13:45 test-salt-minion: fin
11:13:45 ExitCode ==> 1
11:14:00 monitorReponse: Execution commande en erreur, exit=1
11:14:00 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc1-1679476
11:14:00 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/gateway-mensr-1676056
11:14:00 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
11:14:00 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.eolecitests-1676062
11:14:01 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482
11:14:01 ================================================
11:14:01 Fin Test log-salt-minion Duree=150s
11:14:01 Test sauvegarde
11:14:01
11:14:01 doCommandeAutomate Windows !
11:14:01 screenshot aca.pc
11:14:01 ScreenshotDirect /mnt/eole-ci-tests/output/jenkins7/1679482/screenshot.png
11:14:03 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482/screenshot.png
11:14:03
11:14:03 AUTOMATE : aca.pc 'sauvegarde-logs.ps1' args=[]
11:14:18 Ouverture /mnt/eole-ci-tests/output/jenkins7/1679482/done/6.log
11:14:18
11:14:18 0
11:14:18 test-veyon: TempDir = 'C:\Users\pcadmin\AppData\Local\Temp\' ...
11:14:18 sauvegarde-logs: copye logs
11:14:18 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482/aria-debug-1128.log
11:14:18 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482/cv_debug.log
11:14:18 Dans URL : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482/Microsoft-Windows-GroupPolicy.log
11:14:18 sauvegarde-logs: fin
11:14:18 0
11:14:18 ExitCode ==> 0
11:14:33 Sauvegarde forcée...
11:14:33 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
11:14:33 Sauvegarde forcée...
11:14:33 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482
11:14:33 Sauvegarde forcée...
11:14:33 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.dc2-1679478
11:14:33 Sauvegarde forcée...
11:14:33 Sauvegarde dans : https://dev-eole.ac-dijon.fr/jenkins/job/2.10.0/job/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/ws/ws/aca.pc-1679482
11:14:33 FIN sauvegarde : OK
11:14:33 ================================================
11:14:33 Fin Test sauvegarde Duree=32s
11:14:33 ======== stage: shutdown
11:14:33 Pas de 'tearDown:' pour aca-dc1-joindomain-win10-prev
11:14:33 AUTOMATE : ShutdownHard aca.pc
11:14:33 deleteVirtFsDirectory : /mnt/eole-ci-tests/output/jenkins7/1679482 true
11:14:34 Suppresion VM : aca.pc 1679482
11:14:44 Attente Etat 'DONE/LCM_INIT' (50) : . ==> Ok, Duree=0s
11:14:44 AUTOMATE : Shutdown aca.dc2
11:14:44 poweroff VM aca.dc2 state=ACTIVE/RUNNING timeout=1440
11:14:54 Attente Etat 'POWEROFF/LCM_INIT' (1440) : ACTIVE/SHUTDOWN_POWEROFF POWEROFF/LCM_INIT ==> Ok, Duree=4s
11:14:58 Suppresion VM : aca.dc2 1679478
11:15:08 Attente Etat 'DONE/LCM_INIT' (50) : . ==> Ok, Duree=0s
11:15:08 AUTOMATE : Shutdown aca.dc1
11:15:08 poweroff VM aca.dc1 state=ACTIVE/RUNNING timeout=1440
11:15:18 Attente Etat 'POWEROFF/LCM_INIT' (1440) : . ==> Ok, Duree=0s
11:15:19 Suppresion VM : aca.dc1 1679476
11:15:29 Attente Etat 'DONE/LCM_INIT' (50) : . ==> Ok, Duree=0s
11:15:29 ======== stage: clean
11:15:29 Suppresion VM : aca.dc2 1679478
11:15:29 deleteVirtFsDirectory : /mnt/eole-ci-tests/output/jenkins7/1679478 true
11:15:29 Suppresion VM : aca.dc1 1679476
11:15:29 deleteVirtFsDirectory : /mnt/eole-ci-tests/output/jenkins7/1679476 true
11:15:29 Fin Test: aca-dc1-joindomain-win10-prev version:2.10.0 architecture:amd64 stage:[clean, startvms, tests, shutdown, clean] Duree=3016s
11:15:29 aca-dc1-joindomain-win10-prev FAILED
11:15:29 Erreur FAILED à 2026/03/14 11:15:29
11:15:29 nettoyage : /home/jenkins/workspace/2.10.0/test-aca-dc1-joindomain-win10-prev-2.10.0-amd64/224
11:15:29 Build step 'Exécuter un script shell' marked build as failure
11:15:29 Archiving artifacts
11:15:30 Sending e-mails to: jenkins@listeseole.ac-dijon.fr
11:15:30 Started calculate disk usage of build
11:15:30 Finished Calculation of disk usage of build in 0 seconds
11:15:30 Started calculate disk usage of workspace
11:15:30 Finished Calculation of disk usage of workspace in 0 seconds
11:15:30 Finished: FAILURE