Mise à jour des informations concernant les scripts
This commit is contained in:
81
README.md
81
README.md
@ -3,28 +3,50 @@
|
||||
## Explication de l'usage des scripts et de la configuration :
|
||||
|
||||
### 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.
|
||||
Voici une liste des paramètres du fichier de configuration et les valeurs attendues (chaque valeur doit être entre " ") :
|
||||
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.
|
||||
|
||||
- **"airwatchServer"**: l'adresse du serveur Airwatch
|
||||
- **"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.
|
||||
Voici un exemple du fichier de configuration :
|
||||
|
||||
```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
|
||||
Le script syncGLPI.py permet de synchroniser les données des appareils présents dans Airwatch avec un inventaire GLPI.
|
||||
|
||||
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.
|
||||
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
|
||||
- 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
|
||||
Les éléments synchronisés de Airwatch vers GLPI :
|
||||
@ -33,6 +55,7 @@ Les éléments synchronisés de Airwatch vers GLPI :
|
||||
- UUID
|
||||
- le nom du système d'exploitation et sa version
|
||||
- les logiciels présents sur la machine
|
||||
- le numéro de série
|
||||
|
||||
Les éléments synchronisés de GLPI vers Airwatch :
|
||||
- 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
|
||||
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
|
||||
- **-searchFilter** : permet de filtrer la recherche des appareils dans airwatch sur un attribut spécifique parmi la liste suivante : "Id", "SerialNumber", "Imei", "UserName"
|
||||
- **-searchValue** : la valeur pour la recherche lorsque -searchFilter est utilisé
|
||||
- **-force** : permet d'outrepasser la vérification du verrou posé par le script lors de son exécution
|
||||
- **-sF / --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é
|
||||
- **-f / --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
|
||||
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
|
||||
- **-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
|
||||
- **-force** : permet d'outrepasser la vérification du verrou posé par le script lors de son exécution
|
||||
- **-staginguser** : permet de préciser l'utilisateur de staging pour la recherche des appareils à modifier (override le fichier de paramètres)
|
||||
- **-serialnumber** : permet de filtrer sur un numéro de série précis
|
||||
- **-u / --staginguser** : permet de préciser l'utilisateur de staging pour la recherche des appareils à modifier (override le fichier de paramètres)
|
||||
- **-sn / --serialnumber** : permet de filtrer sur un numéro de série précis
|
||||
- **-f / --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
|
||||
|
||||
## Dépendances
|
||||
Installation des paquets linux :
|
||||
@ -73,7 +100,7 @@ yum install -y python3 python3-pip git
|
||||
|
||||
**Dépendances python**
|
||||
```
|
||||
python3 -m pip install cryptography requests
|
||||
python3 -m pip install cryptography requests toml
|
||||
```
|
||||
|
||||
## Installation des scripts
|
||||
|
||||
Reference in New Issue
Block a user