This Configure-PerformanceMonitor Cmdlet allows the administrator to configure performance counters on performance monitor locally on machine situated in DMZ or remotely using WinRM service on remote machine. The cmdlet provides administrator the ability to select multiple different technology performance counters and configure them on the machine with ease. The cmdlet is able to start the performance monitor datacollector set after configuration is made to setup the datacollector set on the machine and also provide the capability to generate an auto performance monitor startup script for the datacollector and setup the local machine group policy to execute the auto startup script to start the datacollector during operating system start up process.

 

Configure-PerformanceMonitor Cmdlet utilises most of the Performance Analysis of Logs (PAL) Tool in PAL v2.3.2 counters template.

 

 

PowerShell
Edit|Remove
function Configure-PerformanceMonitor { 
 
<#    
.SYNOPSIS    
    Configure performance counters on performance monitor based on performance counters  
    in Technet articles or Performance Analysis of Logs (PAL) Tool in PAL v2.3.2 
   
.DESCRIPTION    
    Allows the administrator to configure performance counters on performance monitor  
    locally on machine situated in DMZ or remotely using WinRM service on remote  
    machine. This cmdlet provides administrator the ability to select multiple  
    different technology performance counters and configure them on the machine with  
    ease. The cmdlet is able to start the performance monitor datacollector set after  
    configuration is made to setup the datacollector set on the machine. The cmdlet  
    also provide the capability to generate an auto performance monitor startup script  
    for the datacollector and setup the local machine group policy to execute the auto  
    startup script to start the datacollector during operating system start up process. 
 
.PARAMETER AutoStartup 
 
    ALIAS -NonStop, -Continuous 
     
    This configure the machine to start the data collector name on perfmon when the  
    machine startup. 
     
.PARAMETER DataCollectorName 
 
    ALIAS -Name 
     
    Specify perfmon data collector name. By default, it will be Performance_Overview  
    unless specified. 
     
.PARAMETER ComputerName 
     
    Specify a remote hostname. By default, it will be localhost hostname unless  
    specified. 
     
.PARAMETER CounterFileName 
 
    ALIAS -Counter 
     
    Specify a text file name which contains all the performance counters. By default,  
    the text file name will be Counter.txt 
 
.PARAMETER MaximumSize 
 
    ALIAS -M 
     
    Specify the maximum size of the perfmon file. By default, the maximum size of the  
    perfmon file will be 250MB. 
     
.PARAMETER PerfLogDir 
 
    Specify the location for the perfmon file. By default, the location of the perfmon  
    file will be located at C:\PerfLogs folder 
     
.PARAMETER SampleInterval 
 
    ALIAS -SI 
     
    Specify the perfmon sample interval. By default, the sample interval will be  
    00:05:00 ( 5 mins ) 
     
.PARAMETER ShowCounter 
 
    ALIAS -Show 
     
    Display the all the selected performance counters 
 
.PARAMETER Start 
 
    Start the performance log immediately after configuring the performance log. By  
    default, performance log will not start after configuring the data collector. 
     
.PARAMETER ActiveDirectory 
 
    ALIAS -AD 
     
   This switch applies the Windows Server 2003/2008 Active Directory role performance  
   counters. 
    
.PARAMETER ActiveServerPages 
 
    ALIAS -ASP 
     
   This switch applies the ASP performance counters. 
    
.PARAMETER ASPNET 
 
   This switch applies the ASP.NET performance counters. 
    
.PARAMETER BizTalk 
 
    ALIAS -Biz 
 
   This switch applies the BizTalk performance counters. 
    
.PARAMETER DynamicAX2012 
 
    ALIAS -DAX2012 
     
   This switch applies the Dynamic AX 2012 performance counters. 
    
.PARAMETER DynamicAX 
 
    ALIAS -DAX 
     
   This switch applies the Dynamic AX performance counters. 
    
.PARAMETER Exchange2003 
 
    ALIAS -EXC2003 
     
   This switch applies the Exchange 2003 performance counters. 
    
.PARAMETER Exchange2007 
 
    ALIAS -EXC2007 
     
   This switch applies the Exchange 2007 performance counters. 
    
.PARAMETER Exchange2010 
 
    ALIAS -EXC2010 
     
   This switch applies the Exchange 2010 performance counters. 
    
.PARAMETER Exchange2007CAS 
 
    ALIAS -EXC2007CAS 
     
   This switch applies the Exchange 2007 Client Access Server role performance counters  
   from PAL. 
    
.PARAMETER Exchange2007CAS_Technet 
 
    ALIAS -EXC2007CASTechnet 
     
    This switch applies the Exchange 2007 Client Access Server role performance counters  
    from Technet. 
     
.PARAMETER Exchange2007Edge_Technet 
 
    ALIAS EXC2007EdgeTechnet 
     
    This switch applies the Exchange 2007 Edge role performance counters from Technet. 
     
.PARAMETER Exchange2007Hub 
 
    ALIAS -EXC2007Hub 
     
    This switch applies the Exchange 2007 Hub role performance counters from PAL. 
         
.PARAMETER Exchange2007Hub_Technet 
 
    ALIAS -EXC2007HubTechnet 
     
    This switch applies the Exchange 2007 Hub role performance counters from Technet. 
 
.PARAMETER Exchange2007Mailbox 
 
    ALIAS -EXC2007MBX 
 
    This switch applies the Exchange 2007 Mailbox role performance counters from PAL. 
         
.PARAMETER Exchange2007Mailbox_Technet 
 
    ALIAS -EXC2007MBXTechnet 
     
    This switch applies the Exchange 2007 Mailbox role performance counters from  
    Technet. 
     
.PARAMETER Exchange2007UM_Technet 
 
    ALIAS -EXC2007UMTechnet 
     
    This switch applies the Exchange 2007 Unified Messaging performance counters. 
     
.PARAMETER FASTSearch 
 
    ALIAS -FAST, -FAST2010 
     
    This switch applies the FAST Search for SharePoint 2010 performance counters. 
     
.PARAMETER Forefront_TMG 
 
    ALIAS -TMG 
     
    This switch applies the Forefront Threat Management Gateway performance counters. 
         
.PARAMETER HyperV 
 
    This switch applies the Windows Server 2008 Hyper-V host performance counters. 
     
.PARAMETER HyperV2012 
 
    This switch applies the Windows Server 2012 Hyper-V host performance counters. 
     
.PARAMETER MOSS2007 
 
    ALIAS -SHP, -SharePoint 
     
    This switch applies the SharePoint 2007 performance counters. 
     
.PARAMETER MOSS2007_MSSearch 
 
    ALIAS -MSSearch 
     
    This switch applies the SharePoint 2007 Search performance counters. 
     
.PARAMETER MOSS2010 
     
    ALIAS -SHP2010, -SharePoint2010 
     
    This switch applies the SharePoint 2010 performance counters. 
         
.PARAMETER InternetInformationServices 
 
    ALIAS -IIS 
     
    This switch applies the Internet Information Services (commonly known as IIS)  
    performance counters. 
         
.PARAMETER OCS2007R2Archiving 
 
    This switch applies the Office Communicator Server 2007 R2 Archiving role  
    performance counters. 
     
.PARAMETER OCS2007R2CWA 
 
    This switch applies the Office Communicator Server 2007 R2 Client Web Access role  
    performance counters. 
     
.PARAMETER OCS2007R2Edge 
 
    This switch applies the Office Communicator Server 2007 R2 Edge role performance  
    counters. 
     
.PARAMETER OCS2007R2Enterprise 
 
    ALIAS -OCS2007R2Ent 
     
    This switch applies the Office Communicator Server 2007 R2 Enterprise performance  
    counters. 
         
.PARAMETER OCS2007R2Mediation 
 
    This switch applies the Office Communicator Server 2007 R2 Mediation role  
    performance counters. 
     
.PARAMETER OCS2007R2Monitoring 
 
    This switch applies the Office Communicator Server 2007 R2 Monitoring role  
    performance counters. 
 
.PARAMETER OCS2007R2Standard 
 
    ALIAS -OCS2007R2Std 
     
    This switch applies the Office Communicator Server 2007 R2 Standard performance  
    counters. 
     
.PARAMETER SystemOverview 
 
    ALIAS -Generic 
     
    This switch applies the generic or common system overview performance counters. 
     
.PARAMETER SystemOverview_Quick 
 
    ALIAS -Quick 
     
    This switch applies the quick system overview performance counters. 
     
.PARAMETER SystemOverview_Standard 
 
    ALIAS -Standard 
     
    This switch applies the standard system overview performance counters. 
     
.PARAMETER SQLServer 
 
    ALIAS -SQL 
     
    This switch applies the SQL Server performance counters. 
     
.PARAMETER VMWare 
 
    ALIAS -VM 
     
    This switch applies the VMWare guest performance counters. 
     
.PARAMETER XenApp 
 
   This switch applies the Citrix XenApp performance counters. 
    
.EXAMPLE 
 
    Configure-PerformanceMonitor -SystemOverview_Standard -ShowCounter 
     
    This example show the counters 
 
.EXAMPLE 
     
    Configure-PerformanceMonitor -ComputerName RedmondExchangeServer -Exchange2007CAS_Technet -Exchange2007Hub_Technet -Exchange2007Mailbox_Technet 
     
    This example configures Redmond Exchange Server remotely using WinRM service  
    capability to setup Exchange 2007 CAS Technet, Hub Technet and Mailbox Technet  
    recommended performance counters.  
     
.EXAMPLE 
 
    Configure-PerformanceMonitor -ComputerName ContosoActiveDirectoryServer -ActiveDirectory -VERBOSE 
 
    This example configures Contoso Active Directory Server remotely using WinRM service  
    capability to setup Active Directory recommended performance counters from PAL  
    counters template and display verbose output of the configuration process. 
     
.EXAMPLE 
 
    Configure-PerformanceMonitor -EXC2007CASTechnet -EXC2007EdgeTechnet -AutoStartup 
 
    This example configures the local machine with Exchange 2007 CAS Technet and Edge  
    Technet recommended performance counters. This command syntax is executed locally on  
    local machine and it is most suitable for machine which does not have WinRM service  
    enabled or is unreachable through WinRM because the machine is situated in a DMZ  
    zone.     
     
.EXAMPLE 
 
    Configure-PerformanceMonitor -Standard -SHP -MSSearch -VM 
     
    This example configures the local machine with multiple technology performance  
    counters such as Standard Windows System Overview, SharePoint 2007, SharePoint 2007  
    Search and VMWare performance counters on the local Windows Server VMWare Virtual  
    Machine with SharePoint Technology functionality. 
 
.EXAMPLE 
 
    Configure-PerformanceMonitor -ComputerName RedmondAppServer -DataCollectorName System_Overview -PerfLogDir C:\Temp -SampleInterval 00:00:05 -MaximumSize 500 -Standard -VM -Start -AutoStart 
 
    This example configures the Redmond Application Server with a custom performance  
    datacollector name call System_Overview with the performance captured data store in  
    C:\Temp. The syntax also includes specific custom sample interval of 5 seconds with  
    a specific maximum size for the perofrmance captured data of 500MB before rotating  
    to the data file. The syntax also specifically defines the type of performance  
    counters for the datacollector set including switches to start the datacollector set  
    once it is configured and generates a startup script to automatically start the  
    datacollector during Windows startup. 
     
.LINK 
    Performance Analysis of Logs (PAL) Tool 
    http://pal.codeplex.com/ 
     
    Logman - TechNet - Microsoft 
    http://technet.microsoft.com/en-us/library/cc753820%28v=ws.10%29.aspx 
     
    Mike Lagase's XML Updates for PAL Tool 
    http://blogs.technet.com/b/mikelag/archive/2008/08/20/xml-updates-for-the-pal-tool.aspx 
     
    Aaron Saikovski's PAL tool threshold file for SharePoint 2010 
    http://blogs.msdn.com/b/aaronsaikovski/archive/2011/09/16/pal-tool-threshold-file-for-sharepoint-2010.aspx 
     
    Technet - Monitoring Client Access Servers 
    http://technet.microsoft.com/en-us/library/bb201674(v=exchg.80) 
     
    Technet - Monitoring Edge Transport Servers 
    http://technet.microsoft.com/en-us/library/ee532088(v=exchg.80) 
     
    Technet - Monitoring Hub Transport Servers 
    http://technet.microsoft.com/en-us/library/bb201704(v=exchg.80) 
     
    Technet - Monitoring Mailbox Servers 
    http://technet.microsoft.com/en-us/library/bb201689(v=exchg.80) 
     
    Technet - Monitoring Unified Messaging Servers Without System Center Operations Manager 
    http://technet.microsoft.com/en-us/library/bb201671(v=exchg.80) 
 
.NOTES    
    Author  : Ryen Kia Zhi Tang 
    Date    : 07/08/2012 
    Blog    : ryentang.wordpress.com 
    Version : 1.0 
 
#> 
 
[CmdletBinding( 
    SupportsShouldProcess=$True, 
    ConfirmImpact='High')] 
 
param ( 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
     
    $ComputerName = $env:computername, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
     
    $PerfLogDir = "C:\PerfLogs", 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('Counter')] 
    $CounterFileName = "Counter.txt", 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('Name')]         
    $DataCollectorName = "Performance_Overview", 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('SI')] 
    $SampleInterval = "00:05:00", 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('M')] 
    $MaximumSize = "250", 
         
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('NonStop','Continuous')] 
    [Switch$AutoStartup, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('Show')] 
    [Switch$ShowCounter, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
 
    [Switch$Start, 
     
<# 
This section below contains all the different performance counter switch parameters. 
#>     
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('AD')] 
    [Switch$ActiveDirectory, 
             
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('ASP')] 
    [Switch$ActiveServerPages, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
     
    [Switch$ASPNET, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('Biz')] 
    [Switch$BizTalk, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('DAX2012')] 
    [Switch$DynamicAX2012, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('DAX')] 
    [Switch$DynamicAX, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('EXC2003')] 
    [Switch$Exchange2003, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('EXC2007')] 
    [Switch$Exchange2007, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('EXC2010')] 
    [Switch$Exchange2010, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('EXC2007CAS')] 
    [Switch$Exchange2007CAS, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('EXC2007CASTechnet')] 
    [Switch$Exchange2007CAS_Technet, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('EXC2007EdgeTechnet')] 
    [Switch$Exchange2007Edge_Technet, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('EXC2007Hub')] 
    [Switch$Exchange2007Hub, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('EXC2007HubTechnet')] 
    [Switch$Exchange2007Hub_Technet, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('EXC2007MBX')] 
    [Switch$Exchange2007Mailbox, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('EXC2007MBXTechnet')] 
    [Switch$Exchange2007Mailbox_Technet, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('EXC2007UMTechnet')] 
    [Switch$Exchange2007UM_Technet, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('FAST''FAST2010')] 
    [Switch$FASTSearch, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('TMG')] 
    [Switch$Forefront_TMG, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
     
    [Switch$HyperV, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
     
    [Switch$HyperV2012, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('IIS')] 
    [Switch$InternetInformationServices, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('SHP''SharePoint')] 
    [Switch$MOSS2007, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('MSSearch')] 
    [Switch$MOSS2007_MSSearch, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('SHP2010''SharePoint2010')] 
    [Switch$MOSS2010, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
     
    [Switch$OCS2007R2Archiving, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
     
    [Switch$OCS2007R2CWA, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
     
    [Switch$OCS2007R2Edge, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('OCS2007R2Ent')] 
    [Switch$OCS2007R2Enterprise, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
     
    [Switch$OCS2007R2Mediation, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
     
    [Switch$OCS2007R2Monitoring, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('OCS2007R2Std')] 
    [Switch$OCS2007R2Standard, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('SQL')] 
    [Switch$SQLServer, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('Generic')] 
    [Switch$SystemOverview, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('Quick')] 
    [Switch$SystemOverview_Quick, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('Standard')] 
    [Switch$SystemOverview_Standard, 
     
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
    [Alias('VM')] 
    [Switch$VMWare, 
 
[Parameter( 
    Mandatory=$False, 
    ValueFromPipeline=$True, 
    ValueFromPipelineByPropertyName=$True)] 
     
    [Switch$XenApp 
        
) 
 
BEGIN {} 
 
PROCESS { 
 
    <# 
    [Configure-PerformanceMonitor Cmdlet Performance Counters] 
    The section below contains recommended performance counters from various  
    contributors. 
    #> 
     
    #create an object to store data 
    $Object = New-Object PSObject 
 
    #verify Active Directory switch parameter is applied 
    if($ActiveDirectory) { 
        #Kip Gumenberg, Matthew Reynolds, and Clint Huffman (kipg@microsoft.com;mreyn@microsoft.com;clinth@microsoft.com) 
        $Object | Add-Member -MemberType noteproperty -Name "\NTDS\AB Client Sessions" -value "\NTDS\AB Client Sessions" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\NTDS\DRA Pending Replication Operations" -value "\NTDS\DRA Pending Replication Operations" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\NTDS\DRA Pending Replication Synchronizations" -value "\NTDS\DRA Pending Replication Synchronizations" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\NTDS\Kerberos Authentications" -value "\NTDS\Kerberos Authentications" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\NTDS\LDAP Active Threads" -value "\NTDS\LDAP Active Threads" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\NTDS\LDAP Bind Time" -value "\NTDS\LDAP Bind Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\NTDS\LDAP Client Sessions" -value "\NTDS\LDAP Client Sessions" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\NTDS\LDAP Searches/sec" -value "\NTDS\LDAP Searches/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(lsass)\% Processor Time" -value "\Process(lsass)\% Processor Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(lsass)\Working Set" -value "\Process(lsass)\Working Set" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Server\Server Sessions" -value "\Server\Server Sessions" -Force 
    } 
     
     
    #verify Active Server Pages switch parameter is applied 
    if($ActiveServerPages) { 
        ##Clint Huffman (clinth@microsoft.com) 
        $Object | Add-Member -MemberType noteproperty -Name "\Active Server Pages\Errors/Sec" -value "\Active Server Pages\Errors/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Active Server Pages\Request Execution Time" -value "\Active Server Pages\Request Execution Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Active Server Pages\Request Wait Time" -value "\Active Server Pages\Request Wait Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Active Server Pages\Requests Queued" -value "\Active Server Pages\Requests Queued" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Active Server Pages\Requests/Sec" -value "\Active Server Pages\Requests/Sec" -Force 
    } 
     
     
    #verify ASP.NET switch parameter is applied 
    if($ASPNET) { 
        #Clint Huffman (clinth@microsoft.com) 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Application Restarts" -value "\ASP.NET\Application Restarts" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Request Wait Time" -value "\ASP.NET\Request Wait Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Requests Current" -value "\ASP.NET\Requests Current" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET Applications(*)\Requests In Application Queue" -value "\ASP.NET Applications(*)\Requests In Application Queue" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Requests Rejected" -value "\ASP.NET\Requests Rejected" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Worker Process Restarts" -value "\ASP.NET\Worker Process Restarts" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET Applications(*)\Request Execution Time" -value "\ASP.NET Applications(*)\Request Execution Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET Apps v2.0.50727(*)\Request Execution Time" -value "\ASP.NET Apps v2.0.50727(*)\Request Execution Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET Apps v2.0.50727(*)\Requests In Application Queue" -value "\ASP.NET Apps v2.0.50727(*)\Requests In Application Queue" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET Apps v2.0.50727(*)\Requests/Sec" -value "\ASP.NET Apps v2.0.50727(*)\Requests/Sec" -Force 
    } 
     
     
    #verify BizTalk Server 2006/2009/2010 switch parameter is applied 
    if($BizTalk) { 
        #Clint Huffman (clinth@microsoft.com) 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\High database session" -value "\BizTalk:Message Agent(*)\High database session" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\High database size" -value "\BizTalk:Message Agent(*)\High database size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\High in-process message count" -value "\BizTalk:Message Agent(*)\High in-process message count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\High message delivery rate" -value "\BizTalk:Message Agent(*)\High message delivery rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\High message publishing rate" -value "\BizTalk:Message Agent(*)\High message publishing rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\High process memory" -value "\BizTalk:Message Agent(*)\High process memory" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\High system memory" -value "\BizTalk:Message Agent(*)\High system memory" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\High thread count" -value "\BizTalk:Message Agent(*)\High thread count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\Message delivery delay (ms)" -value "\BizTalk:Message Agent(*)\Message delivery delay (ms)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\Message delivery throttling state" -value "\BizTalk:Message Agent(*)\Message delivery throttling state" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\Message publishing delay (ms)" -value "\BizTalk:Message Agent(*)\Message publishing delay (ms)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Agent(*)\Message publishing throttling state" -value "\BizTalk:Message Agent(*)\Message publishing throttling state" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Box:General Counters(*)\Spool Size" -value "\BizTalk:Message Box:General Counters(*)\Spool Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Box:General Counters(*)\Tracking Data Size" -value "\BizTalk:Message Box:General Counters(*)\Tracking Data Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Box:Host Counters(*)\Host Queue - Length" -value "\BizTalk:Message Box:Host Counters(*)\Host Queue - Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Message Box:Host Counters(*)\Host Queue - Suspended Msgs - Length" -value "\BizTalk:Message Box:Host Counters(*)\Host Queue - Suspended Msgs - Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Messaging(*)\ID Process" -value "\BizTalk:Messaging(*)\ID Process" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Messaging Latency(*)\Inbound Latency (sec)" -value "\BizTalk:Messaging Latency(*)\Inbound Latency (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Messaging Latency(*)\Request-Response Latency (sec)" -value "\BizTalk:Messaging Latency(*)\Request-Response Latency (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\BizTalk:Messaging Latency(*)\Outbound Adapter Latency (sec)" -value "\BizTalk:Messaging Latency(*)\Outbound Adapter Latency (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Dehydrating orchestrations" -value "\XLANG/s Orchestrations(*)\Dehydrating orchestrations" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Idle orchestrations" -value "\XLANG/s Orchestrations(*)\Idle orchestrations" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\MessageBox databases connection failures" -value "\XLANG/s Orchestrations(*)\MessageBox databases connection failures" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Orchestrations suspended/sec" -value "\XLANG/s Orchestrations(*)\Orchestrations suspended/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Orchestrations completed/sec" -value "\XLANG/s Orchestrations(*)\Orchestrations completed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Orchestrations discarded/sec" -value "\XLANG/s Orchestrations(*)\Orchestrations discarded/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Orchestrations resident in-memory" -value "\XLANG/s Orchestrations(*)\Orchestrations resident in-memory" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Pending messages" -value "\XLANG/s Orchestrations(*)\Pending messages" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Persistence points/sec" -value "\XLANG/s Orchestrations(*)\Persistence points/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Megabytes allocated private memory" -value "\XLANG/s Orchestrations(*)\Megabytes allocated private memory" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Transactional scopes aborted/sec" -value "\XLANG/s Orchestrations(*)\Transactional scopes aborted/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Transactional scopes compensated/sec" -value "\XLANG/s Orchestrations(*)\Transactional scopes compensated/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\XLANG/s Orchestrations(*)\Megabytes allocated virtual memory" -value "\XLANG/s Orchestrations(*)\Megabytes allocated virtual memory" -Force 
    } 
     
     
    #verify Dynamics AX 2012 AOS and WCF switch parameter is applied 
    if($DynamicAX2012) { 
        #Dick Wenning (dwenning@promentum.nl) 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF CLEARS" -value "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF CLEARS" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF CLEARS TRIGGERED BY AOS DATA SYNCHRONIZATION" -value "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF CLEARS TRIGGERED BY AOS DATA SYNCHRONIZATION" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF DELETES FROM DATA CACHE" -value "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF DELETES FROM DATA CACHE" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF HITS" -value "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF HITS" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF MISSES" -value "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF MISSES" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF SELECTS ON CACHED TABLES" -value "\Microsoft Dynamics AX Object Server(*)\TOTAL NUMBER OF SELECTS ON CACHED TABLES" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ServiceModelService 4.0.0.0(*)\Calls" -value "\ServiceModelService 4.0.0.0(*)\Calls" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ServiceModelService 4.0.0.0(*)\Calls Duration" -value "\ServiceModelService 4.0.0.0(*)\Calls Duration" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ServiceModelService 4.0.0.0(*)\Calls Failed" -value "\ServiceModelService 4.0.0.0(*)\Calls Failed" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ServiceModelService 4.0.0.0(*)\Calls Faulted" -value "\ServiceModelService 4.0.0.0(*)\Calls Faulted" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ServiceModelService 4.0.0.0(*)\Percent Of Max Concurrent Calls" -value "\ServiceModelService 4.0.0.0(*)\Percent Of Max Concurrent Calls" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ServiceModelService 4.0.0.0(*)\Percent Of Max Concurrent Instances" -value "\ServiceModelService 4.0.0.0(*)\Percent Of Max Concurrent Instances" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ServiceModelService 4.0.0.0(*)\Percent Of Max Concurrent Sessions" -value "\ServiceModelService 4.0.0.0(*)\Percent Of Max Concurrent Sessions" -Force 
    } 
     
     
    #verify Dynamics AX 40/2009 switch parameter is applied 
    if($DynamicAX) { 
        #Dick Wenning (dwenning@promentum.nl) 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\Active Sessions" -value "\Microsoft Dynamics AX Object Server(*)\Active Sessions" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\Number of Bytes Received by Server" -value "\Microsoft Dynamics AX Object Server(*)\Number of Bytes Received by Server" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\Number of Bytes Sent by Server" -value "\Microsoft Dynamics AX Object Server(*)\Number of Bytes Sent by Server" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\Number of Client Requests" -value "\Microsoft Dynamics AX Object Server(*)\Number of Client Requests" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\Number of Client Requests per Second" -value "\Microsoft Dynamics AX Object Server(*)\Number of Client Requests per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\Number of Server Requests" -value "\Microsoft Dynamics AX Object Server(*)\Number of Server Requests" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Microsoft Dynamics AX Object Server(*)\Total Sessions" -value "\Microsoft Dynamics AX Object Server(*)\Total Sessions" -Force 
    } 
     
 
    #verify Exchange 2003 switch parameter is applied 
    if($Exchange2003) { 
        #http://blogs.technet.com/mikelag/archive/2008/08/20/xml-updates-for-the-pal-tool.aspx 
        $Object | Add-Member -MemberType noteproperty -Name "\Database(*)\Database Cache Size" -value "\Database(*)\Database Cache Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Database(*)\Database Pages Written/sec" -value "\Database(*)\Database Pages Written/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Database(*)\Log Record Stalls/sec" -value "\Database(*)\Log Record Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Database(*)\Log Threads Waiting" -value "\Database(*)\Log Threads Waiting" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Database(*)\Log Writes/sec" -value "\Database(*)\Log Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Epoxy(*)\Client Out Queue Length" -value "\Epoxy(*)\Client Out Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Epoxy(*)\Store Out Queue Length" -value "\Epoxy(*)\Store Out Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Read" -value "\LogicalDisk(*)\Avg. Disk sec/Read" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Write" -value "\LogicalDisk(*)\Avg. Disk sec/Write" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeDSAccess Caches(*)\Cache Hits/Sec" -value "\MSExchangeDSAccess Caches(*)\Cache Hits/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeDSaccess Caches(*)\LDAP Searches/Sec" -value "\MSExchangeDSaccess Caches(*)\LDAP Searches/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeDSAccess Domain Controllers(*)\LDAP Read calls/Sec" -value "\MSExchangeDSAccess Domain Controllers(*)\LDAP Read calls/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeDSAccess Domain Controllers(*)\LDAP Read Time" -value "\MSExchangeDSAccess Domain Controllers(*)\LDAP Read Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeDSAccess Domain Controllers(*)\LDAP Search calls/Sec" -value "\MSExchangeDSAccess Domain Controllers(*)\LDAP Search calls/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeDSAccess Domain Controllers(*)\LDAP Search Time" -value "\MSExchangeDSAccess Domain Controllers(*)\LDAP Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeDSAccess Processes(*)\LDAP Read Time" -value "\MSExchangeDSAccess Processes(*)\LDAP Read Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeDSAccess Processes(*)\LDAP Search Time" -value "\MSExchangeDSAccess Processes(*)\LDAP Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Exchmem: Number of Additional Heaps" -value "\MSExchangeIS\Exchmem: Number of Additional Heaps" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Exchmem: Number of heaps with memory errors" -value "\MSExchangeIS\Exchmem: Number of heaps with memory errors" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Exchmem: Number of memory errors" -value "\MSExchangeIS\Exchmem: Number of memory errors" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Averaged Latency" -value "\MSExchangeIS\RPC Averaged Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Operations/sec" -value "\MSExchangeIS\RPC Operations/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Requests" -value "\MSExchangeIS\RPC Requests" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Slow QP Threads" -value "\MSExchangeIS\Slow QP Threads" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Slow Search Threads" -value "\MSExchangeIS\Slow Search Threads" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\User Count" -value "\MSExchangeIS\User Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Virus Scan Files Scanned/Sec" -value "\MSExchangeIS\Virus Scan Files Scanned/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Virus Scan Messages Processed/Sec" -value "\MSExchangeIS\Virus Scan Messages Processed/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Virus Scan Queue Length" -value "\MSExchangeIS\Virus Scan Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Largest Block Size" -value "\MSExchangeIS\VM Largest Block Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Total 16MB Free Blocks" -value "\MSExchangeIS\VM Total 16MB Free Blocks" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Total Free Blocks" -value "\MSExchangeIS\VM Total Free Blocks" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Total Large Free Block Bytes" -value "\MSExchangeIS\VM Total Large Free Block Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Folder Opens/sec" -value "\MSExchangeIS Mailbox(*)\Folder Opens/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Local Delivery Rate" -value "\MSExchangeIS Mailbox(*)\Local Delivery Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Receive Queue Size" -value "\MSExchangeIS Mailbox(*)\Receive Queue Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Send Queue Size" -value "\MSExchangeIS Mailbox(*)\Send Queue Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Message Opens/sec" -value "\MSExchangeIS Mailbox(*)\Message Opens/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Restricted View Cache Miss Rate" -value "\MSExchangeIS Mailbox(*)\Restricted View Cache Miss Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Search Task Rate" -value "\MSExchangeIS Mailbox(*)\Search Task Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Slow Findrow Rate" -value "\MSExchangeIS Mailbox(*)\Slow Findrow Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Public(*)\Receive Queue Size" -value "\MSExchangeIS Public(*)\Receive Queue Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Public(*)\Replication Receive Queue Size" -value "\MSExchangeIS Public(*)\Replication Receive Queue Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Public(*)\Send Queue Size" -value "\MSExchangeIS Public(*)\Send Queue Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(emsmta)\% Processor Time" -value "\Process(emsmta)\% Processor Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(inetinfo)\% Processor Time" -value "\Process(inetinfo)\% Processor Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(store)\% Processor Time" -value "\Process(store)\% Processor Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(System)\% Processor Time" -value "\Process(System)\% Processor Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\SMTP Server(*)\Categorizer Queue Length" -value "\SMTP Server(*)\Categorizer Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\SMTP Server(*)\Local Queue Length" -value "\SMTP Server(*)\Local Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\SMTP Server(*)\Messages Delivered/sec" -value "\SMTP Server(*)\Messages Delivered/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\SMTP Server(*)\Remote Queue Length" -value "\SMTP Server(*)\Remote Queue Length" -Force 
    } 
 
 
    #verify Exchange 2007 switch parameter is applied 
    if($Exchange2007) { 
        #http://blogs.technet.com/mikelag/archive/2008/08/20/xml-updates-for-the-pal-tool.aspx 
        $Object | Add-Member -MemberType noteproperty -Name "\Database(*)\Database Cache Size" -value "\Database(*)\Database Cache Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Database(*)\Database Page Fault Stalls/sec" -value "\Database(*)\Database Page Fault Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Database(*)\Log Record Stalls/sec" -value "\Database(*)\Log Record Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Database(*)\Log Threads Waiting" -value "\Database(*)\Log Threads Waiting" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Database(Information Store)\Version buckets allocated" -value "\Database(Information Store)\Version buckets allocated" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Database ==> Instances(*)\Log Generation Checkpoint Depth" -value "\Database ==> Instances(*)\Log Generation Checkpoint Depth" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Read" -value "\LogicalDisk(*)\Avg. Disk sec/Read" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Write" -value "\LogicalDisk(*)\Avg. Disk sec/Write" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Transition Faults/sec" -value "\Memory\Transition Faults/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Requests/sec" -value "\MSExchange ActiveSync\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Caches(*)\LDAP Searches/Sec" -value "\MSExchange ADAccess Caches(*)\LDAP Searches/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Read Time" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Read Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Search calls/Sec" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Search calls/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Search Time" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Searches timed out per minute" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Searches timed out per minute" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\Long running LDAP operations/Min" -value "\MSExchange ADAccess Domain Controllers(*)\Long running LDAP operations/Min" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Processes(*)\LDAP Read Time" -value "\MSExchange ADAccess Processes(*)\LDAP Read Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Processes(*)\LDAP Search Time" -value "\MSExchange ADAccess Processes(*)\LDAP Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants(*)\Average Event Processing Time In seconds" -value "\MSExchange Assistants(*)\Average Event Processing Time In seconds" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants(*)\Events in queue" -value "\MSExchange Assistants(*)\Events in queue" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants(*)\Events Polled/sec" -value "\MSExchange Assistants(*)\Events Polled/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants(*)\Mailboxes processed/sec" -value "\MSExchange Assistants(*)\Mailboxes processed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants(*)\Number of events processed per second." -value "\MSExchange Assistants(*)\Number of events processed per second." -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Number of Mailboxes Processed per Request" -value "\MSExchange Availability Service\Average Number of Mailboxes Processed per Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Cross-Forest Free Busy Request" -value "\MSExchange Availability Service\Average Time to Process a Cross-Forest Free Busy Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Cross-Site Free Busy Request" -value "\MSExchange Availability Service\Average Time to Process a Cross-Site Free Busy Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Free Busy Request" -value "\MSExchange Availability Service\Average Time to Process a Free Busy Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Meeting Suggestions Request" -value "\MSExchange Availability Service\Average Time to Process a Meeting Suggestions Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Availability Requests (sec)" -value "\MSExchange Availability Service\Availability Requests (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Calendar Attendant\Average Calendar Attendant Processing Time" -value "\MSExchange Calendar Attendant\Average Calendar Attendant Processing Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Calendar Attendant\Requests Failed" -value "\MSExchange Calendar Attendant\Requests Failed" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(Information Store)\Database Cache % Hit" -value "\MSExchange Database(Information Store)\Database Cache % Hit" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(Information Store)\Database Cache Size" -value "\MSExchange Database(Information Store)\Database Cache Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(*)\Database Page Fault Stalls/sec" -value "\MSExchange Database(*)\Database Page Fault Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(Information Store)\Log Bytes Write/sec" -value "\MSExchange Database(Information Store)\Log Bytes Write/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(Information Store)\Log Record Stalls/sec" -value "\MSExchange Database(Information Store)\Log Record Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(*)\Log Threads Waiting" -value "\MSExchange Database(*)\Log Threads Waiting" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(Information Store)\Version buckets allocated" -value "\MSExchange Database(Information Store)\Version buckets allocated" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\I/O Database Reads Average Latency" -value "\MSExchange Database ==> Instances(*)\I/O Database Reads Average Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Reads/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\I/O Database Writes Average Latency" -value "\MSExchange Database ==> Instances(*)\I/O Database Writes Average Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Writes/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Reads/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Writes/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Generation Checkpoint Depth" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Generation Checkpoint Depth" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Record Stalls/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Record Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Threads Waiting" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Threads Waiting" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Version buckets allocated" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Version buckets allocated" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Extensibility Agents(*)\Average Agent Processing Time (sec)" -value "\MSExchange Extensibility Agents(*)\Average Agent Processing Time (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Extensibility Agents(*)\Total Agent Invocations" -value "\MSExchange Extensibility Agents(*)\Total Agent Invocations" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Active Conversions" -value "\MSExchange OWA\Active Conversions" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Average Conversion Time" -value "\MSExchange OWA\Average Conversion Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Average Response Time" -value "\MSExchange OWA\Average Response Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Average Search Time" -value "\MSExchange OWA\Average Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Current Unique Users" -value "\MSExchange OWA\Current Unique Users" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Queued Conversion Requests" -value "\MSExchange OWA\Queued Conversion Requests" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Requests/sec" -value "\MSExchange OWA\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Replica Seeder(*)\Seeding Finished %" -value "\MSExchange Replica Seeder(*)\Seeding Finished %" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Replication(*)\CopyQueueLength" -value "\MSExchange Replication(*)\CopyQueueLength" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Replication(*)\ReplayQueueLength" -value "\MSExchange Replication(*)\ReplayQueueLength" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Resource Booking\Average Resource Booking Processing Time" -value "\MSExchange Resource Booking\Average Resource Booking Processing Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Resource Booking\Requests Failed" -value "\MSExchange Resource Booking\Requests Failed" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indices(*)\Average document indexing time" -value "\MSExchange Search Indices(*)\Average document indexing time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indices(*)\Full Crawl Mode Status" -value "\MSExchange Search Indices(*)\Full Crawl Mode Status" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indices(*)\Recent Average Latency of RPCs Used to Obtain Content" -value "\MSExchange Search Indices(*)\Recent Average Latency of RPCs Used to Obtain Content" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indices(*)\Throttling Delay Value" -value "\MSExchange Search Indices(*)\Throttling Delay Value" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: LocalDeliveryCallsPerSecond" -value "\MSExchange Store Driver(_total)\Inbound: LocalDeliveryCallsPerSecond" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttempts" -value "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttempts" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttemptsPerSecond" -value "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttemptsPerSecond" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: Recipients Delivered Per Second" -value "\MSExchange Store Driver(_total)\Inbound: Recipients Delivered Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Outbound: Submitted Mail Items Per Second" -value "\MSExchange Store Driver(_total)\Outbound: Submitted Mail Items Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(_Total)\ROP Requests outstanding" -value "\MSExchange Store Interface(_Total)\ROP Requests outstanding" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(_Total)\RPC Latency average (msec)" -value "\MSExchange Store Interface(_Total)\RPC Latency average (msec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(*)\RPC Requests failed (%)" -value "\MSExchange Store Interface(*)\RPC Requests failed (%)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(*)\RPC Requests outstanding" -value "\MSExchange Store Interface(*)\RPC Requests outstanding" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(*)\RPC Requests sent/sec" -value "\MSExchange Store Interface(*)\RPC Requests sent/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(*)\RPC Slow requests (%)" -value "\MSExchange Store Interface(*)\RPC Slow requests (%)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(*)\RPC Slow requests latency average (msec)" -value "\MSExchange Store Interface(*)\RPC Slow requests latency average (msec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAutodiscover\Requests/sec" -value "\MSExchangeAutodiscover\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeFDS:OAB(*)\Download Task Queued" -value "\MSExchangeFDS:OAB(*)\Download Task Queued" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeFDS:UM\Download Task Queued" -value "\MSExchangeFDS:UM\Download Task Queued" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeImap4\Average Command Processing Time (milliseconds)" -value "\MSExchangeImap4\Average Command Processing Time (milliseconds)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeImap4\Current Connections" -value "\MSExchangeImap4\Current Connections" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Client: RPCs Failed: Server Too Busy" -value "\MSExchangeIS\Client: RPCs Failed: Server Too Busy" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Client: RPCs Failed: Server Too Busy / sec" -value "\MSExchangeIS\Client: RPCs Failed: Server Too Busy / sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Averaged Latency" -value "\MSExchangeIS\RPC Averaged Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Client Backoff/sec" -value "\MSExchangeIS\RPC Client Backoff/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Num. of Slow Packets" -value "\MSExchangeIS\RPC Num. of Slow Packets" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Operations/sec" -value "\MSExchangeIS\RPC Operations/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Requests" -value "\MSExchangeIS\RPC Requests" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Slow QP Threads" -value "\MSExchangeIS\Slow QP Threads" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Slow Search Threads" -value "\MSExchangeIS\Slow Search Threads" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\User Count" -value "\MSExchangeIS\User Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Virus Scan Files Scanned/sec" -value "\MSExchangeIS\Virus Scan Files Scanned/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Virus Scan Messages Processed/sec" -value "\MSExchangeIS\Virus Scan Messages Processed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Virus Scan Queue Length" -value "\MSExchangeIS\Virus Scan Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Largest Block Size" -value "\MSExchangeIS\VM Largest Block Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Total 16MB Free Blocks" -value "\MSExchangeIS\VM Total 16MB Free Blocks" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Total Free Blocks" -value "\MSExchangeIS\VM Total Free Blocks" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Total Large Free Block Bytes" -value "\MSExchangeIS\VM Total Large Free Block Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\Directory Access: LDAP Reads/sec" -value "\MSExchangeIS Client(*)\Directory Access: LDAP Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\Directory Access: LDAP Searches/sec" -value "\MSExchangeIS Client(*)\Directory Access: LDAP Searches/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\JET Log Records/sec" -value "\MSExchangeIS Client(*)\JET Log Records/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\JET Pages Read/sec" -value "\MSExchangeIS Client(*)\JET Pages Read/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\RPC Average Latency" -value "\MSExchangeIS Client(*)\RPC Average Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\RPC Operations/sec" -value "\MSExchangeIS Client(*)\RPC Operations/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Categorization Count" -value "\MSExchangeIS Mailbox(*)\Categorization Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Messages Delivered/sec" -value "\MSExchangeIS Mailbox(*)\Messages Delivered/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Messages Queued For Submission" -value "\MSExchangeIS Mailbox(*)\Messages Queued For Submission" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Messages Sent/sec" -value "\MSExchangeIS Mailbox(*)\Messages Sent/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Messages Submitted/sec" -value "\MSExchangeIS Mailbox(*)\Messages Submitted/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Restricted View Cache Miss Rate" -value "\MSExchangeIS Mailbox(*)\Restricted View Cache Miss Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Search Task Rate" -value "\MSExchangeIS Mailbox(*)\Search Task Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Slow FindRow Rate" -value "\MSExchangeIS Mailbox(*)\Slow FindRow Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Public(*)\Receive Queue Size" -value "\MSExchangeIS Public(*)\Receive Queue Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Failed Submissions Per Second" -value "\MSExchangeMailSubmission(*)\Failed Submissions Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Hub Servers In Retry" -value "\MSExchangeMailSubmission(*)\Hub Servers In Retry" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Successful Submissions Per Second" -value "\MSExchangeMailSubmission(*)\Successful Submissions Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Temporary Submission Failures/sec" -value "\MSExchangeMailSubmission(*)\Temporary Submission Failures/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangePop3\Average Command Processing Time (milliseconds)" -value "\MSExchangePop3\Average Command Processing Time (milliseconds)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangePop3\Connections Current" -value "\MSExchangePop3\Connections Current" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Batch Point(*)\Transactions committed/sec" -value "\MSExchangeTransport Batch Point(*)\Transactions committed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Database(*)\MailItem begin commit/sec" -value "\MSExchangeTransport Database(*)\MailItem begin commit/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Database(*)\Stream read/sec" -value "\MSExchangeTransport Database(*)\Stream read/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Database(*)\Stream writes/sec" -value "\MSExchangeTransport Database(*)\Stream writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Deletes/sec" -value "\MSExchangeTransport Dumpster\Dumpster Deletes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Inserts/sec" -value "\MSExchangeTransport Dumpster\Dumpster Inserts/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Item Count" -value "\MSExchangeTransport Dumpster\Dumpster Item Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Size" -value "\MSExchangeTransport Dumpster\Dumpster Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Active Mailbox Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Active Mailbox Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Active Non-Smtp Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Active Non-Smtp Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Active Remote Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Active Remote Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Aggregate Delivery Queue Length (All Queues)" -value "\MSExchangeTransport Queues(_total)\Aggregate Delivery Queue Length (All Queues)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Largest Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Largest Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Messages Completed Delivery Per Second" -value "\MSExchangeTransport Queues(_total)\Messages Completed Delivery Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Messages Submitted Per Second" -value "\MSExchangeTransport Queues(_total)\Messages Submitted Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Poison Queue Length" -value "\MSExchangeTransport Queues(_total)\Poison Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Retry Mailbox Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Retry Mailbox Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Retry Non-Smtp Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Retry Non-Smtp Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Retry Remote Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Retry Remote Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Submission Queue Length" -value "\MSExchangeTransport Queues(_total)\Submission Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Unreachable Queue Length" -value "\MSExchangeTransport Queues(_total)\Unreachable Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpReceive(_total)\Average bytes/message" -value "\MSExchangeTransport SmtpReceive(_total)\Average bytes/message" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpReceive(_total)\Messages Received/sec" -value "\MSExchangeTransport SmtpReceive(_total)\Messages Received/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpSend(_total)\Messages Sent/sec" -value "\MSExchangeTransport SmtpSend(_total)\Messages Sent/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeWS\Requests/sec" -value "\MSExchangeWS\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Data Bytes/sec" -value "\Process(EdgeTransport)\IO Data Bytes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Read Bytes/sec" -value "\Process(EdgeTransport)\IO Read Bytes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Write Bytes/sec" -value "\Process(EdgeTransport)\IO Write Bytes/sec" -Force 
    } 
 
 
    #verify Exchange 2010 UM Technet switch parameter is applied 
    if($Exchange2010) { 
        #Mike Lagase (mikelag@microsoft.com) 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Read" -value "\LogicalDisk(*)\Avg. Disk sec/Read" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Write" -value "\LogicalDisk(*)\Avg. Disk sec/Write" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Requests/sec" -value "\MSExchange ActiveSync\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Availability Requests (sec)" -value "\MSExchange Availability Service\Availability Requests (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Free Busy Request" -value "\MSExchange Availability Service\Average Time to Process a Free Busy Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Cross-Forest Free Busy Request" -value "\MSExchange Availability Service\Average Time to Process a Cross-Forest Free Busy Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Cross-Site Free Busy Request" -value "\MSExchange Availability Service\Average Time to Process a Cross-Site Free Busy Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Meeting Suggestions Request" -value "\MSExchange Availability Service\Average Time to Process a Meeting Suggestions Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Number of Mailboxes Processed per Request" -value "\MSExchange Availability Service\Average Number of Mailboxes Processed per Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Current Unique Users" -value "\MSExchange OWA\Current Unique Users" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeFDS:OAB(*)\Download Task Queued" -value "\MSExchangeFDS:OAB(*)\Download Task Queued" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeFDS:UM\Download Task Queued" -value "\MSExchangeFDS:UM\Download Task Queued" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Average Search Time" -value "\MSExchange OWA\Average Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Requests/sec" -value "\MSExchange OWA\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeWS\Requests/sec" -value "\MSExchangeWS\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Average Response Time" -value "\MSExchange OWA\Average Response Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangePop3\Connections Current" -value "\MSExchangePop3\Connections Current" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangePop3\Average Command Processing Time (milliseconds)" -value "\MSExchangePop3\Average Command Processing Time (milliseconds)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeImap4\Average Command Processing Time (milliseconds)" -value "\MSExchangeImap4\Average Command Processing Time (milliseconds)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeImap4\Current Connections" -value "\MSExchangeImap4\Current Connections" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAutodiscover\Requests/sec" -value "\MSExchangeAutodiscover\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Search Time" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Caches(*)\LDAP Searches/Sec" -value "\MSExchange ADAccess Caches(*)\LDAP Searches/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Read Time" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Read Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Processes(*)\LDAP Read Time" -value "\MSExchange ADAccess Processes(*)\LDAP Read Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Processes(*)\LDAP Search Time" -value "\MSExchange ADAccess Processes(*)\LDAP Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Searches timed out per minute" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Searches timed out per minute" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\Long running LDAP operations/Min" -value "\MSExchange ADAccess Domain Controllers(*)\Long running LDAP operations/Min" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Search calls/Sec" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Search calls/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\RPC Operations/sec" -value "\MSExchangeIS Client(*)\RPC Operations/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Slow FindRow Rate" -value "\MSExchangeIS Mailbox(*)\Slow FindRow Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Messages Delivered/sec" -value "\MSExchangeIS Mailbox(*)\Messages Delivered/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Messages Queued For Submission" -value "\MSExchangeIS Mailbox(*)\Messages Queued For Submission" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Messages Sent/sec" -value "\MSExchangeIS Mailbox(*)\Messages Sent/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Messages Submitted/sec" -value "\MSExchangeIS Mailbox(*)\Messages Submitted/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Averaged Latency" -value "\MSExchangeIS\RPC Averaged Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Operations/sec" -value "\MSExchangeIS\RPC Operations/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Requests" -value "\MSExchangeIS\RPC Requests" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\User Count" -value "\MSExchangeIS\User Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Virus Scan Queue Length" -value "\MSExchangeIS\Virus Scan Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Virus Scan Files Scanned/sec" -value "\MSExchangeIS\Virus Scan Files Scanned/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Virus Scan Messages Processed/sec" -value "\MSExchangeIS\Virus Scan Messages Processed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Largest Block Size" -value "\MSExchangeIS\VM Largest Block Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Total 16MB Free Blocks" -value "\MSExchangeIS\VM Total 16MB Free Blocks" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Total Free Blocks" -value "\MSExchangeIS\VM Total Free Blocks" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\VM Total Large Free Block Bytes" -value "\MSExchangeIS\VM Total Large Free Block Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Restricted View Cache Miss Rate" -value "\MSExchangeIS Mailbox(*)\Restricted View Cache Miss Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Transition Faults/sec" -value "\Memory\Transition Faults/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Num. of Slow Packets" -value "\MSExchangeIS\RPC Num. of Slow Packets" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Client Backoff/sec" -value "\MSExchangeIS\RPC Client Backoff/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\RPC Average Latency" -value "\MSExchangeIS Client(*)\RPC Average Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(_Total)\RPC Latency average (msec)" -value "\MSExchange Store Interface(_Total)\RPC Latency average (msec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(*)\RPC Requests outstanding" -value "\MSExchange Store Interface(*)\RPC Requests outstanding" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Hub Servers In Retry" -value "\MSExchangeMailSubmission(*)\Hub Servers In Retry" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(Information Store)\Database Cache Size" -value "\MSExchange Database(Information Store)\Database Cache Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(*)\Database Page Fault Stalls/sec" -value "\MSExchange Database(*)\Database Page Fault Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(Information Store)\Log Record Stalls/sec" -value "\MSExchange Database(Information Store)\Log Record Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(*)\Log Threads Waiting" -value "\MSExchange Database(*)\Log Threads Waiting" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(Information Store)\Version buckets allocated" -value "\MSExchange Database(Information Store)\Version buckets allocated" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\I/O Database Reads Average Latency" -value "\MSExchange Database ==> Instances(*)\I/O Database Reads Average Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\I/O Database Writes Average Latency" -value "\MSExchange Database ==> Instances(*)\I/O Database Writes Average Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(Information Store)\Database Cache % Hit" -value "\MSExchange Database(Information Store)\Database Cache % Hit" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\JET Log Records/sec" -value "\MSExchangeIS Client(*)\JET Log Records/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\JET Pages Read/sec" -value "\MSExchangeIS Client(*)\JET Pages Read/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\Directory Access: LDAP Reads/sec" -value "\MSExchangeIS Client(*)\Directory Access: LDAP Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Client(*)\Directory Access: LDAP Searches/sec" -value "\MSExchangeIS Client(*)\Directory Access: LDAP Searches/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Client: RPCs Failed: Server Too Busy / sec" -value "\MSExchangeIS\Client: RPCs Failed: Server Too Busy / sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Client: RPCs Failed: Server Too Busy" -value "\MSExchangeIS\Client: RPCs Failed: Server Too Busy" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(Information Store)\Log Bytes Write/sec" -value "\MSExchange Database(Information Store)\Log Bytes Write/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Public(*)\Receive Queue Size" -value "\MSExchangeIS Public(*)\Receive Queue Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Slow QP Threads" -value "\MSExchangeIS\Slow QP Threads" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\Slow Search Threads" -value "\MSExchangeIS\Slow Search Threads" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Categorization Count" -value "\MSExchangeIS Mailbox(*)\Categorization Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indices(*)\Throttling Delay Value" -value "\MSExchange Search Indices(*)\Throttling Delay Value" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indices(*)\Average document indexing time" -value "\MSExchange Search Indices(*)\Average document indexing time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indices(*)\Full Crawl Mode Status" -value "\MSExchange Search Indices(*)\Full Crawl Mode Status" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Resource Booking\Average Resource Booking Processing Time" -value "\MSExchange Resource Booking\Average Resource Booking Processing Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Resource Booking\Requests Failed" -value "\MSExchange Resource Booking\Requests Failed" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Calendar Attendant\Average Calendar Attendant Processing Time" -value "\MSExchange Calendar Attendant\Average Calendar Attendant Processing Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Calendar Attendant\Requests Failed" -value "\MSExchange Calendar Attendant\Requests Failed" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(*)\RPC Requests failed (%)" -value "\MSExchange Store Interface(*)\RPC Requests failed (%)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(*)\RPC Requests sent/sec" -value "\MSExchange Store Interface(*)\RPC Requests sent/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(*)\RPC Slow requests (%)" -value "\MSExchange Store Interface(*)\RPC Slow requests (%)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Successful Submissions Per Second" -value "\MSExchangeMailSubmission(*)\Successful Submissions Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Failed Submissions Per Second" -value "\MSExchangeMailSubmission(*)\Failed Submissions Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Temporary Submission Failures/sec" -value "\MSExchangeMailSubmission(*)\Temporary Submission Failures/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Replication(*)\CopyQueueLength" -value "\MSExchange Replication(*)\CopyQueueLength" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Replication(*)\ReplayQueueLength" -value "\MSExchange Replication(*)\ReplayQueueLength" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Write Bytes/sec" -value "\Process(EdgeTransport)\IO Write Bytes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Data Bytes/sec" -value "\Process(EdgeTransport)\IO Data Bytes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Read Bytes/sec" -value "\Process(EdgeTransport)\IO Read Bytes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Messages Submitted Per Second" -value "\MSExchangeTransport Queues(_total)\Messages Submitted Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Messages Completed Delivery Per Second" -value "\MSExchangeTransport Queues(_total)\Messages Completed Delivery Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Active Mailbox Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Active Mailbox Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Active Non-Smtp Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Active Non-Smtp Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Active Remote Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Active Remote Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Retry Mailbox Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Retry Mailbox Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Retry Non-Smtp Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Retry Non-Smtp Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Retry Remote Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Retry Remote Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Submission Queue Length" -value "\MSExchangeTransport Queues(_total)\Submission Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Unreachable Queue Length" -value "\MSExchangeTransport Queues(_total)\Unreachable Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Size" -value "\MSExchangeTransport Dumpster\Dumpster Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Inserts/sec" -value "\MSExchangeTransport Dumpster\Dumpster Inserts/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Item Count" -value "\MSExchangeTransport Dumpster\Dumpster Item Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Deletes/sec" -value "\MSExchangeTransport Dumpster\Dumpster Deletes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Database(*)\Stream writes/sec" -value "\MSExchangeTransport Database(*)\Stream writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Database(*)\Stream read/sec" -value "\MSExchangeTransport Database(*)\Stream read/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Database(*)\MailItem begin commit/sec" -value "\MSExchangeTransport Database(*)\MailItem begin commit/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Extensibility Agents(*)\Average Agent Processing Time (sec)" -value "\MSExchange Extensibility Agents(*)\Average Agent Processing Time (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Extensibility Agents(*)\Total Agent Invocations" -value "\MSExchange Extensibility Agents(*)\Total Agent Invocations" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttempts" -value "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttempts" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttemptsPerSecond" -value "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttemptsPerSecond" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Aggregate Delivery Queue Length (All Queues)" -value "\MSExchangeTransport Queues(_total)\Aggregate Delivery Queue Length (All Queues)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Largest Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Largest Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Poison Queue Length" -value "\MSExchangeTransport Queues(_total)\Poison Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: LocalDeliveryCallsPerSecond" -value "\MSExchange Store Driver(_total)\Inbound: LocalDeliveryCallsPerSecond" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Outbound: Submitted Mail Items Per Second" -value "\MSExchange Store Driver(_total)\Outbound: Submitted Mail Items Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpReceive(_total)\Average bytes/message" -value "\MSExchangeTransport SmtpReceive(_total)\Average bytes/message" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpReceive(_total)\Messages Received/sec" -value "\MSExchangeTransport SmtpReceive(_total)\Messages Received/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpSend(_total)\Messages Sent/sec" -value "\MSExchangeTransport SmtpSend(_total)\Messages Sent/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: Recipients Delivered Per Second" -value "\MSExchange Store Driver(_total)\Inbound: Recipients Delivered Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Writes/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Reads/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Version buckets allocated" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Version buckets allocated" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Reads/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Writes/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Record Stalls/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Record Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Threads Waiting" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Threads Waiting" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Generation Checkpoint Depth" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Generation Checkpoint Depth" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(*)\RPC Slow requests latency average (msec)" -value "\MSExchange Store Interface(*)\RPC Slow requests latency average (msec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Interface(_Total)\ROP Requests outstanding" -value "\MSExchange Store Interface(_Total)\ROP Requests outstanding" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(*)\Search Task Rate" -value "\MSExchangeIS Mailbox(*)\Search Task Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indices(*)\Recent Average Latency of RPCs Used to Obtain Content" -value "\MSExchange Search Indices(*)\Recent Average Latency of RPCs Used to Obtain Content" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Approval Assistant\Average Approval Assistant Processing Time" -value "\MSExchange Approval Assistant\Average Approval Assistant Processing Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Approval Assistant\Last Approval Assistant Processing Time" -value "\MSExchange Approval Assistant\Last Approval Assistant Processing Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants - Per Assistant(*)\Average Event Queue Time In Seconds" -value "\MSExchange Assistants - Per Assistant(*)\Average Event Queue Time In Seconds" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants - Per Assistant(*)\Average Event Processing Time In Seconds" -value "\MSExchange Assistants - Per Assistant(*)\Average Event Processing Time In Seconds" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Average Request Time" -value "\MSExchange ActiveSync\Average Request Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Heartbeat Interval" -value "\MSExchange ActiveSync\Heartbeat Interval" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants - Per Assistant(*)\Elapsed Time Since Last Event Queued" -value "\MSExchange Assistants - Per Assistant(*)\Elapsed Time Since Last Event Queued" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants - Per Assistant(*)\Events in Queue" -value "\MSExchange Assistants - Per Assistant(*)\Events in Queue" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants - Per Assistant(*)\Events Processed/sec" -value "\MSExchange Assistants - Per Assistant(*)\Events Processed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants - Per Assistant(*)\Handled Exceptions" -value "\MSExchange Assistants - Per Assistant(*)\Handled Exceptions" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants - Per Database(*)\Average Event Processing Time In seconds" -value "\MSExchange Assistants - Per Database(*)\Average Event Processing Time In seconds" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants - Per Database(*)\Average Mailbox Processing Time In seconds" -value "\MSExchange Assistants - Per Database(*)\Average Mailbox Processing Time In seconds" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants - Per Database(*)\Events in queue" -value "\MSExchange Assistants - Per Database(*)\Events in queue" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants - Per Database(*)\Events Polled/sec" -value "\MSExchange Assistants - Per Database(*)\Events Polled/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Assistants - Per Database(*)\Mailboxes processed/sec" -value "\MSExchange Assistants - Per Database(*)\Mailboxes processed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Federated Free Busy Request" -value "\MSExchange Availability Service\Average Time to Process a Federated Free Busy Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Client-Reported Failures - Total" -value "\MSExchange Availability Service\Client-Reported Failures - Total" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Cross-Site Calendar Failures (sec)" -value "\MSExchange Availability Service\Cross-Site Calendar Failures (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Cross-Site Calendar Queries (sec)" -value "\MSExchange Availability Service\Cross-Site Calendar Queries (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Successful Client-Reported Requests - Over 20 seconds" -value "\MSExchange Availability Service\Successful Client-Reported Requests - Over 20 seconds" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\AS Queries Failure %" -value "\MSExchange OWA\AS Queries Failure %" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Current Proxy Users" -value "\MSExchange OWA\Current Proxy Users" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Failed Requests/sec" -value "\MSExchange OWA\Failed Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Store Logon Failure %" -value "\MSExchange OWA\Store Logon Failure %" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Logons/sec" -value "\MSExchange OWA\Logons/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Proxy Response Time Average" -value "\MSExchange OWA\Proxy Response Time Average" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Proxy User Requests/sec" -value "\MSExchange OWA\Proxy User Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess Per Server\RPC Active Backend Connections (% of Limit)" -value "\MSExchange RpcClientAccess Per Server\RPC Active Backend Connections (% of Limit)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess Per Server\RPC Average Latency (Backend)" -value "\MSExchange RpcClientAccess Per Server\RPC Average Latency (Backend)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess Per Server\RPC Average Latency (End To End)" -value "\MSExchange RpcClientAccess Per Server\RPC Average Latency (End To End)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess Per Server\RPC Average Latency (End To End) - Cached Mode" -value "\MSExchange RpcClientAccess Per Server\RPC Average Latency (End To End) - Cached Mode" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess Per Server\RPC Average Latency (End To End) - Online Mode" -value "\MSExchange RpcClientAccess Per Server\RPC Average Latency (End To End) - Online Mode" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess Per Server\RPC Failed Backend Connections" -value "\MSExchange RpcClientAccess Per Server\RPC Failed Backend Connections" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess\Active User Count" -value "\MSExchange RpcClientAccess\Active User Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess\Client: RPCs Failed" -value "\MSExchange RpcClientAccess\Client: RPCs Failed" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess\Client: Latency > 10 sec RPCs" -value "\MSExchange RpcClientAccess\Client: Latency > 10 sec RPCs" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess\Client: Latency > 2 sec RPCs" -value "\MSExchange RpcClientAccess\Client: Latency > 2 sec RPCs" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess\Client: Latency > 5 sec RPCs" -value "\MSExchange RpcClientAccess\Client: Latency > 5 sec RPCs" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess\Connection Count" -value "\MSExchange RpcClientAccess\Connection Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess\RPC Averaged Latency" -value "\MSExchange RpcClientAccess\RPC Averaged Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess\RPC Operations/sec" -value "\MSExchange RpcClientAccess\RPC Operations/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess\RPC Packets/sec" -value "\MSExchange RpcClientAccess\RPC Packets/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess\RPC Requests" -value "\MSExchange RpcClientAccess\RPC Requests" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange RpcClientAccess\User Count" -value "\MSExchange RpcClientAccess\User Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Throttling Service Client\Average request processing time." -value "\MSExchange Throttling Service Client\Average request processing time." -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Throttling(*)\OverBudgetThreshold" -value "\MSExchange Throttling(*)\OverBudgetThreshold" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Throttling(*)\Unique Budgets OverBudget" -value "\MSExchange Throttling(*)\Unique Budgets OverBudget" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Throttling(*)\Users X Times OverBudget" -value "\MSExchange Throttling(*)\Users X Times OverBudget" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAB\NSPI Connections Current" -value "\MSExchangeAB\NSPI Connections Current" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAB\NSPI Connections/sec" -value "\MSExchangeAB\NSPI Connections/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAB\NSPI RPC Browse Requests Average Latency" -value "\MSExchangeAB\NSPI RPC Browse Requests Average Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAB\NSPI RPC Requests" -value "\MSExchangeAB\NSPI RPC Requests" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAB\NSPI RPC Requests Average Latency" -value "\MSExchangeAB\NSPI RPC Requests Average Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAB\NSPI RPC Requests/sec" -value "\MSExchangeAB\NSPI RPC Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAB\Referral RPC Requests Average Latency" -value "\MSExchangeAB\Referral RPC Requests Average Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAB\Referral RPC Requests/sec" -value "\MSExchangeAB\Referral RPC Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeImap4\Connections Rate" -value "\MSExchangeImap4\Connections Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeImap4\Proxy Current Connections" -value "\MSExchangeImap4\Proxy Current Connections" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeImap4\SearchFolder Creation Rate" -value "\MSExchangeImap4\SearchFolder Creation Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangePop3\Connections Rate" -value "\MSExchangePop3\Connections Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangePop3\DELE Rate" -value "\MSExchangePop3\DELE Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangePop3\Proxy Current Connections" -value "\MSExchangePop3\Proxy Current Connections" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangePop3\RETR Rate" -value "\MSExchangePop3\RETR Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangePop3\UIDL Rate" -value "\MSExchangePop3\UIDL Rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeWS\Average Response Time" -value "\MSExchangeWS\Average Response Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeWS\Items Read/sec" -value "\MSExchangeWS\Items Read/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeWS\Proxy Average Response Time" -value "\MSExchangeWS\Proxy Average Response Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Mailbox Replication Service Per Mdb\Active Moves: Moves in Completion State" -value "\MSExchange Mailbox Replication Service Per Mdb\Active Moves: Moves in Completion State" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Mailbox Replication Service Per Mdb\Active Moves: Moves in Initial Seeding State" -value "\MSExchange Mailbox Replication Service Per Mdb\Active Moves: Moves in Initial Seeding State" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Mailbox Replication Service Per Mdb\Active Moves: Stalled Moves (Content Indexing)" -value "\MSExchange Mailbox Replication Service Per Mdb\Active Moves: Stalled Moves (Content Indexing)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Mailbox Replication Service Per Mdb\Active Moves: Stalled Moves (Database Replication)" -value "\MSExchange Mailbox Replication Service Per Mdb\Active Moves: Stalled Moves (Database Replication)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Mailbox Replication Service Per Mdb\Active Moves: Stalled Moves Total" -value "\MSExchange Mailbox Replication Service Per Mdb\Active Moves: Stalled Moves Total" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Mailbox Replication Service Per Mdb\MDB Health: Content Indexing Lagging" -value "\MSExchange Mailbox Replication Service Per Mdb\MDB Health: Content Indexing Lagging" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Mailbox Replication Service Per Mdb\MDB Health: Database Replication Lagging" -value "\MSExchange Mailbox Replication Service Per Mdb\MDB Health: Database Replication Lagging" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Mailbox Replication Service Per Mdb\MDB Health: Scan Failure" -value "\MSExchange Mailbox Replication Service Per Mdb\MDB Health: Scan Failure" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Journaling Agent\Journal Reports Created/sec" -value "\MSExchange Journaling Agent\Journal Reports Created/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Journaling Agent\Journaling Processing Time per Message" -value "\MSExchange Journaling Agent\Journaling Processing Time per Message" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Journaling Agent\Journaling Processing Time" -value "\MSExchange Journaling Agent\Journaling Processing Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Journaling Agent\Users Journaled/sec" -value "\MSExchange Journaling Agent\Users Journaled/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpSend(_total)\Average message bytes/message" -value "\MSExchangeTransport SmtpSend(_total)\Average message bytes/message" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpSend(_total)\Average recipients/message" -value "\MSExchangeTransport SmtpSend(_total)\Average recipients/message" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SMTPReceive(_total)\Disconnections by Agents/second" -value "\MSExchangeTransport SMTPReceive(_total)\Disconnections by Agents/second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SMTPReceive(_total)\Message Bytes Received/sec" -value "\MSExchangeTransport SMTPReceive(_total)\Message Bytes Received/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SMTPAvailability(*)\% Activity" -value "\MSExchangeTransport SMTPAvailability(*)\% Activity" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SMTPAvailability(*)\% Availability" -value "\MSExchangeTransport SMTPAvailability(*)\% Availability" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SMTPAvailability(*)\% Failures Due To Active Directory Down" -value "\MSExchangeTransport SMTPAvailability(*)\% Failures Due To Active Directory Down" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SMTPAvailability(*)\% Failures Due To Back Pressure" -value "\MSExchangeTransport SMTPAvailability(*)\% Failures Due To Back Pressure" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SMTPAvailability(*)\% Failures Due To IO Exceptions" -value "\MSExchangeTransport SMTPAvailability(*)\% Failures Due To IO Exceptions" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SMTPAvailability(*)\% Failures Due To MaxInboundConnectionLimit" -value "\MSExchangeTransport SMTPAvailability(*)\% Failures Due To MaxInboundConnectionLimit" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Messages Queued for Delivery Per Second" -value "\MSExchangeTransport Queues(_total)\Messages Queued for Delivery Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Resubmit Jobs: Average Execution Time (sec)" -value "\MSExchangeTransport Dumpster\Dumpster Resubmit Jobs: Average Execution Time (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Resubmit Jobs: Average Request Latency (sec)" -value "\MSExchangeTransport Dumpster\Dumpster Resubmit Jobs: Average Request Latency (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Transport Rules(_total)\Messages Evaluated/sec" -value "\MSExchange Transport Rules(_total)\Messages Evaluated/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Transport Rules(_total)\Messages Processed/sec" -value "\MSExchange Transport Rules(_total)\Messages Processed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Component Latency(*)\Percentile99" -value "\MSExchangeTransport Component Latency(*)\Percentile99" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Connection Filtering Agent\Connections on IP Block List Providers /sec" -value "\MSExchange Connection Filtering Agent\Connections on IP Block List Providers /sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages Scanned Per Second" -value "\MSExchange Content Filter Agent\Messages Scanned Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Throttling Service Client\Percentage of Denied Submission Request." -value "\MSExchange Throttling Service Client\Percentage of Denied Submission Request." -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\% Connections" -value "\MSExchangeIS\% Connections" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\% RPC Threads" -value "\MSExchangeIS\% RPC Threads" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Request Timeout Detected on Database" -value "\MSExchangeIS\RPC Request Timeout Detected on Database" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Request Timeout Detected on Mailbox" -value "\MSExchangeIS\RPC Request Timeout Detected on Mailbox" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\RPC Request Timeout Detected on Server" -value "\MSExchangeIS\RPC Request Timeout Detected on Server" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS\CI QP Threads" -value "\MSExchangeIS\CI QP Threads" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(_Total)\ExchangeSearch Ten More" -value "\MSExchangeIS Mailbox(_Total)\ExchangeSearch Ten More" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(_Total)\Exchange Search Slow First Batch" -value "\MSExchangeIS Mailbox(_Total)\Exchange Search Slow First Batch" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(_Total)\ExchangeSearch Queries" -value "\MSExchangeIS Mailbox(_Total)\ExchangeSearch Queries" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(_Total)\ExchangeSearch Zero Results Queries" -value "\MSExchangeIS Mailbox(_Total)\ExchangeSearch Zero Results Queries" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(_Total)\Folder opens/sec" -value "\MSExchangeIS Mailbox(_Total)\Folder opens/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(_Total)\Last Query Time" -value "\MSExchangeIS Mailbox(_Total)\Last Query Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(_Total)\Local delivery rate" -value "\MSExchangeIS Mailbox(_Total)\Local delivery rate" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(_Total)\Logon Operations/sec" -value "\MSExchangeIS Mailbox(_Total)\Logon Operations/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(_Total)\Message Opens/sec" -value "\MSExchangeIS Mailbox(_Total)\Message Opens/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(_Total)\Store Only Queries" -value "\MSExchangeIS Mailbox(_Total)\Store Only Queries" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeIS Mailbox(_Total)\Store Only Query Ten More" -value "\MSExchangeIS Mailbox(_Total)\Store Only Query Ten More" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Replication(_total)\Log Copy KB/Sec" -value "\MSExchange Replication(_total)\Log Copy KB/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Replication(_total)\Avg Log Copy Latency (msec)" -value "\MSExchange Replication(_total)\Avg Log Copy Latency (msec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Replication(_total)\Log Copying is Not Keeping Up" -value "\MSExchange Replication(_total)\Log Copying is Not Keeping Up" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indices(_total)\Number of Outstanding Batches" -value "\MSExchange Search Indices(_total)\Number of Outstanding Batches" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indices(_total)\Number of Outstanding Documents" -value "\MSExchange Search Indices(_total)\Number of Outstanding Documents" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indices(_total)\Number of Mailboxes Left to Crawl" -value "\MSExchange Search Indices(_total)\Number of Mailboxes Left to Crawl" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indexer\Number of Databases Being Indexed" -value "\MSExchange Search Indexer\Number of Databases Being Indexed" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Search Indexer\Number of Indexed Databases Being Kept Up-to-Date by Notifications" -value "\MSExchange Search Indexer\Number of Indexed Databases Being Kept Up-to-Date by Notifications" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Mail Submission(*)\Hub Servers In Retry" -value "\MSExchange Mail Submission(*)\Hub Servers In Retry" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Mail Submission(*)\Failed Submissions Per Second" -value "\MSExchange Mail Submission(*)\Failed Submissions Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Mail Submission(*)\Shadow Re-submission Queue Length" -value "\MSExchange Mail Submission(*)\Shadow Re-submission Queue Length" -Force 
    } 
     
     
    #verify Exchange 2007 CAS switch parameter is applied 
    if($Exchange2007CAS) { 
        #http://blogs.technet.com/mikelag/archive/2008/08/20/xml-updates-for-the-pal-tool.aspx 
        $Object | Add-Member -MemberType noteproperty -Name "\.NET CLR Exceptions(*)\# of Exceps Thrown / sec" -value "\.NET CLR Exceptions(*)\# of Exceps Thrown / sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\.NET CLR Memory(_Global_)\% Time in GC" -value "\.NET CLR Memory(_Global_)\% Time in GC" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\.NET CLR Memory(*)\# Bytes in all Heaps" -value "\.NET CLR Memory(*)\# Bytes in all Heaps" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Application Restarts" -value "\ASP.NET\Application Restarts" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Request Wait Time" -value "\ASP.NET\Request Wait Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Requests Current" -value "\ASP.NET\Requests Current" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Requests Queued" -value "\ASP.NET\Requests Queued" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Requests Rejected" -value "\ASP.NET\Requests Rejected" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Worker Process Restarts" -value "\ASP.NET\Worker Process Restarts" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET Applications(__Total__)\Requests In Application Queue" -value "\ASP.NET Applications(__Total__)\Requests In Application Queue" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET Applications\Request Execution Time" -value "\ASP.NET Applications\Request Execution Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(C:)\Free Megabytes" -value "\LogicalDisk(C:)\Free Megabytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Read" -value "\LogicalDisk(*)\Avg. Disk sec/Read" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Write" -value "\LogicalDisk(*)\Avg. Disk sec/Write" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Disk Transfers/sec" -value "\LogicalDisk(*)\Disk Transfers/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Available MBytes" -value "\Memory\Available MBytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Free System Page Table Entries" -value "\Memory\Free System Page Table Entries" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Cache Bytes" -value "\Memory\Cache Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Commit Limit" -value "\Memory\Commit Limit" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Committed Bytes" -value "\Memory\Committed Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Page Reads/sec" -value "\Memory\Page Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Pages Input/sec" -value "\Memory\Pages Input/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Pages Output/sec" -value "\Memory\Pages Output/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Pages/sec" -value "\Memory\Pages/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\% Committed Bytes In Use" -value "\Memory\% Committed Bytes In Use" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\System Cache Resident Bytes" -value "\Memory\System Cache Resident Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Transition Faults/sec" -value "\Memory\Transition Faults/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Transition Pages RePurposed/sec" -value "\Memory\Transition Pages RePurposed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Pool Nonpaged Bytes" -value "\Memory\Pool Nonpaged Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Pool Paged Bytes" -value "\Memory\Pool Paged Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Average Request Time" -value "\MSExchange ActiveSync\Average Request Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Ping Commands Pending" -value "\MSExchange ActiveSync\Ping Commands Pending" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Requests/sec" -value "\MSExchange ActiveSync\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Sync Commands/sec" -value "\MSExchange ActiveSync\Sync Commands/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Caches(*)\LDAP Searches/Sec" -value "\MSExchange ADAccess Caches(*)\LDAP Searches/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Read Time" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Read Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Search calls/Sec" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Search calls/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Search Time" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Searches timed out per minute" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Searches timed out per minute" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\Long running LDAP operations/Min" -value "\MSExchange ADAccess Domain Controllers(*)\Long running LDAP operations/Min" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Processes(*)\LDAP Read Time" -value "\MSExchange ADAccess Processes(*)\LDAP Read Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Processes(*)\LDAP Search Time" -value "\MSExchange ADAccess Processes(*)\LDAP Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Number of Mailboxes Processed per Request" -value "\MSExchange Availability Service\Average Number of Mailboxes Processed per Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Cross-Forest Free Busy Request" -value "\MSExchange Availability Service\Average Time to Process a Cross-Forest Free Busy Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Cross-Site Free Busy Request" -value "\MSExchange Availability Service\Average Time to Process a Cross-Site Free Busy Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Free Busy Request" -value "\MSExchange Availability Service\Average Time to Process a Free Busy Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Meeting Suggestions Request" -value "\MSExchange Availability Service\Average Time to Process a Meeting Suggestions Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Availability Requests (sec)" -value "\MSExchange Availability Service\Availability Requests (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Active Conversions" -value "\MSExchange OWA\Active Conversions" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Average Conversion Time" -value "\MSExchange OWA\Average Conversion Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Average Response Time" -value "\MSExchange OWA\Average Response Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Average Search Time" -value "\MSExchange OWA\Average Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Current Unique Users" -value "\MSExchange OWA\Current Unique Users" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Queued Conversion Requests" -value "\MSExchange OWA\Queued Conversion Requests" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Requests/sec" -value "\MSExchange OWA\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAutodiscover\Requests/sec" -value "\MSExchangeAutodiscover\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeFDS:OAB(*)\Download Task Queued" -value "\MSExchangeFDS:OAB(*)\Download Task Queued" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeFDS:OAB(*)\Download Tasks Completed" -value "\MSExchangeFDS:OAB(*)\Download Tasks Completed" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeFDS:UM\Download Task Queued" -value "\MSExchangeFDS:UM\Download Task Queued" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeImap4\Current Connections" -value "\MSExchangeImap4\Current Connections" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeImap4\Average Command Processing Time (milliseconds)" -value "\MSExchangeImap4\Average Command Processing Time (milliseconds)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangePop3\Connections Current" -value "\MSExchangePop3\Connections Current" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangePop3\Average Command Processing Time (milliseconds)" -value "\MSExchangePop3\Average Command Processing Time (milliseconds)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeWS\Requests/sec" -value "\MSExchangeWS\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Network Interface(*)\Packets Outbound Errors" -value "\Network Interface(*)\Packets Outbound Errors" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Network Interface(*)\Output Queue Length" -value "\Network Interface(*)\Output Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Network Interface(*)\Bytes Total/sec" -value "\Network Interface(*)\Bytes Total/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Paging File(*)\% Usage" -value "\Paging File(*)\% Usage" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Paging File(*)\% Usage Peak" -value "\Paging File(*)\% Usage Peak" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\PhysicalDisk(*)\Avg. Disk sec/Read" -value "\PhysicalDisk(*)\Avg. Disk sec/Read" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\PhysicalDisk(*)\Avg. Disk sec/Write" -value "\PhysicalDisk(*)\Avg. Disk sec/Write" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\% Processor Time" -value "\Process(*)\% Processor Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\Handle Count" -value "\Process(*)\Handle Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\Virtual Bytes" -value "\Process(*)\Virtual Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\Private Bytes" -value "\Process(*)\Private Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Data Bytes/sec" -value "\Process(EdgeTransport)\IO Data Bytes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\IO Data Operations/sec" -value "\Process(*)\IO Data Operations/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\IO Other Operations/sec" -value "\Process(*)\IO Other Operations/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Read Bytes/sec" -value "\Process(EdgeTransport)\IO Read Bytes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Write Bytes/sec" -value "\Process(EdgeTransport)\IO Write Bytes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\Thread Count" -value "\Process(*)\Thread Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\Working Set" -value "\Process(*)\Working Set" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Processor(*)\% Interrupt Time" -value "\Processor(*)\% Interrupt Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Processor(*)\% Privileged Time" -value "\Processor(*)\% Privileged Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Processor(*)\% Processor Time" -value "\Processor(*)\% Processor Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Server\Pool Nonpaged Failures" -value "\Server\Pool Nonpaged Failures" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Server\Pool Paged Failures" -value "\Server\Pool Paged Failures" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Processor(_Total)\% Privileged Time" -value "\Processor(_Total)\% Privileged Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Processor(_Total)\% Processor Time" -value "\Processor(_Total)\% Processor Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\System\Context Switches/sec" -value "\System\Context Switches/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\System\Processor Queue Length" -value "\System\Processor Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Web Service(_Total)\Connection Attempts/sec" -value "\Web Service(_Total)\Connection Attempts/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Web Service(_Total)\Current Connections" -value "\Web Service(_Total)\Current Connections" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Web Service(_Total)\ISAPI Extension Requests" -value "\Web Service(_Total)\ISAPI Extension Requests" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Web Service(_Total)\Other Request Methods/sec" -value "\Web Service(_Total)\Other Request Methods/sec" -Force 
    } 
 
 
    #verify Exchange 2007 CAS Technet switch parameter is applied 
    if($Exchange2007CAS_Technet) { 
        #http://technet.microsoft.com/en-us/library/bb201674(v=exchg.80) 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Application Restarts" -value "\ASP.NET\Application Restarts" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Request Wait Time" -value "\ASP.NET\Request Wait Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Requests Current" -value "\ASP.NET\Requests Current" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET\Worker Process Restarts" -value "\ASP.NET\Worker Process Restarts" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\ASP.NET Applications(*)\Requests In Application Queue" -value "\ASP.NET Applications(*)\Requests In Application Queue" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(_Total)\Disk Reads/sec" -value "\LogicalDisk(_Total)\Disk Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(_Total)\Disk Writes/sec" -value "\LogicalDisk(_Total)\Disk Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Average Request Time" -value "\MSExchange ActiveSync\Average Request Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Ping Commands Pending" -value "\MSExchange ActiveSync\Ping Commands Pending" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Requests/sec" -value "\MSExchange ActiveSync\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ActiveSync\Sync Commands/sec" -value "\MSExchange ActiveSync\Sync Commands/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Average Time to Process a Free Busy Request" -value "\MSExchange Availability Service\Average Time to Process a Free Busy Request" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Availability Service\Availability Requests (sec)" -value "\MSExchange Availability Service\Availability Requests (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Average Response Time" -value "\MSExchange OWA\Average Response Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Average Search Time" -value "\MSExchange OWA\Average Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Current Unique Users" -value "\MSExchange OWA\Current Unique Users" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange OWA\Requests/sec" -value "\MSExchange OWA\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeAutodiscover\Requests/sec" -value "\MSExchangeAutodiscover\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeFDS:OAB(*)\Download Task Queued" -value "\MSExchangeFDS:OAB(*)\Download Task Queued" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeFDS:OAB(*)\Download Tasks Completed" -value "\MSExchangeFDS:OAB(*)\Download Tasks Completed" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeWS\Requests/sec" -value "\MSExchangeWS\Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\RPC/HTTP Proxy\Current Number of Incoming RPC over HTTP Connections" -value "\RPC/HTTP Proxy\Current Number of Incoming RPC over HTTP Connections" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\RPC/HTTP Proxy\Current Number of Unique Users" -value "\RPC/HTTP Proxy\Current Number of Unique Users" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\RPC/HTTP Proxy\Number of Failed Back-End Connection attempts per Second" -value "\RPC/HTTP Proxy\Number of Failed Back-End Connection attempts per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\RPC/HTTP Proxy\RPC/HTTP Requests per Second" -value "\RPC/HTTP Proxy\RPC/HTTP Requests per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Web Service(_Total)\Current Connections" -value "\Web Service(_Total)\Current Connections" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\WebService(_Total)\Connection Attempts/sec" -value "\WebService(_Total)\Connection Attempts/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Web Service(_Total)\ISAPI Extension Requests/sec" -value "\Web Service(_Total)\ISAPI Extension Requests/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Web Service(_Total)\Other Request Methods/sec" -value "\Web Service(_Total)\Other Request Methods/sec" -Force 
    } 
 
 
    #verify Exchange 2007 Edge Technet switch parameter is applied 
    if($Exchange2007Edge_Technet) { 
        #http://technet.microsoft.com/en-us/library/ee532088(v=exchg.80) 
        $Object | Add-Member -MemberType noteproperty -Name "\AD/AM(ADAM_MSExchange)\LDAP Searches/sec" -value "\AD/AM(ADAM_MSExchange)\LDAP Searches/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\AD/AM(ADAM_MSExchange)\LDAP Writes/sec" -value "\AD/AM(ADAM_MSExchange)\LDAP Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\DirectoryServices(ADAM_MSExchange)\LDAP Searches/sec" -value "\DirectoryServices(ADAM_MSExchange)\LDAP Searches/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\DirectoryServices(ADAM_MSExchange)\LDAP Writes/sec" -value "\DirectoryServices(ADAM_MSExchange)\LDAP Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk Queue Length" -value "\LogicalDisk(*)\Avg. Disk Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Read" -value "\LogicalDisk(*)\Avg. Disk sec/Read" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Transfer" -value "\LogicalDisk(*)\Avg. Disk sec/Transfer" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Write" -value "\LogicalDisk(*)\Avg. Disk sec/Write" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Attachment Filtering\Messages Attachment Filtered" -value "\MSExchange Attachment Filtering\Messages Attachment Filtered" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Attachment Filtering\Messages Filtered/sec" -value "\MSExchange Attachment Filtering\Messages Filtered/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages Deleted" -value "\MSExchange Content Filter Agent\Messages Deleted" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages Quarantined" -value "\MSExchange Content Filter Agent\Messages Quarantined" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages Rejected" -value "\MSExchange Content Filter Agent\Messages Rejected" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages Scanned Per Second" -value "\MSExchange Content Filter Agent\Messages Scanned Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages that Bypassed Scanning" -value "\MSExchange Content Filter Agent\Messages that Bypassed Scanning" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages with SCL 0" -value "\MSExchange Content Filter Agent\Messages with SCL 0" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages with SCL 1" -value "\MSExchange Content Filter Agent\Messages with SCL 1" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages with SCL 2" -value "\MSExchange Content Filter Agent\Messages with SCL 2" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages with SCL 3" -value "\MSExchange Content Filter Agent\Messages with SCL 3" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages with SCL 4" -value "\MSExchange Content Filter Agent\Messages with SCL 4" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages with SCL 5" -value "\MSExchange Content Filter Agent\Messages with SCL 5" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages with SCL 6" -value "\MSExchange Content Filter Agent\Messages with SCL 6" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages with SCL 7" -value "\MSExchange Content Filter Agent\Messages with SCL 7" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages with SCL 8" -value "\MSExchange Content Filter Agent\Messages with SCL 8" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Content Filter Agent\Messages with SCL 9" -value "\MSExchange Content Filter Agent\Messages with SCL 9" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(edgetransport)\Database Cache Size (MB)" -value "\MSExchange Database(edgetransport)\Database Cache Size (MB)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\I/O Database Reads/sec" -value "\MSExchange Database ==> Instances(*)\I/O Database Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\I/O Database Writes/sec" -value "\MSExchange Database ==> Instances(*)\I/O Database Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\I/O Log Reads/sec" -value "\MSExchange Database ==> Instances(*)\I/O Log Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\I/O Log Writes/sec" -value "\MSExchange Database ==> Instances(*)\I/O Log Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\Log Generation Checkpoint Depth" -value "\MSExchange Database ==> Instances(*)\Log Generation Checkpoint Depth" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\Log Record Stalls/sec" -value "\MSExchange Database ==> Instances(*)\Log Record Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\Log Threads Waiting" -value "\MSExchange Database ==> Instances(*)\Log Threads Waiting" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\Version buckets allocated" -value "\MSExchange Database ==> Instances(*)\Version buckets allocated" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Extensibility Agents(*)\Average Agent Processing Time (sec)" -value "\MSExchange Extensibility Agents(*)\Average Agent Processing Time (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Protocol Analysis Background Agent\Block Senders" -value "\MSExchange Protocol Analysis Background Agent\Block Senders" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Recipient Filter Agent\Recipients Rejected by Block List/sec" -value "\MSExchange Recipient Filter Agent\Recipients Rejected by Block List/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Recipient Filter Agent\Recipients Rejected by Recipient Validation/sec" -value "\MSExchange Recipient Filter Agent\Recipients Rejected by Recipient Validation/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Sender Filter Agent\Messages Filtered by Sender Filter/sec" -value "\MSExchange Sender Filter Agent\Messages Filtered by Sender Filter/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Sender Id Agent\DNS Queries/sec" -value "\MSExchange Sender Id Agent\DNS Queries/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Transport Rules\Messages Evaluated/sec" -value "\MSExchange Transport Rules\Messages Evaluated/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Transport Rules\Messages Processed/sec" -value "\MSExchange Transport Rules\Messages Processed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeEdgeSync Job\Edge objects added/sec" -value "\MSExchangeEdgeSync Job\Edge objects added/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeEdgeSync Job\Edge objects deleted/sec" -value "\MSExchangeEdgeSync Job\Edge objects deleted/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeEdgeSync Job\Edge objects updated/sec" -value "\MSExchangeEdgeSync Job\Edge objects updated/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeEdgeSync Job\Scan jobs completed successfully total" -value "\MSExchangeEdgeSync Job\Scan jobs completed successfully total" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeEdgeSync Job\Scan jobs failed because could not extend lock total" -value "\MSExchangeEdgeSync Job\Scan jobs failed because could not extend lock total" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeEdgeSync Job\Scan jobs failed because of directory error total" -value "\MSExchangeEdgeSync Job\Scan jobs failed because of directory error total" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeEdgeSync Job\Source objects scanned/sec" -value "\MSExchangeEdgeSync Job\Source objects scanned/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeEdgeSync Job\Target objects scanned/sec" -value "\MSExchangeEdgeSync Job\Target objects scanned/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Active Remote Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Active Remote Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Aggregate Delivery Queue Length (All Queues)" -value "\MSExchangeTransport Queues(_total)\Aggregate Delivery Queue Length (All Queues)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Items Completed Delivery Per Second" -value "\MSExchangeTransport Queues(_total)\Items Completed Delivery Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Largest Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Largest Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Message" -value "\MSExchangeTransport Queues(_total)\Message" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Messages Submitted Per Second" -value "\MSExchangeTransport Queues(_total)\Messages Submitted Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Poison Queue Length" -value "\MSExchangeTransport Queues(_total)\Poison Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Retry Remote Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Retry Remote Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Submission Queue Length" -value "\MSExchangeTransport Queues(_total)\Submission Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Unreachable Queue Length" -value "\MSExchangeTransport Queues(_total)\Unreachable Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpReceive(_total)\Average bytes/message" -value "\MSExchangeTransport SmtpReceive(_total)\Average bytes/message" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpReceive(_total)\Messages Received/sec" -value "\MSExchangeTransport SmtpReceive(_total)\Messages Received/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpSend(_total)\Messages Sent/sec" -value "\MSExchangeTransport SmtpSend(_total)\Messages Sent/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\PhysicalDisk(*)\Avg. Disk Queue Length" -value "\PhysicalDisk(*)\Avg. Disk Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\PhysicalDisk(*)\Avg. Disk sec/Read" -value "\PhysicalDisk(*)\Avg. Disk sec/Read" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\PhysicalDisk(*)\Avg. Disk sec/Transfer" -value "\PhysicalDisk(*)\Avg. Disk sec/Transfer" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\PhysicalDisk(*)\Avg. Disk sec/Write" -value "\PhysicalDisk(*)\Avg. Disk sec/Write" -Force 
    } 
     
     
    if($Exchange2007Hub) { 
        #http://blogs.technet.com/mikelag/archive/2008/08/20/xml-updates-for-the-pal-tool.aspx 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Read" -value "\LogicalDisk(*)\Avg. Disk sec/Read" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Write" -value "\LogicalDisk(*)\Avg. Disk sec/Write" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Processor(*)\% Processor Time" -value "\Processor(*)\% Processor Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Network Interface(*)\Bytes Total/sec" -value "\Network Interface(*)\Bytes Total/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Network Interface(*)\Current Bandwidth" -value "\Network Interface(*)\Current Bandwidth" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\System\Processor Queue Length" -value "\System\Processor Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Processor(*)\% Privileged Time" -value "\Processor(*)\% Privileged Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\PhysicalDisk(*)\Avg. Disk sec/Read" -value "\PhysicalDisk(*)\Avg. Disk sec/Read" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\PhysicalDisk(*)\Avg. Disk sec/Write" -value "\PhysicalDisk(*)\Avg. Disk sec/Write" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Free System Page Table Entries" -value "\Memory\Free System Page Table Entries" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Pool Nonpaged Bytes" -value "\Memory\Pool Nonpaged Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Pool Paged Bytes" -value "\Memory\Pool Paged Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Available MBytes" -value "\Memory\Available MBytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Pages/sec" -value "\Memory\Pages/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Network Interface(*)\Output Queue Length" -value "\Network Interface(*)\Output Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Processor(_Total)\% Processor Time" -value "\Processor(_Total)\% Processor Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Processor(_Total)\% Privileged Time" -value "\Processor(_Total)\% Privileged Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\System\Context Switches/sec" -value "\System\Context Switches/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\Private Bytes" -value "\Process(*)\Private Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\Handle Count" -value "\Process(*)\Handle Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\Thread Count" -value "\Process(*)\Thread Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\% Processor Time" -value "\Process(*)\% Processor Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\Virtual Bytes" -value "\Process(*)\Virtual Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(C:)\Free Megabytes" -value "\LogicalDisk(C:)\Free Megabytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Processor(*)\% Interrupt Time" -value "\Processor(*)\% Interrupt Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\Working Set" -value "\Process(*)\Working Set" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\System Cache Resident Bytes" -value "\Memory\System Cache Resident Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\IO Data Operations/sec" -value "\Process(*)\IO Data Operations/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(*)\IO Other Operations/sec" -value "\Process(*)\IO Other Operations/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Disk Transfers/sec" -value "\LogicalDisk(*)\Disk Transfers/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Pages Input/sec" -value "\Memory\Pages Input/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Paging File(*)\% Usage" -value "\Paging File(*)\% Usage" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Paging File(*)\% Usage Peak" -value "\Paging File(*)\% Usage Peak" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\.NET CLR Exceptions(*)\# of Exceps Thrown / sec" -value "\.NET CLR Exceptions(*)\# of Exceps Thrown / sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Web Service(_Total)\Connection Attempts/sec" -value "\Web Service(_Total)\Connection Attempts/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\.NET CLR Memory(*)\# Bytes in all Heaps" -value "\.NET CLR Memory(*)\# Bytes in all Heaps" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Page Reads/sec" -value "\Memory\Page Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\.NET CLR Memory(_Global_)\% Time in GC" -value "\.NET CLR Memory(_Global_)\% Time in GC" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Search Time" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Caches(*)\LDAP Searches/Sec" -value "\MSExchange ADAccess Caches(*)\LDAP Searches/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Read Time" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Read Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Processes(*)\LDAP Read Time" -value "\MSExchange ADAccess Processes(*)\LDAP Read Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Processes(*)\LDAP Search Time" -value "\MSExchange ADAccess Processes(*)\LDAP Search Time" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Searches timed out per minute" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Searches timed out per minute" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\Long running LDAP operations/Min" -value "\MSExchange ADAccess Domain Controllers(*)\Long running LDAP operations/Min" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange ADAccess Domain Controllers(*)\LDAP Search calls/Sec" -value "\MSExchange ADAccess Domain Controllers(*)\LDAP Search calls/Sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Transition Faults/sec" -value "\Memory\Transition Faults/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Cache Bytes" -value "\Memory\Cache Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Hub Servers In Retry" -value "\MSExchangeMailSubmission(*)\Hub Servers In Retry" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database(*)\Database Page Fault Stalls/sec" -value "\MSExchange Database(*)\Database Page Fault Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\I/O Database Reads Average Latency" -value "\MSExchange Database ==> Instances(*)\I/O Database Reads Average Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\I/O Database Writes Average Latency" -value "\MSExchange Database ==> Instances(*)\I/O Database Writes Average Latency" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Server\Pool Nonpaged Failures" -value "\Server\Pool Nonpaged Failures" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Server\Pool Paged Failures" -value "\Server\Pool Paged Failures" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Successful Submissions Per Second" -value "\MSExchangeMailSubmission(*)\Successful Submissions Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Failed Submissions Per Second" -value "\MSExchangeMailSubmission(*)\Failed Submissions Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeMailSubmission(*)\Temporary Submission Failures/sec" -value "\MSExchangeMailSubmission(*)\Temporary Submission Failures/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Pages Output/sec" -value "\Memory\Pages Output/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Write Bytes/sec" -value "\Process(EdgeTransport)\IO Write Bytes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Data Bytes/sec" -value "\Process(EdgeTransport)\IO Data Bytes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Process(EdgeTransport)\IO Read Bytes/sec" -value "\Process(EdgeTransport)\IO Read Bytes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Messages Submitted Per Second" -value "\MSExchangeTransport Queues(_total)\Messages Submitted Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Messages Completed Delivery Per Second" -value "\MSExchangeTransport Queues(_total)\Messages Completed Delivery Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Active Mailbox Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Active Mailbox Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Active Non-Smtp Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Active Non-Smtp Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Active Remote Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Active Remote Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Retry Mailbox Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Retry Mailbox Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Retry Non-Smtp Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Retry Non-Smtp Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Retry Remote Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Retry Remote Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Submission Queue Length" -value "\MSExchangeTransport Queues(_total)\Submission Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Unreachable Queue Length" -value "\MSExchangeTransport Queues(_total)\Unreachable Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Size" -value "\MSExchangeTransport Dumpster\Dumpster Size" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Inserts/sec" -value "\MSExchangeTransport Dumpster\Dumpster Inserts/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Item Count" -value "\MSExchangeTransport Dumpster\Dumpster Item Count" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Dumpster\Dumpster Deletes/sec" -value "\MSExchangeTransport Dumpster\Dumpster Deletes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Database(*)\Stream writes/sec" -value "\MSExchangeTransport Database(*)\Stream writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Database(*)\Stream read/sec" -value "\MSExchangeTransport Database(*)\Stream read/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Database(*)\MailItem begin commit/sec" -value "\MSExchangeTransport Database(*)\MailItem begin commit/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Batch Point(*)\Transactions committed/sec" -value "\MSExchangeTransport Batch Point(*)\Transactions committed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Extensibility Agents(*)\Average Agent Processing Time (sec)" -value "\MSExchange Extensibility Agents(*)\Average Agent Processing Time (sec)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Extensibility Agents(*)\Total Agent Invocations" -value "\MSExchange Extensibility Agents(*)\Total Agent Invocations" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttempts" -value "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttempts" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttemptsPerSecond" -value "\MSExchange Store Driver(_total)\Inbound: MessageDeliveryAttemptsPerSecond" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Aggregate Delivery Queue Length (All Queues)" -value "\MSExchangeTransport Queues(_total)\Aggregate Delivery Queue Length (All Queues)" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Largest Delivery Queue Length" -value "\MSExchangeTransport Queues(_total)\Largest Delivery Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport Queues(_total)\Poison Queue Length" -value "\MSExchangeTransport Queues(_total)\Poison Queue Length" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: LocalDeliveryCallsPerSecond" -value "\MSExchange Store Driver(_total)\Inbound: LocalDeliveryCallsPerSecond" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Outbound: Submitted Mail Items Per Second" -value "\MSExchange Store Driver(_total)\Outbound: Submitted Mail Items Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpReceive(_total)\Average bytes/message" -value "\MSExchangeTransport SmtpReceive(_total)\Average bytes/message" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpReceive(_total)\Messages Received/sec" -value "\MSExchangeTransport SmtpReceive(_total)\Messages Received/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchangeTransport SmtpSend(_total)\Messages Sent/sec" -value "\MSExchangeTransport SmtpSend(_total)\Messages Sent/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Store Driver(_total)\Inbound: Recipients Delivered Per Second" -value "\MSExchange Store Driver(_total)\Inbound: Recipients Delivered Per Second" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Writes/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Reads/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Log Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Version buckets allocated" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Version buckets allocated" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Reads/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Reads/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Writes/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\I/O Database Writes/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Record Stalls/sec" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Record Stalls/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Threads Waiting" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Threads Waiting" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Generation Checkpoint Depth" -value "\MSExchange Database ==> Instances(edgetransport/Transport Mail Database)\Log Generation Checkpoint Depth" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Transition Pages RePurposed/sec" -value "\Memory\Transition Pages RePurposed/sec" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Network Interface(*)\Packets Outbound Errors" -value "\Network Interface(*)\Packets Outbound Errors" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\MSExchange Database ==> Instances(*)\Log Generation Checkpoint Depth" -value "\MSExchange Database ==> Instances(*)\Log Generation Checkpoint Depth" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Committed Bytes" -value "\Memory\Committed Bytes" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\Commit Limit" -value "\Memory\Commit Limit" -Force 
        $Object | Add-Member -MemberType noteproperty -Name "\Memory\% Committed Bytes In Use" -value "\Memory\% Committed Bytes In Use" -Force 
    } 
     
     
    #verify Exchange 2007 Hub Technet switch parameter is applied 
    if($Exchange2007Hub_Technet) { 
        #http://technet.microsoft.com/en-us/library/bb201704(v=exchg.80) 
        $Object | Add-Member -MemberType noteproperty -Name "\LogicalDisk(*)\Avg. Disk sec/Read" -value "\LogicalDisk(*)\Avg. Disk sec/Read" -Force