Exchange Message Tracking Logs export to Excell

 

Very often we have to find emails sent from one mailbox to another.
Informations about sent messages in our Microsoft Exchange Server environment we can find in Message Tracking Logs which are located on Hub Transport servers

 

Mostly to explore Message Tracking Log we use GUI tool Tracking Log Explorer from Exchange Management Console. We can also use powershell to track messages which is more helpful. We can create powershell script to track messages using CMDlet Get-MessageTrackingLog.

 

How to use Get-MessageTrackingLog we will write next time.

Now we want to describe how to find informations about delivered messages to specified mailbox and how to easly export those informations to Excell where we can sort and filter them.

 

To find informations about sent or received message we have to check all Message Tracking Logs on all Hub Transport Servers in our Exchange environment.

When we want to get informations about messages delivered to mailbox we need to use Get-MessageTrackingLog with -EventId Deliver options, then we will receive only informations about messages with status delivered.

 

This link describes Get-MessageTrackingLog CMDlet and how to use it.

Before you will start looking for message, you need to know what is your message tracking logs configuration for Hub Transports Servers. You have to check where and how long those logs are held.

 

Below you can find script which will search all Hub Transport Servers and message transport logs for delivered messages to specified mailbox. This mailbox is defined in variable Recipient.

Continue reading

Print Friendly

Remote Exchange PowerShell Session in Powershell ISE

 

During Microsoft Exchange servers administration we often use EMS (Exchange Management Shell). Many times it’s the best and the fastest way to achieve what we need. We can create Powershell scripts to automate some administrative actions.

Unfortunately lot of us to use Exchange Management Shell, first connect by RDP to Exchnage Server or workstation with Exchange Management Tools and then run EMS.

We can easly connect to Powershell Exchange Management Console from workstation using New-PSSession in Powershell ISE console.

Below we present how to add menu Powershell ISE to connect to Exchange Server Powershell Console.

First we need to run Powershell ISE console and write:

Set-ExecutionPolicy RemoteSigned

 

next we need to write to check powershell profile used on our computer:

$profile

 

 

Now we know where is located file with our powershell profile, but we have to check if this file exists.

To check if this profile file exists we have to run below command:

test-path $profile

Continue reading

Print Friendly

Exchange Server 2010 rollup upadate error 1603 or 1635

 

When you are trying to install update rollup or service pack for Microsoft Exchange Server 2010 or 2007 and you receive error 1603 or 1635 you can resolve this problem like below.

Problems occurs because new rollup update or service pack check %SystemDrive%\Windows\Installer folder for .msp files from earlier update rollups.

If an .msp file is missing then process fails with code 1603 or 1635.

 

To resolve this problem you need to follow these steps:

  1. Make sure that all antivirus, anti-spam, and monitoring services are disabled.
  2. Clear the data in the “%SystemDrive%\Windows\TEMP”folder.
  3. Try to install the update rollup or service pack.
  4. If the installation fails, open the Exchangesetup.msilog installation log in the “%SystemDrive%\ExchangeSetupLogs” folder.

 

If you can’t find ExchangeSetup.msilog file then you have to use /lxv switch during installation rollup or service pack like below:

Exchange2007-KB968012-x64-EN.msp /lxv c:\Rollup.log

 

Now you can open log file and it looks like this below:

Continue reading

Print Friendly

Exchange Server scripts repository resources

 

If you write scripts for you Exchange Server environment, you can be interested in Microsoft  Scripts Repository.

On Microsoft websites you can find many scripts for Exchange environment, which are written in VBS, Powershell, SQL, JavaScript and others.

Those scripts are divided for Exchange Server versions 2003, 2007, 2010.

Links to Exchange Scripts repository :

Microsoft Exchange Script Center

Technet Gallery Exchange Scripts

 

 

Print Friendly

Export mailbox to pst larger than mailbox size

 

When we export mailbox from Exchange Server to .pst file, we can see that size of this .pst file is larger than mailbox size in Exchange Management Console (EMC).

We can export mailbox using New-MailboxExportRequest like below:

New-MailboxExportRequest -Mailbox "JSmith"  -Name JSmith -FilePath \\server\share\JSmith.pst

 

When we check .pst file size we will see that it’s larger than mailbox size.

 

Size difference between mailbox size and .pst export file size is caused by Recoverable Items.
When you export mailbox to .pst, all items in mailbox including Recoverable Items will be exported to .pst file. But when you check mailbox size in EMC, you check size of mailbox without Recoverable Items, so this is size difference.
In Recoverable Items you can find all items deleted by user which can be restored and calendar versioning it’s dumpster.

 

If  you want to check mailbox size with deleted items yet not purged (Recoverable Items) you have to use powershell and Get-MailboxStatistics CMDlet like below:

Get-MailboxStatistics JSmith | Format-List StorageLimitStatus,TotalItemSize,TotalDeletedItemSize,ItemCount,DeletedItemCount

 

As a result you will get mailbox size, and also Recoverable Items size, when you add them you will get total mailbox size after export to .pst file.

 

Print Friendly

Microsoft Outlook 2013 change .ost location

 

How to change location of the .ost file in Outlook 2013:

When  you want to change location of .ost file in Microsoft Outlook 2013 you can use following two methods:

1. Change .ost file path by creating new Outlook Profile

Open Control Panel, find and choose Mail or Mail (Microsoft Outlook 15)

In Mail Window click Add

 

Write new Profile Name:

 

Choose OK, Outlook should find your mail account.

Continue reading

Print Friendly

Microsoft Outlook won’t open add-ins problem

 

If we are trying to run Microsoft Outlook without success, we can check add-ins used in Outlook

Try to run Microsoft Outlook in safe mode like below:

Outlook.exe /safe

 

If Outlook will start in safe mode, go to Add-ins options and disable any 3rd party add-ins you see:

  • On the File tab, click the Options category
  • Click Add-ins
  • Select COM Add-ins from the Manage box, and then click Go
  • Click to clear the check box for any add-ins that you want to disable
  • Click OK, and then restart Outlook

 

If it doesn’t help, follow this article:

Outlook 2010: How to troubleshoot crashes in Outlook

Print Friendly

Exchange 2010 get Mailbox Permissions

 

Exchange 2010 MailboxPermission

Last time we explained how to add permissions to mailbox or mailbox folder in Microsoft Exchange 2010.

But what if we need to check users permissions for mailboxes ?

To check permissions assigned to mailbox we need to use Get-MailboxPermission CMDlet.

But if we run:

Get-MailboxPermission JSmith

we will get list of all permissions including owner and inherited permissions

W can filter permissions by adding where with specified options like below, where we don’t want to get owners permissions and inherited permissions in output list:

Get-MailboxPermission JSmith | where {$_.user.ToString() -ne "NT AUTHORITY\SELF" -and $_.IsInherited -eq $false}

 

If we need to check all mailboxes on server MX01 we need to add Get-Mailbox and pipline output to Get-MailboxPermission like below:

Get-Mailbox -server MX01 -ResutlSize Unlimited | Get-MailboxPermission JSmith | where {$_.user.ToString() -ne "NT AUTHORITY\SELF" -and $_.IsInherited -eq $false}

 

To check only Send-As permissions we can run following command:

Get-Mailbox -server MX01 -ResultSize Unlimited | Get-ADPermission | where {($_.ExtendedRights -like “*Send-As*”) -and ($_.IsInherited -eq $false) -and -not ($_.User.ToString() -like “NT AUTHORITY\SELF”)}

 

But if we want to list permissions to mailbox folder we have to use Get-MailboxFolderPermission CMDlet and choose folder to check.

This example will check permissions to JSmith mailbox calendar folder:

Get-MailboxFolderPermission –identity “JSmith*:\Calendar”

 

 

Print Friendly

Exchange 2010 list activesync Apple devices

 

Few days ago, we wrote about problems with Apple mobile devices updated to iOS6, and also we wrote how to check mobile devices connected to mailboxes in Exchange 2010.
Below you can find link to last post:

Exchange 2010 ActiveSync Devices list

 

Now because lot of people have problems with mobile devices with iOS6 connected to mailboxes on Exchange 2010, we want to show you how you can get check how many mobile devices are connected to mailboxes in your Exchange 2010 environment.

To get list of all mobile devices connected to mailbox JSmith use below command:

Get-ActiveSyncDeviceStatistics -Mailbox JSmith | ft DeviceType, DeviceUserAgent, LastSuccessSync

 

Now we need to get all mailboxes from MB01 server and get list of all mobile devices which were used to connect to those mailboxes.
To do this we need to use both command:  Get-Mailbox and Get-ActiveSyncDeviceStatistics

If we want to get all mailboxes from MB01 server:

$MBXs = Get-Mailbox -server MB01 -RecipientTypeDetails UserMailbox –ResultSize Unlimited -Filter {HiddenFromAddressListsEnabled -eq $false}

 

Now we need to check mobile devices:

Continue reading

Print Friendly

Exchange 2010 list mailboxes with forward to address or inbox rule

 

Exchange 2010 mailboxes list with forward to address enabled:

Many times in our Exchange 2010 environment we need to forward messages from one mailbox to another.
Users always have a lot of reasons to enable Forward To option.

After a while we mostly forget which mailbox has enabled Forward To option, and we forget to disable it.

Every now and then we should check, which mailbox has Exchange 2010 Forward To option enabled and if we don’t need it anymore, disable it.

We will spend a lot of time If we would like to use Exchange Mangement Console to verify mailbox Forward To.

Much better option is to use Exchange Management Shell with Get-Mailbox CMDlet.

To get list of all mailboxes in Exchange 2010 with enabled option Forward To we need to run below command:

Get-Mailbox -server MX01 -Filter {ForwardingAddress -like '*'} | Select-Object Name, ForwardingAddress

 

As a result we will get list of all mailboxes on MX01 Exchange 2010 server with Forward To option enabled.
When we have many mailboxes we can write this list to file like below:

Get-Mailbox -server MX01 -Filter {ForwardingAddress -like '*'} | select-object Name,ForwardingAddress | Export-Csv "D:\Scripts\Forwarding.csv"

 

 

Exchange 2010 list of mailboxes with enabled InboxRule:

Normal user can’t enable Forwad To option for mailbox, but he can create in Outlook or OWA InboxRule which will forward or redirect emails to other mailbox.

All mailbox rules created by users are stored in Exchange 2010 mailboxes. So again from Exchange Management Shell we can check all mailboxes do they have any mailbox rules and if they have are they using to forward or redirect messages.

To check mailbox for user created Inbox Rules with option Redirect To or Forward To we need to use Get-InboxRule CMDlet like below:

Continue reading

Print Friendly