一、需求
在组织架构调整的时候,可能会批量新增多个组织单元OU,手工创建效率低,开发了一个powsershell脚本,批量创建OU。
二、代码
实现上分为两块,具体如下:
(一)创建一个CSV文件
一块是有一个CSV文件,保存上级目录、需要创建的目录、OU描述。
CSV内容如下:
ParentOU,NewOUName,Description
"OU=1.1.1,OU=1.1,OU=1,DC=test,DC=com,DC=cn","301.03.01","新增_测试1_测试1"
"OU=3.3,OU=3,DC=test,DC=com,DC=cn","303.02","新增_测试1"
(二)创建一个psl文件
powershell代码如下:
# 导入Active Directory模块Import-Module ActiveDirectory# 定义CSV文件路径$csvFilePath = "C:\Users\Administrator.GWTEST\Desktop\批量创建OU.csv"# 读取CSV文件$ouList = Import-Csv -Path $csvFilePath -Encoding UTF8# 遍历列表并创建OUforeach ($ou in $ouList) {# 构建新的OU的完整DN$newOUDN = "OU=" + $ou.NewOUName + "," + $ou.ParentOUtry {# 创建新的OU,并设置描述New-ADOrganizationalUnit -Name $ou.NewOUName -Path $ou.ParentOU -Description $ou.Description -ProtectedFromAccidentalDeletion $trueWrite-Host "Created OU: $newOUDN with description: $($ou.Description)" -ForegroundColor Green} catch {# 如果创建失败,则输出错误信息Write-Host "Failed to create OU: $newOUDN. Error: $_" -ForegroundColor Red}}