{"id":745,"date":"2021-06-28T14:32:14","date_gmt":"2021-06-28T12:32:14","guid":{"rendered":"http:\/\/blog.nosland.com\/?p=745"},"modified":"2021-06-28T14:32:16","modified_gmt":"2021-06-28T12:32:16","slug":"python","status":"publish","type":"post","link":"http:\/\/blog.nosland.com\/?p=745","title":{"rendered":"Python"},"content":{"rendered":"\n<h2>LDAP : <\/h2>\n\n\n\n<h3>installation : <\/h3>\n\n\n\n<p>python3 -m pip install python-ldap<\/p>\n\n\n\n<h3>Connexion<\/h3>\n\n\n\n<p class=\"has-white-color has-vivid-purple-background-color has-text-color has-background\">from ldap3 import Server, Connection, ALL, MODIFY_REPLACE<br>s = Server(\u00ab\u00a0refid-ldap-ecriture.nosland.com\u00a0\u00bb, port=636, use_ssl = True , get_info=ALL)<br>c = Connection(s, user=\u00a0\u00bbcn=Admin,dc=nosland,dc=com\u00a0\u00bb, password=\u00a0\u00bbMonMotDePass\u00a0\u00bb, check_names=True, lazy=False, raise_exceptions=True)<br>c.bind()<br>c.open()<\/p>\n\n\n\n<h3>Requ\u00eate <\/h3>\n\n\n\n<p>Rechercher un enregistrement<\/p>\n\n\n\n<p class=\"has-white-color has-vivid-purple-background-color has-text-color has-background\">c.search(search_base = &lsquo;dc=nosland,dc=com&rsquo;, search_filter = \u00ab\u00a0(&amp;(objectClass=supannPerson)(uid=\u00a0\u00bb + uidetrouver + \u00ab\u00a0))\u00a0\u00bb, attributes = [&lsquo;uid&rsquo;,&rsquo;o&rsquo;,&rsquo;ou&rsquo;,&rsquo;fdBadge&rsquo;])<\/p>\n\n\n\n<p>Recherche avec boucle sur tous les enregistrements et affiche deux champs <\/p>\n\n\n\n<p class=\"has-white-color has-vivid-purple-background-color has-text-color has-background\">c.search(search_base = &lsquo;dc=nosland,dc=com&rsquo;,<br>search_filter = &lsquo;(objectclass=supannPerson)&rsquo;,<br>attributes = [&lsquo;uid&rsquo;,&rsquo;givenName&rsquo;,&rsquo;sn&rsquo;,&rsquo;o&rsquo;,&rsquo;ou&rsquo;,&rsquo;modifyTimestamp&rsquo;,&#8217;employeeNumber&rsquo;,&rsquo;telephoneNumber&rsquo;])<br>for entry in c.entries:<br>                                print(str(entry.uid) + \u00a0\u00bb \u00a0\u00bb + str(entry.givenName)) <\/p>\n\n\n\n<p>Modification :<\/p>\n\n\n\n<p class=\"has-white-color has-vivid-purple-background-color has-text-color has-background\">c.modify(&lsquo;uid=&rsquo;+ qui + &lsquo;,ou=people,dc=nosland,dc=com&rsquo;, {&lsquo;giveName&rsquo;: [(MODIFY_REPLACE, [&lsquo;NosPHeratus&rsquo;])]} )<\/p>\n\n\n\n<h3>Commande Linux en python <\/h3>\n\n\n\n<p class=\"has-white-color has-vivid-purple-background-color has-text-color has-background\">import os<br>os.system(&lsquo;cat \/opt\/echanges\/PourDSI\/export.csv |grep -v inactif > badgesactifs.csv&rsquo;)<br>os.system(&lsquo;sed -e \u00ab\u00a0s\/,Profil actif\/\/\u00a0\u00bb badgesactifs.csv > badgesactif.csv&rsquo;)<\/p>\n\n\n\n<h3>Commandes Python (sialorssinon, essaye, boucle)<\/h3>\n\n\n\n<p>Essaye et si echoue : try\/except : <\/p>\n\n\n\n<p class=\"has-vivid-purple-color has-text-color\">try :<br>       commandes 1 \u00e0 faire<br>       commandes 2 \u00e0 faire<br>       etc&#8230;.<br>except:<br>        commandes 1 \u00e0 faire<br>        commandes 2 \u00e0 faire<br>        etc&#8230;.<\/p>\n\n\n\n<p>Si Alors Sinon : <\/p>\n\n\n\n<p class=\"has-white-color has-vivid-purple-background-color has-text-color has-background\">if (conditions):<br>                       commandes 1 \u00e0 faire<br>                       commandes 2 \u00e0 faire<br>                       etc&#8230;.<br>else:<br>                      commandes 1 \u00e0 faire<br>                      commandes 2 \u00e0 faire<br>                      etc&#8230;.<\/p>\n\n\n\n<p>Boucle for : <\/p>\n\n\n\n<p class=\"has-white-color has-vivid-purple-background-color has-text-color has-background\">for condition:<br>                     commandes 1 \u00e0 faire<br>                     commandes 2 \u00e0 faire<br>                     etc&#8230;.<br>#Fin de boucle avec arr\u00eat de la tabulation<\/p>\n","protected":false},"excerpt":{"rendered":"<p>LDAP : installation : python3 -m pip install python-ldap Connexion from ldap3 import Server, Connection, ALL, MODIFY_REPLACEs = Server(\u00ab\u00a0refid-ldap-ecriture.nosland.com\u00a0\u00bb, port=636,&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[6],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/posts\/745"}],"collection":[{"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=745"}],"version-history":[{"count":1,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/posts\/745\/revisions"}],"predecessor-version":[{"id":746,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=\/wp\/v2\/posts\/745\/revisions\/746"}],"wp:attachment":[{"href":"http:\/\/blog.nosland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=745"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.nosland.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}