Sunday, December 27, 2009
Online Move Mailbox feature in Exchange server 2010:
Script for Event log backup and clearing:
Post Step after Exchange server 2010/2007 and Make it Live:
Saturday, November 14, 2009
Exchange Server 2010: Previous exchange server Coexistence
Message Routing in Exchange 2007 vs. Exchange 2003 Multisite Environment:
Wednesday, November 4, 2009
Exchange server 2010’s new features:
Sunday, October 25, 2009
Configuring LCR – Local Continuous Replication:
Hi friends,
This article briefs the configuring LCR in the exchange 2007 server. As it name implies, the local continuous replication is the new feature in the exchange 2007 and it has the local copy of the database just like a mirror. Either you can do either in GUI or powershell, here I have explained in the powershell
Design the structure first, for example will have the below for our configuration,
SG1 – storage group name, SG1DB1 – database
Source system path (disk1): c:\SG1
Source log path (disk1): c:\SG1\log
Source edb path (disk1): c:\SG1\DB
Destination system path (disk2): D:\SG1LCR
Destination system path (disk2): D:\SG1LCR\log
Destination system path (disk2): D:\SG1LCR\DB
1. Enabling Database copy,
#Enable-DatabaseCopy –identity ‘servername\sg1\sg1db1’ –CopyEdbFilePath ‘D:\SG1LCR\DB\SG1DB1.edb’
2. Enabling Storage group copy,
#Enable-StorageGroupCopy –identity sg1 –CopyLogFolderPath ‘D:\SG1LCR\log’ -CopySystemFolderPath ‘D:\SG1LCR\DB’
3. To check the status of the replication,
#Get-StorageGroupCopyStatus
The LCR Configuration has been completed now; you can check the logs which are copied from the source to the destination and also any new generated logs will automatically seed to the destination location as we defined above.
Restore from the LCR copy:
Let us assume that if something goes wrong with the source database, we are in a position to restore from the replica. So, let’s see how to do the restore,
1. Dismount the database - #dismount-database sg1db1
2. Restore from replica - #Restore-StorageGroupCopy –identity ‘servername\sg1’
3. Mount the database back - #mount-database sg1db1
4. Now, the point to be noted is old LCR configuration of SG1DB1 is no more enabled. Please enable the LCR for this Storage group again and also clear the old logs so that it will start seeding from the source from the first.
Hope the above is useful.
Thanks
Logan
971-552596187 logu_microsoft@hotmail.com
Difference types of Mailbox in Exchange 2007:
Unlike previous version of exchange, the general mailbox has been classified into four types. But there are few difference b/w each type.
1. User Mailbox – for traditional user mailbox.
2. Room Mailbox – for meeting rooms
3. Equipment Mailbox – for equipments like projector, TV, etc. It is just like creating AD accounts for such objects.
4. Linked Mailbox – Hosting mailbox for users in separate forest.
In the above, the core mailbox attributes are same except few are different.
1. Basic notification GUI symbol is different for each object.
2. Resource mailbox (i.e., both room and equipment mailbox) are by default will be in the disabled state.
3. In OWA à Options, we have the “resource setting” only for the resource mailbox.
4. In creating a calendar meeting either in outlook or OWA, we have the scheduling assistant for configuring the meeting in which, “Select room” option will there and will list the entire room mailbox available in the organisation.
5. Also while adding attendees in the address bar, in the address book window; we will have the classified option as “default global address list” and “All rooms”. The latter is specifically designed to list the room mailbox alone.
6. On the attribute side, Isresource attribute of a mailbox will be set as “True” for the resource mailbox and “False ” for the user mailbox. The attribute resourcetype attribute will be set as “room” and “equipment” respectively.
Useful Powershell command:
To get the resource mailbox,
#get-mailbox where-object { $_.isresource –eq ‘true’ }
To get the resource mailbox related attribute,
#get-mailbox where-object { $_.isresource –eq ‘true’ } fl res*
To convert user mailbox to resource mailbox
#set-mailbox mailboxname –type room
Hope the above is useful.
Thanks
Logan
971-552596187 logu_microsoft@hotmail.com
Exchange server 2007 Services.
Types of clustering in exchange 2007:
This article explains the different types of clustering technology available with the exchange 2007 server. The exchange 2007 version has some new exciting features in terms of the high availability. It has four types of clustering and which has its own level of fault tolerance and availability. I have also added the diagram for better understanding.
1. Single copy clusters(SCC):
# This cluster type is similar to the one as in previous exchange versions. In fact it is exactly similar to the one in exchange 2003.
# Uses a single copy of database is shared between the nodes of the cluster.
# The database copy is stored in the SAN Storage device and also at any point of time the database will be owned by single node.
# Fault tolerance – There is chance of SOP i.e., Single point of failure. SCC environment works great if a node/server fails, but still Database failure in the SAN will cause the damage.
Wednesday, September 30, 2009
Recipient limit feature in exchange server 2003 and 2007
In Exchange 2003:
In processing of email message, the recipient limits are applied after the expansion of the recipients. The expansion is nothing but the designated expansion server will expand all group lists, it will have the individual and non-duplicated recipient entries. So, if a user is having a recipient cap set to 50, when a user try to send a mail to a distribution list of 60 members, the result only the first 50 users of the expanded list will receive the mail, for the rest it will through the respective NDR.
In Exchange 2007:
But, in exchange 2007, the recipient limits are applied in the hub transport server role before the expansion of the recipient limits. In simpler words, expanded DL members are not counted in turn it will be counted as a single recipient. So, if a user is having a recipient cap set to 50, when a user try to send a mail to a distribution list of 60 members, the result all the users will be able to receive the mails henceforth it just count DL as a single recipient.
Hope the above is informative
Thanks
Logan
971-552596187
Logu_microsoft@hotmail.com
Saturday, August 22, 2009
Deploying Edge Transport Server Role:
1. Basic server check-up likes recommended hardware resources and server 2003/2008 OS, latest SP and appropriate patches.
2. N/w Card configuration – Two NIC cards, one for public/external and the other for private/internal.
3. Check the Name resolution between hub transport and the edge server. Also configure the edge server for the external name resolution.
Set-TransportServer -Identity ExEdge01 –ExternalDNSAdapterEnabled $false –ExternalDNSServers
Note : If the name resolution b/w hub and edge server doesn’t work, then the edge synchronisation fails.
4. Installing ADAM SP1 : Active Directory Application Mode SP1 is the one which acts as a tunnel passage for passing the limited AD related i.,e Domain related information from Hub transport server to the edge server.
5. Install Core edge exe : Run the setup.exe from the exchange installation disk, go for the custom type installation, select the edge server and complete the installation.
6. Check the Edge related configuration EMC, will find option like antispam, accepted domains and others, I will leave this up to you for exploring.
7. Since Exchange 2007 rollup 4 has some important updates, install the rollup 4 package also.
8. Restart the edge server after completing the above and run the command “test-servicehealth” to check all edge related services are up and running.
9. Ports to be opened : Edge server used custom ports for communication with the hub server. If firewall is placed in b/w hub server and edge server, the following ports have to be opened.
• LDAP 50389/tcp
• Secure LDAP 50636/tcp
• SMTP 25/tcp
• RDP 3389/tcp (optional)
10. Creating the edge subscription file in Edge server,
New-EdgeSubscription -FileName "C:\EdgeSubscriptionInfo.xml"
11. Copy the xml file to the Hub server.
12. Mapping the edge subscription file in Hub Server,
New-EdgeSubscription -filename "C:\EdgeSubscriptionInfo.xml" -CreateInternetSendConnector $true -site "Default-First-Site-Name"
13. By Default, the edge synchronisation happens at four hour intervals. For immediate sync,
Start-EdgeSynchronization
14. Edge server is ready, just verify connectors in Edge EMC console, will show the current hub server related connectors.
Hope the above is informative.
Thanks
Logan
Logu_microsoft@hotmail.com | 971552596187
Monday, August 17, 2009
Logon Event 528 Log:
This article explains about finding the user logon details using the normal event log and also how to interpret to event log details. In server side, environment it is always wise to have the user logon and logoff audits. If you check for the event log 528 under the security logs, you will find some of the positive hits. The typical 528 log entry will have the below information,
- user name
- domain
- logon id
- logon type
- logon process
- authenication package
- workstation name
In Particular, logon type is the one which needs to be paid attention.
2 | Interactive | User logged on to the computer's console. |
3 | Network | User logged on to the computer over the network (e.g., through a drive mapping). Note: On Win2K and later systems, event ID 528 doesn't log this logon type; for network logons, Win2K and later OS versions log event ID 540 with logon type 3. |
4 | Batch | Batch logon (commonly logged when a COM+ server component starts up). |
5 | Service | Service logon (required by user accounts configured as account for services). |
7 | Unlock | Workstation unlocked. |
8 | NetworkCleartext | Network logon, but with a clear-text password. By default, Windows doesn't allow clear-text password logons unless you explicitly enable them. (However, all versions of Microsoft IIS use clear-text passwords for Basic authentication.) |
9 | NewCredentials | User used alternative credentials to connect to a resource on the network or used the RunAs command to start programs under a different user account. |
10 | RemoteInteractive | User logged on to the computer remotely using Terminal Services or Remote Desktop. |
11 | CachedInteractive | Domain user logged on with cached credentials. Usually logged when a traveling user logs on to a notebook with his or her domain account but no domain controller (DC) is available. Note that event ID 537, not event ID 528, logs this event. |
Using the above, we can find the exact mode of logon and also the user details.
Hope the above is useful.
Thanks
Logan
Logu_microsoft@hotmail.com | 971552596187
Saturday, August 15, 2009
To list the DB size in all mailbox server
###############################################
# Script for finding all the database size in GB present in the organization.
# please use redirect '<' for reporting# Eg, .\Tofinddbsize.ps1 > report.txt
$exchangeservers = Get-ExchangeServer where-object {$_.admindisplayversion.major -eq 8 -and $_.IsMailboxServer -eq $true }
foreach ($server in $exchangeservers)
{
$db = Get-MailboxDatabase -server $server
foreach ($objItem in $db)
{
$edbfilepath = $objItem.edbfilepath
$path = "`\`\" + $server + "`\" + $objItem.EdbFilePath.DriveName.Remove(1).ToString() + "$"+ $objItem.EdbFilePath.PathName.Remove(0,2)
$dbsize = Get-ChildItem $path $ReturnedObj = New-Object PSObject
$ReturnedObj Add-Member NoteProperty -Name "Server\StorageGroup\Database" -Value $objItem.Identity
$ReturnedObj Add-Member NoteProperty -Name "Size (GB)" -Value ("{0:n2}" -f ($dbsize.Length/1024MB))
Write-Output $ReturnedObj
}
}
###############################################
Thanks
LOGAN
logu_microsoft@hotmail.com 971552596187
To find the disconnected mailbox in the mailbox servers.
###################################################
Write-Host
$search = read-host "Type part of DisplayName Ex Tom* *sson *middle* , searching mailbox servers one by one... "
Write-Host
Write "Press ctrl-C to stop search once you found your mailbox"
$exchangeservers = Get-ExchangeServer where-object {$_.admindisplayversion.major -eq 8 -and $_.IsMailboxServer -eq $true }
foreach ($server in $exchangeservers)
{
Write-Host
Write "Searching $server"
Get-MailboxStatistics -Server $server where { $_.DisconnectDate -ne $null } where { $_.DisplayName -like "$search" } fl
}
Write-Host
Write "Finished"
################################################
Thanks
Logan
logu_microsoft@hotmail.com 971552596187
Wednesday, August 12, 2009
Find the mailbox count per db in a server
#####################################################
# script for finding the no of mailbox's per mailboxdatabase
write-host $server = read-host "Type the server name:"
foreach ($db in get-mailboxdatabase -server $server)
{
if ($db.getType().fullname -like "*PublicFolderDatabase")
{
$dbType = "Public"
}
else
{
$dbType = "Private"
$dbUserCount = (get-mailbox -database $db -erroraction silentlycontinue).count
}
$retObj = new-object psobject
$retObj add-member noteproperty -name "Server" -value $db.Server
$retObj add-member noteproperty -name "Name" -value $db.Identity
$retObj add-member noteproperty -name "Users" -value $dbUserCount
$retObj
}
#################################################
Please let me know if you have any queastions.
Thanks
Logan
logu_microsoft@hotmail.com 971552596187
Find the mailbox which exceeds the quota limit
##################################################
#Script to find the mailbox which exceeds the quota limit
#in the mailbox server.
Write-host
$server = read-host "Please Enter the Mailbox server name:"
get-MailboxStatistics -server $server where {"IssueWarning","ProhibitSend","MailboxDisabled" -contains $_.StorageLimitStatus} format-Table DisplayName,database,storagelimitstatus,Totaldeleteditemsize,TotalItemSize
###################################################
Thanks
Logan
971552596187
Monday, August 10, 2009
Difference between BIS and BES
#One is designed for individuals and small businesses (BIS)
#The other is designed for large companies and organisations (BES).
The ways in which they work are very different.
Difference between BIS and BES
BIS – (For individuals and small businesses)
The BlackBerry Internet Solution provides a wireless solution tailored to meet the needs of individual users and small and medium-sized businesses (SMB). The BlackBerry Internet Service, a component of the BlackBerry Internet Solution, allows wireless connectivity to Internet-based email and other applications. The architecture for BlackBerry Internet Service,
including Internet browsing functionality, is shown in the diagram below: BlackBerry Internet Service leverages centrally hosted wireless gateways, allowing users to access up to 10 supported email accounts and Internet browsing functionality* without the need to install and manage a BlackBerry Enterprise Server.
Fig1 : BIS (Please click on the figure to maximize)
The BlackBerry Enterprise Solution allows the wireless extension of corporate email and applications with the BlackBerry Enterprise Server™, an important component of the solution, and would be managed by the organisations own internal I.T. department. The typical architecture of the BlackBerry Enterprise Solution is shown in the diagram below: The BlackBerry Enterprise Server is installed and managed behind the corporate firewall and includes integrated support for extending corporate messaging solutions, including Microsoft Exchange, IBM Lotus Domino and Novell GroupWise. The BlackBerry Enterprise Server also acts as a wireless gateway allowing the BlackBerry Browser and custom applications on the BlackBerry device to connect to corporate applications and web servers, as well as to Internet-based web servers.
MFCMAPI Utility for Outlook - To delete the hidden or corrupted rules:
Symptoms of a client affected by Corrupted and Hidden Rules:
SPAM Appliance filter does not automatically move identified SPAM mail to Junk E-Mail Folder.
User created server or client based Outlook rules will not function or only some will not function.
Download MFCMapi.exe from the internet.
1. In Outlook 2000/2003:
a. On the Tools menu, click Rules and Alerts.
b. In the Rules and Alerts dialog box, click Options.
c. In the Options dialog box, click Export Rules.
2. Use MFCMapi to remove all rules that are applied to a client’s mailbox. To do this, follow these steps
a. Open the folder C:\_localdata, double click mfcmapi.exe and then click OK.
b. On the Session menu, click Logon and Display Store Table.
c. If you are prompted to select a profile, click the client’s mail profile in the Profile Name list, and then click OK.
d. Double-click the mailbox that contains the inbox rules that you want to delete.
e. Expand Root Container, and then expand Top of information Store.
f. Right-click Inbox and then click Open Associated Contents Table.
g. Use the Horizontal Scroll Bar to bring the Message Class column in view.
h. IMPORTANT! Highlight and delete ONLY items named IPM.Rule.Message and IPM.ExtendedRule.Message.
i. Once you hit the delete key you will be prompted to choose the type of deletion. Using the drop down box select, Permanent delete passing DELETE_HARD_DELETE (unrecoverable).
j. Close all MFCmapi windows and restart Outlook. Double check that all client rules have been removed by going into ToolsàRules and Alerts.
3. Import the backed-up rules into Outlook. To do this, follow these steps:
In Outlook 2000/2003:
a. On the Tools menu, click Rules and Alerts.
b. In the Rules and Alerts dialog box, click Options.
c. In the Options dialog box, click Import Rules.
d. Locate the rules that you backed up in step 2, click Open, and then click OK.
So, reopen the outlook, should be the end of the story.
Hope the above is informative.
Thanks
Logan
971-552596187
Reason for duplicate items in Outlook
There can be many reasons why a user would see multiple messages in their mailboxes. The most likely ones are outlined here.
1. The message has actually been sent more than once by the originator. Check the date in the "Date:" clause. If the dates are different, then the message was sent by the originator more than once.
2. The user is an alias of another account and both accounts received a copy of the mail. To see if this has occurred, open both messages and view the complete header. Look at the last "Received:" clause. This clause will say who the message saw sent to. If there are different addresses, then this explains why the message appeared twice.
3. The user gets mail forwarded from another account and both accounts received a copy of the message. Use the same check as above to see if this is the case.
4. One mail server between the sender and recipient is (incorrectly) duplicating the message. To see if this has occurred, open both messages and view the complete header. Match each of the "Received:" clauses until you find two that are different. These two received clauses will give a different time for the receipt of the message. This clause identifies the server that is duplicating email messages. You will need to contact the owner of the server for further investigation.
Other items to help determine the cause of the duplicate messages appearing include taking a look in the headers of the messages themselves. The topmost Received header will contain a unique ID for the message consisting of 8 characters.
You can then take a look in the SMTP log for the server and search for this unique ID. This will show you the exact SMTP transaction that caused the message to enter your server. You will be able to see exactly which users the message was delivered to.
If the unique ID's are different then the messages are the result of more than one transaction. Likely reason being that the message was delivered to the server more than once. Again this can be confirmed from the logs.
When trying to debug these issues it is helpful if you enable all of the logging options for the SMTP service.
Reasons why you might see a message being sent more than once can include
1. Misconfiguration of the sending server
2. High CPU usage on your server for extended periods of time, causing connections to time out and thus the remote server retries the message again.
3. Malformed content being sent by the remote server
If you use the Anti-spam option to scan content for restricted words and do not limit the scanning to a certain number of lines, you are likely to see periods of high CPU usage on your server, particularly if you frequently process messages containing large attachments.
Hope the above detail is useful.
Thanks
Logan
971-552596187
HTTP Status Codes in IIS 6.0
The following is the Status Code Range and the respective Code Types.
100 Informational
200 Successful
300 Redirection
400 Client Error
500 Server Error
Under each status code, there will be a sub status code and it will have its own description on the issue.
Thanks
Logan
Logu_microsoft@hotmail.com
971-552596187
Expansion server in exchange server 2003
1. Expansion server generally routes the message that are sent to a single distribution list or group of users listed in that group.
2. It is also responsible for expanding the group to its individual members and also will resolves the name of the recipients.
3. Importantly it is used to determine the most efficient path for routing the messages.
4. To find the expansion server for a distribution group, Right click the distribution group àproperties à Exchange advanced à Expansion server à click the drop down button to list.
5. In detail,
a. When user selects group from GAL in outlook. The outlook obtains the GAL via NSPI(Name Service Provider Interface) request sent to a GC.
b. Once the name verification succeeds, it will turn the recipient address bold.
c. When user sends, outlook uses MAPI to transmit the message to the user’s home exchange server.
d. Exchange server sees that the recipient is a group, and it sends an LDAP query to GC for the member’s list along with the email attributes.
6. By default any server can in the exchange organization can acts as a expansion server. This option is recommended because it totally avoids the single point of failure. Assigning particular server as a expansion server for particular group will result in failure if that particular server is unavailable.
Hope the above is informative.
Thanks
Logan
Logu_microsoft@hotmail.com
971-552596187
Thursday, June 4, 2009
Virtual Memory Fragmentation Exchange
In exchange server too allocations of the virtual memory plays a vital role for the efficient functioning of the exchange server. If the virtual memory allocation is not up to the mark, which results in hitting the performance of the exchange server in greater extend.
The below are the way to optimize the virtual memory related issues.
1. Adding the /3GB switch in the boot.ini file.
2. Adding the /userva=
Eg., boot.ini file
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003" /fastdetect /3GB
or
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003" /fastdetect /userva=3030
The above option can be used only in pre windows server 2003 versions alone. In windows 2000, they have the below option for fine tuning the virtual memory.
1. Edit the "HeapDecommitFreeBlockThreshold" Registry key.
2. Set the “msExchESEParamCacheSizeMax” value via ADSIEDIT.
3. Also the value “msExchESEParamMaxOpenTables” value has to be set appropraitly via ADSIEDIT.
Please let us know if you have any questions.
Thanks
Logan
9841499143