Mise à jour des informations concernant les scripts

This commit is contained in:
2025-07-05 13:59:26 +02:00
parent 15a34ba66c
commit 570b89e50c

View File

@ -3,28 +3,50 @@
## Explication de l'usage des scripts et de la configuration : ## Explication de l'usage des scripts et de la configuration :
### Fichier de configuration global settings.json ### Fichier de configuration global settings.json
Les scripts prennent les informations de configuration du fichier settings.json, si celui-ci n'existe pas au lancement d'un script, il est automatiquement créé avec des valeurs d'exemples. Les scripts prennent les informations de configuration du fichier de configuration présent dans le répertoire conf, si celui-ci n'existe pas au lancement d'un script, il est automatiquement créé avec des valeurs d'exemples. Un chemin personnalisé vers un fichier de configuration peut être renseigné avec le paramètre -c.
Voici une liste des paramètres du fichier de configuration et les valeurs attendues (chaque valeur doit être entre " ") :
- **"airwatchServer"**: l'adresse du serveur Airwatch Voici un exemple du fichier de configuration :
- **"airwatchAPIKey"**: la clé API récupéré dans Airwatch
- **"airwatchAuthMethod"**: défini la méthode d'authentification, peut prendre la valeur ***"CMSURL"*** pour l'authentification par certificat ou ***"password"*** pour l'authentification par mot de passe.
- **"airwatchCertPath"**: le chemin vers le certificat si la méthode d'authentification est par certificat.
- **"airwatchCertPass"**: le mot de passe du certificat si celui-ci en possède un, laissez une chaîne vide si vous n'avez pas mis de mot de passe.
- **"airwatchAPIUser"**: le nom de l'utilisateur pour l'authentification API dans Airwatch.
- **"airwatchAPIPassword"**: le mot de passe de l'utilisateur si l'authentification par mot de passe est choisie.
- **"glpiServer"**: l'adresse du serveur GLPI avec un / à la fin.
- **"glpiAppToken"**: le token d'application GLPI.
- **"glpiUserToken"**: le token de l'utilisateur GLPI utilisé pour les requêtes API.
- **"stagingUser"**: le nom du compte de staging présent dans Airwatch.
- **"userAgent"**: Un nom pour l'user agent tel qu'il sera visible dans GLPI, cela permet d'identifier l'instance Airwatch (Prod / Pré-prod) par exemple.
```toml
[AIRWATCH]
Server = "https://airwatchServer"
APIKey = "APIKEY"
# Méthode d'authentification (CMSURL or PASSWORD)
# CMSURL permet l'authentification avec un certificat utilisateur (CertificatePath, CertificatePassword)
# PASSWORD permet l'authentification avec un nom d'utilisateur et un mot de passe (APIUser, APIPassword)
AuthenticationMethod = "CMSURL"
CertificatePath = "/path/to/cert"
CertificatePassword = "12345"
APIUser = "UserAPI"
APIPassword = "PasswordUserAPI"
# Utilisateur de staging que l'on va remplacer par l'utilisateur trouvé dans GLPI
StagingUser = "staging-pr"
[GLPI]
Server = "http://127.0.0.1/glpi"
AppToken = "GLPIAppToken"
UserToken = "GLPIUserToken"
# User agent qui sera visible sur GLPI lors de la synchronisation
UserAgent = "Airwatch Synchronizer"
[LOGS]
Enabled = true
# Chemin où seront créé les fichiers de log
Path = "./logs/"
# Mode debug pour avoir plus d'informations
Debug = false
```
--- ---
### syncGLPI.py ### syncGLPI.py
Le script syncGLPI.py permet de synchroniser les données des appareils présents dans Airwatch avec un inventaire GLPI. Le script syncGLPI.py permet de synchroniser les données des appareils présents dans Airwatch avec un inventaire GLPI. Les actions du script :
- vérification et suppression des doublons en fonction du numéro de série et de la date de dernier enrôlement
Au début, le script va vérifier la présence de doublons en fonction du numéro de série et garder seulement le dernier à s'être enrôlé, puis il va procéder à la vérification de la présence des appareils dans l'inventaire GLPI pour procéder à la synchronisation des données. - vérification de la présence des appareils dans l'inventaire GLPI et envoi d'un inventaire à partir des données d'Airwatch pour mettre à jours les informations
- modification du numéro de série de l'appareil sur GLPI si celui-ci n'est pas identique à celui d'Airwatch
- modification du friendlyname de l'appareil sur Airwatch à partir du nom d'inventaire de l'appareil sur GLPI
#### Synchronisation #### Synchronisation
Les éléments synchronisés de Airwatch vers GLPI : Les éléments synchronisés de Airwatch vers GLPI :
@ -33,6 +55,7 @@ Les éléments synchronisés de Airwatch vers GLPI :
- UUID - UUID
- le nom du système d'exploitation et sa version - le nom du système d'exploitation et sa version
- les logiciels présents sur la machine - les logiciels présents sur la machine
- le numéro de série
Les éléments synchronisés de GLPI vers Airwatch : Les éléments synchronisés de GLPI vers Airwatch :
- Le nom d'inventaire de la machine qui est mis pour le friendlyname - Le nom d'inventaire de la machine qui est mis pour le friendlyname
@ -40,23 +63,27 @@ Les éléments synchronisés de GLPI vers Airwatch :
#### Paramètres #### Paramètres
Ce script possède les paramètres suivants qui sont optionnels pour son exécution : Ce script possède les paramètres suivants qui sont optionnels pour son exécution :
- **-debug** : affiche des informations lors de son exécution, utile pour résoudre des problèmes liés à des droits d'accès API ou des problèmes d'ouvertures réseaux - **-sF / --searchFilter** : permet de filtrer la recherche des appareils dans airwatch sur un attribut spécifique parmi la liste suivante : "Id", "SerialNumber", "Imei", "UserName"
- **-searchFilter** : permet de filtrer la recherche des appareils dans airwatch sur un attribut spécifique parmi la liste suivante : "Id", "SerialNumber", "Imei", "UserName" - **-sV / --searchValue** : la valeur pour la recherche lorsque -searchFilter est utilisé
- **-searchValue** : la valeur pour la recherche lorsque -searchFilter est utilisé - **-f / --force** : permet d'outrepasser la vérification du verrou posé par le script lors de son exécution
- **-force** : permet d'outrepasser la vérification du verrou posé par le script lors de son exécution - **-c / --configPath** : permet de définir un chemin vers un fichier de configuration a utilisé pour l'exécution du script
- **-s / --silent** : exécute le script sans faire de retour dans la console, les informations seront toujours présentes dans les fichiers de log
- **-v / --verbose** : affiche des informations lors de son exécution, utile pour résoudre des problèmes liés à des droits d'accès API ou des problèmes d'ouvertures réseaux
--- ---
### StagingUserAssignation.py ### StagingUserAssignation.py
Le script StagingUserAssignation.py permet d'assigner les appareils en staging qui sont assignés à un utilisateur de staging à l'utilisateur renseigné dans l'inventaire GLPI. Le script StagingUserAssignation.py permet d'assigner les appareils en staging qui sont assignés à un utilisateur de staging à l'utilisateur renseigné dans l'inventaire GLPI.
Il récupère le nom de l'utilisateur de staging dans le fichier settings.json. Il récupère le nom de l'utilisateur de staging dans le fichier de configuration.
#### Paramètres #### Paramètres
- **-debug** : affiche des informations lors de son exécution, utile pour résoudre des problèmes liés à des droits d'accès API ou des problèmes d'ouvertures réseaux - **-u / --staginguser** : permet de préciser l'utilisateur de staging pour la recherche des appareils à modifier (override le fichier de paramètres)
- **-force** : permet d'outrepasser la vérification du verrou posé par le script lors de son exécution - **-sn / --serialnumber** : permet de filtrer sur un numéro de série précis
- **-staginguser** : permet de préciser l'utilisateur de staging pour la recherche des appareils à modifier (override le fichier de paramètres) - **-f / --force** : permet d'outrepasser la vérification du verrou posé par le script lors de son exécution
- **-serialnumber** : permet de filtrer sur un numéro de série précis - **-c / --configPath** : permet de définir un chemin vers un fichier de configuration a utilisé pour l'exécution du script
- **-s / --silent** : exécute le script sans faire de retour dans la console, les informations seront toujours présentes dans les fichiers de log
- **-v / --verbose** : affiche des informations lors de son exécution, utile pour résoudre des problèmes liés à des droits d'accès API ou des problèmes d'ouvertures réseaux
## Dépendances ## Dépendances
Installation des paquets linux : Installation des paquets linux :
@ -73,7 +100,7 @@ yum install -y python3 python3-pip git
**Dépendances python** **Dépendances python**
``` ```
python3 -m pip install cryptography requests python3 -m pip install cryptography requests toml
``` ```
## Installation des scripts ## Installation des scripts