diff --git a/scripts/includes/GLPIAPI.py b/scripts/includes/GLPIAPI.py index 2b3b984..e3e2a26 100644 --- a/scripts/includes/GLPIAPI.py +++ b/scripts/includes/GLPIAPI.py @@ -78,6 +78,17 @@ class GLPIAPI: } uri = f"{self.Server}/apirest.php/Computer/" return requests.put(uri, headers=self.Headers, json=body) + + def UpdateUser(self, deviceid, username): + + body = { + "input" : { + "id" : deviceid, + "users_id" : username + } + } + uri = f"{self.Server}/apirest.php/Computer/" + return requests.put(uri, headers=self.Headers, json=body) def CreateInventoryForAirwatchDevice(self, device, deviceName, apps=None): platforms = { diff --git a/scripts/syncGLPI.py b/scripts/syncGLPI.py index 1d2a2b0..1b87b5c 100644 --- a/scripts/syncGLPI.py +++ b/scripts/syncGLPI.py @@ -224,6 +224,10 @@ for device in devices: logger.info(f"Updating {deviceID} on GLPI") glpiapi.UpdateInventory(inventory.Json()) + if(data['70'] == '' and device.User != settings["AIRWATCH"]["StagingUser"]): + logger.info(f"Updating user from {data['70']} to {device.User} in GLPI (id={deviceID})") + glpiapi.UpdateUser(deviceID, device.User) + if(data['5'] != device.SerialNumber): logger.info(f"Updating serial number from {data['5']} to {device.SerialNumber} in GLPI (id={deviceID})") glpiapi.UpdateSerialNumber(deviceID, device.SerialNumber)