Voici des exemples de commandes Salt exécutées depuis un module Scribe pour agir ou configurer un parc de postes Windows/Linux
Comment obtenir des informations sur les postes ?
salt '*' grains.get os
PC-880318.dompedago.etb1.lan:
Windows
PC-880321.dompedago.etb1.lan:
Windows
PC-880319.dompedago.etb1.lan:
Windows
PC-880320.dompedago.etb1.lan:
Windows
Il est possible de récupérer plusieurs informations en une fois
salt '*' grains.item os os_family osfinger saltversion
pc-892428:
----------
os:
Ubuntu
os_family:
Debian
osfinger:
Ubuntu-20.04
saltversion:
3004.2
PC-892410.dompedago.etb1.lan:
----------
os:
Windows
os_family:
Windows
osfinger:
Windows-10
saltversion:
3004.1
PC-892409.dompedago.etb1.lan:
----------
os:
Windows
os_family:
Windows
osfinger:
Windows-10
saltversion:
3004.1
PC-892408.dompedago.etb1.lan:
----------
os:
Windows
os_family:
Windows
osfinger:
Windows-10
saltversion:
3004.1
Comment vérifier la jonction des pc au domaine du Scribe ?
salt '*' state.apply ad.join
Comment appliquer la configuration Veyon sur les postes ?
salt '*' state.apply eole-workstation.veyon
Comment exécuter la commande ‘whoami’ sur chaque PC ?
Sur les postes Windows, en étant connecté avec le compte admin du domaine (suppose que les postes soient intégrés au domaine)
salt -G 'os_family:Windows' cmd.powershell runas=admin password=Eole12345! 'whoami'
Vérification intégration au domaine par un appel powershell
salt -G 'os:Windows' cmd.powershell runas=admin password=Eole12345! 'wmic ComputerSystem get PartOfDomain,Domain 2>&1'
PC-880318.dompedago.etb1.lan:
- Domain PartOfDomain
- dompedago.etb1.lan TRUE
...
Comment vérifier la valeur de la configuration config_dir du client Salt ?
salt-run survey.hash '*' config.get config_dir
----------
pool:
- PC-892408.dompedago.etb1.lan
- PC-892409.dompedago.etb1.lan
- PC-892410.dompedago.etb1.lan
result:
C:\ProgramData\Salt Project\Salt\conf
----------
pool:
- pc-892428
result:
/etc/salt
Comment re-générer la clef d’un client Salt ?
Sur le poste client.
Attention : le lien client/serveur va être cassé. il faudra ré-accepter la clef sur le Scribe
salt-call --local saltutils.regen_key
Comment demander un rapport de version du client Salt ?
salt '*' test.versions
Comment ajouter un rôle à un ou plusieurs postes ?
Si l’on veut ajouter une étiquette de rôle ‘techno/dessin’ sur une salle dont les machines ont un nom commençant par TECH0
salt 'TECH0*' grains.append roles techno/dessin
Comment interroger la liste des logiciels pouvant être installé par Chocolatey ? (sur chaque poste!)
Pré-requis: chocolatey doit être installé sur les postes.
salt -G 'os:Windows' cmd.powershell 'choco list'
Comment installer Keypass avec Chocolatey sur tous les postes en une seule commande ?
Pré-requis: chocolatey doit être installé sur les postes.
salt -G 'os:Windows' cmd.powershell 'choco install keepass-classic -y --acceptlicense --no-progress'
Comment vérifier la présence Winget sur tous les postes ?
salt -G 'os:Windows' cmd.powershell runas=admin password=Eole12345! 'winget -v'
Comment réinitialiser les sources Winget sur tous les postes ?
salt -t 500 --state-verbose=true -G 'os:Windows' cmd.powershell runas=admin password=Eole12345! 'winget source reset'
PC-880318.dompedago.etb1.lan:
----------
PC-880321.dompedago.etb1.lan:
- Les sources suivantes seront réinitialisées si l’option --force est proposée :
- Nom Argument
- -----------------------------------------
- winget https://winget.azureedge.net/cache
PC-880320.dompedago.etb1.lan:
- Les sources suivantes seront réinitialisées si l’option --force est proposée :
- Nom Argument
- -----------------------------------------------------
- msstore https://storeedgefd.dsx.mp.microsoft.com/v9.0
- winget https://winget.azureedge.net/cache
Comment interroger la liste des logiciels pouvant être installé par Winget sur un poste ?
Pré-requis: winget doit être installé sur les postes.
salt -t 10 --state-verbose=true "PC-12345" cmd.powershell 'winget list'
Comment installer FileZilla avec winget sur tous les postes ?
salt -t 500 --state-verbose=true -G 'os:Windows' cmd.powershell runas=admin password=Eole12345! 'winget install --id TimKosse.FileZilla.Server -e'
PC-880323.dompedago.etb1.lan:
- Trouvé FileZilla Server [TimKosse.FileZilla.Server] Version 1.4.1
...
- Downloading https://download.filezilla-project.org/server/FileZilla_Server_1.4.1_win64-setup.exe
...
- Installé correctement
Comment installer LibreOffice avec Winget sur tous les postes ?
Pré-requis: winget doit être installé sur les postes.
salt -t 60 --state-verbose=true -G 'os:Windows' cmd.powershell 'winget install TheDocumentFoundation.LibreOffice'

