Showing posts with label Exchange Server. Show all posts
Showing posts with label Exchange Server. Show all posts
Tuesday, January 24, 2012
How to use PowerShell to run Exchange commands remotely
Please read the following article from Technet.
Thursday, January 19, 2012
How to inspect spam logs in Exchange Server 2010
Open an Exchange Management Shell on Edge Transport Server and use Get-AgentLog command to examine the logs:
Get-AgentLog -StartDate "01/01/2012 0:00:00" -EndDate "02/01/2012 23:59:59" | ? {$_.IPAddress -eq "a.b.c.d"} | more
Get-AgentLog -StartDate "01/01/2012 0:00:00" -EndDate "02/01/2012 23:59:59" | ? {$_.SmtpResponse -like "*5.1.1*"} | more
Get-AgentLog -StartDate "01/01/2012 0:00:00" -EndDate "02/01/2012 23:59:59" | ? {$_.IPAddress -eq "a.b.c.d"} | more
Get-AgentLog -StartDate "01/01/2012 0:00:00" -EndDate "02/01/2012 23:59:59" | ? {$_.SmtpResponse -like "*5.1.1*"} | more
Thursday, January 12, 2012
Configuring initial Exchange database
To setup Exchange with a custom initial mailbox database name and non-default locations of database and log files, you can use the following command line:
setup /mode:install /roles:c,h,m,t /mdbname:MDB01 /DbFilePath:E:\MDB01DB\MDB01.edb /LogFolderPath:D:\MDB01LOG
For more information please read this article.
setup /mode:install /roles:c,h,m,t /mdbname:MDB01 /DbFilePath:E:\MDB01DB\MDB01.edb /LogFolderPath:D:\MDB01LOG
For more information please read this article.
Wednesday, October 19, 2011
How to find the exact version of my Exchange 2010
From a powershell console enter this command:
Get-Exchangeserver -Identity
If you want to know the exact version then enter this command:
gcm exsetup |%{$_.Fileversioninfo}
For more info take a look at this article from Technet.
Get-Exchangeserver -Identity
If you want to know the exact version then enter this command:
gcm exsetup |%{$_.Fileversioninfo}
For more info take a look at this article from Technet.
Sunday, October 16, 2011
Exchange Management Console cannot close after installation of IE9
This is a quick fix: You must turn off Internet Explorer Enhanced Security Configuration using "Manage My Computer", add https://localhost to the IE9 trusted sites and reboot.
Saturday, October 15, 2011
How to enable SAN certificates in a Windows 2008 R2 Enterprise CA
Open a command prompt windows and enter these commands:
certutil –setreg policy\SubjectAltName enabled
certutil –setreg policy\SubjectAltName2 enabled
net stop certsvc
net start certsvc
Now you can submit your exchange SAN certificate request using this command line:
certreq -submit -attrib "CertificateTemplate:WebServer" c:\tmp\excertreq.req excert.cer
where excertreq.req is the request file and excert.cer is the issued certificate.
In case of error you must convert the .req file to ANSI format from Unicode using notepad.
For more info read Windows 2008 PKI / Certificate Authority (AD CS) basics and How to issue EV SSL certificates from an Enterprise CA
certutil –setreg policy\SubjectAltName enabled
certutil –setreg policy\SubjectAltName2 enabled
net stop certsvc
net start certsvc
Now you can submit your exchange SAN certificate request using this command line:
certreq -submit -attrib "CertificateTemplate:WebServer" c:\tmp\excertreq.req excert.cer
where excertreq.req is the request file and excert.cer is the issued certificate.
In case of error you must convert the .req file to ANSI format from Unicode using notepad.
For more info read Windows 2008 PKI / Certificate Authority (AD CS) basics and How to issue EV SSL certificates from an Enterprise CA
Sunday, October 9, 2011
How to find my exchange server schema version
From a domain controller open a command prompt and enter this command
dsquery * CN=ms-Exch-Schema-Version-Pt,cn=schema,cn=configuration,dc=yourdomainname,dc=local -scope base -attr rangeUpper
where yourdomainname is your domain name.
For more information read the following article Exchange Schema Versions - Common Questions & Answers
dsquery * CN=ms-Exch-Schema-Version-Pt,cn=schema,cn=configuration,dc=yourdomainname,dc=local -scope base -attr rangeUpper
where yourdomainname is your domain name.
For more information read the following article Exchange Schema Versions - Common Questions & Answers
Exchange server schema versions
Thursday, August 26, 2010
Sunday, April 25, 2010
Antivirus scan exclusions
Read this blog post: http://blogs.technet.com/b/jeff_stokes/archive/2010/05/19/anti-virus-exclusions-and-you.aspx
Read also the following links:
http://myitforum.com/cs2/blogs/scassells/archive/2007/05/14/what-anti-virus-scanning-exclusions-should-be-considered-for-system-and-servers.aspx
http://www.hypervizor.net/2010/03/configure-antivirus-exclusions-for.html
http://support.microsoft.com/kb/961804
http://support.microsoft.com/kb/822158
On any Hyper-V host you will find a couple of core processes that is crucial to host and VM performance. Prevent the following processes from AV scans by excluding the following as part of you Hyper-V AV policy.
VMMS.exe
VMWP.exe
You also want to exclude the root directories where VM configurations and Virtual Hard Disks are stored. Exclude the following directories.
C:\ProgramData\Microsoft\Windows\Hyper-V
C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks
Custom VM configuration, Virtual Hard Disk and Snapshot directories
Next, you want to create AV exclusions for the following file extensions.
*.XML
*.VHD
*.AVHD
*.VFD
*.VSV
*.ISO
Finally, if you are using Hyper-V R2’s Live Migration feature with Cluster Shared Volumes, then you will need to exclude the CSV path and any sub-directories. The CSV path is as follows.
C:\Clusterstorage
Failure to create this exclusion on hosts using CSV, can not only result in poor performance, but can also result in a missing or corrupt VM configuration
Read also the following links:
http://myitforum.com/cs2/blogs/scassells/archive/2007/05/14/what-anti-virus-scanning-exclusions-should-be-considered-for-system-and-servers.aspx
http://www.hypervizor.net/2010/03/configure-antivirus-exclusions-for.html
http://support.microsoft.com/kb/961804
http://support.microsoft.com/kb/822158
On any Hyper-V host you will find a couple of core processes that is crucial to host and VM performance. Prevent the following processes from AV scans by excluding the following as part of you Hyper-V AV policy.
VMMS.exe
VMWP.exe
You also want to exclude the root directories where VM configurations and Virtual Hard Disks are stored. Exclude the following directories.
C:\ProgramData\Microsoft\Windows\Hyper-V
C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks
Custom VM configuration, Virtual Hard Disk and Snapshot directories
Next, you want to create AV exclusions for the following file extensions.
*.XML
*.VHD
*.AVHD
*.VFD
*.VSV
*.ISO
Finally, if you are using Hyper-V R2’s Live Migration feature with Cluster Shared Volumes, then you will need to exclude the CSV path and any sub-directories. The CSV path is as follows.
C:\Clusterstorage
Failure to create this exclusion on hosts using CSV, can not only result in poor performance, but can also result in a missing or corrupt VM configuration
Thursday, February 11, 2010
Exchange 2007 Anti Spam
Read these posts:
http://www.exchange-genie.com/2007/12/exchange-2007-anti-spam/
http://exchangepedia.com/blog/2006/12/exchange-server-2007-how-are-rbls.html
http://en.wikipedia.org/wiki/Comparison_of_DNS_blacklists
Managing and filtering anti-spam agent logs
http://www.exchangepedia.com/blog/2007/04/managing-and-filtering-anti-spam-agent.html
http://www.exchange-genie.com/2007/12/exchange-2007-anti-spam/
http://exchangepedia.com/blog/2006/12/exchange-server-2007-how-are-rbls.html
http://en.wikipedia.org/wiki/Comparison_of_DNS_blacklists
Managing and filtering anti-spam agent logs
http://www.exchangepedia.com/blog/2007/04/managing-and-filtering-anti-spam-agent.html
Wednesday, February 10, 2010
Migrate from Exchange Server 2003 to Exchange Server 2010
Read the following article: http://autoexec.gr/blogs/cf/archive/2010/01/11/migrate-from-exchange-server-2003-to-exchange-server-2010-part-i.aspx
Read also the documentation from Microsoft: http://technet.microsoft.com/en-us/library/bb124558.aspx
Read also the documentation from Microsoft: http://technet.microsoft.com/en-us/library/bb124558.aspx
Thursday, February 4, 2010
How to configure the Autodiscover records for Exchange
Read the following article from Microsoft: http://support.microsoft.com/kb/940881
Sunday, January 31, 2010
Monday, January 25, 2010
How to configure Exchange Server 2007 store.exe process maximum memory usage
With Exchange Server 2003, the store process was bound to a certain memory cache limit. The upper bounds of this limit were typically set at around 900MB. With Exchange Server 2007 which uses 64-bit architecture, the limit on database cache size is no longer present. Currently, the default minimum cache size for Exchange 2007 is 512MB (for machines with at least 2GB RAM), and there is no maximum value set, which means that ESE (store.exe) will grow the cache to consume almost all available RAM on the server if there is no other memory pressure on the system. A larger database cache size typically results in greatly reduced disk I/O as reading information from memory is much faster than reading information from disk. If memory pressure occurs, that is other applications request/require memory, ESE will appropriately shrink the size of the database cache automatically.
You can set a limit on the ESE database memory cache. This is done by following the below steps:
- Start ADSI Edit by clicking Start > Run and typing ADSIEDIT.MSC
- Open the following object: Configuration > Services > Microsoft Exchange > Exchange organization > AdministrativeGroups > Your administrative group > Servers > Server name > Information Store
- Right-click the Information Store, and then click Properties.
- Under the list of Attributes, scroll down and select msExchESEParamCacheSizeMax.
- Click the Edit button, then type the number of 8 kilobyte (KB) pages that you want to set the maximum cache size to.
For example, 1GB cache equates to 1048576 (1024 * 1024). Divide the cache that you want to set by 8kb to determine the value to enter. In this case, 1048576 divided by 8 is 131072. If you wanted to set the cache size to 16GB, the value would be 2097152 (16777216 divided by 8).
The msExchESEParamCacheSizeMax parameter controls the ESE buffer size. Its value is expressed as a page count, and must be set to an exact multiple of 8192 for maximum efficiency. If this value is not met, the cache size is rounded up to the next 32-MB boundary when virtual memory is allocated. If this value is incorrectly set, memory may be wasted.
For more details read the following article: http://www.msexchange.org/pages/newsletters/july2007.asp
You can set a limit on the ESE database memory cache. This is done by following the below steps:
- Start ADSI Edit by clicking Start > Run and typing ADSIEDIT.MSC
- Open the following object: Configuration > Services > Microsoft Exchange > Exchange organization > AdministrativeGroups > Your administrative group > Servers > Server name > Information Store
- Right-click the Information Store, and then click Properties.
- Under the list of Attributes, scroll down and select msExchESEParamCacheSizeMax.
- Click the Edit button, then type the number of 8 kilobyte (KB) pages that you want to set the maximum cache size to.
For example, 1GB cache equates to 1048576 (1024 * 1024). Divide the cache that you want to set by 8kb to determine the value to enter. In this case, 1048576 divided by 8 is 131072. If you wanted to set the cache size to 16GB, the value would be 2097152 (16777216 divided by 8).
The msExchESEParamCacheSizeMax parameter controls the ESE buffer size. Its value is expressed as a page count, and must be set to an exact multiple of 8192 for maximum efficiency. If this value is not met, the cache size is rounded up to the next 32-MB boundary when virtual memory is allocated. If this value is incorrectly set, memory may be wasted.
For more details read the following article: http://www.msexchange.org/pages/newsletters/july2007.asp
Wednesday, January 20, 2010
Thursday, August 27, 2009
Wednesday, July 15, 2009
How to forward mail to an external email address in Exchange Server 2007
From http://exchangepedia.com/blog/2008/02/how-to-forward-mail-to-external-email.html we read:
In Exchange Server 2003, mail for a recipient can be forwarded to an alternate recipient by modifying the recipient's Delivery Options in ADUC | recipient -> properties | Exchange General tab.
If you need to forward mail to an external email address, you cannot simply type the address in Delivery Options. A (mail-enabled) Contact needs to be created in AD first, and Delivery Options modified to point to the Contact.
Exchange Server 2007: In Exchange Server 2007, these tasks remain the same. However, instead of using ADUC to accomplish them, you use the EMC or the shell (aka "EMS"). The new term for a Contact is MailContact.
1 To create a MailContact using the Exchange Management Console:
1. Expand Recipeint Configuration | Mail Contact
2. In the Action pane, click New Mail Contact
3. To create a new Contact object, leave the default (New Contact) selected | click Next
4. Type First name, Last name
5. Click Edit to add the external email address
6. Click New to complete creation of new MailContact
To create a new MailContact using the Exchange Management Shell:
New-MailContact -Name "Foo User" -ExternalEmailAddress "foo@externaldomain.com
Next, we set the recipient's Delivery Options to deliver to the alternate recipient.
2 To forward mail for a recipient to the MailContact using the Exchange Management Console:
1. Expand Recipeint Configuration | Mailbox | select mailbox | properties | Mail Flow Settings tab | Delivery Options
2. Under Forwarding address, select the Forward to checkbox
3. Click Browse to select the MailContact
4. Optional: If a copy of the message needs to be delivered to both the external recipient and the original recipient's mailbox, select the Deliver message to both forwarding address and mailbox
5. Click OK to close Delivery Options properties
6. Click OK to close recipient's properties
Using the Exchange Management Shell:
Set-Mailbox "Joe Adams" -ForwardingAddress "foo@externaldomain.com"
To deliver a copy to the mailbox (in addition to the external email address - equivalent of step 4 above):
Set-Mailbox "Joe Adams" -ForwardingAddress "foo@externaldomain.com" -DeliverToMailboxAndForward $true
To get a list of mailboxes with forwarding enabled:
Get-Mailbox | where {$_.ForwardingAddress -ne $null} | ft name,forwardingaddress
Automatic forwarding and Remote Domains
Remote Domains are a bunch of settings, such as message formats, character sets, and OOFs, for messages sent to particular remote domains. The default Remote Domain setting applies to address space * - that is, all remote domains for which an explicit Remote Domain setting does not exist.
However, this setting only applies to client-side forwarding. For instance, if a user creates a rule in Microsoft Outlook to automatically forward mail to an external email address, the default setting does not allow it. To enable automatic client-side forwarding of mail to external addresses, select the Allow automatic forward checkbox in a remote domain's properties | Format of original message sent as attachment to journal report tab (Yes, the tab is mislabeled. It is the "Message Formats" tab... :).
Server-side forwarding setup by an administrator is not impacted by this setting.
In Exchange Server 2003, mail for a recipient can be forwarded to an alternate recipient by modifying the recipient's Delivery Options in ADUC | recipient -> properties | Exchange General tab.
If you need to forward mail to an external email address, you cannot simply type the address in Delivery Options. A (mail-enabled) Contact needs to be created in AD first, and Delivery Options modified to point to the Contact.
Exchange Server 2007: In Exchange Server 2007, these tasks remain the same. However, instead of using ADUC to accomplish them, you use the EMC or the shell (aka "EMS"). The new term for a Contact is MailContact.
1 To create a MailContact using the Exchange Management Console:
1. Expand Recipeint Configuration | Mail Contact
2. In the Action pane, click New Mail Contact
3. To create a new Contact object, leave the default (New Contact) selected | click Next
4. Type First name, Last name
5. Click Edit to add the external email address
6. Click New to complete creation of new MailContact
To create a new MailContact using the Exchange Management Shell:
New-MailContact -Name "Foo User" -ExternalEmailAddress "foo@externaldomain.com
Next, we set the recipient's Delivery Options to deliver to the alternate recipient.
2 To forward mail for a recipient to the MailContact using the Exchange Management Console:
1. Expand Recipeint Configuration | Mailbox | select mailbox | properties | Mail Flow Settings tab | Delivery Options
2. Under Forwarding address, select the Forward to checkbox
3. Click Browse to select the MailContact
4. Optional: If a copy of the message needs to be delivered to both the external recipient and the original recipient's mailbox, select the Deliver message to both forwarding address and mailbox
5. Click OK to close Delivery Options properties
6. Click OK to close recipient's properties
Using the Exchange Management Shell:
Set-Mailbox "Joe Adams" -ForwardingAddress "foo@externaldomain.com"
To deliver a copy to the mailbox (in addition to the external email address - equivalent of step 4 above):
Set-Mailbox "Joe Adams" -ForwardingAddress "foo@externaldomain.com" -DeliverToMailboxAndForward $true
To get a list of mailboxes with forwarding enabled:
Get-Mailbox | where {$_.ForwardingAddress -ne $null} | ft name,forwardingaddress
Automatic forwarding and Remote Domains
Remote Domains are a bunch of settings, such as message formats, character sets, and OOFs, for messages sent to particular remote domains. The default Remote Domain setting applies to address space * - that is, all remote domains for which an explicit Remote Domain setting does not exist.
However, this setting only applies to client-side forwarding. For instance, if a user creates a rule in Microsoft Outlook to automatically forward mail to an external email address, the default setting does not allow it. To enable automatic client-side forwarding of mail to external addresses, select the Allow automatic forward checkbox in a remote domain's properties | Format of original message sent as attachment to journal report tab (Yes, the tab is mislabeled. It is the "Message Formats" tab... :).
Server-side forwarding setup by an administrator is not impacted by this setting.
Wednesday, July 8, 2009
Configuring firewalls and name resolution for Edge Transport servers
From http://exchangepedia.com/blog/2007/02/configuring-firewalls-and-name.html we read:
If you're planning to deploy the Edge Transport server role in a perimeter network (aka "DMZ"), here are the ports you'll need to open:
Inbound:
From external network (internet) to Edge server: SMTP - tcp port 25
From Edge server to Hub Transport servers on internal network: SMTP - tcp port 25
Outbound:
From Edge to external network/internet: SMTP
From Hub servers to Edge: SMTP, LDAP for EdgeSync (tcp 50389), Secure LDAP for EdgeSync (tcp 50636).
Additionally, it's a good idea to open RDP (tcp port 3389) from your internal network to the Edge so it can be managed without KVM/console access.
The ports used for EdgeSync - 50389 and 50636 - can be configured using the ConfigureAdam.ps1 script:
ConfigureAdam.ps1 -ldapport:5000 -sslport:5001
DNS/Name Resolution:
- Since the Edge server is not a member of the AD Domain, it may not have the primary DNS suffix populated by default. Make sure you configure the appropriate DNS suffix on the Edge Transport server - this is done from System Properties | Computer Name tab | Change | More | Primary DNS suffix of this computer. Important: You cannot change the primary DNS suffix of the Edge server after you install the Edge Transport server role.
- The Edge server should be able to resolve fqdns of Hub Transport servers. This can be done by either using static entries in the HOSTS file on the Edge, or allowing the Edge server to use an internal DNS server. (This would require allowing DNS traffic from Edge servers to internal DNS servers). Alternatively, you could create a DNS zone in the perimeter network that the Edge server can access, and populate it with A records of the Hub Transport servers.
- The Hub Transport servers should be able to resolve fqdns of the Edge Transport servers. This can be accomplished by adding A records for Edge servers in your internal DNS zone.
If you're planning to deploy the Edge Transport server role in a perimeter network (aka "DMZ"), here are the ports you'll need to open:
Inbound:
From external network (internet) to Edge server: SMTP - tcp port 25
From Edge server to Hub Transport servers on internal network: SMTP - tcp port 25
Outbound:
From Edge to external network/internet: SMTP
From Hub servers to Edge: SMTP, LDAP for EdgeSync (tcp 50389), Secure LDAP for EdgeSync (tcp 50636).
Additionally, it's a good idea to open RDP (tcp port 3389) from your internal network to the Edge so it can be managed without KVM/console access.
The ports used for EdgeSync - 50389 and 50636 - can be configured using the ConfigureAdam.ps1 script:
ConfigureAdam.ps1 -ldapport:5000 -sslport:5001
DNS/Name Resolution:
- Since the Edge server is not a member of the AD Domain, it may not have the primary DNS suffix populated by default. Make sure you configure the appropriate DNS suffix on the Edge Transport server - this is done from System Properties | Computer Name tab | Change | More | Primary DNS suffix of this computer. Important: You cannot change the primary DNS suffix of the Edge server after you install the Edge Transport server role.
- The Edge server should be able to resolve fqdns of Hub Transport servers. This can be done by either using static entries in the HOSTS file on the Edge, or allowing the Edge server to use an internal DNS server. (This would require allowing DNS traffic from Edge servers to internal DNS servers). Alternatively, you could create a DNS zone in the perimeter network that the Edge server can access, and populate it with A records of the Hub Transport servers.
- The Hub Transport servers should be able to resolve fqdns of the Edge Transport servers. This can be accomplished by adding A records for Edge servers in your internal DNS zone.
Subscribe to:
Posts (Atom)