Friday, December 20, 2013

550 5.7.1 Client does not have permissions to send as this sender

Status: offline Clients like IMAP and POP3 uses the Client <servername> Receive -Connector. In order to allow clients to submit messages via this connector, you need to issue below command: 

get-receieveconnector Client <servername> | add-adpermission -user AU -extendedrights ms-Exch-SMTP-Accept-Authoritative-Domain-Sender 
RE: 550 5.7.1 Client does not have permissions to send as this sender


In adsiedit under :  Configuration - Services - Microsoft Exchange - 
<organization name> - Administrative Groups - Exchange Administrative Group
- Servers - <Servername> - Protocols - SMTP Receive Connectors - Client <servername>

Right click and click properties, click the security tab and grant the Authenticated users group the Accept Authoritative Domain Sender allow permission.

Other settings can be checked is as follows

From EMC 
check  logintype,

We checked the settings on the Outlook and is correct. SPA is unchecked.
In Advanced we have IMAP port as 993- SSL.
In outgoing server we have "use same server as incoming server" checked.

Tested mail flow but incoming IMAP passes the test and Sending mail SMTP fails.

Tuesday, December 17, 2013

How Mail from outlook sent to another outlook via Exchange server

The Mail Submissions Service on the Exchange 

2010 Mailbox Server notifies the Hub 

Transport Server that a message is in the Outbox. The 

Store Driver on the Hub Transport 

Server retrieves the message from the Mailbox Server. 

RPC is used for communication between the Hub and the 

Mailbox Server.

Monday, December 16, 2013

Netmon from Command Prompt

Netmon from Command Prompt

Start > Run type CMD click OK. 

cd "c:\Program Files\Microsoft Network Monitor 3"

C:\nmcap.exe /network * /capture /file ExchangeTrace-client.chn:100M 

c:\nmcap.exe /Network * /Capture /CaptureProcesses /File ExchangeTrace.chn:100M

In the below example the client IP is and the server IP is
nmcap.exe /Network * /Capture "(ipv4.Address == and ipv4.Address ==" /CaptureProcesses /File ExchangeTrace.chn:100M

Netmon Command
IPv4.address == IP address 

Microsoft Exchange server Common Scripts from Exchange Management Shell

How to find Mailbox is Shared Mailbox

C:\Get-mailbox -Resultsize unlimited | Where-object {$_.Isshared -eq $True}

An alternative way to identify possible problematic receive connectors by using Exchange Management Shell, is if the queue delivery type is SmtpRelayToRemoteAdSite. To do this, run the following shell commands:
$remotesite = (get-queue | where {$_.LastError -like "451 4.4.0*"}).NextHopDomain

get-exchangeserver | where {$ -like '*'+$remotesite} | get-transportserver | Get-ReceiveConnector | where {$_.Bindings -like '*:25*'} | where {$_.AuthMechanism -notlike '*Exchange*'

From blog

This command spins through all your mailbox servers and reconnects all the uniquely identified but disconnected mailboxes in any one of the mailbox stores:
$Servers = Get-ExchangeServer 

$Servers | ` 
Where { $_.IsMailboxServer -Eq '$True' } ` | ForEach { Get-MailboxStatistics -Server $_.Name ` 
  | Where { $_.DisconnectDate -NotLike '' } ` | ForEach { Connect-Mailbox -Identity `$_.DisplayName -Database $_.DatabaseName} }

Want to know what version of Exchange Server each of your servers is running? Type:
Get-ExchangeServer | Format-Table Name, *Version*

Want to create a group of test users in your lab? Use this command:
1..100 | ForEach { Net User "User$_" MyPassword=01 /ADD /Domain; Enable-Mailbox "User$_" }

Wednesday, December 11, 2013

File share folder is inaccessible from the Exchange server 2010

File share folder is inaccessible from the Exchange server.

We checked and found the folder permission is fine.

We added the "Exchange subtrusted system", still the same issue.

We click the "Share" under "Network file and Folder sharing" (>apply > OK)

Now issue is resolved.

Friday, December 6, 2013



  • Stateless protocol

  • In computing, a stateless protocol is a communications protocol that treats each request as an independent transaction that is unrelated to any previous request so that the communication consists of independent pairs of requests and responses.

  • AutoDatabaseMountDial

  • lossy failover
  • The default setting is GoodAvailabilitywhich translates to 6 or fewer logs 

  • BestAvailability (12 or fewer logs missing) and Lossless (0 logs missing).

  • from 
  • Host or Local Candidate – The actual IP address bound directly to the remote client’s host operating system.  This could include multiple candidates as the remote host could contain multiple physical or virtual network adapters including any active VPN clients.  Most often this will be a single IP address of the active interface on a Lync client’s workstation.
  • Reflexive or STUN Candidate – The public IP address assigned to the client’s immediate firewall perform network address translation.  In most home networks this would be the public IP addresses assigned by an ISP (either dynamically or statically) to the premises modem or router, depending on the type of service.
  • Relay or TURN Candidate – The publically accessible IP address assigned to the media relay server which is allocated to the client.  In Lync Server this is the public IP address assigned either directly to the external A/V Edge interface or the public IP address allocated to a NAT device (e.g. firewall) which is performing static network address translation to a private IP address assigned directly to the Edge Server.  In the event that an Edge Pool is deployed then this would be the IP address of one of the individual servers in the pool. 

  • Wednesday, December 4, 2013

    scripts to find how many users are logon using OWA

    Method 1: 
    You can find the output when you run get-logonstatistics from the article below:
    View Logon Statistics

    Method 2:
    Besides, you can use logparser to analyze it
    C:\Program Files (x86)\Log Parser 2.2\logparser.exe" "SELECT TOP 10 cs-username, Count(*) AS OWAHits INTO OWAActivity.gif FROM C:\Inetpub\logs\LogFiles\W3SVC1\u_ex*.log WHERE cs-uri-stem LIKE '/OWA/' AND cs-username IS NOT NULL GROUP BY cs-username ORDER BY OWAHits DESC" -charttype:Bar3D -o:CHART -view:ON
    "C:\Program Files (x86)\Log Parser 2.2\logparser.exe" "SELECT TO_STRING(time, 'HH') AS Hour, COUNT(*) AS Hits INTO hitPerSecond.jpg FROM C:\Inetpub\logs\LogFiles\W3SVC1\u_ex*.logGROUP BY Hour ORDER BY Hour ASC" -i:IISW3C -o:CHART -chartType:ColumnClustered -chartTitle:"Hourly Hits" -groupSize:420x280

    Method 3:
    We can run the command below to get the current number of outlook or OWA user who is connecting to Exchange Servers.
    Get-Counter "\MSExchange RpcClientAccess\User Count" -ComputerName  name|ft
    Get-Counter "\MSExchange OWA\Current Unique Users" -ComputerName  name |ft

    OWA session with name of the user
    Get-Mailbox | Get-LogonStatistics | Where-Object {$_.ApplicationID -eq "Client=OWA"| Select-Object UserName,LastAccessTime | ConvertTo-Html -Title "OWA actives sessions" -PostContent "<b>Thierry MILLE (c) 2011</b>" | Out-File C:\owa.htm; Send-MailMessage -From -To -Subject "OWA sessions" -Attachments C:\owa.htm -SmtpServer; Remove-Item C:\owa.htm

    Wednesday, November 27, 2013

    Microsoft Exchange 2007 How to find what is inside Mailbox Database from Shell

    In this Article, We are checking various options from the Exchange Management Shell

    To avoid any Permission issue, Run Exchange Management Shell "Run As" Administrator or Account with Full Admin rights

    How to find Mailbox Database
    [PS] C:\>Get-mailboxDatabase

    How to find Mailbox Database
    [PS] C:\>Get-mailboxDatabase | FL Name, StorageGroup, Mounted, BackupInProgress, OnlineMaintenanceInProgress

    How to find Mailbox Database
    [PS] C:\>Get-mailboxDatabase -id "Name of the DB" | Get-Mailbox

    How to find which Mailbox belongs to which Database
    [PS] C:\Documents and Settings\Administrator>Get-mailbox | FL Name, Database

    How to find list of the Mailboxes in Database
    [PS] C:\>Get-mailbox -database "Database name" 

    How to find Total number of Storage group 
    [PS] C:\>Get-StorageGroup 

    How to find list of the Mailboxes in Database
    [PS] C:\>Get-mailbox -database "Database name" 

    How to find list of the Mailboxes in Database
    [PS] C:\>Mount-Database -Id "E2k7\RSG\"Mailbox Database" 

    Understanding CCR log files

    Creating bulk users from Exchange management shell

    Original script From : Script to download

    When you have downloaded and extracted the scripts to your server – open a Powershell Console and navigate to the location where they are located – when there type in:



    When the script executes you will be presented with a Windows “Open” dialog box – navigate to the location where you extracted the files and then choose the sample CSV – see below;


    The script will then execute creating each user in your Active Directory Lab environment – the Default password is “Password1” – see below;


    When the script has completed – open Active Directory Users and Computers – you will see a new OU called “ExchangeUsers” – within this OU are the new accounts that you can play with – see below;


    Enable the users using Power Shell

    Get-User -Filter {Department -Like 8* -And RecipientType -eq User} | % { Enable-MailUser $_ -externalEmailAddress $($}

    Another Script
    Get-User | Where-Object{$_.RecipientType –eq “User”}
    Get-User –OrganizationalUnit People | Where-Object{$_.RecipientType –eq “User”}
    get-user –organizationalUnit people | where-object{$_.RecipientType –eq “User” -and $_.department –eq “Sales”}
    get-user –organizationalUnit people | where-object {$_.RecipientType –eq “User” -and $_.department –eq “Sales”} | Enable-Mailbox –Database “EXCHANGE1\Mailbox Database” | get-mailbox | select name,windowsemailaddress,database

    From the powershell, run the .\CreateUsersFromCSV.ps1
    and the confirm the user from Get-User in Active directory at OU=ExchangeUsers and in the below Exchange shell command rename -OrganizationalUnit People
    Get-user –organizationalUnit people | where-object {$_.RecipientType –eq “User” -and $_.department –eq “Sales”} | Enable-Mailbox –Database “EXCHANGE1\Mailbox Database” | get-mailbox | select name,windowsemailaddress,database

    Run the command from Shell
    get-mailbox | fl name, database and from the resultant replace the Database after Enable-Mailbox -Database ""

    So the new command would be
    get-user –organizationalUnit ExchangeUsers | where-object {$_.RecipientType –eq “User” -and $_.department –eq “Sales”} | Enable-Mailbox –Database “E2K7\First Storage Group\Mailbox Database” | get-mailbox | select name,windowsemailaddress,database

    Here OrganizationUnit is the location from ADUC where Exchange users created
    and E2K7\First Storage Group\Mailbox Database is an example from my E2k7 DB

    Thursday, November 21, 2013

    Post Installing KB 2837618 2768005 Unable to set out of office settings, free busy contains no information

    Issue : 
    After installing KB on Outlook 2013, users are complaining that they are unable to set "Out of Settings" and can't schedule Free busy information after Installing November Security Patches

    but Owa users can set OOF and schedule meetings
     "Your server location could not be determined."

    Creation of new profile while update 2768005 and 2837618 installed on the system, didn't working either, you need to remove both of the update and then create a new Outlook Profile.

    Lots of users are complaining about this issue on Outlook 2013 with Exchange 2007.

    Alternately Quit Outlook and try setting OOF from OWA and log back into Outlook and check if this settings can resolve the issue

    There is no update released as far of now, wait for Microsoft to update about this issue in newer patch or update

    Current issue on Technet

    Wednesday, November 13, 2013

    Inspirational Quotes

    “Experience life in all possible ways –good-bad, bitter-sweet, dark-light, summer-winter. Experience all the dualities. Don’t be afraid of experience, because the more experience you have, the more mature you become.”
    - Osho

    Continuous effort—not strength or intelligence—is the key to unlocking our potential.

    - Winston Churchill

    In order to grow, you must give up the struggle to remain the same, and learn to embrace change at all times.

    –Michael A.  Singer

    “if we do what we resolve to do then we can enjoy unlimited success” –Amit Malviya

    "Focus on where you want to go, not on what you fear." - Anthony Robbins

    Some of my suggestions are easier said than done. Just try. The intention is more important than immediate success. -

    "It's determination and commitment to an unrelenting pursuit of your goal that will enable you to attain the success you seek."

    "Sooner or later, those who win are those who think they can." - Richard Bach

    People only treat you one way …… the way you allow them

    एक छुपी हुई पहचान रखता हूँ, बाहर शांत हूँ, अंदर तूफान रखता हूँ, 

    रख के तराजू में अपने दोस्त की खुशियाँ, दूसरे पलड़े में मैं अपनी 

    जान रखता हूँ।

    One night a father overheard his son pray: Dear God, Make me the kind of man my Daddy is. Later that night, the Father prayed: Dear God, Make me the kind of man my son wants me to be.
    - Anonymous

    The 3 C’s of life: You must make a choice to take a chance or your life will never change

    Sunday, November 10, 2013

    Bulk Mailbox Script

    ForEach ($mailbox in $mailbox) {Enable-Mailbox -Identity $Mailbox.Identity -Database $Mailbox.Database}

    NEXT: Run the Script
    Go to Exchange Management Shell
    You can change the directory to the root by typing cd\ then hit Enter (NOTE: If you just typed the words "then hit Enter" you do not belong working on servers)

    Then type: ./enablebox.ps1

    Just in case you want to enable archive for all users in the csv add this to the above script. 
    Add <| Enable-Mailbox –Archive -ArchiveDatabase "<enter archive db name here>"}> Shown below in its entirety. 

    $mailbox=import-csv C:\<filename>.CSV
    ForEach ($mailbox in $mailbox) {Enable-Mailbox -Identity $Mailbox.Identity -Database $Mailbox.Database | Enable-Mailbox –Archive -ArchiveDatabase "<enter archive db name here>"}

    Reference : Mailbox Script

    Unable to Mount Exchange 2010 Database on Hyper-V Guest MapiExceptionJetErrorOutOfMemory: Unable to mount database

    Issue : On Exchange 2010 DAG database are not mounting

    Error :
    Couldn't mount the database that you specified. Specified database: DB1; Error code: An Active Manager operation failed with a transient error. Please retry the operation. Error: A transient error occurred during discovery of the database availability group topology. Error: Database action failed with transient error. Error: A transient error occurred during a database operation. Error: MapiExceptionJetErrorOutOfMemory: Unable to mount database. 

    Resolution : 
    In Hyper-V, Shutdown the Exchange VM to reset the Memory to multiple of 1024.
    I reset the memory to 4096 MB and start the Exchange VM.
    Now able to mount the Database.

    Your Out of Office settings cannot be displayed, because the server is currently unavailable. Try again later

    Users from Outlook 2010, unable to set OOF, no issues from OWA

    "Your Out of Office settings cannot be displayed, because the server is currently unavailable. Try again later"

    Exchange server 2010 Sp2
    Outlook 2007 

    Troubleshooting steps
    1. Check for Address book service to ensure that connectivity for Autodiscover is fine 
    2. Check for Autodiscover status from Outlook machine. Click on URL to check "Test Connectivity"
    3. On Exchange server, Check Autodiscover Virtual Directory
    It can be check from EMC or EMS 

    Get-AutodiscoveryVirtualDirectory -id "Autodiscover (Default Web Site)" | FL *URL*
    and check for both InternalURL and ExternalURL

    For reference, Autodiscover FQDN URL are listed as below. Outlook Client will try to Access URLs from Internet in following order

    To Set the Autodiscover from Exchange server

    Ran the below commands on the server:
    Set-ClientAccessServer -Identity CAS_Server_Name -AutodiscoverServiceInternalUri

    Set-WebServicesVirtualDirectory -Identity "CAS_Server_Name\EWS (Default Web Site)" -InternalUrl

    Set-OABVirtualDirectory -Identity "CAS_Server_name\oab (Default Web Site)" -InternalUrl

    Spoofed Address

    Resolve Spoofed Address Issue

    ms-Exch-SMTP-Accept-Authoritative-Domain-Sender permission on the default receive connector

    Get-ReceiveConnector 'Default E2' | Remove-ADPermission -user 'NT AUTHORITY\ANONYMOUS LOGON' -ExtendedRights 'ms-Exch-SMTP-Accept-Authoritative-Domain-Sender'

    Add-ADPermission –Identity “Default internal receive connector SPARTAN" –Deny –User “NT Authority\Anonymous Logon" –ExtendedRights ms-exch-smtp-accept-authoritative-domain-sender

    Get-ReceiveConnector "Default ReceiveConnector" | Get-ADPermission -user "NT AUTHORITY\Anonymous Logon" | where {$_.ExtendedRights -like "ms-exch-smtp-accept-authoritative-domain-sender"} | Remove-ADPermission

    Uncheck the Bypass Antispam for Authenticated user for Default Receive connector from ADSIEDIT.msc 

    We run the command from the Set-SenderIdConfig -InternalMailEnabled $True and 
    Set-SenderfilterConfig -InternalMailEnabled $True 

    Restart the Transport service

    Sender ID Sender ID verifies that each e-mail message originates from the 
    Internet domain from which the message claims to come by examining the sender's IP 
    address and comparing the IP address to the Sender ID record in the sender's public 
    Domain Name System (DNS) server. The Sender ID record in the sender's public DNS 
    server is the sender policy framework (SPF) record. The SPF defines the IP 
    addresses that are authorized to send messages for the domain in which the SPF 
    record resides. When the receiving system queries the SPF record, and a "Pass" 
    status is returned, the receiving system has a higher assurance that the message is 
    not being spoofed by an illegitimate sender.
    You can specify how the Sender ID agent handles temporary errors, such as DNS 
    failures, when it performs an SPF query. 

    For more information, see Sender IDSender ID 

    Saturday, November 9, 2013

    Brief Info about Checksum Offload

    Brief Info about Checksum Offload
    When data comes in through a network, it's "checksummed," meaning the data is checked against a checksum (or validation code) in the headers in the packets it was delivered in. If the data and checksum don't match, the packet is determined to be bad and has to be retransmitted. 

    To speed things up, some network cards can "offload" the checksumming, i.e., perform the checksumming on the network card itself, rather than leave the job to the CPU. This frees up the CPU to do that much more work on its own and on a server with extremely high network throughput that much CPU savings can add up. 

    Windows 2003 Server and Windows 2008 server both have driver-level support for checksum offloading in many network cards (that is, when the card itself also supports it). However, sometimes this causes the network link on the computer in question to drop unexpectedly. And you may experience communication issues with DCs, GCs and clients.


    from : Disable checksum offloading to resolve network slowdown caused by Windows Firewall


    netstat -s   //shows packet information
    netstat -arn // Persistant routes.
    netstat -a
    netstat -ano
    netstat -abo
    Route Print 

    Belos is the Example to filter port 25 for TCP
    netstat -an |file ":25" | file "TCP"

    Disable SMTP on Cisco firewall

    Log on to the PIX device by establishing a telnet session or by using the console. 

    Type enable, and then press ENTER. 
    When you are prompted, type your password, and then press ENTER. 
    Type "configure" terminal, and then press ENTER. 
    Type "no fixup protocol smtp 25" , and then press ENTER. 
    Type "write memory", and then press ENTER. 
    Restart the PIX device, or reload the PIX configuration.

    Please use above command carefully on your responsibility.

    Exchange Attributes

    Important attributes for Exchange server

    from : XCON: Attributes Required to Route Messages Through the Categorizer



    Port 25; Simple Mail Transfer Protocol (SMTP) 465 (SSL)

    DNS 53; TCP & UDP 

    Port 80; Hypertext Transfer Protocol (HTTP) 

    Port 88; Kerberos TCP & UDP 

    Port 102; Message Transfer Agent (MTA) 

    Port 110; Post Office Protocol v3 (POP3) (995, SSL)

    Port 119; Network News Transfer Protocol (NNTP) 

    Port 135; Exchange administration, RPC, client server communication   
    RPC 135, 445 & all 1024+ port TCP 

    Port 143, Internet Message Access Protocol version 4 (IMAP4) 

    Port 389, Lightweight Directory Application Protocol (LDAP) TCP & UDP 

    Port 443, HTTP using Secure Sockets Layer (SSL) 

    port 465 (ssmtp), 

    Port 563, NNTP using Secure Sockets Layer (SSL) 

    Port 636, LDAP using Secure Sockets Layer (SSL) 

    Port 691, Link State T

    Port 993, IMAP4 using Secure Sockets Layer (SSL) 

    Port 995, POP3 using Secure Sockets Layer (SSL) 

    Port 3268 – Port 3269; Global catalog lookups 

    On Exchange Server
    CAS server to CAS server = TCP 80 and TCP 443
    Hub server to Hub server = TCP_25
    Hub server to Mailbox server = Ephermal port i.e Dynamic TCP port (1024-65535)
    Mailbox server to Mailbox Server  = TCP 135, Dynamic TCP (1024-65535), UDP 3343, TCP 64327


    Here are the few Examples for using NSLookup

    nslookup -q=a ""
    Eg. nslookup -q=a ""

    In above examples, i am using as an example and if you want to test with any other domain, use IP along with domain name.

    set vc   // for tcp queries
    server <>

    nslookup q=ptr
    > type IP address to check whether IP address has reverse IP

    in the same way you can change the query type to mx, a, txt,ns

    q=mx //to query about MX record of the domain
    q=a    //All
    q=txt // TXT record
    q=ns //name server 

    Other tools can be used
    c:\> ARP -a 
    c:\> Route Print

    c:\> pathping -4  ( domain is used as an Example)

    Microsoft Exchange server 2003 Queues listing

    from : How to use Queue Viewer to troubleshoot mail flow issues in Exchange server 2003

    Queue: Messages pending submission
    Queue: Messages awaiting directory lookup
    Queue: Messages waiting to be routed
    Queue: Local delivery (the domain name may appear) 
    Queue: Remote delivery queue 
    Queue: Messages with an unreachable destination
    Queue: Messages queued for deferred delivery
    Queue: DSN messages pending submission
    Queue: Failed message retry
    Queue: Failed message retry
    Queue: PendingRerouteQ (X.400)

    Exchange Technet links

    Managing Connectors

    Send Connectors

    Configuring Exchange 2007 Hub Transport role to receive Internet mail

    How to Configure Connectors for Internet Mail Flow

    Exchange Server 2007 Recipient Policies and Accepted Domains

    Exchange Server 2007 recipient management one-liners

    How to Modify an SMTP E-Mail Address by Using Recipient Policies

    How to customize the SMTP e-mail address generators through recipient policies

    Recipient Policies

    Troubleshooting the Recipient Update Service in Exchange Server 2003 and Exchange 2000 Server

    Tools and parameter

    Ethereal  - smtp.rsp.parameter contains "Authentication unsuccessful"

    NetMon ipv4.Address == and ipv4.Address ==

    wireshark (ip.addr eq and ip.addr eq

    experfwiz from
    .\experfwiz.ps1 -server <Server FQDN> -interval 5 -filepath C:\Logs
    procdump.exe -ma -n <number of dumps> -s <number> -accepteula <servicename>.exe c:\dumps\<nameof the dump file>.dmp 

    ExTrace.exe -v -c xx.etl >output.txt
    delmsg flags=sender,
    Ran aspnet_regiis -i from the \WINDOWS\Microsoft.NET\Framework\v2.0.50727 folder the issue was resolved.
    Running ASPNET_REGIIS.EXE –i resolved the issue

    Command to check SPN
    ldifde -t 3268 -d "" -p subtree -r "(serviceprincipalname=*)" -f spn.txt


    Outbound : IIS box's IP should be added in the relay in the Exchange server box
    Exchange server --> IIS box --> Internet
    Inbound : Remote domain

    SBS SERVER 2003
    How to troubleshoot the POP3 Connector in Windows Small Business Server 2003;en-us;885685&x=9&y=13

    E-mail to external recipients with the same e-mail domain causes NDR messages when using the POP3 Connector

    Exchange Server Connector for POP3 Mailboxes deliver multiple copies of messages

    Enable logging from EMC (few eg.)
    Get-EventlogLevel "MSExchange ADAccess" | Set-EventlogLevel -Level Lowest
    Get-EventlogLevel "MSExchange Common" | Set-EventlogLevel -Level Lowest

    Get-EventlogLevel "MSExchange ADAccess" | Set-EventlogLevel -Level Lowest

    variable can be used as 
    MSExchange Common\General                                                                                  Expert    
    MSExchange Common\Configuration                                                                         Expert    
    MSExchange Common\Logging                                                                                  Expert
    MSExchange Configuration Cmdlet - Management Console\General                         Expert    
    MSExchange Configuration Cmdlet - Management Console\RBAC                            Expert    
    MSExchange ADAccess\General                                                                             Expert    
    MSExchange ADAccess\Cache                                                                                Lowest    
    MSExchange ADAccess\Topology                                                                           Expert    
    MSExchange ADAccess\Configuration                                                                    Expert    
    MSExchange ADAccess\LDAP                                                                                 Expert    
    MSExchange ADAccess\Validation                                                                         Expert

    MSExchange ADAccess\Site Update                                                                      Expert    

    Image compression software
    =======================        //it compresses the file to the % of the file