python - 从 csv 导入数据并创建 Active Directory 用户列表
问题描述
嘿,所以我正在尝试从 python 中的 powershell 制作相同的脚本,但我无法正确处理,也许你可以帮助我,所以脚本是这样的:
- 打开一个包含用户信息的 csv 文件
- 为 csv 文件中的每一行创建用户
csv 看起来像这样:
powershell 脚本工作正常,如下所示:
# import module
Import-Module ActiveDirectory
# create new password
$securedpassword = ConvertTo-SecureString "abc-123" -AsPlainText -Force
#import csv
$filepath = Read-Host -Prompt "please enter csv path"
#import the file into a variable
$users = Import-Csv $filepath
# loop all rows to gather information
foreach ($user in $users) {
# gather user information
$fname = $user.'first name'
$lname = $user.'last name'
$oupath = $user.'ou'
#creat new ad user from csv file
New-ADUser -name "$fname $lname" -GivenName $fname -Surname $lname -UserPrincipalName "$fname.$lname" -Path $oupath -AccountPassword $securedpassword -ChangePasswordAtLogon $true -Enabled $true
# echo output
echo "account created for $fname $lname in $oupath"
}
在 python 中是这样的:
#import csv and active directory module
import csv
from pyad import *
def createuserfromcsv():
#takes full file path for test: c:\newusers.csv
file = input('please type your file path + file: ')
data = open(file,encoding="utf-8")
csv_data = csv.reader(data)
data_lines = list(csv_data)
pyad.set_defaults(ldap_server="DC-01-Training.Udemy.training",username="Administrator",password="abc-123")
for line in data_lines[1:]:
user = line[0]
for line in data_lines[1:]:
oupath = line[2]
ou = pyad.adcontainer.ADContainer.from_dn(oupath)
new_user = pyad.aduser.ADUser.create(user,ou,password="abc-123")
print(user)
print(oupath)
我怎样才能解决这个问题 ?
解决方案
好的,我做到了,无论有无功能都可以使用:
import csv
from pyad import *
def createuserfromcsv():
#takes full file path
file = input('please type your file path + file: ')
data = open(file,encoding="utf-8")
csv_data = csv.reader(data)
data_lines = list(csv_data)
#load admin information
pyad.set_defaults(ldap_server="DC-01-Training.Udemy.training",username="Administrator",password="abc-123")
for line in data_lines[1:]:
user = line[0]
oupath = line[2]
ou = pyad.adcontainer.ADContainer.from_dn(oupath)
pyad.aduser.ADUser.create(user,ou,password="abc-123")
推荐阅读
- git - Github 操作,在分支上调度操作
- javascript - 点击事件打开一个带有特定项目的模式
- c - FatFS:f_findfirst 返回一个与找到的文件不对应的字符串
- docker - RabbitMq - Docker-compose - 如何修复“连接被拒绝 127.0.0.1:5672”异常
- jquery - Pharo Seaside - 如何在 html 中编辑标签后更新数据库条目
- c# - 如何获取 x:name 用于轻按手势的元素
- r - 当我尝试解析数据框中的 JSON 列时,我在 R 中不断收到错误
- html - 针对不同分辨率缩放页面
- ios - 为什么当 dequeueReusableCellWithIdentifier 发生时单元格中的 init 方法不会被调用
- c# - 远程服务器返回错误 (404) 未找到。在 system.net.httpwebrequest.getresponse()