在Active Directory中,用户登录名(也称为用户Principal名称或UPN)应与其他用户的登录名不同。为了保证用户登录名的唯一性,可以使用PowerShell脚本来检测用户登录名是否重复,并为新用户创建唯一的登录名。
以下是一个示例脚本,它将使用Active Directory中的Get-ADUser cmdlet来检查用户登录名,并为新用户创建唯一的登录名:
# Define variables for new user
$FirstName = "John"
$LastName = "Doe"
$Domain = "domain.com"
# Generate unique samAccountName
$samAccountName = $FirstName.ToLower() + "." + $LastName.ToLower()
$x = 0
while (Get-ADUser -Filter "samAccountName -eq '$samAccountName'" -ErrorAction SilentlyContinue) {
$x++
$samAccountName = $FirstName.ToLower() + "." + $LastName.ToLower() + $x
}
# Set UPN to match the samAccountName
$UPN = $samAccountName + "@" + $Domain
# Create the new user with unique samAccountName and UPN
New-ADUser -Name ($FirstName + " " + $LastName) -SamAccountName $samAccountName -UserPrincipalName $UPN
该脚本将生成一个唯一的“samAccountName”,并将其用作新用户的登录名。然后,它将使用提供的域名构建一个唯一的用户Principal名称。最后,该脚本将使用New-ADUser cmdlet创建一个新用户,并将唯一的samAccountName和UPN分配给该用户。