Giter Club home page Giter Club logo

glpi2mdt's Introduction

GLPI2MDT

Introduction

This goal of this plugin is to interface GLPI with MDT, the Microsoft Deployment Toolkit in a way quite similar to what SSCM can do.

My goal when creating this tool was to enable our support team to reinstall computers using PXE boot with minimal interaction with any other tool than GLPI. Ideally I would even like end-users to be able to reinstall their computer "in place" just pressing F12 after contacting the support.

In order to work well the plugin needs to have as much informations as possible on the computers themselves so it can push the proper settings to MDT, namely:

  • Make and model (for drivers)
  • Hardware configuration (mac addresses)
  • Type (I want to enable BitLocker for laptops for example)
  • GUID, serial number, name.
  • OS to deploy (windows or even servers)
  • Applications
  • Roles, packages (as in MDT)

The plugin will therefore get its full potential when used in conjunction with "Fusion Inventory".

Restrictions

This plugin works fine on my specific configuration

  • MDT on Windows Server 2022
  • MS-SQL Server 2022
  • GLPI 10.0.15 on Debian 11
  • PHP 8.3

It is developed and tested in this environment only. If you experience problem with a different configuration please report the issue on GitHub. I'll do my best to make it compatible with other setups as long as I am aware of the issue.

Prerequisites

  • MDT must be installed in a MS-SQL database accessible from the GLPI server
  • MDT must be fully operational by itself. The plugin will not fix a faulty MDT installation, it is only remote-controlling it.
  • SQLSRV and SimpleXML PHP modules must be installed
  • The "Control" directory in your MDT deployment share contains part of the MDT configuration (the other part is in the MS-SQL database). It needs to be mounted (read-only is OK) somewhere on your GLPI server and accessible to PHP scripts. Pay specific attention to files ownership and SELinux settings which can prevent proper functioning.
  • Many modifications are needed to make the operating system choice possible. (See INSTALL.md file !)

Starting with version 0.1.0 this plugin is now fully functional and in use at our premises. I hope to improve it with time but some feedback on this version is welcome in order to direct my efforts in the right direction. Still, it works for us, in our specific environment!

The plugin is available in French and English, other translators welcome.

TODOs

  • Manage ranks in applications (this is mainly UI interface stuff, the code can already handle it. My main question is "is it really needed? We don't as we don't have dependencies between applications (and no so many applications to install anyway).
  • Handle models, packages in the same way applications are handled (but are you using those features in MDT)? Models are an issue because of a limitation in Fusion Inventory. It may be alleviated with GLPI 9.2.x. More to come...
  • Automate some actions based on information available in GLPI and not managed by MDT (location, entity....)
  • Be multi-MDT-server, multi-deployment-share, multi-domain aware. Currently the plugin is not domain aware and is connected to only one MDT database. This raises quite a few questions as to how it should work then.
  • Several coupling modes are proposed in the config page.... from the ligthest to the tighter link between MDT and GLPI.
  • Fix Bugs!!!!!

Please test and send feedback if you (dis)like my work.

glpi2mdt's People

Contributors

randomfrenchadmin avatar debugbill avatar p-bo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.