
Untitled
#Import file and populate user fields
Function ReadCSV
{
Param([string]$fileName)
$users = Import-Csv $fileName
foreach ($user in $users){
$flln = $user.'last name'.ToUpper().Substring(0)
$db = ""
if(($flln.CompareTo("A") -ge 0) -and ($flln.CompareTo("F") -le 0)){
$db = "Student Store A-F"
}
elseif($flln.CompareTo("G") -ge 0 -and $flln.CompareTo("M") -le 0){
$db = "Student Store G-M"
}
else{
$db = "Student Store N-Z"
}
$ht = @{
'givenName'=$user.'first name'
'sn'=$user.'last name'
'displayName'= ($user.'first name' + " " + $user.'last name')
'name' = ($user.'first name' + " " + $user.'last name')
'alias'= ($user.'first name' + "." + $user.'last name')
'samAccountName'= ($user.'first name' + "." + $user.'last name')
'userPrincipalName' = ($user.'first name' + "." + $user.'last name' +"@mycollege.edu")
'organizationalUnit' = "OU=Staging,OU=Student Accounts,DC=mycollege,DC=edu"
'retentionPolicy' = "Student Policy"
'office' = $user.office
'database' = $db
}
Write-Output $ht
}
}
# User creation portion
Function CreateUser{
Param($userInfo)
$secureString = ConvertTo-SecureString "Changeme123" -AsPlainText –Force
New-Mailbox -Name $userInfo['name' ]`
-Alias $userInfo['alias'] -UserPrincipalName $userInfo['userPrincipalName']`
-SamAccountName $userInfo['alias'] -Database $userInfo['Database']`
-FirstName $userInfo['givenName'] -LastName $userInfo['sn']`
-OrganizationalUnit $userinfo['organizationalUnit']`
-RetentionPolicy $userInfo['retentionPolicy']`
-DisplayName $userInfo['DISPLAYNAME'] -Password $secureString -ResetPasswordOnNextLogon $true
}
#Create mailbox
Function CreateMailbox{
PROCESS
{
CreateUser $_
}
}
ReadCSV C:\\MailboxMove\Test.csv | CreateMailbox