diff --git a/docs/Services/Gestion des arrivées-départs/README.md b/docs/Services/Gestion des arrivées-départs/README.md deleted file mode 100644 index 4952ca7..0000000 --- a/docs/Services/Gestion des arrivées-départs/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# Gestion des arrivées/départs au GENES (hors ENSAI) - -## Elèves - -### Arrivées - -```mermaid - flowchart TB - start(" Admis ENSAE") --> Inscription("Inscription ENSAE") - - start-ipp("Admis Master Ip-Paris") --> Inscription-ipp(Inscription Ip-Paris) - - - subgraph X - Inscription-ipp --> Isiatis - Isiatis --> Inscription - end - subgraph eleves - Inscription --> Validation - end - subgraph DSIT - Validation --> creation("Création du compte, profil mail") - creation --> ajout-liste("Ajout dans les listes de diffusions élèves") - creation --> publication("Affichage des informations du compte
sur site d'inscription") - Validation --> creation-pamplemousse("Création de l'étudiant dans pamplemousse") - creation --> lien-compte("Lien compte pamplemousse avec compte AD") - creation --> licence("Attribution Licence O365") - end - subgraph Scolarité - creation-pamplemousse --> creation-badge("Création des badges élèves") - end - -``` - -!!! note - - le [script de création de compte ](./eleves/creation-compte.php) est appelé directement depuis le site d'inscription une fois celle ci validée. Le compte est créé directement dans la bonne OU (de l'année en cours) avec une date d'expiration au 01/09/N+3. Certains groupes sont ajoutés par défaut : - - * ClearPass-ETUDIANT - * MesDossiers_Paradis - * PromotionsENSAE - - l'ajout des listes de diffusion se fait à partir des informations pamplemousse (voie de l'étudiant) - - -Création des badges ?? - -#### Départ - -Compte Expire ... -Suppression mail/ad/profil ??? - - -## Agent Genes Administratif (SG et/ou ENSAE) - -### Arrivées - -```mermaid -graph LR - -subgraph SRH -signature("Recrutement d'un agent") --> Init-fa("Initialisation Fiche Arrivée") -Finalisation-fa-->creation-ticket("Création Ticket pour support DSIT") -Finalisation-fa --> creation-badge("Création badge d'acces") -end -subgraph Recruteur -Init-fa-->Complement-fa("Ajout Fiche Arrivée") -Complement-fa --> Affectation-bureau("Décision sur le bureau") -Complement-fa --> Ajout-role-service("Ajout des logiciels,services et équipements nécessaires") -Ajout-role-service--> Finalisation-fa("Signature FA") -Affectation-bureau --> Finalisation-fa -end -subgraph DSIT -creation-ticket --> creation-compte("Création Compte Profil Mail") -creation-ticket --> Installation-locale - -end -subgraph LOG -creation-ticket -.-> amenagement-bureau("Transfert Logistique pour aménagement bureau") -end - -``` diff --git a/docs/Services/Gestion des arrivées-départs/eleves/creation-compte.php b/docs/Services/Gestion des arrivées-départs/eleves/creation-compte.php deleted file mode 100644 index a530e65..0000000 --- a/docs/Services/Gestion des arrivées-départs/eleves/creation-compte.php +++ /dev/null @@ -1,750 +0,0 @@ - - - - - - - -Attention,un champ est vide, nous ne pouvons poursuivre la demande. '; - die(); - } - } // on verifie le champ prénom - elseif (preg_match('/[\^£$%&*()}{@#~?><>,|=_\\\\\;+¬]/', $prenom)) - { - echo 'Le champ prénom contient un caractère spécial.';// one or more of the 'special characters' found in $string - die(); - } - elseif (preg_match('~[0-9]~', $prenom)) - { - echo 'Le champ prénom contient un caractère spécial.'; - die(); - } - // on vérifie le champ nom - elseif (preg_match('/[\^£$%&*()}{@#~?><>,|=_\\\\\;+¬]/', $nom)) - { - echo 'Le champ nom contient un caractère spécial.'; - die(); - } - elseif (preg_match('~[0-9]~', $nom)) - { - echo 'Le champ nom contient un caractère spécial.'; - die(); - } - // sinon ... - else - { -$unwanted_array = array( 'Š'=>'S', 'š'=>'s', 'Ž'=>'Z', 'ž'=>'z', 'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E', - 'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U', - 'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss', 'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c', - 'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o', 'ô'=>'o', 'õ'=>'o', - 'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'þ'=>'b', 'ÿ'=>'y' ); - - // on supprime les espaces du prenom - //$prenom = preg_replace('/\s+/', '', $prenom); - // si le prenom contient un trait d'union - if (strpos($prenom, '-') !== false) { - // delimiteur trait d'union - $prenom1 = explode("-", $prenom); - $prenom1[0] = ucfirst(strtolower($prenom1[0])); - $prenom1[1] = ucfirst(strtolower($prenom1[1])); - $prenom = $prenom1[0].'-'.$prenom1[1]; - //echo 'dans la boucle'; - //echo $prenom; - } else { - $prenom = ucfirst(strtolower($prenom)); - } - - //$prenom = ucfirst(strtolower($prenom)); - // Tout en MAJUSCULE en gardant les accents - $nom = mb_strtoupper($nom, 'UTF-8'); - // On supprime les accents - $prenom2 = strtr( $prenom, $unwanted_array ); - // on ne garde que les lettres du prenom - $prenom2 = preg_replace("/[^a-zA-Z]-/", "", $prenom2); - // on recupere le premier caractere du prénom - $FirstChar = $prenom2[0]; - // on supprime les espaces du nom - $nom2 = preg_replace('/\s+/', '', $nom); - $nom2 = strtr( $nom2, $unwanted_array ); - //$FirstChar = strtr( $FirstChar, $unwanted_array ); - - - // On concatene premiere lettre prenom avec le nom - $login = $FirstChar.$nom2; - // on met tout en minuscule - $login = strtolower($login); - // on prend les 20 premiers caracteres - $login = substr($login,0,20); - // on ne garde que les lettres - $login = preg_replace("/[^a-zA-Z]/", "", $login); - // on supprime les accents, apostrophe et trait d'union : - - $prenom_mail = preg_replace("/[^a-zA-Z]-/", "", $prenom2); - $prenom_mail = preg_replace('/\s+/', '', $prenom_mail); - $prenom_mail = str_replace("'", '', $prenom_mail); - $nom2_mail = preg_replace("/[^a-zA-Z]-/", "", $nom2); - $nom2_mail = str_replace("'", '', $nom2); - //SMTP PINCIPAL - - - $email = $prenom_mail.".".$nom2_mail; - $email = substr($email,0,64); - //$email = $email."@ensae-paristech.fr"; - $email = $email."@ensae.fr"; - $email = strtr( $email, $unwanted_array ); - $email = strtolower($email); - - - // ALIAS - $alias = $prenom_mail.".".$nom2_mail."@ensae.fr"; - $alias = strtr( $alias, $unwanted_array ); - $alias = strtolower($alias); - // ON AFFICHE - $password = generateStrongPassword(); - $N = count($voie); - - /* echo "Bonjour ".$prenom." ".$nom ; - echo "
"; - echo "Votre login est ".$login; - echo "
"; - $password = generateStrongPassword(); - echo "Votre mot de passe est : ".$password; - echo "
"; - echo "Votre adresse email est ".$email; - echo "
"; - $N = count($voie); - echo("Selection de $N voie(s): "); - echo "
"; - for($i=0; $i < $N; $i++) - { - echo($voie[$i] . "
"); - } - echo "
"; - echo '
Imprimer'; - - - foreach($voie as $value) - { - echo ''; - } */ - - - } - - -function generateStrongPassword($length = 12, $add_dashes = false, $available_sets = 'lud') -{ - $sets = array(); - if(strpos($available_sets, 'l') !== false) - $sets[] = 'abcdefghjkmnpqrstuvwxyz'; - if(strpos($available_sets, 'u') !== false) - $sets[] = 'ABCDEFGHJKMNPQRSTUVWXYZ'; - if(strpos($available_sets, 'd') !== false) - $sets[] = '23456789'; - if(strpos($available_sets, 's') !== false) - $sets[] = '!@#$%&*?'; - $all = ''; - $password = ''; - foreach($sets as $set) - { - $password .= $set[array_rand(str_split($set))]; - $all .= $set; - } - $all = str_split($all); - for($i = 0; $i < $length - count($sets); $i++) - $password .= $all[array_rand($all)]; - $password = str_shuffle($password); - if(!$add_dashes) - return $password; - $dash_len = floor(sqrt($length)); - $dash_str = ''; - while(strlen($password) > $dash_len) - { - $dash_str .= substr($password, 0, $dash_len) . '-'; - $password = substr($password, $dash_len); - } - $dash_str .= $password; - return $dash_str; -} - - - -$filter="(mail=$email)"; - -$FilterEmailExist="(mail=$EtudiantMail)"; - - -$filter2="(samaccountname=$login)"; - - -// Connexion LDAPs - -$ldapconn = ldap_connect($ldapserver) or die("Could not connect to LDAP server."); -ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3); - -// ****************************************************** - -if($ldapconn) -{ - // binding to ldap server - - - $ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass) or die ("Error trying to bind: ".ldap_error($ldapconn)); - // verify binding - if ($ldapbind) - { - // echo "LDAP bind successful...

"; - //echo "
".$login; -//echo "
".$email; - // recherche par rapport a l email - $result = ldap_search($ldapconn, $ldapdn, $filter) or die ("Error in search query: ".ldap_error($ldapconn)); - // recherche par rapport au login - $result2 = ldap_search($ldapconn, $ldapdn, $filter2) or die ("Error in search query: ".ldap_error($ldapconn)); - - $SearchMailExist = ldap_search($ldapconn, $ldapdn, $FilterEmailExist) or die ("Error in search query: ".ldap_error($ldapconn)); - - $data = ldap_get_entries($ldapconn, $result); - $data2 = ldap_get_entries($ldapconn, $result2); - //echo "
".$data2['count']; - //echo "
".$data['count']; - $ResultMailExist = ldap_get_entries($ldapconn, $SearchMailExist); - - // SHOW ALL DATA - // echo '

Dump all data

';
-		//print_r($ResultMailExist);  
-		//echo '
'; - //echo $data[0]["mail"]; - - // iterate over array and print data for each entry - - for ($i=0; $i<$data["count"]; $i++) - { - //echo "dn is: ". $data[$i]["dn"] ."
"; - //echo "User: ". $data[$i]["cn"][0] ."
"; - if(isset($data[$i]["mail"][0])) - { - $mail = $data[$i]["mail"][0]; - //echo '

LE COMPTE EXISTE

'; - //echo "Le mail ". $mail ." existe.

"; - } - } - - for ($j=0; $j<$data2["count"]; $j++) - { - if(isset($data2[$j]["samaccountname"][0])) - { - $logon = $data2[$j]["samaccountname"][0]; - //echo '

LE COMPTE exsite_email

'; - //echo "Le compte ". $logon ." exsite.

"; - } - } - // on compte le nombre d email identique dans l'AD - $exsite_email = ldap_count_entries($ldapconn, $result); - // on compte le nombre de login identique dans l'AD - $exsite_login = ldap_count_entries($ldapconn, $result2); - - /* UTILE POUR AFFICHER SI UN UTILISATEUR EXISTE - echo "
Nombre d email existant".$exsite_email ; - echo "
Nombre de login existant".$exsite_login ; */ - - // On encode le mot de passe pour pouvoir activer le compte (Obligatoire) - $newPassword = $password; - $newPassw = ""; - $newPassword = "\"" . $newPassword . "\""; - $len = strlen($newPassword); - for ($i = 0; $i < $len; $i++) - $newPassw .= "{$newPassword{$i}}\000"; - $newPassword = $newPassw; - - - //si pas d homonyme (le compte n exsite_email pas) alors on le crée - if ($exsite_email == 0 && $exsite_login == 0 && $EtatCompte == 0) - { - $cn = $nom." ".$prenom; - $basedn = "CN=$cn,$BaseUtilisateur"; - //$adduserAD["cn"][0] = - //$adduserAD["instancetype"][0] = - $adduserAD["samaccountname"][0] = $login; - $adduserAD["userprincipalname"][0] = $prenom.".".$nom."@ensae.fr"; - $adduserAD["objectclass"][0] = "top"; - $adduserAD["objectclass"][1] = "person"; - $adduserAD["objectclass"][2] = "organizationalPerson"; - $adduserAD["objectclass"][3] = "user"; - $adduserAD["displayname"][0] = $nom." ".$prenom; - $adduserAD["name"][0] = $nom; - $adduserAD["unicodePwd"][0] = $newPassword; - $adduserAD["userAccountControl"][0] = 544; - $adduserAD["accountExpires"][0] = $DateExpiration; - //$adduserAD["scriptPath"][0] = ""; - $adduserAD["homeDirectory"][0] = "\\\paradis\\eleves\\".$login ; - $adduserAD["homeDrive"][0] = "W:"; - $adduserAD["profilepath"][0] = "\\\paradis\profils\\".$login; - $adduserAD["givenname"][0] = $prenom; - $adduserAD["sn"][0] = $nom; - //$adduserAD["company"][0] = ""; - //$adduserAD["department"][0] = ""; - //$adduserAD["title"][0] = ""; - $adduserAD["description"][0] = "Eleve de l'ENSAE"; - //$adduserAD["mail"][0] = $email; - //$adduserAD["initials"][0] = ""; - // on CREE le compte - $r = ldap_add($ldapconn, $basedn, $adduserAD); - if ($r == true) { - $resultatcompte = 0 ; - - } else { - echo "ERREUR DANS LA CREATION DU COMPTE AD
"; - //var_dump ($r); - $resultatcompte = 1 ; - } - // ON AJOUTE L UTILISATEUR AUX GROUPES CORRESPONDAND AUX VOIES SELECTIONNEES - // on compte combien de groupes sont séléctionnés - $N = count($voie); - for($i=0; $i < $N; $i++) - { - $dn = "CN=$voie[$i]$BaseGroupe"; - //echo $dn; - //echo "
"; - $entry["member"] = $basedn; - $result_group = @ldap_mod_add($ldapconn, $dn, $entry); - if ($result_group == false) { - echo "ERREUR RENCONTREE DANS L AJOUT DES GROUPES/VOIES
"; - $resultatgroupe = "NOK"; - } - } - // ajout par défaut du groupe ClearPass-ETUDIANT pour acces WIFI, PromotionsENSAE et Mesdossiers_Paradis - $entry["member"] = $basedn; - $wifiGroupe = @ldap_mod_add($ldapconn, $wifi, $entry); - $PromotionsENSAEGroupe = @ldap_mod_add($ldapconn, $PromotionsENSAE, $entry); - $MesDossiersGroupe = @ldap_mod_add($ldapconn, $MesDossiers, $entry); - - - //*****************ON CREE LA MESSAGERIE******************************** - $cmd = "powershell.exe C:\\wamp64\\www\\administrationAD\\creation-mail.ps1 $login $email $alias 2>&1"; - - try { - set_time_limit(300); - $execmail = shell_exec($cmd); - $resultatmail = 0 ; - //echo $resultatmail; - - } - catch(Exception $e) - { - echo "Erreur lancement script création mail"; - //var_dump($e); - $resultatmail = 1 ; - exit; - } - - //***************** ON CREE HOMEDIRECTORY + ACL ******************************** - - $cmd2 = "powershell.exe C:\\wamp64\\www\\administrationAD\\homedirectory.ps1 $login 2>&1"; - try { - set_time_limit(300); - $exechomedir = shell_exec($cmd2); - $resultathomedir = 0 ; - //echo $resultathomedir; - - } - catch(Exception $ex) - { - echo "Erreur lancement script creation home directory"; - $resultathomedir = 1 ; - //var_dump($ex); - exit; - } - - // ON AFFICHE LES INFOS COMPLETES - echo "
Bonjour ".$prenom." ".$nom ; - echo "
"; - echo "Votre login est ".$login; - echo "
"; - echo "Votre mot de passe est : ".$newPassword; - echo "
"; - echo "Votre adresse email est ".$email; - echo "
"; - $N = count($voie); - echo("Selection de $N voie(s): "); - echo "
"; - - for($i=0; $i < $N; $i++) - { - echo($voie[$i] . "
"); - } - - //echo '
Imprimer'; - - - - } - //NOUVEL UTILISATEUR MAIS IL exsite_email UN COMPTE SIMILAIRE DANS L AD - elseif ($exsite_email > 0 || $exsite_login > 0) - - { - - if ($EtatCompte == 0) - { - echo "Compte existant, on crée un nouveau compte en ajoutant la deuxieme lettre du prenom dans le login
"; - $unwanted_array = array( 'Š'=>'S', 'š'=>'s', 'Ž'=>'Z', 'ž'=>'z', 'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E', - 'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U', - 'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss', 'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c', - 'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o', 'ô'=>'o', 'õ'=>'o', - 'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'þ'=>'b', 'ÿ'=>'y' ); - - // le point entre le prenom et le nom sera remplacé par underscore _ - $email = $prenom_mail."_".$nom2_mail; - $email = substr($email,0,64); - //$email = $email."@ensae-paristech.fr"; - $email = $email."@ensae.fr"; - $email = strtr( $email, $unwanted_array ); - $email = strtolower($email); - - // on crée un nouveau login formé par les 2premieres lettre du prenom puis le nom - $prenomFirstLetter = $prenom2[0]; - $prenomSecondLetter = $prenom2[1]; - $prenom2letter = $prenomFirstLetter.$prenomSecondLetter; - - $login = $prenom2letter.$nom2; - $login = strtolower($login); - $login = strtolower($login); - // on prend les 20 premiers caracteres - $login = substr($login,0,20); - // on ne garde que les lettres - $login = preg_replace("/[^a-zA-Z]/", "", $login); - echo "Le login sera : ".$login."
"; - - $cn = $nom.".".$prenom; - $basedn = "CN=$cn,$BaseUtilisateur"; - $adduserAD["samaccountname"][0] = $login; - $adduserAD["userprincipalname"][0] = $prenom2letter.".".$nom2."@ensae.fr"; - $adduserAD["objectclass"][0] = "top"; - $adduserAD["objectclass"][1] = "person"; - $adduserAD["objectclass"][2] = "organizationalPerson"; - $adduserAD["objectclass"][3] = "user"; - $adduserAD["displayname"][0] = $nom." ".$prenom; - $adduserAD["name"][0] = $nom; - $adduserAD["unicodePwd"][0] = $newPassword; - $adduserAD["userAccountControl"][0] = 544; - $adduserAD["accountExpires"][0] = $DateExpiration; - $adduserAD["homeDirectory"][0] = "\\\paradis\\eleves\\".$login ; - $adduserAD["homeDrive"][0] = "W:"; - $adduserAD["profilepath"][0] = "\\\paradis\profils\\".$login; - $adduserAD["givenname"][0] = $prenom; - $adduserAD["sn"][0] = $nom; - $adduserAD["description"][0] = "Eleve de l'ENSAE"; - // on CREE le compte - $re = @ldap_add($ldapconn, $basedn, $adduserAD); - if ($re == true) { - $resultatcompte = 0 ; - } else { - echo "ERREUR DANS LA CREATION DU COMPTE AD
"; - $resultatcompte = 1 ; - } - // ON AJOUTE L UTILISATEUR AUX GROUPES CORRESPONDAND AUX VOIES SELECTIONNEES - // on compte combien de groupes sont séléctionnés - $N = count($voie); - for($i=0; $i < $N; $i++) - { - $dn = "CN=$voie[$i]$BaseGroupe"; - //echo $dn; - echo "
"; - $entry["member"] = $basedn; - $result_group = @ldap_mod_add($ldapconn, $dn, $entry); - if ($result_group == false) { - echo "ERREUR RENCONTREE DANS L AJOUT DES GROUPES/VOIES
"; - - } - } - // ajout par défaut du groupe ClearPass-ETUDIANT pour acces WIFI - - $wifiGroupe = @ldap_mod_add($ldapconn, $wifi, $entry); - $PromotionsENSAEGroupe = @ldap_mod_add($ldapconn, $PromotionsENSAE, $entry); - $MesDossiersGroupe = @ldap_mod_add($ldapconn, $MesDossiers, $entry); - - - - //*****************ON CREE LA MESSAGERIE******************************** - $cmd = "powershell.exe C:\\wamp64\\www\\administrationAD\\creation-mail.ps1 $login $email $alias"; - - try { - set_time_limit(300); - $execmail = shell_exec($cmd); - $resultatmail = 0 ; - //echo "
";
-												
-												//echo($output);
-												
-											}
-												catch(Exception 	$e) 
-												{
-												echo "Erreur sur la création de la messagerie";
-												// var_dump($e);
-												$resultatmail = 1 ;
-												exit;
-												}
-												
-									//***************** ON CREE HOMEDIRECTORY + ACL ********************************			
-												
-									$cmd2 = "powershell.exe C:\\wamp64\\www\\administrationAD\\homedirectory.ps1 $login";			
-									try { 
-												set_time_limit(300);
-												$exechomedir = shell_exec($cmd2);
-												$resultathomedir = 0 ;
-												//echo($resultathomedir);
-												
-											}
-												catch(Exception 	$ex) 
-												{
-												echo "Erreur lancemeny script Home directory";
-												//var_dump($ex);
-												$resultathomedir = 1 ;
-												exit;
-												} 
-								
-								// ON AFFICHE LES INFOS COMPLETES
-									echo "Bonjour ".$prenom." ".$nom ;
-									echo "
"; - echo "Votre login est ".$login; - echo "
"; - echo "Votre mot de passe est : ".$newPassword; - echo "
"; - echo "Votre adresse email est ".$email; - echo "
"; - $N = count($voie); - echo("Selection de $N voie(s): "); - echo "
"; - for($i=0; $i < $N; $i++) - { - echo($voie[$i] . "
"); - } - //echo '
Imprimer'; - } - else - { - echo "Ce n'est pas un nouveau compte"; - } - - } - // TRAITEMENT DES PROLONGATIONS DES COMPTES - if ($EtatCompte == 1) - - { - - - // pour afficher la date de valide du compte initial - echo "
Date d expiration actuelle : ".$ResultMailExist[0]['accountexpires'][0]."
"; - echo $ResultMailExist[0]['distinguishedname'][0]; - $dn = $ResultMailExist[0]['distinguishedname'][0]; - $entry['accountexpires'][0] = $DateExpiration; - $result_dateexpiration = @ldap_mod_replace($ldapconn, $dn, $entry); - - if ($result_dateexpiration == true) - { - echo "
Prolongement effectué
"; - $resultatprolongation = 0; - - } else { - echo " Erreur rencontré sur le prolongement
"; - echo "
debug : mail reçu : ".$EtudiantMail."
"; - - $resultatprolongation = 1; - } - - - // on ajoute les nouveaux groupes à l'utilisateur - $N = count($voie); - - echo "Nombre de groupe selectionné : ".$N."
"; - for($i=0; $i < $N; $i++) - { - - - $GroupeSelection = "CN=$voie[$i]$BaseGroupe"; - - $Groupe['member'] = $ResultMailExist[0]['distinguishedname'][0]; - $result_group = @ldap_mod_add($ldapconn, $GroupeSelection, $Groupe); - - if ($result_group == true) { - echo "
Ajout du groupe : ".$voie[$i]."
"; - - } else { echo "L'utilisateur est probablement déjà membre du groupe ".$voie[$i]."
"; } - - - } - - $promoENSAE['member'] = $ResultMailExist[0]['distinguishedname'][0]; - - $result_promoENSAE = @ldap_mod_add($ldapconn, $PromotionsENSAE, $promoENSAE); - - if ($result_promoENSAE == true) { - echo "Ajout du groupe : PromotionsENSAE
"; - - } else { echo "L'utilisateur est probablement déjà membre du groupe PromotionsENSAE
"; } - $GroupMember['member'] = $ResultMailExist[0]['distinguishedname'][0]; - - $result_wifiGroupe = @ldap_mod_add($ldapconn, $wifi, $GroupMember); - if ($result_wifiGroupe == true) { - echo "Ajout du groupe : ClearPass-ETUDIANT (WIFI)
"; - - } else { echo "L'utilisateur est probablement déjà membre du groupe Wifi
"; } - - // if (result_dateexpiration == true) - - // { - // $resultatprolongation = "Succès"; - - // } else { - - // $resultat = "Echec"; - // } - // - $email = $EtudiantMail ; - - } - - -// CREATION DU FICHIER UTILISATEUR -$newuser[] = array("$nom", "$prenom", "$password", "$login", "$email", "$resultatcompte", "$resultathomedir", "$resultatmail", "$datetime" ); -//print_r($newuser); -// Paramétrage de l'écriture du futur fichier CSV -$chemin = 'eleves2023.csv'; -$delimiteur = ','; // Pour une tabulation, utiliser $delimiteur = "t"; -$fichier_csv = fopen($chemin, 'a'); -// Si votre fichier a vocation a être importé dans Excel, -// vous devez impérativement utiliser la ligne ci-dessous pour corriger -// les problèmes d'affichage des caractères internationaux (les accents par exemple) -fprintf($fichier_csv, chr(0xEF).chr(0xBB).chr(0xBF)); -// chaque ligne en cours de lecture est insérée dans le fichier -// les valeurs présentes dans chaque ligne seront séparées par $delimiteur -foreach($newuser as $ligne) - { -fputcsv($fichier_csv, $ligne); - } -// fermeture du fichier csv -fclose($fichier_csv); - - - if ($resultatcompte == 0 && $resultathomedir == 0 && $resultatmail == 0 ) { - - //$resultat = "Le compte ".$login." a bien été crée, email : ".$email.", mot de passe : ".$password ; - $resultat = "Succès"; - echo "
L'ajout du compte à été réalisé sans erreur."; - - } else { - $resultat = "Echec"; - echo "
Un problème est survenu à la création du compte ou son prolongement."; - } - -// Pas d'erreur rencontrée -if ($EtatCompte == 0) { -?> -
- - - - - - - -
- - - -
- - - - -
- - - \ No newline at end of file diff --git a/docs/Services/Gestion des arrivées-départs/eleves/creation-mail.ps1 b/docs/Services/Gestion des arrivées-départs/eleves/creation-mail.ps1 deleted file mode 100644 index cb30d99..0000000 --- a/docs/Services/Gestion des arrivées-départs/eleves/creation-mail.ps1 +++ /dev/null @@ -1,22 +0,0 @@ -$login = $args[0]; -$email = $args[1]; -$alias = $args[2]; - -$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://sp-exch01.ensae.fr/PowerShell/ -Authentication Kerberos -Import-PSSession $Session -DisableNameChecking -AllowClobber | Out-Null - -try { - - -Enable-Mailbox -Identity $login -Database "DB01_ELEVES-SP-EXCH01" -Alias $login -PrimarySmtpAddress $email | Out-Null -write-host "0" - -} - -catch { - - -write-host "1" - -} -Remove-PSSession $Session diff --git a/docs/Services/Gestion des arrivées-départs/eleves/homedirectory.ps1 b/docs/Services/Gestion des arrivées-départs/eleves/homedirectory.ps1 deleted file mode 100644 index 239e9af..0000000 --- a/docs/Services/Gestion des arrivées-départs/eleves/homedirectory.ps1 +++ /dev/null @@ -1,85 +0,0 @@ -$login = $args[0]; -$basehomedirectory = "\\paradis\eleves\"; -$homedirectory = $basehomedirectory + $login; -$domain = "ENSAE\" -$user = $domain + $login ; - -if(!(Test-Path -Path $homedirectory )){ - - New-Item -Path $homedirectory -ItemType directory | Out-Null - - #Define FileSystemAccessRights:identifies what type of access we are defining, whether it is Full Access, Read, Write, Modify - $FileSystemAccessRights = [System.Security.AccessControl.FileSystemRights]"FullControl" - - #define InheritanceFlags:defines how the security propagates to child objects by default - #Very important - so that users have ability to create or delete files or folders - #in their folders - - $InheritanceFlags = [System.Security.AccessControl.InheritanceFlags]::"ContainerInherit", "ObjectInherit" - - #Define PropagationFlags: specifies which access rights are inherited from the parent folder (users folder). - - $PropagationFlags = [System.Security.AccessControl.PropagationFlags]::None - - #Define AccessControlType:defines if the rule created below will be an 'allow' or 'Deny' rule - - $AccessControl =[System.Security.AccessControl.AccessControlType]::Allow - #define a new access rule to apply to users folfers - - $acl1 = New-Object System.Security.AccessControl.FileSystemAccessRule ` - ("Admins du domaine", $FileSystemAccessRights, $InheritanceFlags, $PropagationFlags, $AccessControl) - - $acl2 = New-Object System.Security.AccessControl.FileSystemAccessRule ` - ("Système", $FileSystemAccessRights, $InheritanceFlags, $PropagationFlags, $AccessControl) - - $acl3 = New-Object System.Security.AccessControl.FileSystemAccessRule ` - ($login, $FileSystemAccessRights, $InheritanceFlags, $PropagationFlags, $AccessControl) - - $acl4 = New-Object System.Security.AccessControl.FileSystemAccessRule ` - ("administrationannuai", $FileSystemAccessRights, $InheritanceFlags, $PropagationFlags, $AccessControl) - - #ACL Admins du domaine - $rule1 = Get-ACL -path $homedirectory - #Add this access rule to the ACL - $rule1.SetAccessRule($acl1) - #Write the changes to the user folder - Set-ACL -path $homedirectory -AclObject $rule1 - - #ACL Systeme - $rule2 = Get-ACL -path $homedirectory - #Add this access rule to the ACL - $rule2.SetAccessRule($acl2) - #Write the changes to the user folder - Set-ACL -path $homedirectory -AclObject $rule2 - - #ACL Utilisateur final - $rule3 = Get-ACL -path $homedirectory - #Add this access rule to the ACL - $rule3.SetAccessRule($acl3) - #Write the changes to the user folder - Set-ACL -path $homedirectory -AclObject $rule3 - - #On casse l heritage mais on ne supprime pas les acls heritees - $acl = Get-ACL -Path $homedirectory - $acl.SetAccessRuleProtection($True, $False) - Set-Acl -Path $homedirectory -AclObject $acl - - #On copie le login sur admanager pour gestion des ACLs plus fine - $destination = "\\admanager\monitor$\" - $pathdestination = $destination + $login - -try - { - New-Item $pathdestination -ItemType file | Out-Null - Write-host "0" - } - -Catch { - -Write-Error "1" -} -} -else - { - Write-host "1" - } \ No newline at end of file