Posts

Showing posts from August, 2011

Adding an Additional Distribution Group Manager/Owner

Image
In Exchange 2010 a group owner/manager is modified by using Set-DistributionGroup with the ManagedBy parameter. You can also configure this parameter in the Exchange Management Console in the properties of the group. Only users can be listed here, not groups. However, you can add multiple users. If you are updating only a single distribution group then the graphical interface in the Exchange Management Console works well. If you have many distribution groups to update then you will probably be scripting the process in the Exchange Management Shell. In the Exchange Management Shell, you allow multiple managers of a distribution list by including them as a comma separated list as shown below: Set-DistributionGroup Accounting -ManagedBy Jeff,Susan However, it becomes a bit more complicated if you want to add a new person as a group manager. Overall, you need to obtain the list of current managers in a variable, add the new user, and then set the ManagedBy parameter using the entire array.

SBS 2008 Monitoring Database Problems

I've run into performance issues on SBS 2008 servers related to the monitoring database. I've noticed this issue as a disk access issue when a server is slow. From Resource Monitor, sorting processes under Disk by the Read Bytes has the SBSMonitoring.mdf file with far more activity that other sources. Typically processor and memory utilization are OK, but not necessarily. Two separate issues can be the source of the problem: SBS Monitoring database is too large and is using large amounts of disk space. If so, check this out: http://blog.korteksolutions.com/the-sbsmonitoring-database-is-nearing-maximum-size-on-sbs-2008/ . I used the downloadable new database from this location and it worked great. Missing indexes in SBS Monitoring database cause high disk and maybe processor activity. If so, check this out:  http://social.technet.microsoft.com/Forums/en/smallbusinessserver/thread/d195baac-da8b-4387-9079-c55d5e1879b4

10135 Exchange 2010 Admin - Useful Links

Each time I teach the Microsoft 10135 Configuring, Managing, and Troubleshooting Microsoft Exchange Server 2010, the students are trying to write down all the sites I show. This is a pain for all of them. So, here is a list of the sites I have noted in my manual along with relevant pages. Companion MOC with zip of discussion answers (old CD content): http://www.microsoft.com/learning/en/us/training/companionmoc.aspx 1-19, Exchange 2010 pricing: http://www.microsoft.com/exchange/en-us/pricing-exchange-server-email.aspx 1-19, Exchange 2010 licensing: http://www.microsoft.com/exchange/en-us/licensing-exchange-server-email.aspx 1-27, Exchange 2010 installation prerequisites: http://technet.microsoft.com/en-us/library/bb691354.aspx 2-22, Large Exchange databases should be 64KB NTFS blocks: http://blogs.technet.com/b/mikelag/archive/2011/02/09/how-fragmentation-on-incorrectly-formatted-ntfs-volumes-affects-exchange.aspx 2-23, Mailbox Requirements Calculator:  http://gallery.technet.microsoft

Objects Available to the Scripting Agent

Image
The Scripting Agent uses $ProvisioningHandler and $readOnlyIConfigurable to represent objects available during an action. I could not find any documentation on these objects and did some experimentation. The following is my results: The variable $ProvisioningHandler contains information about the cmdlet being executed. This includes  the name of the cmdlet, parameters for the cmdlet, and the user that ran the cmdlet. The name of the cmdlet is stored in $provisioningHandler.TaskName The user running the cmdlet is stored in $provisioningHandler.UserScope.UserID The parameters passed to the cmdlet are stored in $provisioningHandler.UserSpecifiedParameters[“ PName ”] where PName is the name of the parameter that was passed. For example, Identity and Alias are common parameter names that would be used in place of PName . The variable $readOnlyIConfigurable contains the properties of the object being acted upon. For example, when using the Set-Mailbox cmdlet, $readOnlyIConfigurable cont

ScriptingAgentConfig.xml Syntax

The Scripting Agent for Exchange 2010 SP1 uses ScriptingAgentConfig.xml to define additional content used when running specified cmdlets. This file needs to be located in in C:\Program Files\Microsoft\Exchange\v14\Bin\CmdletExtensionAgents. This file uses the following generic format: Line 1 <?xml version “1.0” encoding=”utf-8”?> Line 2 <Configuration version=”1.0”> Line 3 <Feature Name=”YouPickName” Cmdlets=”CsvList”> Line 4 <ApiCall Name=”NameOfAPI”> Line 5 The script goes here Line 6 </ApiCall> Line 7 </Feature> Line 8 </Configuration> Description of example: Line 1 defines the version of XML . This line is always here and always the same. Line 2 opens the configuration tag. The configuration tag exists once in the file. Line 3 opens the feature tag. There can be multiple feature tags in the file. Each feature tag has a name that you define. The name needs to be unique, but can be anything that makes sense to you. Each feature tag also h

Customize Exchange Cmdlets

There have been many times in class when students have asked me if there is a way to change default settings in Exchange 2010 when perform task such as creating users. If you had asked me two weeks ago, my answer would have been: “Nope. You’ll need to modify those users after you create them.” Turns out I was wrong. Exchange 2010 SP1 includes a component called the Scripting Agent. The Scripting Agent lets you define scripts that run when specific cmdlets, such as New-Mailbox, are used. Since the Exchange Management Console (EMC) runs cmdlets in the background, this will apply there too. First you need to enable the Scripting Agent: Enable-CmdletExtensionAgent “Scripting Agent” Next, you need to create an XML file that defines the scripts to be run and for which cmdlets. The file must be named ScriptingAgentConfig.xml and located in C:\Program Files\Microsoft\Exchange\v14\Bin\CmdletExtensionAgents.   I’ll post some examples later. In this post I will limit myself to describing genera

Exchange 2010 Management Pack for SCOM

In April 2011 Microsoft released an updated management pack for System Center Operations Manager (SCOM) and Exchange Server 2010. The new version of the management pack is designed for Exchange 2010 SP1 and should be implemented by anyone monitoring Exchange Server 2010 SP1. The installation of the management pack is fairly well documented, but for some reason I found it difficult to pull out the information that was relevant to me. So, here is my summary of important points for implementing the Exchange Server 2010 Monitoring Management Pack ( http://www.microsoft.com/download/en/details.aspx?id=692 ) SCOM 2007 R2 should be at minimum cumulative update 1 (KB974144) . There is a different patch level for SCOM 2007 SP1 (KB971541). The SCOM agent installed on the Exchange servers should be at minimum rollup update 1. SCOM agents need on the Exchange servers need to have the Agent Proxy enabled on the Exchange servers will not be discovered properly. The management pack is distribute

Static RPC Ports for Exchange 2010

By default Exchange 2010 uses a dynamic range of ports for RPC communication between Outlook clients and CAS servers. In most cases, dynamic ports are fine. However, you may want to configure static ports if there are firewalls between the clients and the CAS servers or to optimize load balancing. I was recently part of a project where we set static ports to optimize and simplify load balancing. You can configure static ports for RPC client access, the address book service, and public folders. A few notes to be aware of: The registry key for the address book is a string (REG_SZ) not a number (REG_DWORD). The registry key for public folders needs to be configured on the Mailbox server with the public folder database because clients communicate directly with the information store to get public folder data. The ports for RPC client access and the address book service are configured on CAS servers. All CAS servers should be configured with the same port to support load balancing. The metho