Exchange Server 2016 Public Preview

Are you as excited as I am?? Just got notice that the public preview of E2016 is ready. I’m looking forward to playing with this in my lab environment.

Microsoft has announced the public release of Exchange Server 2016 Preview, available for download now.

Architectural Changes in Exchange Server 2016

The big change in the server roles architecture is the further consolidation of server roles into just two:

  • Mailbox server role
  • Edge Transport server role

The Mailbox server role consolidates both of the required Exchange Server 2013 roles (Mailbox and Client Access), and all of the required Exchange Server 2010 roles (Mailbox, Client Access, Hub Transport, and Unified Messaging) into a single server role.

Read more…

Advertisement

PSTs – Offline Storage… Can we get rid of these already?

I came across a great article on this subject.  For years (being in the enterprise messaging field) I’ve run into this problem. No one wants to get rid of stuff and that’s understandable. However, there has got to be a better way to clean all this archived email mess.  This article not only explains the problem in better detail but also shares knowledge on WHAT to DO!

Brilliant!

Deep Sixing PST Files

A little over two years ago we wrote about removing PSTs from your organization and gave you a tool to assist you with that endeavor. .PST, Time to Walk the Plank. Since then, we’ve updated the tool with some new features and functionality. In this blog, we are going to give you:

More reasons to get rid of PST files.

What to do with the data in the PST files.

How to move the PST data to its new location.

Read more from the Exchange Team Blog…

Exchange Links

Below are a few links I’ve used in looking up Exchange topics:

  1. ExBPA-2013
  2. Free-Busy and E2003
  3. Configuring Exchange 2013 Edge Transport Server
  4. Exchange Server Deployment Assistant
  5. Exchange Server and Update Rollup Build Numbers
  6. Remove the Last Legacy Exchange Server
  7. TechNet Virtual Labs Exchange Server
  8. Tools for Exchange Server 2003-2007-2010 A Messaging – Unified Communication Portal
  9. Autodiscover.xml failed 0x800c8203

Quickly Create Test Accounts

When looking to verify a process like mailbox migrations, sometimes a significant number of test accounts are required. You could go about it in the old fashioned (manual) way of creating each account one by one, or…

You can use PowerShell!

There are a few things required before beginning.

1. Create a .csv file with a few basic headers and some values.

This list is what will be used to create all the accounts needed. For example:

1-CSV

2. Open Notepad.exe and add this information in. 

$ErrorActionPreference = “SilentlyContinue”

function Select-FileDialog
{
 param([string]$Title,[string]$Directory,[string]$Filter=”CSV Files (*.csv)|*.csv”)
 [System.Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”) | Out-Null
 $objForm = New-Object System.Windows.Forms.OpenFileDialog
 $objForm.InitialDirectory = $Directory
 $objForm.Filter = $Filter
 $objForm.Title = $Title
 $objForm.ShowHelp = $true
 
 $Show = $objForm.ShowDialog()
 
 If ($Show -eq “OK”)
 {
  Return $objForm.FileName
 }
 Else
 {
  Exit
 }
}

$FileName = Select-FileDialog -Title “Import an CSV file” -Directory “c:\”

$ExchangeUsersOU = “OU=TestUsers”

$domain = [System.DirectoryServices.ActiveDirectory.Domain]::GetComputerDomain()  
$DomainDN = (([System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()).Domains | ? {$_.Name -eq $domain}).GetDirectoryEntry().distinguishedName
$final = “LDAP://$DomainDN”
$DomainPath = [ADSI]”$final”
$cOU = $DomainPath.Create(“OrganizationalUnit”,$ExchangeUsersOU)
$cOU.SetInfo()

$UserInformation = Import-Csv $FileName

$OUPath = “LDAP://$ExchangeUsersOU,$DomainDN”
$UserPath = [ADSI]”$OUPath”
Write-Host “—————————————————————“
Write-Host “Creating LAB Users”
Write-Host “Version 1.1”
Write-Host “—————————————————————“

Foreach ($User in $UserInformation){
 
 $CN = $User.samAccountName
 $SN = $User.Surname
 $Given = $User.givenName
 $samAccountName = $User.samAccountName
 $Display = $User.DisplayName
 
 $LABUser = $UserPath.Create(“User”,”CN=$CN”)
 Write-Host “Creating User: $User.samAccountName”
 $LABUser.Put(“samAccountName”,$samAccountName)
 $LABUser.Put(“sn”,$SN)
 $LABUser.Put(“givenName”,$Given)
 $LABUser.Put(“displayName”,$Display)
 $LABUser.Put(“mail”,”$samAccountName@$domain”)
 $LABUser.Put(“description”, “Lab User – created via Script”)
 $LABUser.Put(“userPrincipalName”,”$samAccountName@$domain”)
 $LABUser.SetInfo()
 
 $Pwrd = $User.Password
 
 $LABUser.psbase.invoke(“setPassword”,$Pwrd)
 $LABUser.psbase.invokeSet(“AccountDisabled”,$False)
 $LABUser.psbase.CommitChanges()

}
Write-Host “Script Completed”

3.  When finished, save as “NEWLABUSERS.ps1”

This script will create new accounts in Active Directory based on the .CSV file in step 1.  The accounts will be created in an OU called “OU=TestUsers”.

4.   To create corresponding Exchange mailboxes for these test users, Run the following cmdlet from the Exchange Management Shell;

Get-User -OrganizationalUnit “OU=TestUsers,DC=domain,DC=com” -Filter ‘RecipientType -eq “user”‘ | ForEach-Object { $email = $_.FirstName +”.”+ $_.LastName +”@domain.com“; Enable-Mailbox -Identity $_.SamAccountName -DisplayName $_.DisplayName -Alias $_.SamAccountName -PrimarySmtpAddress $email -Database “ExchMBXServer\SG1\database“}

*NOTE: on each variable that has a strikethrough above, change the variable to ones within your organization.  “OU=TestUsers,DC=contoso,DC=com” and “@contoso.com” and “ExchMBX01\First Storage Group\defaultdatabase”