Archive

Archive for the ‘Exchange 2007’ Category

How to set quota notification interval in Exchange 2007

December 20, 2009 Leave a comment

The intent of this post is to give some details on how to set quota notification internal in Exchange 2007. During this interval, a wanning message will be sent to users who are exceeding(or near to) their mailbox limits.

Set Quota notification schedule on  a given Mailbox database:

Set-mailboxdatabase -identity “MBX1SG1S1″ -QuotaNotificationSchedule (“Sun.6:00 AM-Sun.6:15 AM”, “Mon.6:00 AM-Mon.6:15 AM”, “Tue.6:00 AM-Tue.6:15 AM”, “Wed.6:00 AM-Wed.6:15 AM”, “Thu.6:00 AM-Thu.6:15 AM”, “Fri.6:00 AM-Fri.6:15 AM”, “Sat.6:00 AM-Sat.6:15 AM”)

Set Quota notification schedule on  all Mailbox databases:

Get-MailboxDatabase | Set-mailboxdatabase -QuotaNotificationSchedule (“Sun.6:00 AM-Sun.6:15 AM”, “Mon.6:00 AM-Mon.6:15 AM”, “Tue.6:00 AM-Tue.6:15 AM”, “Wed.6:00 AM-Wed.6:15 AM”, “Thu.6:00 AM-Thu.6:15 AM”, “Fri.6:00 AM-Fri.6:15 AM”, “Sat.6:00 AM-Sat.6:15 AM”)

Set Quota notification schedule on  all Mailbox databases on a single server:

Get-MailboxDatabase -Server MBX1 | Set-mailboxdatabase -QuotaNotificationSchedule (“Sun.6:00 AM-Sun.6:15 AM”, “Mon.6:00 AM-Mon.6:15 AM”, “Tue.6:00 AM-Tue.6:15 AM”, “Wed.6:00 AM-Wed.6:15 AM”, “Thu.6:00 AM-Thu.6:15 AM”, “Fri.6:00 AM-Fri.6:15 AM”, “Sat.6:00 AM-Sat.6:15 AM”)

You can change the notification schedule timings as you want.

Happy Learning..,
Sitaram Pamarthi

Categories: Exchange 2007, PowerShell

Bulk User mailbox creation in Exchange 2007

December 20, 2009 2 comments
While working on setting up my test Exchange 2007 setup, I got a requirement to create 100 users in my environment. I know how to do it with Vbscript but creating mailbox enabled users increases the complexity of script a bit. Then I explored PowerShell and came up with below piece of code. It might help you too… :-)

[PS] C:>$password = Read-Host “Enter the password” -AsStringString
[PS] C:>foreach ($number in 1..100) { new-mailbox -name user$number -Alias user$number -database “MBX1SG1S1″ -organizationalUnit “SPDOMAIN.COM/INDIA/Users” -UserPrincipalName user$number@spdomain.com -Displayname User$number -password $password }

Please note that, the password will be applied for all 100 test accounts we are creating. Above code creates 100 test user accounts with mailbox enabled on MBX1
SG1S1″ store.

Happy Learning..,
Sitaram Pamarthi
Categories: Exchange 2007, PowerShell

Restore Exchange 2007 CMS when resources got deleted accidentally

December 17, 2009 Leave a comment

The above article has good amount of information embedded in it explaining what to do when you delete an exchange cluster resource from a CMS. Exchange clusters are not like any other cluster aware applications which can be restored by simply recreating the resources in cluster group.  One example is, SQL.  You can do simple recreation of cluster resource if you delete one from SQL instance. But when it comes to Exchange, it is little bit different. Each exchange resource maintains variety of references with each other and with active directory. It also stores it’s unique information about exchange clustered resources in active directory; so recreating the cluster resources manually from cluster admin doesn’t make any sense. You might successfully able to create resources using cluster admin, but exchange will not recognize and use it.
So, follow below steps when you delete any exchange related cluster resource from CMS group.  When I say exchange related clustered resource, I mean, Exchange Information Store Instance (CMSNAME), Exchange System Attendant Instance (CMSNAME) and Storage name (CMSNAME).

  • Note down the values NetBIOS name and IP address of the CMS
  • Run Stop-ClusteredMailboxServer -Identity “CMSName” -StopReason:”your comment text goes here”
    

  • Go to command line and run setup.com /clearLocalCMS /cmsName:”CMSName” to clear the stale entries from cluster; setup.com will be available in your installation media.
  • Run setup.com /recoverCMS /cmsName:”CMSName” /cmsIPv4Address:”IPAddress” from command prompt. This uses the configuration in active directory and reinstalls the CMS with the old configurations.

Hope this helps you and use at your own Risk.  :-)

Happy Learning…,
Sitaram Pamarthi
Categories: Exchange 2007

How to Configure CAS proxying in Exchange 2007

November 27, 2009 Leave a comment

This post is mainly concerned about the steps required for enabling CAS proxying in Exchange 2007. Before explaining the configuration part, I will give you the scenario where I am configuring the CAS proxying.

Environment:

I have two sites, SiteA and SiteB. Both the sites are having MBX and CAS(2) servers.
CAS1 server(SiteACas1) in SiteA is published to Internet.

If a user whose mailbox in siteB mailbox server tries to open his mailbox through OWA from internet, his request goes to SiteACas1 server and he will be get below error.

Error: Outlook Web Access is not available. If the problem continues, contact technical support for your organization and tell them the following: There is no Microsoft Exchange Client Access server that has the necessary configuration in the Active Directory site where the mailbox is stored.

To resolve these errors, follow the below steps.

Configuration:

  • Enable integrated authentication on Cas1SiteB and Cas2SiteB servers.

Set-OwaVirtualDirectory -Identity “Cas1SiteBowa (Default Web Site)” -WindowsAuthentication $true
Set-OwaVirtualDirectory -Identity “Cas2SiteBowa (Default Web Site)” -WindowsAuthentication $true

  • Set the internal URL on both the CAS servers in siteB

set-OwaVirtualDirectory -Identity “Casd1SiteBOWA (Default web site)” -InternalUrl https://Cas1SiteB.local.com/owa
set-OwaVirtualDirectory -Identity “Casd2SiteBOWA (Default web site)” -InternalUrl https://Cas2SiteB.local.com/owa

You are all set here, try accessing your siteB mailbox from CAS1SiteA OWA URL. It should work now.

What else I need to read to understand Proxying and Redirection better:?

TechNet [http://technet.microsoft.com/en-us/library/bb310763.aspx]
Msexchangeteam posts [One, two, and three]

Post here if you need any clarifications or have any questions.

Happy Learning,
Sitaram Pamarthi

Categories: Exchange 2007

How Free/busy information will flow in a Exchange mixed mode (Exchange 2007/2003)


The below procedure explains the steps involved in fetching free busy information of E2K3 mailbox from Exchange 2007 environment.

  1. User initiates a Meeting Request using Outlook 2007 and adds the Exchange 2003 recipient as attendee
  2. CAS is responsible for fetching the free/busy information, so Outlook waits for CAS response
  3. CAS queries active directory for E2K3 user legacyExchangeDN attribute and also queries for the list of Exchange 2003/2000 servers in the AG to which legacyExchangeDN value points to.
  4. CAS forms a http query for free busy information and passes that to one of the servers it identified in AG. There is no specific order AFAIK, it does the selection randomly.
  5. If it gets a response, it passes that to Outlook and outlook displays the information for user.
  6. If CAS didn’t gets any response for its HTTP query, it makes the query to another server in AG and continues with remaining list till finds a server which responds to the query
  7. If none of the servers in AG are responding to the HTTP query, it logs an event in event viewer (event id: 4004 and Event Category: Availability Service) and tries to pass the query to a random server in Exchange Organization as a last attempt.
  8. If the CAS gets response at last attempt(as said in step 7), it passes that information to Outlook
  9. You will see gray lines in Meeting request scheduling Tab, if CAS is unable to get Free/Busy information of E2K3 user from any of the servers which are in AG and if the last attempt to random server also fails.

Because of this behavior, MS recommends adding all the servers in a AG to free/busy public folder of that AG. If your organization is not meeting this criterion, then you will see availability related errors (event id 4003) in your CAS event log.

Please note that, above procedure is valid only for meeting requests initiated from Outlook 2007 using Exchange 2007 mailbox to Exchange 2003 mailboxes. If your scenario is not same, then the procedure will change. I will come-up with details about this in my next post. So, stay tuned J

Happy Learning,
Sitaram Pamarthi

Categories: Exchange 2007

Configure Exchange 2007 OWA using PowerShell

August 19, 2009 1 comment

In this post, I am giving the powershell commands to configure OWA authentication mechanism as per your needs usign powershell cmdlets. Please write to me (in comments sections) if you need any clarifications.

Configure Exchange 2007 OWA to take default domain name:

Set-owavirtualdirectory -identity "owa (default web site)" -LogonFormat UserName -DefaultDomain mydomain.com

Configure Exchange 2007 OWA to accept only “domain nameUser Name” format:

Set-owavirtualdirectory -identity "owa (default web site)" -LogonFormat fulldomain

Configure Exchange 2007 OWA to use form-based authentication:

Set-owavirtualdirectory -identity "owa (default web site)" -FormsAuthentication:$true

Configure Exchange 2007 OWA to use integrated authentication:

Set-OwaVirtualDirectory -Identity "owa (Default Web Site)" -WindowsAuthentication $true

Happy Learning,
Sitaram Pamarthi

Categories: Exchange 2007, PowerShell

Enable Diagnostic Logging in Exchange 2007


In Exchange 2003, you need to go to “Diagnostic logging tab” in Exchange server properties to enable required logging. This has been simplified in Exchange 2007 and now you can do it through Exchange Shell.

List Logging Levels (Get-EventLogLevel)

To get the current logging levels of a Exchange 2007 server, run the below command. You put your server name after “-server”. If you don’t specify any it will display the logging levels of local server. The logging level list varies depending on the role of the Exchange 2007 server (MBX, CAS, HTS).

Get-EventLogLevel -Server MYSERVER

Set Logging Level (Set-EventLogLevel)

You can increase the logging level of any listed identify to one of the below values. Below levels are self explanatory and I am hoping no need of further descriptions of them.

  • Lowest
  • Low
  • Medium
  • High

For example, if I want to change “MSExchange ADAceessValidation” Logging level to low. I will use the below command.

Set-EventLogLevel "MSExchange ADAceessValidation" -Level High

You can do it remaining for identities as well in similar way. Good Luck and Happy Learning..

Sitaram Pamarthi

Categories: Exchange 2007, PowerShell

Download Exchange 2007 SP1 Helpfile

Microsoft has made the Exchange 2007 SP1 help file available for download at download center. It is a chm file of 20MB size which covers the following topics..
o Planning and Architecture (includes AD planning and E2K7 roles planning)
o Deployment (covers fresh installations and migrations)
o Operations(covers various administration tasks)
o Very useful troubleshooting tips
o Configuring security and protection in Exchange 2007
o Technical Reference for administrators like me who loves to read some internal stuff. :-)
o PowerShell commands

I downloaded this and had glimpse at it. I felt that is useful for every one. Hence I wrote this post.
Happy Learning,
Sitaram Pamarthi

Categories: Exchange 2007