Dear experts,
I'm trying to script with following to set some users value, add them to their groups based on jobtitle and also department values, then move the users to target OU. The former part is done without issues but no groups were added, they are stay there but not moved to the target OU, what might be wrong?
Any help would be much appreciated.
# Import the AD module
# Import-Module ActiveDirectory
# Set the path of the CSV file
$csvFile = "D:\OneDrive - test\IT Dept\Account Management\ERP_Info\User_Re-enabled.csv"
# Import the CSV file
$users = Import-Csv $csvFile
# Loop through each user in the CSV file
foreach ($user in $users) {
# Set the user's attributes
$username = $user.username
$expireDate = $user.expiredate
$nationality = $user.nationality
# Get the user object from AD
$userObj = Get-ADUser -Identity $username -Properties *
# Enable the user if it's currently disabled
if ($userObj.Enabled -eq $false) {
Enable-ADAccount $userObj
}
# Set the user's expiration date
if ($expireDate -eq "Never") {
Set-ADAccountExpiration $userObj -DateTime $expireDate
} else {
$expireDate = [datetime]::ParseExact($expireDate,"yyyy-MM-dd",$null)
Set-ADAccountExpiration $userObj -DateTime $expireDate
}
# Set the user not to be hidden from address book
Set-ADUser $userObj -Replace @{msexchhidefromaddresslists=$false}
# Change the user's logon domain and email address
Set-ADUser $userObj -UserPrincipalName "$username@test.edu.cn" -EmailAddress "$username@test.edu.cn"
# Add the user to the groups
$groups = @("ERP users", "testStaffUsers", "testUsers")
# Check if the user's title contains Research Assistant or Student Assistant
if ($userObj.Title -match "(?i)Research Assistant|Student Assistant") {
$groups += "Research Assistants"
Move-ADObject $userObj -TargetPath "OU=Research Assistant,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
# Check if the user's title contains research fellow
if ($userObj.Title -match "(?i)research fellow") {
$groups += "Research Fellows"
}
# Check if the user's title contains teacher, pe instructor, Research Scientist, professor, tutor, visiting, lecturer, teaching fellow or editor
if ($userObj.Title -match "(?i)teacher|pe instructor|Research Scientist|professor|tutor|visiting|lecturer|teaching fellow|editor") {
$groups += "PanoptoTeachers", "Teachers"
}
# Check if the user's title contains Assistant Professor, Associate Professor, Professor, but exclude the title contains visiting
if ($userObj.Title -match "(?i)Assistant Professor|Associate Professor|Professor" -and $userObj.Title -notmatch "(?i)visiting") {
$groups += "Faculty"
}
# Check if the user's title contains lab manager, lab technician, lab engineer
if ($userObj.Title -match "(?i)lab manager|lab technician|lab engineer") {
$groups += "Lab Members"
}
# Check if the user's title contains pe instructor
if ($userObj.Title -match "(?i)pe instructor") {
$groups += "Physical Education Program"
}
# Check if the user's title contains Research Scientist
if ($user.Title -match "(?i)Research Scientist") {
Add-ADGroupMember -Identity "Other Scientists" -Members $user.SamAccountName
}
# Check if the user's nationality is CHN
if ($user.Nationality -eq "CHN") {
Add-ADGroupMember -Identity "Chinese Staff" -Members $user.SamAccountName
}
# Check if the user's department is Biotechnology and Food Engineering Program
if ($user.Department -eq "Biotechnology and Food Engineering Program") {
Add-ADGroupMember -Identity "Biotechnology and Food Engineering" -Members $user.SamAccountName
Move-ADObject -Identity $user.DistinguishedName -TargetPath "OU=Biotechnology and Food Engineering,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
# Check if the user's department is Chemical Engineering Program
if ($user.Department -eq "Chemical Engineering Program") {
Add-ADGroupMember -Identity "Chemical Engineering" -Members $user.SamAccountName
Move-ADObject -Identity $user.DistinguishedName -TargetPath "OU=Chemical Engineering,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
# Check if the user's department is Chemistry Program
if ($user.Department -eq "Chemistry Program") {
Add-ADGroupMember -Identity "Chemistry" -Members $user.SamAccountName
Move-ADObject -Identity $user.DistinguishedName -TargetPath "OU=Chemistry,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
# Check if the user's department is English Program
if ($user.Department -eq "English Program") {
Add-ADGroupMember -Identity "English" -Members $user.SamAccountName
Move-ADObject -Identity $user.DistinguishedName -TargetPath "OU=English Teachers,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
# Check if the user's department is Environmental Science and Engineering Program
if ($user.Department -eq "Environmental Science and Engineering Program") {
Add-ADGroupMember -Identity "Environmental Engineering" -Members $user.SamAccountName
Move-ADObject -Identity $user.DistinguishedName -TargetPath "OU=Environmental Engineering,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
# Check if the user's department is General Education Program
if ($user.Department -eq "General Education Program") {
Add-ADGroupMember -Identity "PE and GE Course Instructors" -Members $user.SamAccountName
Move-ADObject -Identity $user.DistinguishedName -TargetPath "OU=General Education,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
# Check if the user's department is Materials Science and Engineering Program
if ($user.Department -eq "Materials Science and Engineering Program") {
Add-ADGroupMember -Identity "Materials Science and Engineering" -Members $user.SamAccountName
Move-ADObject -Identity $user.DistinguishedName -TargetPath "OU=Materials Science and Engineering,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
# Check if the user's department is Mathematics with Computer Science Program
if ($user.Department -eq "Mathematics with Computer Science Program") {
Add-ADGroupMember -Identity "Mathematics with Computer Science Program" -Members $user.SamAccountName
Move-ADObject -Identity $user.DistinguishedName -TargetPath "OU=Mathematics with Computer Science Program,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
# Check if the user's department is Mechanical Engineering and Robotics Program
if ($user.Department -eq "Mechanical Engineering and Robotics Program") {
Add-ADGroupMember -Identity "Mechanical Engineering and Robotics Program" -Members $user.SamAccountName
Move-ADObject -Identity $user.DistinguishedName -TargetPath "OU=Mechanical Engineering and Robotics Program,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
# Check if the user's department is Physical Education Program
if ($user.Department -eq "Physical Education Program") {
Add-ADGroupMember -Identity "Physical Education Program" -Members $user.SamAccountName
Move-ADObject -Identity $user.DistinguishedName -TargetPath "OU=Physical Education Program,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
# Check if the user's department is Physics Program
if ($user.Department -eq "Physics Program") {
Add-ADGroupMember -Identity "Physics" -Members $user.SamAccountName
Move-ADObject -Identity $user.DistinguishedName -TargetPath "OU=Physics,OU=Academic,OU=Staff,OU=Users,OU=test,DC=test,DC=edu,DC=cn"
}
}