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'