所以我对下面提供的代码有疑问。我有一个名为 0010798M 的 .csv 文件,其中有 3 个文件,名称分别为 name、surname、ou。
在 .csv 文件的 ou 部分中,我有 3 个不同的 ous,名称分别为 Account、Sales、Management。
我的代码在此链接中提供:https ://pastebin.com/D0Naiccr
#Import the PowerShell module containing AD cmdlets
Import-Module ActiveDirectory
write-host "Start Process"
write-host "-------------------------------------"
try {
#Read the CSV file
$csvPath = "C:\0010798M.csv"
$csvData = import-csv $csvPath
write-host "Reading the CSV file......"
#Loop through all items in the CSV items
ForEach ($user In $csvData) {
$saMAccountName = $user.sAMAccountName
#Check if the User exists
$ADuser = Get-ADUser -LDAPFilter "(sAMAccountName=$saMAccountName)"
If ($ADuser -eq $Null) {
#Create user using New-ADUser cmdlet
$userPrincipalName = $user.sAMAccountName + "@adatum.com"
New-ADUser -Name $user.displayName `
-SamAccountName $sAMAccountName `
-UserPrincipalName $userPrincipalName `
-GivenName $user.givenname `
-Surname $user.sn `
-DisplayName $user.displayName `
-AccountPassword (ConvertTo-SecureString "Pa`$`$w0rd" -AsPlainText -Force) `
-PasswordNeverExpires $true `
-ChangePasswordAtLogon $false `
-Enabled $true
write-host "- " $user.sAMAccountName "| Account Created" -ForegroundColor green
} else {
write-host "- " $user.sAMAccountName "|Account Exists" -ForegroundColor yellow
}
}
} catch {
write-host "Error: " $($_.CategoryInfo) -ForegroundColor red
write-host "Message: " $($_.Exception.Message) -ForegroundColor red
}
write-host "-----------------------------------------------------------------"
write-host "End Process"