Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 88 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,109 @@
# Data synchronization with Microsoft SCCM tool
# SCCM Plugin For GLPI

[![License](https://img.shields.io/github/license/pluginsGLPI/sccm.svg?&label=License)](https://github.com/pluginsGLPI/sccm/blob/develop/LICENSE)
[![Follow twitter](https://img.shields.io/twitter/follow/Teclib.svg?style=social&label=Twitter&style=flat-square)](https://twitter.com/teclib)
[![Telegram Group](https://img.shields.io/badge/Telegram-Group-blue.svg)](https://t.me/glpien)
[![Project Status: Active](http://www.repostatus.org/badges/latest/active.svg)](http://www.repostatus.org/#active)
[![GitHub release](https://img.shields.io/github/release/pluginsGLPI/sccm.svg)](https://github.com/pluginsGLPI/sccm/releases)
[![GitHub build](https://travis-ci.org/pluginsGLPI/sccm.svg?)](https://travis-ci.org/pluginsGLPI/sccm/)
![GLPI Banner](https://user-images.githubusercontent.com/29282308/31666160-8ad74b1a-b34b-11e7-839b-043255af4f58.png)

[![License](https://img.shields.io/github/license/pluginsGLPI/sccm.svg?&label=License&style=for-the-badge)](https://github.com/pluginsGLPI/sccm/blob/main/LICENSE)
![Static Badge](https://img.shields.io/badge/Project_Status-Active-green?style=for-the-badge)
![GitHub Actions Status](https://img.shields.io/github/actions/workflow/status/pluginsGLPI/sccm/continuous-integration.yml?style=for-the-badge)
[![GitHub release](https://img.shields.io/github/release/pluginsGLPI/sccm.svg?&style=for-the-badge)](https://github.com/pluginsGLPI/sccm/releases)
![GitHub Downloads](https://img.shields.io/github/downloads/pluginsGLPI/sccm/total?style=for-the-badge)

![GLPISCCMPluginSchema](screenshots/sccm.png "sccm")
<p align="center">
<img width="126" height="126" src="https://raw.githubusercontent.com/pluginsGLPI/sccm/refs/heads/update_repo/screenshots/logo.png">
</p>

Plugin to synchronize computers from SCCM (version 1802) to GLPI.
---

### Workflow
## 📌 Overview

* The plugin integrates two automatic actions : "SCCMCollect" et "SCCMPush".
* The automatic action "SCCMCollect" queries the SCCM server with MsSQL queries.
* This same action builds an XML file for each computer.
* The automatic action "SCCMPush" injects XML files into the GLPI native inventory over HTTP(s) (via cURL) to display computers in GLPI.
The **SCCM** plugin for GLPI allows automatic synchronization of computers managed by **Microsoft System Center Configuration Manager (SCCM)** with your GLPI inventory.

It works in **two main phases**:

![GLPISCCMPluginSchema](screenshots/schema.png "GLPISCCMPluginSchema")
1. **Collection**: Reads information from the SCCM database (via the `sqlsrv` PHP extension) and generates an XML file for each asset.
2. **Injection**: Sends these XML files to GLPI native inventory via `cURL`.

---

## Documentation
## ✅ Prerequisites

We maintain a detailed documentation here -> [Documentation](https://glpi-plugins.readthedocs.io/en/latest/sccm/index.html)
Before installing, ensure the following:

## Contact
- PHP extension `sqlsrv`
[Installation guide for Microsoft Drivers for PHP for SQL Server](https://learn.microsoft.com/fr-fr/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver17)
- PHP extension `curl`

For notices about major changes and general discussion of sccm, subscribe to the [/r/glpi](https://www.reddit.com/r/glpi/) subreddit.
You can also chat with us via [@glpi on Telegram](https://t.me/glpien).
---

## Professional Services
## ▶️ How It Works

![GLPI Network](./glpi_network.png "GLPI network")
The plugin automatically creates **two GLPI cron tasks** (Automatic Actions) during installation:

The GLPI Network services are available through our [Partner's Network](http://www.teclib-edition.com/en/partners/). We provide special training, bug fixes with editor subscription, contributions for new features, and more.
- **SCCMCollect** – Collects data and generates XMLs (default schedule: 04:00–05:00)
- **SCCMPush** – Sends XMLs to GLPI (`front/inventory.php`) (default schedule: 06:00–07:00)

Obtain a personalized service experience, associated with benefits and opportunities.
You can manage these tasks under **Setup > Automatic actions**.

## Contributing
![GLPI SCCM Plugin Schema](screenshots/schema.png "GLPISCCMPluginSchema")

* Open a ticket for each bug/feature so it can be discussed
* Follow [development guidelines](http://glpi-developer-documentation.readthedocs.io/en/latest/plugins/index.html)
* Refer to [GitFlow](http://git-flow.readthedocs.io/) process for branching
* Work on a new branch on your own fork
* Open a PR that will be reviewed by a developer
---

## Copying
## 🧩 Synchronized Data

* **Code**: you can redistribute it and/or modify
The plugin collects the following information from SCCM:

- System information: Machine, BIOS, CPU, RAM, Disks
- Network interfaces: IP / MAC addresses
- Installed software
- Users and sessions
- Hardware

---

## 📚 Documentation

Full plugin documentation is available [here](https://help.glpi-project.org/doc-plugins/plugins-glpi/sccm).

---

## 💼 Professional Services

GLPI professional services are offered through the [Partner Network](http://www.teclib-edition.com/en/partners/):

- Specialized training
- Bug fixes with an editor subscription
- Contributions for new features
- Personalized support and consulting

Experience a tailored service with exclusive advantages and opportunities.

---

## 🤝 Contributing

We welcome contributions! Here's how you can help:

- Report bugs or request features via [Issues](https://github.com/pluginsGLPI/sccm/issues)
- Follow the [development guidelines](http://glpi-developer-documentation.readthedocs.io/en/latest/plugins/index.html)
- Use [GitFlow](http://git-flow.readthedocs.io/) for branching
- Work on a new branch in your fork
- Submit a Pull Request (PR) for review

---

## 🚀 About

![GLPI Banner](https://user-images.githubusercontent.com/29282308/31666160-8ad74b1a-b34b-11e7-839b-043255af4f58.png)

![Teclib Banner](screenshots/teclib_branding.png)

---

## 📣 Connect with GLPI

[![Facebook GLPI](https://img.shields.io/badge/Facebook-GLPI-1877F2.svg?style=for-the-badge)](https://www.facebook.com/glpiproject/)
[![X (formerly Twitter)](https://img.shields.io/badge/Twitter-GLPI%20Project-26A2FA.svg?style=for-the-badge)](https://x.com/GLPI_PROJECT)
[![YouTube GLPI](https://img.shields.io/badge/YouTube-GLPI-FF0033.svg?style=for-the-badge)](https://www.youtube.com/channel/UCoIMi7aKeIvQRxi7ggd6VNA)
[![Instagram GLPI](https://img.shields.io/badge/Instagram-GLPI-E1306C.svg?style=for-the-badge)](https://www.instagram.com/glpi_project/)
[![LinkedIn GLPI](https://img.shields.io/badge/LinkedIn-GLPI-0A66C2.svg?style=for-the-badge)](https://www.linkedin.com/products/teclib-glpi/)
[![Telegram GLPI](https://img.shields.io/badge/Telegram-GLPI-blue.svg?style=for-the-badge)](https://t.me/glpien)
6 changes: 3 additions & 3 deletions front/config.form.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
* You should have received a copy of the GNU General Public License
* along with SCCM. If not, see <http://www.gnu.org/licenses/>.
* -------------------------------------------------------------------------
* @author François Legastelois
* @copyright Copyright (C) 2014-2023 by SCCM plugin team.
* @license GPLv3 https://www.gnu.org/licenses/gpl-3.0.html
* @author Teclib
* @copyright Copyright (C) 2014-2026 by SCCM plugin team.
* @license GPLv3+ https://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/pluginsGLPI/sccm
* -------------------------------------------------------------------------
*/
Expand Down
5 changes: 3 additions & 2 deletions hook.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@
* You should have received a copy of the GNU General Public License
* along with SCCM. If not, see <http://www.gnu.org/licenses/>.
* -------------------------------------------------------------------------
* @author François Legastelois
* @copyright Copyright (C) 2014-2023 by SCCM plugin team.
* @author Teclib
* @copyright Copyright (C) 2014-2026 by SCCM plugin team.
* @license GPLv3+ https://www.gnu.org/licenses/gpl-3.0.html
* @license GPLv3 https://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/pluginsGLPI/sccm
* -------------------------------------------------------------------------
Expand Down
35 changes: 3 additions & 32 deletions inc/config.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,44 +22,15 @@
* You should have received a copy of the GNU General Public License
* along with SCCM. If not, see <http://www.gnu.org/licenses/>.
* -------------------------------------------------------------------------
* @author François Legastelois
* @copyright Copyright (C) 2014-2023 by SCCM plugin team.
* @license GPLv3 https://www.gnu.org/licenses/gpl-3.0.html
* @author Teclib
* @copyright Copyright (C) 2014-2026 by SCCM plugin team.
* @license GPLv3+ https://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/pluginsGLPI/sccm
* -------------------------------------------------------------------------
*/

use Glpi\Application\View\TemplateRenderer;

/**
* -------------------------------------------------------------------------
* SCCM plugin for GLPI
* -------------------------------------------------------------------------
*
* LICENSE
*
* This file is part of SCCM.
*
* SCCM is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* SCCM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with SCCM. If not, see <http://www.gnu.org/licenses/>.
* -------------------------------------------------------------------------
* @author François Legastelois
* @copyright Copyright (C) 2014-2023 by SCCM plugin team.
* @license GPLv3 https://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/pluginsGLPI/sccm
* -------------------------------------------------------------------------
*/

class PluginSccmConfig extends CommonDBTM
{
private static $_instance;
Expand Down
6 changes: 3 additions & 3 deletions inc/menu.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
* You should have received a copy of the GNU General Public License
* along with SCCM. If not, see <http://www.gnu.org/licenses/>.
* -------------------------------------------------------------------------
* @author François Legastelois
* @copyright Copyright (C) 2014-2023 by SCCM plugin team.
* @license GPLv3 https://www.gnu.org/licenses/gpl-3.0.html
* @author Teclib
* @copyright Copyright (C) 2014-2026 by SCCM plugin team.
* @license GPLv3+ https://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/pluginsGLPI/sccm
* -------------------------------------------------------------------------
*/
Expand Down
6 changes: 3 additions & 3 deletions inc/sccm.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
* You should have received a copy of the GNU General Public License
* along with SCCM. If not, see <http://www.gnu.org/licenses/>.
* -------------------------------------------------------------------------
* @author François Legastelois
* @copyright Copyright (C) 2014-2023 by SCCM plugin team.
* @license GPLv3 https://www.gnu.org/licenses/gpl-3.0.html
* @author Teclib
* @copyright Copyright (C) 2014-2026 by SCCM plugin team.
* @license GPLv3+ https://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/pluginsGLPI/sccm
* -------------------------------------------------------------------------
*/
Expand Down
35 changes: 3 additions & 32 deletions inc/sccmdb.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,44 +22,15 @@
* You should have received a copy of the GNU General Public License
* along with SCCM. If not, see <http://www.gnu.org/licenses/>.
* -------------------------------------------------------------------------
* @author François Legastelois
* @copyright Copyright (C) 2014-2023 by SCCM plugin team.
* @license GPLv3 https://www.gnu.org/licenses/gpl-3.0.html
* @author Teclib
* @copyright Copyright (C) 2014-2026 by SCCM plugin team.
* @license GPLv3+ https://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/pluginsGLPI/sccm
* -------------------------------------------------------------------------
*/

use Glpi\Exception\Http\BadRequestHttpException;

/**
* -------------------------------------------------------------------------
* SCCM plugin for GLPI
* -------------------------------------------------------------------------
*
* LICENSE
*
* This file is part of SCCM.
*
* SCCM is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* SCCM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with SCCM. If not, see <http://www.gnu.org/licenses/>.
* -------------------------------------------------------------------------
* @author François Legastelois
* @copyright Copyright (C) 2014-2023 by SCCM plugin team.
* @license GPLv3 https://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/pluginsGLPI/sccm
* -------------------------------------------------------------------------
*/

class PluginSccmSccmdb
{
public $dbconn;
Expand Down
7 changes: 3 additions & 4 deletions inc/sccmxml.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,13 @@
* You should have received a copy of the GNU General Public License
* along with SCCM. If not, see <http://www.gnu.org/licenses/>.
* -------------------------------------------------------------------------
* @author François Legastelois
* @copyright Copyright (C) 2014-2023 by SCCM plugin team.
* @license GPLv3 https://www.gnu.org/licenses/gpl-3.0.html
* @author Teclib
* @copyright Copyright (C) 2014-2026 by SCCM plugin team.
* @license GPLv3+ https://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/pluginsGLPI/sccm
* -------------------------------------------------------------------------
*/


class PluginSccmSccmxml
{
public $device_id;
Expand Down
6 changes: 3 additions & 3 deletions rector.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
* You should have received a copy of the GNU General Public License
* along with SCCM. If not, see <http://www.gnu.org/licenses/>.
* -------------------------------------------------------------------------
* @author François Legastelois
* @copyright Copyright (C) 2014-2023 by SCCM plugin team.
* @license GPLv3 https://www.gnu.org/licenses/gpl-3.0.html
* @author Teclib
* @copyright Copyright (C) 2014-2026 by SCCM plugin team.
* @license GPLv3+ https://www.gnu.org/licenses/gpl-3.0.html
* @link https://github.com/pluginsGLPI/sccm
* -------------------------------------------------------------------------
*/
Expand Down
Loading