<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.jordan-lenuff.com/index.php?action=history&amp;feed=atom&amp;title=Technique%2FPHP%2FScripts%2FCr%C3%A9ation_utilisateurs_Zabbix</id>
	<title>Technique/PHP/Scripts/Création utilisateurs Zabbix - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.jordan-lenuff.com/index.php?action=history&amp;feed=atom&amp;title=Technique%2FPHP%2FScripts%2FCr%C3%A9ation_utilisateurs_Zabbix"/>
	<link rel="alternate" type="text/html" href="https://wiki.jordan-lenuff.com/index.php?title=Technique/PHP/Scripts/Cr%C3%A9ation_utilisateurs_Zabbix&amp;action=history"/>
	<updated>2026-04-27T02:05:09Z</updated>
	<subtitle>Historique des révisions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://wiki.jordan-lenuff.com/index.php?title=Technique/PHP/Scripts/Cr%C3%A9ation_utilisateurs_Zabbix&amp;diff=220&amp;oldid=prev</id>
		<title>Jordan : /* Script */</title>
		<link rel="alternate" type="text/html" href="https://wiki.jordan-lenuff.com/index.php?title=Technique/PHP/Scripts/Cr%C3%A9ation_utilisateurs_Zabbix&amp;diff=220&amp;oldid=prev"/>
		<updated>2019-09-20T09:34:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Script&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version du 20 septembre 2019 à 09:34&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l78&quot; &gt;Ligne 78 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 78 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	echo &amp;quot;Error: Échec d'établir une connexion MySQL, voici pourquoi : \n&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	echo &amp;quot;Error: Échec d'établir une connexion MySQL, voici pourquoi : \n&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	echo &amp;quot;Errno: &amp;quot; . $mysql_cnx-&amp;gt;connect_errno . &amp;quot;\n&amp;quot;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	echo &amp;quot;Error: &amp;quot; . $mysql_cnx-&amp;gt;connect_error . &amp;quot;\n&amp;quot;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	die;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// Définition du charset à UTF8&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;if (!$mysql_cnx-&amp;gt;set_charset(&amp;quot;utf8&amp;quot;)) {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	echo &amp;quot;Error: Échec lors du chargement du jeu de caractères utf8, voici pourquoi : \n&amp;quot;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	echo &amp;quot;Errno: &amp;quot; . $mysql_cnx-&amp;gt;connect_errno . &amp;quot;\n&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	echo &amp;quot;Errno: &amp;quot; . $mysql_cnx-&amp;gt;connect_errno . &amp;quot;\n&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	echo &amp;quot;Error: &amp;quot; . $mysql_cnx-&amp;gt;connect_error . &amp;quot;\n&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	echo &amp;quot;Error: &amp;quot; . $mysql_cnx-&amp;gt;connect_error . &amp;quot;\n&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki_db:diff::1.12:old-219:rev-220 --&gt;
&lt;/table&gt;</summary>
		<author><name>Jordan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jordan-lenuff.com/index.php?title=Technique/PHP/Scripts/Cr%C3%A9ation_utilisateurs_Zabbix&amp;diff=219&amp;oldid=prev</id>
		<title>Jordan le 20 septembre 2019 à 08:24</title>
		<link rel="alternate" type="text/html" href="https://wiki.jordan-lenuff.com/index.php?title=Technique/PHP/Scripts/Cr%C3%A9ation_utilisateurs_Zabbix&amp;diff=219&amp;oldid=prev"/>
		<updated>2019-09-20T08:24:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version du 20 septembre 2019 à 08:24&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Ligne 1 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 1 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Présentation==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Présentation==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cette page a pour objet de présenter un script PHP permettant de créer automatiquement des utilisateurs précédemment récupérés depuis un Active Directory dans Zabbix.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cette page a pour objet de présenter un script PHP permettant de créer automatiquement des utilisateurs précédemment récupérés depuis un Active Directory dans Zabbix.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ce script s'appuie sur l'utilisation du script &amp;quot;[[Technique/PHP/Scripts/Synchronisation_Active_Directory|get_ADusers.php]]&amp;quot;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Script==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Script==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki_db:diff::1.12:old-218:rev-219 --&gt;
&lt;/table&gt;</summary>
		<author><name>Jordan</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.jordan-lenuff.com/index.php?title=Technique/PHP/Scripts/Cr%C3%A9ation_utilisateurs_Zabbix&amp;diff=218&amp;oldid=prev</id>
		<title>Jordan : Page créée avec « ==Présentation== Cette page a pour objet de présenter un script PHP permettant de créer automatiquement des utilisateurs précédemment récupérés depuis un Active Di... »</title>
		<link rel="alternate" type="text/html" href="https://wiki.jordan-lenuff.com/index.php?title=Technique/PHP/Scripts/Cr%C3%A9ation_utilisateurs_Zabbix&amp;diff=218&amp;oldid=prev"/>
		<updated>2019-09-20T08:22:46Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « ==Présentation== Cette page a pour objet de présenter un script PHP permettant de créer automatiquement des utilisateurs précédemment récupérés depuis un Active Di... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Présentation==&lt;br /&gt;
Cette page a pour objet de présenter un script PHP permettant de créer automatiquement des utilisateurs précédemment récupérés depuis un Active Directory dans Zabbix.&lt;br /&gt;
&lt;br /&gt;
==Script==&lt;br /&gt;
Le script, pouvant se nommer &amp;lt;code&amp;gt;SynchADusers_zabbix.php&amp;lt;/code&amp;gt;, contient, à ce jour, le contenu suivant :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Inclusion du script get_ADusers.php pour récupérer les utilisateurs depuis l'AD&lt;br /&gt;
include('./get_ADusers.php');&lt;br /&gt;
&lt;br /&gt;
// Groupes AD dont les utilisateurs devront être récupérés&lt;br /&gt;
$groups = array(&lt;br /&gt;
	'GG_DSI_ADMINS',&lt;br /&gt;
	'GG_DSI_ADMINS_TOOLS',&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
// Appel du script pour récupérér les utilisateurs AD&lt;br /&gt;
$ADusers = get_ADusers($groups);&lt;br /&gt;
&lt;br /&gt;
///////////////////////////////&lt;br /&gt;
// Déclaration des variables //&lt;br /&gt;
///////////////////////////////&lt;br /&gt;
&lt;br /&gt;
// Variable contenant la liste des utilisateurs Zabbix&lt;br /&gt;
$ZBXusers = array();&lt;br /&gt;
&lt;br /&gt;
//////////////////////////////////////&lt;br /&gt;
// Fin de déclaration des variables //&lt;br /&gt;
//////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
////////////////&lt;br /&gt;
// Paramètres //&lt;br /&gt;
////////////////&lt;br /&gt;
&lt;br /&gt;
// Password par défaut (non utilisé dans l'outil car LDAP)&lt;br /&gt;
$defautl_password = &amp;quot;2f0a4ec693d34d90e50982d77bb2bfd7&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Serveur MySQL&lt;br /&gt;
$mysql_server = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Utilisateur MySQL&lt;br /&gt;
$mysql_username = &amp;quot;zabbix_user&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Mot de passe utilisateur MySQL&lt;br /&gt;
$mysql_password = &amp;quot;xxxxxxxxxxxxxxx&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Base de données MySQL&lt;br /&gt;
$mysql_dbname = &amp;quot;zabbix_db&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Port MySQL&lt;br /&gt;
$mysql_port = &amp;quot;3306&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Socket MySQL&lt;br /&gt;
$mysql_socket = &amp;quot;/local/mysql/current/mysql.sock&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ID du groupe Exploitation dans Zabbix (pourra être récupéré dynamiquement ultèrieurement)&lt;br /&gt;
$ZBXgroupId = &amp;quot;13&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
////////////////////////&lt;br /&gt;
// Fin des paramètres //&lt;br /&gt;
////////////////////////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
///////////////////////////////////////&lt;br /&gt;
// Ouverture de la connexion à MySQL //&lt;br /&gt;
///////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
// Etablissement de la connexion au serveur MySQL&lt;br /&gt;
$mysql_cnx = new mysqli($mysql_server, $mysql_username, $mysql_password, $mysql_dbname, $mysql_port, $mysql_socket);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Si présence d'erreur&lt;br /&gt;
if ($mysql_cnx-&amp;gt;connect_errno)&lt;br /&gt;
{&lt;br /&gt;
	echo &amp;quot;Error: Échec d'établir une connexion MySQL, voici pourquoi : \n&amp;quot;;&lt;br /&gt;
	echo &amp;quot;Errno: &amp;quot; . $mysql_cnx-&amp;gt;connect_errno . &amp;quot;\n&amp;quot;;&lt;br /&gt;
	echo &amp;quot;Error: &amp;quot; . $mysql_cnx-&amp;gt;connect_error . &amp;quot;\n&amp;quot;;&lt;br /&gt;
	die;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
////////////////////////////////////////////////&lt;br /&gt;
// Fin de l'ouverture de la connexion à MySQL //&lt;br /&gt;
////////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//////////////////////////////////////////&lt;br /&gt;
// Récupération des utilisateurs Zabbix //&lt;br /&gt;
//////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
// Requête MySQL pour récupérer la liste des utilisateurs existants dans Zabbix&lt;br /&gt;
$mysql_query = &amp;quot;SELECT * FROM zabbix_db.users&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Lancement de la requête et arrêt si erreur&lt;br /&gt;
if (!$mysql_result = $mysql_cnx-&amp;gt;query($mysql_query)) {&lt;br /&gt;
    echo &amp;quot;Error: Notre requête a échoué lors de l'exécution et voici pourquoi :\n&amp;quot;;&lt;br /&gt;
    echo &amp;quot;Query: &amp;quot; . $mysql_query . &amp;quot;\n&amp;quot;;&lt;br /&gt;
    echo &amp;quot;Errno: &amp;quot; . $mysql_cnx-&amp;gt;errno . &amp;quot;\n&amp;quot;;&lt;br /&gt;
    echo &amp;quot;Error: &amp;quot; . $mysql_cnx-&amp;gt;error . &amp;quot;\n&amp;quot;;&lt;br /&gt;
    die;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Si aucun résultat&lt;br /&gt;
if ($mysql_result-&amp;gt;num_rows === 0) {&lt;br /&gt;
    echo &amp;quot;Aucun résultat retourné.&amp;quot;;&lt;br /&gt;
    die;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Pour chaque utilisateur trouvé&lt;br /&gt;
while ($ZBXuser = $mysql_result-&amp;gt;fetch_assoc())&lt;br /&gt;
	// Ajout de cet utilisateur dans un tableau&lt;br /&gt;
	$ZBXusers[] = $ZBXuser;&lt;br /&gt;
&lt;br /&gt;
// Vidage des résultats&lt;br /&gt;
$mysql_result-&amp;gt;free();&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////&lt;br /&gt;
// Fin de récupération des utilisateurs Zabbix //&lt;br /&gt;
/////////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
///////////////&lt;br /&gt;
// Fonctions //&lt;br /&gt;
///////////////&lt;br /&gt;
&lt;br /&gt;
// L'arrêt du SELECT si erreur est toujours géré de la même manière&lt;br /&gt;
function stopSelectIfError($mysql_query) {&lt;br /&gt;
	// Récupération de la connexion&lt;br /&gt;
	global $mysql_cnx;&lt;br /&gt;
&lt;br /&gt;
	// Lancement de la requête et arrêt si erreur&lt;br /&gt;
	if (!$mysql_result = $mysql_cnx-&amp;gt;query($mysql_query)) {&lt;br /&gt;
		echo &amp;quot;Error: Notre requête a échoué lors de l'exécution et voici pourquoi :\n&amp;quot;;&lt;br /&gt;
		echo &amp;quot;Query: &amp;quot; . $mysql_query . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		echo &amp;quot;Errno: &amp;quot; . $mysql_cnx-&amp;gt;errno . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		echo &amp;quot;Error: &amp;quot; . $mysql_cnx-&amp;gt;error . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		die;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	//Renvoi du résultat&lt;br /&gt;
	return $mysql_result;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// L'arrêt de l'INSERT si erreur est toujours géré de la même manière&lt;br /&gt;
function stopInsertIfError($mysql_query) {&lt;br /&gt;
	// Récupération de la connexion&lt;br /&gt;
	global $mysql_cnx;&lt;br /&gt;
&lt;br /&gt;
	// Lancement de la requête et arrêt si erreur&lt;br /&gt;
	if (!$mysql_cnx-&amp;gt;query($mysql_query)) {&lt;br /&gt;
		echo &amp;quot;Error: Notre requête a échoué lors de l'exécution et voici pourquoi :\n&amp;quot;;&lt;br /&gt;
		echo &amp;quot;Query: &amp;quot; . $mysql_query . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		echo &amp;quot;Errno: &amp;quot; . $mysql_cnx-&amp;gt;errno . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		echo &amp;quot;Error: &amp;quot; . $mysql_cnx-&amp;gt;error . &amp;quot;\n&amp;quot;;&lt;br /&gt;
		die;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// La table des utilisateurs n'étant pas en AUTO_INCREMENT, il faut créer une fonction pour récupérer l'id&lt;br /&gt;
function getUserIdDispo() {	&lt;br /&gt;
	// Récupération de la connexion&lt;br /&gt;
	global $mysql_cnx;&lt;br /&gt;
	&lt;br /&gt;
	// Requête pour récupérer le dernier id utilisé&lt;br /&gt;
	$mysql_query = &amp;quot;SELECT MAX(userid) AS last_userid FROM zabbix_db.users&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	// Lancement de la requête et arrêt si erreur&lt;br /&gt;
	$mysql_result = stopSelectIfError($mysql_query);&lt;br /&gt;
&lt;br /&gt;
	// Récupération du résultat&lt;br /&gt;
	$row = $mysql_result-&amp;gt;fetch_assoc();&lt;br /&gt;
	//Renvoi du résultat&lt;br /&gt;
	return $row['last_userid'] + 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// La table des groupes n'étant pas en AUTO_INCREMENT, il faut créer une fonction pour récupérer l'id&lt;br /&gt;
function getUsersGroupsIdDispo() {&lt;br /&gt;
	// Récupération de la connexion&lt;br /&gt;
	global $mysql_cnx;&lt;br /&gt;
	&lt;br /&gt;
	// Requête pour récupérer le dernier id utilisé&lt;br /&gt;
	$mysql_query = &amp;quot;SELECT MAX(id) AS last_users_groupsid FROM zabbix_db.users_groups&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	// Lancement de la requête et arrêt si erreur&lt;br /&gt;
	$mysql_result = stopSelectIfError($mysql_query);&lt;br /&gt;
	&lt;br /&gt;
	$row = $mysql_result-&amp;gt;fetch_assoc();&lt;br /&gt;
	return $row['last_users_groupsid'] + 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////////////////&lt;br /&gt;
// Fin des fonctions //&lt;br /&gt;
///////////////////////&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//////////////////////////////&lt;br /&gt;
// Traitement des résultats //&lt;br /&gt;
//////////////////////////////&lt;br /&gt;
&lt;br /&gt;
// Pour chaque utilisateur de l'AD&lt;br /&gt;
foreach($ADusers as $ADuser)&lt;br /&gt;
	// Si l'utilisateur possède tous les champs requis (cn, name, surname, mail (optionnel))&lt;br /&gt;
	if ((isset($ADuser['cn']) &amp;amp;&amp;amp; isset($ADuser['name']) &amp;amp;&amp;amp; isset($ADuser['surname']) &amp;amp;&amp;amp; isset($ADuser['mail'])))&lt;br /&gt;
	{&lt;br /&gt;
		// Si l'utilisateur n'existe pas déjà dans Zabbix&lt;br /&gt;
		if (!in_array($ADuser['cn'], array_column($ZBXusers, 'alias')))&lt;br /&gt;
		{&lt;br /&gt;
			// Récupération du prochain id utilisateur disponible&lt;br /&gt;
			$userIdDispo = getUserIdDispo();&lt;br /&gt;
			// Récupération du prochain id groupe disponible&lt;br /&gt;
			$usersGroupsIdDispo = getUsersGroupsIdDispo();&lt;br /&gt;
&lt;br /&gt;
			// Requête pour ajouter l'utilisateur dans Zabbix&lt;br /&gt;
			$mysql_query = &amp;quot;INSERT INTO zabbix_db.users VALUES ('$userIdDispo', '&amp;quot;.$ADuser['cn'].&amp;quot;', '&amp;quot;.$ADuser['name'].&amp;quot;', '&amp;quot;.$ADuser['surname'].&amp;quot;', '$defautl_password', '', '1', '0', 'en_GB', '30s', '1', 'default', '0', '', '0', '50')&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			// Exécution de la requête&lt;br /&gt;
			stopInsertIfError($mysql_query);&lt;br /&gt;
			&lt;br /&gt;
			// Récupération de l'id de l'utilisateur précédemment créé&lt;br /&gt;
			$last_userid = getUserIdDispo() - 1;&lt;br /&gt;
&lt;br /&gt;
			// Requête pour ajouter l'utilisateur dans le groupe Zabbix désiré&lt;br /&gt;
			$mysql_query = &amp;quot;INSERT INTO zabbix_db.users_groups VALUES ('$usersGroupsIdDispo', '$ZBXgroupId', '$last_userid')&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
			// Exécution de la requête&lt;br /&gt;
			stopInsertIfError($mysql_query);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////&lt;br /&gt;
// Fin du traitement des résultats //&lt;br /&gt;
/////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
// Fermeture de la connexion au serveur MySQL&lt;br /&gt;
$mysql_cnx-&amp;gt;close();&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jordan</name></author>
		
	</entry>
</feed>