WindowsAD域 通过Import-csv批量导入用户,实现自动创建、更新

#注意事项用于导入的CSV文件,必须以UTF-8方式保存

#建议使用Powershell ISE,可以直接对复制代码编辑和运行,也可以快速编辑csv文件

# 导入ActiveDirectory模块
Import-Module ActiveDirectory

# 导入CSV文件
$users = Import-Csv -Path "C:\usr.csv"

# 遍历CSV中的每一行
foreach ($user in $users) {
    try {
        # 尝试获取用户
        $adUser = Get-ADUser -Filter "SamAccountName -eq '$($user.SamAccountName)'" -Properties * -ErrorAction SilentlyContinue
        
        # 将Enabled列的值转换为布尔类型
        $enabledState = [bool]::Parse($user.Enabled)
        
        # 如果用户不存在,则创建新用户
        if (-not $adUser) {
            # 创建新用户
            New-ADUser -SamAccountName $user.SamAccountName -Surname $user.Surname -GivenName $user.GivenName `
 	-Name $user.Name -UserPrincipalName $user.UserPrincipalName -DisplayName $user.Name -Department $user.Department  `
	   -Title $user.Title -Path $user.Path -AccountPassword(ConvertTo-SecureString -AsPlainText $user.AccountPassword -Force)  `
	   -Enabled ($user.Enabled -eq "True") -PasswordNeverExpires $true 
            Write-Host "Created new user: $($user.SamAccountName)  $($user.Name)"
        } else {
            # 如果用户存在,则更新用户属性
            Set-ADUser -Identity $user.SamAccountName -Surname $user.Surname -GivenName $user.GivenName `
 	-UserPrincipalName $user.UserPrincipalName -Department $user.Department  -Title $user.Title -DisplayName $user.DisplayName `
	   -Enabled ($user.Enabled -eq "True") -PasswordNeverExpires $true
            Write-Host "Updated user: $($user.SamAccountName)  $($user.Name)"
        }
    }
    catch {
        # 如果发生错误,输出错误信息
        Write-Host "Error processing user: $($user.SamAccountName)  $($user.Name). Error: $_"
    }
}

#目前碰到的问题

1、如果修改代码增加更新信息EmailAddress和 Path(OU信息)时,会提示无法转换值,或者提示值为空,移除代码里EmailAddress和 Path的内容即可。

以下是CSV的表头参考

SamAccountNameSurnameGivenNameDisplayNameNameUserPrincipalNameEmailAddressDepartmentTitlePathAccountPasswordEnabled
990013谭某谭某900013@ldap.xxx.comxxx@xxx.com服务中心清洁工OU=UserID,OU=xxx,DC=ldap,DC=xxx,DC=comxxxxxxxxx

True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值