Tuesday, 7 April 2015

Add Customized Secondary Alias


This script connects to Office365 & retrieves all mailboxes. Once retrieved it adds the Secondary Email address in below condition.

It takes the FirstName & LastName & add the email address as Firstname.Lastname@yourdomain.com.

You can add the password in "C:\Scripts\pass.txt" or Modify the connection sesssion accordingly.

Example (FirstName: Kingson LastName : Jebaraj)

This script creates Kingson.Jebaraj@newdomain.com as secondary email address.

################################################################ 
# Scripting for Office365 
################################################################ 
 
#Script Written by : Kingson Jebaraj 
#Version : 1.0 
 
# ============================================================================================== 
# Crendentials and Logon 
# ============================================================================================== 
 
Get-PSSession | Remove-PSSession 
Get-Module tmp* | Remove-Module 
$administrator = "Administrator@domain.com" 
$password = Get-Content "C:\Scripts\pass.txt" | ConvertTo-SecureString -AsPlainText -force 
$credential = New-Object System.Management.Automation.PSCredential $administrator,$password 
$Server"https://outlook.office365.com/powershell-liveid/" 
$session = New-PSSession -Authentication basic -Credential $credential –ConnectionUri $Server -Configuration Microsoft.Exchange -AllowRedirection 
Import-PSSession $session 
 
# ============================================================================================== 
# Getting Users with Firstname & Lastname to apply 
# ============================================================================================== 
 
 
$mbxs=Get-MailBox 
foreach($m in $mbxs) { 
    $newalias=""  
    $u=Get-User $m.alias; 
    if($u.FirstName.trim() -ne "") { 
        $newalias=$u.FirstName.trim() 
        if($u.LastName.trim() -ne "") { 
            $newalias +"."+$u.LastName.trim() 
        } 
    }    
    if($newalias.trim() -ne "") { 
        $newsmtpalias="smtp:"+$newalias+"@domain.com" 
        if(-not ($m.EmailAddresses -contains $newsmtpalias)) { 
            $m.EmailAddresses.add($newsmtpalias) 
            Set-mailbox -Identity $m.Identity -EmailAddresses $m.EmailAddresses 
        } 
    } 
      
 } 
 
 Write-Host Successfully Applied SMTP Settings 
 
# ============================================================================================== 
# Closing Session 
# ============================================================================================== 
 
Get-PSSession | Remove-PSSession

No comments:

Post a Comment

Google+ Followers

Blog Archive