If you just installed Exchange 2013 and you have an Exchange 2010 mailbox you cannot access EAC you get the old ECP management

If you just installed Exchange 2013 and you try to go to http://ServerName/ecp you’ll notice that you get the old Exchange 2010 interface and cannot manage your Exchange 2013 server.  There is a simple fix for this just simply use the following url syntax.

Exchange 2010 how to view a users folders sizes in Powershell

If you have a user who is receiving the following message:
“The recipient’s mailbox is full and can’t accept messages now. Microsoft Exchange will not try to redeliver this message for you. Please try resending this message later, or contact the recipient directly.”
They might be asking you what is taking up so much space.  There is a simply Powershell command you can run that will generate what folders are consuming the space.
Get-MailboxFolderStatistics -id | sort-object foldersize -descending | FT folderpath, foldersize, itemsinfolder -autosize
This will return something like this which you can give to the end user.
FolderPath                            FolderSize                    ItemsInFolder
———- ———- ————-
/Sent Items/Inbox                     1.793 GB (1,925,310,217 bytes)         16941
/Deletions                           1.046 GB (1,123,250,629 bytes)         10579
/Inbox                               865.8 MB (907,805,987 bytes)            7326
/Sent Items                          240.6 MB (252,339,324 bytes)            3194
/Sent Items/Deleted Items             45.5 MB (47,705,521 bytes)              672
/Recoverable Items                   8.272 MB (8,674,112 bytes)             2208
/Calendar                             5.487 MB (5,753,889 bytes)              1095
/Top of Information Store             3.216 MB (3,372,347 bytes)               38
/Drafts                              1000 KB (1,024,409 bytes)                18
/Contacts                             8.507 KB (8,711 bytes)                   20
/Deleted Items                        323 B (323 bytes)                         1
/Junk E-mail                          138 B (138 bytes)                          1
/Purges                               0 B (0 bytes)                             0
/Versions                             0 B (0 bytes)                              0
/Tasks                               0 B (0 bytes)                             0
/Journal                             0 B (0 bytes)                             0
/Conversation Action Settings         0 B (0 bytes)                             0
/Outbox                               0 B (0 bytes)                              0
/Notes                                0 B (0 bytes)                             0

All of my Exchange 2010 services are stopped and disabled. Have I been hacked?

Recently Microsoft release Exchange service pack 1 rollup 7 unfortunatly this software was not tested. We have had multiple clients experience issues. To resolve follow the steps below or contact N2 Network Solutions.
Time and Material – 10.12.12 – exchange down
1.Set all exchange services to startup type according to default values:
2.Check/set World Wide Web Publishing Service startup to auto
3.Check/set IIS Admin Service startup to auto
4.Check/set Windows Management Instrumentation startup to auto
5.Check/set Remote Registry startup type to auto
6.Restart server (starting services themselves did not seem to work properly)
7.Check System log for DistributedCOM 10016 error:
should it appear, find out which service is causing the problem by looking at HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{CLSID in the log} (most likely IIS Admin Service), run component services->DCOM Config->IIS Admin Service, properties and set local launch permission for the user mentioned in the log (in my case IIS APPPOOLDefaultAppPool – just do add, paste the whole IIS APPPOOLDefaultAppPool and check names). Restat server. This should handle the DCOM problem.
8.should be able to access Exchange mgmt console.
9.Check if OWA works, actually if any IIS folders work (in my case IIS was running but returning error 500). In this case use this guide Reset Client Access Virtual Directories.

Removing the first Exchange 2010 database requirements

Run this command first
Set-AdServerSettings -ViewEntireForest $True
The first thing you must do is move all the mailboxes to another database. This can be accomplished via this command
get-mailbox –database “Database You’re trying to remove” | new-MoveRequest –targetdatabase “Database to move users to”
Now you must move the arbitration mailbox
get-mailbox –arbitration –database “Database You’re trying to remove” | new-MoveRequest –targetdatabase “Database to move users to”
You can now check the status of the mailbox move
Once they are all completed run this command to remove the request
get-moverequest | remove-moverequest
You can now remove your mailbox
Remove-mailboxdatabase –id “Database You’re trying to remove”

Deleting disconnected mailboxes in Exchange 2010

First you need to get a list of all the disconnected mailboxes –
Get-MailboxStatistics -Database “” | Where-Object {$_.DisconnectDate -Notlike $NULL} | FL DisplayName, DisconnectDate, MailboxGuid
Next step is to take the GUID of the account you want to delete and use this command –
Remove-Mailbox -Database “” -StoreMailboxIdentity

Changing the global catalog server for Exchange Server 2010

If you want to force the Exchange server to use a specific GC instead of letting the server automatically choose a GC, you can perform the following steps:
1.Open Exchange management console
2.Right click on “organization configuration” or “server configuration”
3.Select “modify configuration domain controller”
You can view which server Exchange is using by going to “server configuration”. Right click on your server name and select properties. Under the “system settings” tab you will find the servers being used by Exchange.

Searching Exchange 2010 mailboxes with Powershell

#Assign the role to the required user account
New-ManagementRoleAssignment -Role “Mailbox Import Export” -User administrator
#Restart the shell
#This would search every mailbox for messages containing the word secrets in the message body,
#and export them to the administrator mailbox in a subfolder called Export
Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery “Body:’*secrets*'” -TargetMailbox administrator -TargetFolder Export
#Or, to search one mailbox for bob smith
Search-Mailbox -Identity bsmith -SearchQuery “Body:’*secrets*'” -TargetMailbox administrator -TargetFolder
#you can also do this via ECP

Change the GAL display to last name first name in Exchange 2010

To change the GAL in Exchange 2010 to display your users last name before there first it is a two step process.
The first step is you need to use to change all of your existing users in bulk
Admodify can be downloaded here –

The second step is you need to use ADSIEDIT to change it for all of your users moving forward.

Use Powershell in Exchange 2010 to give a distribution group permissions to a security group's member's calendars'

The first thing you will want to do is create and active directory security group.  In my example I create one named “calendartest”.  Now I’m going to add all the users who need to have their calendar shared with a distribution group of users to this group that I’ve created. 
Now open adsiedit.msc so you can find the location of the group in active directory.  You are going to need this.  In my example it is “CN=calendartest,OU=MyUsers,DC=TestDomain,DC=local”.
Finally open powershell and simply run these two commands:
$calendartest = Get-mailbox –Filter {(MemberOfGroup -eq “CN=calendartest,OU=MyUsers,DC=TestDomain,DC=local”)}
$calendartest | ForEach-Object {Add-MailboxFolderPermission $_”:Calendar” –User –AccessRights Reviewer}

Manage Exchange 2010 Calendar Permissions Using Powershell

In this example we will add a domain group named group-calendarReviewers to a mailbox named Jeremy.Whittaker.  We will give the group “Reviewer” access rights
Add-MailboxFolderPermission -identity “Jeremy.Whittaker:calendar” –user “DomainNamegroup-calendarReviewers” -AccessRights Reviewer
In this example above I use reviewer.  However, instead of using “Reviewer” permissions you may choose from all these different types of permissions:
None                                                   FolderVisible
Owner                                                CreateItems, ReadItems, CreateSubfolders, FolderOwner, FolderContact, FolderVisible, EditOwnedItems, EditAllItems, DeleteOwnedItems, DeleteAllItems
PublishingEditor                       CreateItems, ReadItems, CreateSubfolders, FolderVisible, EditOwnedItems, EditAllItems, DeleteOwnedItems, DeleteAllItems
Editor                                                 CreateItems, ReadItems, FolderVisible, EditOwnedItems, EditAllItems, DeleteOwnedItems, DeleteAllItems
PublishingAuthor                    CreateItems, ReadItems, CreateSubfolders, FolderVisible, EditOwnedItems, DeleteOwnedItems
Author                                              CreateItems, ReadItems, FolderVisible, EditOwnedItems, DeleteOwnedItems
NonEditingAuthor                   CreateItems, ReadItems, FolderVisible
Reviewer                                          ReadItems, FolderVisible
Contributor                                   CreateItems, FolderVisible
The following roles apply specifically to calendar folders:
AvailabilityOnly                        View only availability data
LimitedDetails                            View availability data with subject and location
Now lets say you want to go through all the users in your domain and give the group group-calendarReviewers permissions to everyones calendar:
{codecitation}$users = Get-mailbox
$users | ForEach-Object {
Set-MailboxFolderPermission $_”:Calendar” -User Default -AccessRights AvailabilityOnly
Remove-MailboxFolderPermission $_”:Calendar” -User “DomainNamegroup-calendarReviewers” -Confirm:$False
Add-MailboxFolderPermission $_”:Calendar” -User “DomainNamegroup-calendarReviewers” -AccessRights Reviewer
}$users = Get-mailbox $users | ForEach-Object {{codecitation}