MigrationAD » Historique » Version 36
Version 35 (Joël Cuissinat, 19/06/2018 11:02) → Version 36/37 (Joël Cuissinat, 20/06/2018 10:21)
h1. Migration de ScribeNT vers ScribeAD
{{>toc}}
h1. Scénarios issus de la réunion du 05/06/2018 (#24138)
Situation initiale : ScribeNT + postes intégrés + client Scribe
Cible : ScribeAD + postes intégrés + client Salt
h3. Cinématique 1
* transformer le module Scribe en ScribeAD
* déployer les minions via le client Scribe (sans le domaine NT)
* nettoyer les postes et les intégrer au domaine AD
h3. Cinématique 2 (plan B)
* déployer les minions via le client Scribe
* transformer le module Scribe en ScribeAD
* nettoyer les postes et les intégrer au domaine AD
h3. Points d'attention
* Conflit entre Salt-master et EAD3
* Gestion du déployement ou de l'acceptation des clés des minions
* Action instantanée et/ou différée (au démarrage des postes)
* Points d'étape : afficher le nombre/la liste des postes et leur état de migration
* vérifier/forcer la configuration DNS des clients avant intégration
* prévoir de fournir un script/programme pour les futures installations
h1. Déploiement du Minion
h2. Déploiement avec les outils "Client Scribe"
L'utilisation du client Scribe permet d'envisager plusieurs pistes différentes.
La problématique de la diffusion/du téléchargement de l'installeur est au moins aussi complexe que celle de son exécution.
h3. Exécution de l'installeur à l'aide du client Scribe
Du fait de l'utilisation du partage "netlogon", le test suivant correspondrait plutôt au plan B...
<pre>
root@scribe:~# wget https://repo.saltstack.com/windows/Salt-Minion-2018.3.0-Py3-AMD64-Setup.exe -O /home/netlogon/minion.exe
root@scribe:~# /usr/share/eole/controlevnc/cliscribe.py -e '\\192.168.0.26\netlogon\minion.exe /S /master=192.168.0.26' 192.168.0.183
</pre>
=> accès refusé car le partage n'est pas accessible dans l'environnement Système !
Après copie *manuelle* du programme d'installation dans C:\, la commande suivante permet bien d'installer le Minion :
<pre>
/usr/share/eole/controlevnc/cliscribe.py -e 'C:\minion.exe /S /master=192.168.0.26' 192.168.0.183
</pre>
h3. Utilisation du serveur web du client Scribe
Il est possible d'utiliser le serveur web du client Scribe qui publie les fichiers présents dans le dossier */home/client_scribe* en HTTP sur le port 8790.
<pre>
wget https://repo.saltstack.com/windows/Salt-Minion-2018.3.0-Py3-AMD64-Setup.exe -O /home/client_scribe
</pre>
Dans ce test, on télécharge puis exécute le script PS @install-minion.ps1@ qui va lui même télécharger et exécuter l'installeur du minion :
<pre>
cat /home/client_scribe/install-minion.ps1
Set-ExecutionPolicy Bypass -Scope Process -Force
Set-Location $env:TEMP
Set-PSDebug -Trace 1
((new-object net.webclient).DownloadFile('http://scribe:8790/minion.exe', 'minion.exe'))
Get-ChildeItem $env:TEMP
minion.exe /S /master=192.168.0.26
</pre>
Commande à exécuter sous Windows :
<pre>
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('http://scribe:8790/install-minion.ps1'))
</pre>
Commande à exécuter sur le Scribe :
<pre>
cmd="c:\windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command \"iex ((New-Object System.Net.WebClient).DownloadString('http://scribe:8790/install-minion.ps1'))\""
/usr/share/eole/controlevnc/cliscribe.py -e "$cmd" 192.168.0.183
</pre>
h3. Suppression du script PowerShell intermédiaire en le remplaçant par une chaîne en base64
Il est possible d'envoyer la ou les commandes PS encodées en base64 à l'aide de l'option @-EncodedCommand@
ATTENTION : Il faut au préalable que le fichier créé sous Linux soit dans un "bon" format !
<pre>
iconv -f UTF-8 -t UTF-16LE <install-minion.ps1 >install-minion.ps2
</pre>
Cela nous a fait parvenir à une première version de script assez complète :
<pre><code class="groovy">
#!/bin/bash
IP_SCRIBE="${1}"
echo IP_SCRIBE=$IP_SCRIBE
IP_MACHINE="${2}"
echo IP_MACHINE=$IP_MACHINE
VERSION_MINION="${3:-2018.3.1-Py3}"
echo VERSION_MINION=$VERSION_MINION
iconv -f UTF-8 -t UTF-16LE >install-minion.ps1 <<EOF
Set-ExecutionPolicy Bypass -Scope Process -Force
Start-Transcript -Path "C:\\windows\\install-minion.log" -Append
Write-Host '$(date)'
Set-Location \$env:TEMP
Set-PSDebug -Trace 1
\$url = "https://repo.saltstack.com/windows/Salt-Minion-${VERSION_MINION}-\$env:PROCESSOR_ARCHITECTURE-Setup.exe"
\$output = "\$env:TEMP\minion.exe"
Write-Host "Download \$url"
\$wc = New-Object System.Net.WebClient
\$wc.DownloadFile(\$url, \$output)
If ([Environment]::OSVersion.Version.Major -gt 6)
{
Unblock-File \$output
}
Write-Host "Install Salt-Minion from \$output"
CMD.Exe /C "\$output" /S /master=$IP_SCRIBE
Write-Host "LastExitCode : \$LastExitCode"
Stop-Transcript
EOF
cat install-minion.ps1
cmd="c:\windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -InputFormat None -ExecutionPolicy Bypass -EncodedCommand $(base64 -w 0 install-minion.ps1)"
/usr/share/eole/controlevnc/cliscribe.py -e "$cmd" "$IP_MACHINE"
</code></pre>
NB : Exemple d'appel du script actuel @./install-minion-scribe.sh 192.168.0.26 192.168.0.183@
Évolutions à prévoir :
* Téléchargement au préalable des exécutables sur le Scribe pour éviter que les stations ailles chacune le télécharger sur Internet
h3. Test de la procédure sous Windows7
Sur Windows 7, PowerShell est en version 2.0, il faut vérifier que le code proposé est fonctionnel sur cette version.
<pre>
PS C:\> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
2 0 -1 -1
</pre>
La commande *Unblock-File* n'est disponible qu'à partir de Powershell 3.0 mais malgré l'erreur, Salt-Minion a été installé !
Mais, il est possible d'obtenir et de tester la version de Windows de plusieurs manières...
<pre>
[Environment]::OSVersion.Version
</pre>
<pre>
gwmi win32_operatingsystem
</pre>
h2. Déploiement après transformation du Scribe en ScribeAD
Contexte : deux stations (10 et 7) intégrées au domaine Scribe.
h3. Passage en ScribeAD
<pre>
root@scribe:~# apt-eole install scribe-ad
[ ... ]
root@scribe:~# CreoleSet ad_public_address 192.168.0.30
root@scribe:~# instance
[ ... ]
</pre>
h3. Installation de Salt via le client Scribe
<pre>
root@scribe:~# ./install-minion-scribe.sh 192.168.0.26 192.168.0.183
[ ... ]
root@scribe:~# ./install-minion-scribe.sh 192.168.0.26 192.168.0.181
[ ... ]
</pre>
Peu de temps après, les minions se manifestaient :
<pre>
root@scribe:~# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
PC-124784.ac-test.fr
PCWIN7.ac-test.fr
Rejected Keys:
</pre>
h3. Gestion du Timeout
Après acceptation des clés, le basique "test.ping" était en échec :
<pre>
root@scribe:~# salt *.ac-test.fr test.ping
PCWIN7.ac-test.fr:
Minion did not return. [No response]
PC-124784.ac-test.fr:
Minion did not return. [No response]
</pre>
=> il faut augmenter le timout et/ou utiliser systématiquement le *mode asynchrone* !
<pre>
root@scribe:~# salt -t30 *.ac-test.fr test.ping
PCWIN7.ac-test.fr:
True
PC-124784.ac-test.fr:
True
</pre>
h2. Autres pistes
h3. Installeur du client Scribe
Créer une nouvelle version du client Scribe embarquant l'installeur Salt Minion et mettre à jour le numéro de version officielle.
La nouvelle version du client (et donc salt) sera automatiquement installée grâce au service de maj du client.
h3. Commande psexec
"psexec":http://www.tutos.eu/?n=7963 pourrait être utilisé pour exécuter l'installation du minion à distance depuis une station.
h2. Trucs et astuces
h3. Process Explorer (procexp)
Process Explorer permet de surveiller l'activité des processus en cours d'utilisation par le système.
Cet outil peut être très utile pour savoir ce qu'il se passe sur le poste client surtout que le client Scribe exécute les commandes "à l'aveugle".
h3. Débogage du Minion sous Windows
Le script suivant permet d'arrêter le service et de lancer le Minion en mode débogage :
<pre>
C:\salt\salt-minion-debug.bat
</pre>
Par défaut, le log console n'est pas horodaté, nous avons du éditer le fichier de configuration du minion afin de modifier le paramètre : *log_fmt_console*
h1. Jonction au domaine et gestion des clients
h2. Jonction au domaine
h3. Modification forcée du DNS
*ATTENTION* : Les commandes salt utilisées nécessitent d'abord de connaître le nom de l'interface (ici : "Ethernet", la valeur par défaut étant "Local Area Connection") et elles n'ont pas fonctionné avec mon Windows 7 (traceback) :
<pre>
root@scribe:~# salt -t30 PC-124784.ac-test.fr network.get_route 192.168.0.30
PC-124784.ac-test.fr:
----------
destination:
192.168.0.30
gateway:
0.0.0.0
interface:
Ethernet
source:
192.168.0.183
root@scribe:~# salt -t30 PC-124784.ac-test.fr win_dns_client.add_dns 192.168.0.30 "Ethernet"
PC-124784.ac-test.fr:
True
</pre>
Un code powershell plus fiable est disponible dans : https://dev-eole.ac-dijon.fr/projects/eole-ci-tests/repository/revisions/master/entry/scripts/windows/EoleCiTestContext.ps1#L996
h3. Jonction au domaine "forcée"
<pre>
root@scribe:~# salt -t120 PC-124784.ac-test.fr system.join_domain domain='ac-test.fr' username='admin' password='eole' account_exists=False restart=True
PC-124784.ac-test.fr:
----------
Domain:
ac-test.fr
Restart:
True
</pre>
h3. Désinstallation du client Scribe
Fichiers "unins00X" présents dans C:\Windows\Eole.
Un code powershell complet de désinstallation du client est visible dans : https://dev-eole.ac-dijon.fr/projects/eole-ci-tests/repository/revisions/master/entry/tests/etablissement/test-joineole.ps1#L61
h1. Accompagnement et suivi du déploiement
h2. Liste des stations connues du domaine NT
h3. Interroger le client Scribe
Le script */usr/share/eole/controlevnc/manage_stations.py* permet d'obtenir la liste de toutes les stations.
L'option @--list-all@ permet, par exemple de lister toutes les machines du domaine
<pre>
root@scribe:~# /usr/share/eole/controlevnc/manage_stations.py | sed s'/;/\n/'g
192.168.0.183, pc-125292, admin
192.168.0.186, ,
192.168.0.181, pcwin7, admin
</pre>
h3. Interroger l'annuaire via smbldap-tools
<pre>
root@scribe:/home/client_scribe# smbldap-userlist -m
uid |username
10066 |pc-125292$ |
10067 |pcwin7$
</pre>
h3. Interroger directement l'annuaire
<pre>
root@scribe:/home/client_scribe# ldapsearch -x "(sambaAcctFlags=[W ])" cn | grep ^cn:
cn: pc-125292$
cn: pcwin7$
</pre>
h2. Liste des stations avec Salt-Minion installé
La commande *salt-key* permet de connaître la liste des Minons enregistrés ou en attente d'enregistrement.
<pre>
root@scribe:~# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
PC-124784.ac-test.fr
PCWIN7.ac-test.fr
Rejected Keys:
</pre>
TODO : définir la stratégie de déploiement/d'acceptation des clés
h2. Liste des stations intégrées au domaine AD
<pre>
root@scribe:~# ssh addc "ldbsearch -H /var/lib/samba/private/sam.ldb -S FIXME : '(objectclass=Computer)' sAMAccountName | grep ^sAMAccountName"
sAMAccountName: ADDC$
sAMAccountName: scribe$
sAMAccountName: PC-125292$
</pre>
{{>toc}}
h1. Scénarios issus de la réunion du 05/06/2018 (#24138)
Situation initiale : ScribeNT + postes intégrés + client Scribe
Cible : ScribeAD + postes intégrés + client Salt
h3. Cinématique 1
* transformer le module Scribe en ScribeAD
* déployer les minions via le client Scribe (sans le domaine NT)
* nettoyer les postes et les intégrer au domaine AD
h3. Cinématique 2 (plan B)
* déployer les minions via le client Scribe
* transformer le module Scribe en ScribeAD
* nettoyer les postes et les intégrer au domaine AD
h3. Points d'attention
* Conflit entre Salt-master et EAD3
* Gestion du déployement ou de l'acceptation des clés des minions
* Action instantanée et/ou différée (au démarrage des postes)
* Points d'étape : afficher le nombre/la liste des postes et leur état de migration
* vérifier/forcer la configuration DNS des clients avant intégration
* prévoir de fournir un script/programme pour les futures installations
h1. Déploiement du Minion
h2. Déploiement avec les outils "Client Scribe"
L'utilisation du client Scribe permet d'envisager plusieurs pistes différentes.
La problématique de la diffusion/du téléchargement de l'installeur est au moins aussi complexe que celle de son exécution.
h3. Exécution de l'installeur à l'aide du client Scribe
Du fait de l'utilisation du partage "netlogon", le test suivant correspondrait plutôt au plan B...
<pre>
root@scribe:~# wget https://repo.saltstack.com/windows/Salt-Minion-2018.3.0-Py3-AMD64-Setup.exe -O /home/netlogon/minion.exe
root@scribe:~# /usr/share/eole/controlevnc/cliscribe.py -e '\\192.168.0.26\netlogon\minion.exe /S /master=192.168.0.26' 192.168.0.183
</pre>
=> accès refusé car le partage n'est pas accessible dans l'environnement Système !
Après copie *manuelle* du programme d'installation dans C:\, la commande suivante permet bien d'installer le Minion :
<pre>
/usr/share/eole/controlevnc/cliscribe.py -e 'C:\minion.exe /S /master=192.168.0.26' 192.168.0.183
</pre>
h3. Utilisation du serveur web du client Scribe
Il est possible d'utiliser le serveur web du client Scribe qui publie les fichiers présents dans le dossier */home/client_scribe* en HTTP sur le port 8790.
<pre>
wget https://repo.saltstack.com/windows/Salt-Minion-2018.3.0-Py3-AMD64-Setup.exe -O /home/client_scribe
</pre>
Dans ce test, on télécharge puis exécute le script PS @install-minion.ps1@ qui va lui même télécharger et exécuter l'installeur du minion :
<pre>
cat /home/client_scribe/install-minion.ps1
Set-ExecutionPolicy Bypass -Scope Process -Force
Set-Location $env:TEMP
Set-PSDebug -Trace 1
((new-object net.webclient).DownloadFile('http://scribe:8790/minion.exe', 'minion.exe'))
Get-ChildeItem $env:TEMP
minion.exe /S /master=192.168.0.26
</pre>
Commande à exécuter sous Windows :
<pre>
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('http://scribe:8790/install-minion.ps1'))
</pre>
Commande à exécuter sur le Scribe :
<pre>
cmd="c:\windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command \"iex ((New-Object System.Net.WebClient).DownloadString('http://scribe:8790/install-minion.ps1'))\""
/usr/share/eole/controlevnc/cliscribe.py -e "$cmd" 192.168.0.183
</pre>
h3. Suppression du script PowerShell intermédiaire en le remplaçant par une chaîne en base64
Il est possible d'envoyer la ou les commandes PS encodées en base64 à l'aide de l'option @-EncodedCommand@
ATTENTION : Il faut au préalable que le fichier créé sous Linux soit dans un "bon" format !
<pre>
iconv -f UTF-8 -t UTF-16LE <install-minion.ps1 >install-minion.ps2
</pre>
Cela nous a fait parvenir à une première version de script assez complète :
<pre><code class="groovy">
#!/bin/bash
IP_SCRIBE="${1}"
echo IP_SCRIBE=$IP_SCRIBE
IP_MACHINE="${2}"
echo IP_MACHINE=$IP_MACHINE
VERSION_MINION="${3:-2018.3.1-Py3}"
echo VERSION_MINION=$VERSION_MINION
iconv -f UTF-8 -t UTF-16LE >install-minion.ps1 <<EOF
Set-ExecutionPolicy Bypass -Scope Process -Force
Start-Transcript -Path "C:\\windows\\install-minion.log" -Append
Write-Host '$(date)'
Set-Location \$env:TEMP
Set-PSDebug -Trace 1
\$url = "https://repo.saltstack.com/windows/Salt-Minion-${VERSION_MINION}-\$env:PROCESSOR_ARCHITECTURE-Setup.exe"
\$output = "\$env:TEMP\minion.exe"
Write-Host "Download \$url"
\$wc = New-Object System.Net.WebClient
\$wc.DownloadFile(\$url, \$output)
If ([Environment]::OSVersion.Version.Major -gt 6)
{
Unblock-File \$output
}
Write-Host "Install Salt-Minion from \$output"
CMD.Exe /C "\$output" /S /master=$IP_SCRIBE
Write-Host "LastExitCode : \$LastExitCode"
Stop-Transcript
EOF
cat install-minion.ps1
cmd="c:\windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -InputFormat None -ExecutionPolicy Bypass -EncodedCommand $(base64 -w 0 install-minion.ps1)"
/usr/share/eole/controlevnc/cliscribe.py -e "$cmd" "$IP_MACHINE"
</code></pre>
NB : Exemple d'appel du script actuel @./install-minion-scribe.sh 192.168.0.26 192.168.0.183@
Évolutions à prévoir :
* Téléchargement au préalable des exécutables sur le Scribe pour éviter que les stations ailles chacune le télécharger sur Internet
h3. Test de la procédure sous Windows7
Sur Windows 7, PowerShell est en version 2.0, il faut vérifier que le code proposé est fonctionnel sur cette version.
<pre>
PS C:\> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
2 0 -1 -1
</pre>
La commande *Unblock-File* n'est disponible qu'à partir de Powershell 3.0 mais malgré l'erreur, Salt-Minion a été installé !
Mais, il est possible d'obtenir et de tester la version de Windows de plusieurs manières...
<pre>
[Environment]::OSVersion.Version
</pre>
<pre>
gwmi win32_operatingsystem
</pre>
h2. Déploiement après transformation du Scribe en ScribeAD
Contexte : deux stations (10 et 7) intégrées au domaine Scribe.
h3. Passage en ScribeAD
<pre>
root@scribe:~# apt-eole install scribe-ad
[ ... ]
root@scribe:~# CreoleSet ad_public_address 192.168.0.30
root@scribe:~# instance
[ ... ]
</pre>
h3. Installation de Salt via le client Scribe
<pre>
root@scribe:~# ./install-minion-scribe.sh 192.168.0.26 192.168.0.183
[ ... ]
root@scribe:~# ./install-minion-scribe.sh 192.168.0.26 192.168.0.181
[ ... ]
</pre>
Peu de temps après, les minions se manifestaient :
<pre>
root@scribe:~# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
PC-124784.ac-test.fr
PCWIN7.ac-test.fr
Rejected Keys:
</pre>
h3. Gestion du Timeout
Après acceptation des clés, le basique "test.ping" était en échec :
<pre>
root@scribe:~# salt *.ac-test.fr test.ping
PCWIN7.ac-test.fr:
Minion did not return. [No response]
PC-124784.ac-test.fr:
Minion did not return. [No response]
</pre>
=> il faut augmenter le timout et/ou utiliser systématiquement le *mode asynchrone* !
<pre>
root@scribe:~# salt -t30 *.ac-test.fr test.ping
PCWIN7.ac-test.fr:
True
PC-124784.ac-test.fr:
True
</pre>
h2. Autres pistes
h3. Installeur du client Scribe
Créer une nouvelle version du client Scribe embarquant l'installeur Salt Minion et mettre à jour le numéro de version officielle.
La nouvelle version du client (et donc salt) sera automatiquement installée grâce au service de maj du client.
h3. Commande psexec
"psexec":http://www.tutos.eu/?n=7963 pourrait être utilisé pour exécuter l'installation du minion à distance depuis une station.
h2. Trucs et astuces
h3. Process Explorer (procexp)
Process Explorer permet de surveiller l'activité des processus en cours d'utilisation par le système.
Cet outil peut être très utile pour savoir ce qu'il se passe sur le poste client surtout que le client Scribe exécute les commandes "à l'aveugle".
h3. Débogage du Minion sous Windows
Le script suivant permet d'arrêter le service et de lancer le Minion en mode débogage :
<pre>
C:\salt\salt-minion-debug.bat
</pre>
Par défaut, le log console n'est pas horodaté, nous avons du éditer le fichier de configuration du minion afin de modifier le paramètre : *log_fmt_console*
h1. Jonction au domaine et gestion des clients
h2. Jonction au domaine
h3. Modification forcée du DNS
*ATTENTION* : Les commandes salt utilisées nécessitent d'abord de connaître le nom de l'interface (ici : "Ethernet", la valeur par défaut étant "Local Area Connection") et elles n'ont pas fonctionné avec mon Windows 7 (traceback) :
<pre>
root@scribe:~# salt -t30 PC-124784.ac-test.fr network.get_route 192.168.0.30
PC-124784.ac-test.fr:
----------
destination:
192.168.0.30
gateway:
0.0.0.0
interface:
Ethernet
source:
192.168.0.183
root@scribe:~# salt -t30 PC-124784.ac-test.fr win_dns_client.add_dns 192.168.0.30 "Ethernet"
PC-124784.ac-test.fr:
True
</pre>
Un code powershell plus fiable est disponible dans : https://dev-eole.ac-dijon.fr/projects/eole-ci-tests/repository/revisions/master/entry/scripts/windows/EoleCiTestContext.ps1#L996
h3. Jonction au domaine "forcée"
<pre>
root@scribe:~# salt -t120 PC-124784.ac-test.fr system.join_domain domain='ac-test.fr' username='admin' password='eole' account_exists=False restart=True
PC-124784.ac-test.fr:
----------
Domain:
ac-test.fr
Restart:
True
</pre>
h3. Désinstallation du client Scribe
Fichiers "unins00X" présents dans C:\Windows\Eole.
Un code powershell complet de désinstallation du client est visible dans : https://dev-eole.ac-dijon.fr/projects/eole-ci-tests/repository/revisions/master/entry/tests/etablissement/test-joineole.ps1#L61
h1. Accompagnement et suivi du déploiement
h2. Liste des stations connues du domaine NT
h3. Interroger le client Scribe
Le script */usr/share/eole/controlevnc/manage_stations.py* permet d'obtenir la liste de toutes les stations.
L'option @--list-all@ permet, par exemple de lister toutes les machines du domaine
<pre>
root@scribe:~# /usr/share/eole/controlevnc/manage_stations.py | sed s'/;/\n/'g
192.168.0.183, pc-125292, admin
192.168.0.186, ,
192.168.0.181, pcwin7, admin
</pre>
h3. Interroger l'annuaire via smbldap-tools
<pre>
root@scribe:/home/client_scribe# smbldap-userlist -m
uid |username
10066 |pc-125292$ |
10067 |pcwin7$
</pre>
h3. Interroger directement l'annuaire
<pre>
root@scribe:/home/client_scribe# ldapsearch -x "(sambaAcctFlags=[W ])" cn | grep ^cn:
cn: pc-125292$
cn: pcwin7$
</pre>
h2. Liste des stations avec Salt-Minion installé
La commande *salt-key* permet de connaître la liste des Minons enregistrés ou en attente d'enregistrement.
<pre>
root@scribe:~# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
PC-124784.ac-test.fr
PCWIN7.ac-test.fr
Rejected Keys:
</pre>
TODO : définir la stratégie de déploiement/d'acceptation des clés
h2. Liste des stations intégrées au domaine AD
<pre>
root@scribe:~# ssh addc "ldbsearch -H /var/lib/samba/private/sam.ldb -S FIXME : '(objectclass=Computer)' sAMAccountName | grep ^sAMAccountName"
sAMAccountName: ADDC$
sAMAccountName: scribe$
sAMAccountName: PC-125292$
</pre>