LDAP腳本批量導出用戶


背景:工作原因,搭建了LDAP服務,然后用戶數過多,因為懶所以就通過python代碼生成ldap腳本進行批量導入用戶

 

1、整理用戶名單,格式如下:

 

 

 注:上述格式影響代碼中的excel讀取代碼

 

 2、python3腳本

# coding: utf-8
import base64
import xlrd


class ExcelData():
# 初始化方法
def __init__(self, data_path, sheet_name):
#定義一個屬性接收文件路徑
self.data_path = data_path
# 定義一個屬性接收工作表名稱
self.sheet_name = sheet_name
# 使用xlrd模塊打開excel表讀取數據
self.data = xlrd.open_workbook(self.data_path)
# 根據工作表的名稱獲取工作表中的內容(方式①)
self.table = self.data.sheet_by_name(self.sheet_name)
# 根據工作表的索引獲取工作表的內容(方式②)
# self.table = self.data.sheet_by_name(0)
# 獲取第一行所有內容,如果括號中1就是第二行,這點跟列表索引類似
self.keys = self.table.row_values(0)
# 獲取工作表的有效行數
self.rowNum = self.table.nrows
# 獲取工作表的有效列數
self.colNum = self.table.ncols

# 定義一個讀取excel表的方法
def readExcel(self):
# 定義一個空列表
#atas = []
sheet_data = {}
for i in range(1, self.rowNum):
# 定義一個空字典

cell_name = self.table.cell_value(i, 3)
cell_id = self.table.cell_value(i, 4)
sheet_data[cell_name] = cell_id
return sheet_data

def writeTxt(txt_fp,datas):
with open(txt_fp,'a') as f:
i=10001
for cname, uname in datas.items():
print('%s is %s' % (cname, uname))
i=i+1
f.write( "\n"+"dn: cn="+str(uname)+",ou=People,dc=kamfu,dc=com" + "\n"
+ "cn:" + str(uname) + "\n"
+ "gidnumber: 10001" + "\n"
+ "homedirectory: /home/" + str(uname) + "\n"
+ "loginshell: /bin/bash" + "\n"
+ "mail: " + str(uname) + "@test.com.cn" + "\n" #公司郵箱
+ "objectclass: posixAccount" + "\n"
+ "objectclass: inetOrgPerson" + "\n"
+ "objectclass: organizationalPerson" + "\n"
+ "objectclass: person" + "\n"
+ "sn:: " + str(base64.b64encode(cname.encode("utf-8")), "utf-8") + "\n" #base64轉碼
+ "uid: " + str(uname) + "\n"
+ "uidnumber: " + str(i) + "\n"
+ "userpassword: {SSHA}9IRZYWEAIALUSIrPOudkyzfmATpleXFr" + "\n") #密碼Kamfu666

#f.close()


if __name__ == '__main__':
data_path = "D:\LDAP用戶名單.xlsx"
sheetname = "匯總"
get_data = ExcelData(data_path, sheetname)
datas = get_data.readExcel()
writeTxt("D:\LDAP_users.txt", datas)

3、運行代碼生成的ldap腳本:

 

 4、復制腳本到ldap的web端進行導入

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM