Search code examples
powershellexchange-serverpowershell-3.0exchange-server-2010

Powershell-script: Read Contacts from excel file, and create Mailboxes for them on Microsoft Exchange


I tried things out and not with much success. I don't want to know the whole solution for this problem, but where should I start (or maybe there already exist a solution)? Should I better convert the excel file to CSV or XML? Or maybe should I put some C# in it ?

Here are some more details:

  1. Attributes that should be readed and then filled in the mailbox: Name, Lastname, Display Name, Alias, e-mail(genrated from name and lastname).
  2. Checkbox must be unchecked: "Automatically update e-mail adresses based on e-mail adressess policy"
  3. Generate e-mails from the names with addtional domain (example: Name: Dennis, Lastname: Ritchie, e-mail:[email protected]).

Solution

  • $path = "C:\Scripts\05-Script\Contacts.csv"
    $Database = "xDB"
    $OU = "XUnit/Test"
    #$Password = (Get-Credential).Password
    $Password = ConvertTo-SecureString "P@ssWord1" -AsPlainText -Force
    
    Import-Csv $path | ForEach-Object   {
    
        $FirstName = $_."FirstName"
        $LastName = $_."LastName"
        $Alias = $_."Alias"
    
        $UserPrincipalName = $Alias # +xdomain.com"
        $OtherEmail = $FirstName +"."+ $LastName + "@xdomain.com"
        $DisplayName = $LastName+", "+$FirstName
    
        New-Mailbox -Alias $Alias `
                    -Name $Alias `
                    -FirstName $FirstName `
                    -LastName $LastName `
                    -DisplayName $DisplayName `
                    -SamAccountName $Alias  `
                    -UserPrincipalName $UserPrincipalName `
                    -Database $Database `
                    -OrganizationalUnit $OU `
                    -Password $Password `
                    -ResetPasswordOnNextLogon $false
    
    }