Tuesday, June 30, 2009

Configuring Outlook Anywhere Settings via Autodiscover

Below is how to configure the following settings to be set via the autodiscover service for outlook anywhere.

To configure "use this URL to connect to my proxy server for Exchange:"

Set-OutlookProvider EXPR -Server "enter address here"

To configure the "Only connect to proxy servers that have this principal name in their certificate box" use:

Set-OutlookProvider EXPR -CertPrincipalName "msstd:address that appears as primary on certificate"

Monday, June 29, 2009

Belarc Advisor

Today I needed to do an audit of a server remotely that I know nothing about. A work college told me about Belarc Advisor - I ran it on the server remotely. I was very impressed at the information it was able to provide me with - even serial numbers which is excellent if you ever need to provide vendors with this information.

Belarc Advisor is free software and can be downloaded from:

Here is an example of some of the information it can provide you with + much more:

Help and Support service doesn't exist

I had a case where the Help and Support service did not exist. Below is how to fix this problem.

Nagivate to C:\Windows\System32\HelpCTR and rename the PackageStore folder to anything. I put it as PackageStoreold.

Next open a command prompt and navigate to C:\WINDOWS\PCHEALTH\HELPCTR\Binaries. Run the following command:

start /w helpsvc /svchost netsvcs /regserver /install

After this the health and support service should now exist again, simply start it.

Wild Card Certificates and Exchange

While wildcard certificates are completely supported by Exchange 2003 SP2, Exchange 2007 and Exchange 2010 there is one thing I would like to point out - wild card certificates are not supported by Windows Mobile Device version 5. If you decide to use a wild card certificate make sure all your mobile devices are using at least Windows Mobile Device version 6 and up.

My recommendation is to use subject alternative names for your autodiscover record and any other mail related records.

Friday, June 26, 2009

Outlook Displays Recieved as None

I had a case the other day where outlook was displaying None as the recieved date for all the emails:

This issue occured on multiple computers for just one mailbox. When I got the user to login through OWA all was fine. The fact that OWA worked was very weird as the problem did turn out to be database corruption. I ran the following command which fixed it:

isinteg -s servername -fix -test alltests

Wednesday, June 24, 2009

Outlook 2007 Error - Default Mail Client

This occured on a Windows 2008 x64 SP2 Terminal server. The error we were getting when users open outlook was:

Either there is no default mail client or the current mail client cannot fulfill the messaging request. Please run Microsoft Office Outlook and set it as the default mail client.

When you click OK, it then lets you into Microsoft Outlook.

First I deleted all sub registry keys that existed under:

Next I opened office 2007, clicked OK on the error, and ran Office Diagnostics.

Here it complained about 2 versions of outlook:

Sure enough on this terminal server when I went to the start menu, I saw both outlook 2003 and 2007. Some administrator had installed both for some reason!

After simply going into the Programs and Features in control panel, then changing the configuration on Office 2003, I just remove the outlook 2003 feature and left the rest of the office 2003 applications on the server. This resolved the problem.

Adobe Reader Error on Windows 2008 x64 SP2 Terminal Server

I have a clean windows server 2008 x64 terminal server with the latest service pack and updates. I installed adobe reader as an administrator with the terminal server in application install mode. I tested the application as administrator it works fine.

When users that are not an administrator run the application on the terminal server they recieved:

Runtime Error!
Program: C:\Program Files (x86)\Adobe\Reader\9.0\Reader\AcroRd32.exe
This application has requested the Runtime to terminate in an unusual way. Please contact the application's support team for more information.

To fix this error I had to change the compatability of adobe reader to Windows XP SP2. This is really weird as I had adobe installed on other terminal servers, it was just an older version and these did not have the issue.

Monday, June 22, 2009

SMTP Packet Inspection

I have seen this a number of times now when you telnet a SMTP server you get this:

220 ********************************************************

This is caused by SMTP Packet inspection on the router's or layer 3 switches. Speak to your network engineer to turn this off.

If you have packet inspection on SMTP, but your relaying ESMTP ie EHLO and not HELO, it will not read write and data will not get accross. I have seen problems with mail flow between exchange 2007 and 2003 because of this. Exchange 2003 if EHLO fails it will use HELO to relay (standard SMTP). Exchange 2007 likes to use just ESMTP between routing group connectors however you can configure this to use standard SMTP if you like.

Overall I recommend turning SMTP packet inspection OFF on your Cisco gear as it causes nothing but issues.

Exchange 2007 Outbound Mail Queue - Delayed MAPI delivery to Mailbox Server

With Exchange 2007 both MAPI and SMTP connections are both catagorised under the same. On a hub transport server you can set the amount of outbound connections it can create.

This exchange 2007 hub transport server I set a maximum of outbound connections to be 10. However it can send up to 5 emails at once per domain.

This company they have a bad link, and they have lots of large attachments sitting in their queue up to 10MB in size. They recieve alot of 421 4.4.2 Connection Dropped due to packet loss etc. As you see below their MAPIDelivery is building up.

This is because it can only send 10 emails at once max, with 5 per domain. It needs to get through the queue to get back to MAPI. When it does, it goes and sends them basically instant to the mailbox server (because its over LAN high speed network) then goes back through the queue again.

However if you had an edge transport server you would not have this problem! Edge will just be sending SMTP traffic. It's the hub transport servers that will send both SMTP and MAPI.

Exchange 2007 SMTP Protocol Logging

To enable protocol logging in exchange 2007 you need to do it on either the Recieve Connector or the Send Connector themselves.

To enable outbound SMTP logging use Set-SendConnector "Connector Name" -ProtocolLoggingLevel verbose. By default it is set to none.

To enable inbound SMTP logging use Set-RecieveConnector "Connector Name" -ProtcolLoggingLevel verbose. By default it is set to none.

By default outbound logs are stored here:
C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpSend

By default inbound logs are stored here:
C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpReceive

Exchange 2007 Retry Messages in Queue

In exchange 2007 you can view all messages in your queue by using the Get-Messages cmdlet. To view all message queues use Get-Queue. Exchange creates a seperate queue for each outbound domain. To retry particular messages to a particular domain you can use the Retry-Queue command.

To retry an individual message use Resume-Message. To resend all messages use:

Get-Message Resume-Message

This is the most practical command.

For more information check out:

To check out whats happening with SMTP loggigng with the email in your queue check out:

Calendars Exchange 2003 vs Exchange 2007 in Outlook

In this post I will be showing you the difference between Exchange 2003 and Exchange 2007 public folders. Both screenshots below are using Outlook 2007.

Below is an Exchange 2003 mailbox:

Below is an Exchange 2007 mailbox:

In exchange 2003 by default everyone has full details to view your callendar. In exchange 2007 by default everyone only has permissions to view your free-busy information only. If you move a mailbox from exchange 2003 to exchange 2007, it will change from full details to free/busy. People that could view your entire calendar will now only be able to view your free/busy status!

Please take note of this before migrating mailboxes!

Additionally one more thing, if a user complains free/busy is broken, make sure the user they are trying to view has not disabled their freebusy status. Also take note for exchange 2003 users, free/busy takes 15 minutes to update itself where exchange 2007 uses the availability service via IIS so it is very quick!

Thursday, June 18, 2009

Exchange 2010 Delivery Reports

A cool new feature of Exchange 2010 is its Delivery Reports. This allows users to find out what is happening with their email. They have access to the following options:

• Why didn't my message go through?
• Where is my message now?
• Who received my message? (really good for when sending to a group)

In the Exchange Management Console toolbox Administrators still have access to the Message Tracking tool... however this is a nice new little feature for end users.

Outlook 2010 and Outlook Web Access 2010 is required for this users to utilize this new feature.

Exchange 2010 Email Moderation

Exchange 2010 has a new feature called email moderation which I find very useful. Say you have a helpdesk mailbox in your enterprise that users email with problems they are having. Sometimes these users may not provide enough details, or not be specific enough around the issue. You may want to employ someone or multiple people to review the users requests to ensure they have provided enough information before the email reaches the service desk. This is when email moderation comes in. Note you can also configure email moderation on distribution and security groups!

To be able to use this email moderation feature users will need to be running Outlook 2010 or Outlook Web Access 2010.

With Email Moderation, emails are delivered to a Arbitration Mailbox, before being passed onto the moderated group or maillbox. This mailbox is like a holding tank for messages that are under review by moderators.

Moderators have three options for a decision:
• Approve
• Reject
• Reject with comments

If messages are rejected, the exchange server sends an email to the user letting them know, and provides them with the reason if given.

I can see this feature very useful in the business world that does not already have systems like this in place.

Delivery restrictions on mailboxes and groups have not gone anywhere in exchange 2010, so you can still specify which user accounts, authenticated users, everyone, or a particular group in your organisation, who has writes to send mail to a particular mailbox or distribution group has not gone anywhere - so dont think this new feature has removed any of the previous features.

Tuesday, June 16, 2009

Adding RSS Feeds to Outlook

The RSS feed address for this blog is:


To add it you simply just right click on RSS Feeds in outlook and add it.

Uninstalling Exchange 2000

When uninstalling Exchange 2000, before you start the uninstall you need to verify if the exchange home server attribute is set to the server your trying to remove for any of the users. You can check this by searching with active directory users and computers at the domain root level. Search for show only exchange recipients on the exchange tab. Then go to edit --> choose colums and add in the Exchange Home Server colum.

In the screenshot below there is a user that has his home exchange server set to PDC, the 2000 server we are trying to remove. We can either use adsiedit to point him at another server, or delete the account.

To remove it using ADSI follow this method:

1. In the ADSI Edit MMC, expand Domain NC [domaincontroller.example.com], expand DC=example,DC=com, and then expand the container in which the user who has the mailbox server listed in the msExchHomeServerName attribute is located. For example, expand CN=Users.
2. Right-click CN=username, and then click Properties.
3. In CN=username Properties dialog box, click Both in the Select which properties to view list, and then click msExchangeHomeServerName in the Select a property to view list.
4. Click Clear. The LDAP path of the mailbox server appears in the Edit Attribute box.
5. Remove the contents of the Edit Attribute box to make it blank, press SPACEBAR to let the Set button become available, click Set, and then click OK.
6. Follow steps 2c through 2f to modify the msExchHomeServerName attribute for other user accounts that have this mailbox server set. Then, exit the ADSI Edit MMC snap-in.

See Microsoft Knowledge Base 924170 for more information on this.

If you dont do this you will not be able to uninstall Exchange 2000 and you will recieve the following error:

Additionally make sure that you have the Exchange 2000 disk as this is needed to uninstall. This is because during the installation some dll's are replaced with exchange enabled ones. When you uninstall it needs to restore the originals.

Exchange 2007 Service Pack 2

The microsoft exchange team are releasing exchange 2007 service pack 2. One of the primary features that I like about service pack 2 is the fact that it will extend the 2008 windows backup feature adding in the option to allow for exchange backups of given storage groups. Currently this is impossible using an integrated windows tool as NT Backup is not a part of server 2008. They have also added additional public folder control via powershell.

Exchange 2007 Service Pack 2 will be required in order to migrate a Exchange 2007 server to Exchange 2010.

For more information, please see the Microsoft Exchange team blog:

Sunday, June 14, 2009

Volume Shadow Copy Broken

Had the following error:

Error: 0x80042304: The volume shadow copy provider is not registered in the system.

To fix create a bat file with the following commands:

cd /d %windir%\system32
Net stop vss
Net stop swprv
regsvr32 ole32.dll
regsvr32 oleaut32.dll
regsvr32 vss_ps.dll
vssvc /register
regsvr32 /i swprv.dll
regsvr32 /i eventcls.dll
regsvr32 es.dll
regsvr32 stdprov.dll
regsvr32 vssui.dll
regsvr32 msxml.dll
regsvr32 msxml3.dll
regsvr32 msxml4.dll
Net start vss
Net start swprv

Run the bat file... fixed

Permently Remove Driver

When you remove a driver from device manager, and reboot your PC it just comes back again via plug and play. To permently remove a driver you need to delete it form c:\windows\inf. To find the driver just search for it by the same name as what it appears in device manager:

Here I'm finding which files belong to a HP NC7781 network card:

find /c "NC7781" c:\windows\inf\*.inf | find ":" | find /v ": 0"

Once found delete all files that associated with the INF. There is usually always a PNF file that is associated with the INF which needs to be deleted too.

If you want to keep your server/pc clean, you can delete the driver files as well by going to device manager, going to the device and bringing up the properties.

Windows Driver Uninstall: "Failed to uninstall the device. The device may be required to boot up the computer."

Went to uninstall a driver and got the following:

If you get this error you can just remove it from the registry instead by navigating to:


you will see a series of folders. If you go to device manager and look at the device ID of a device in its properties this matches up with what you see in the registry:

Expand out the PCI folder:

Notice this is the same as what we saw in device manager? Deleting the driver registry key folders from the registry does essentially the same thing as removing them from device manager.

By deleting it from the registry this gets you around that error. You might want to then go on and permently remove the driver... to do that follow this guide:

Windows Server 2003 SP2 Setup Fails - WMI Error

When installing service pack 2, the setup crashed and errored out.

This is what I got in my svcpack.log file located in C:\windows

650.266: Return Code = 0
650.266: Starting process: rundll32 apphelp,ShimFlushCache
650.313: Return Code = 0
650.313: Starting process: C:\WINDOWS\system32\wbem\mofcomp.exe C:\WINDOWS\system32\wbem\wlbsprov.mof
650.578: Return Code = 3
650.578: Starting process: C:\WINDOWS\system32\wbem\mofcomp.exe C:\WINDOWS\system32\wbem\cimwin32.mof
651.313: Return Code = 3
651.313: DoInstallation:RunInfProcesses for ProcessesToRun Failed
651.313: Service Pack 2 Setup encountered an error: An error in updating your system has occurred.
657.703: Unregistration of sprecovr successful
658.266: An error in updating your system has occurred.

Select 'OK' to undo the changes that have been made.
665.328: Message displayed to the user: An error in updating your system has occurred.

Select 'OK' to undo the changes that have been made.
665.328: User Input: OK

After a bit of research I came accross this website by someone named Katy that showed my exact error, and showed that it was related to WMI problems:


This is a brilliant artical I suggest you have a read. My problem was a little bit different to Katy's. My WMI service didnt even exist!

When I went to the WMI control properties in computer management I got the following:

To get this back I ran the following in command prompt:

wmimgmt /regserver

This got the service back:

Setup then completed successfully.

Error Installing 2003 Server Service Pack 2 - Access Denied

When installing Service Pack 2 of Server 2003 I have seen twice a "Access is Denied" error appear... with no additional information. One was on an SBS server and the other was a Server 2003 standard. Both of these problems were caused by exactly the same thing. The setup tries to delete a registry key as below. The Administrators group only had read access and not full control - I simply used regedit to assign full control to HKLM\Software\Microsoft\Windows NT\CurrentVersion\SvcHost

Below is an extract taken out of c:\windows\updspapi.log

#W190 File "C:\WINDOWS\system32\SET16F5.tmp" marked to be moved to "C:\WINDOWS\system32\dpcdll.dll" on next reboot.
#-086 Deleting registry value "HKLM\Software\Microsoft\Windows NT\CurrentVersion\SvcHost\wugroup"
#E033 Error 5: Access is denied.
#E065 Parsing DelReg section [Product.Del.Reg] in "c:\03999bc3e44d3be7bfb12644\i386\update\update.inf" failed. Error 5: Access is denied.
#E064 Parsing install section [ProductInstall.GlobalRegistryChanges.Install] in "c:\03999bc3e44d3be7bfb12644\i386\update\update.inf" failed. Error 5: Access is denied.
#-086 Deleting registry value "HKLM\Software\Microsoft\Windows NT\CurrentVersion\SvcHost\wugroup"
#E033 Error 5: Access is denied.
#E065 Parsing DelReg section [Product.Del.Reg] in "c:\03999bc3e44d3be7bfb12644\i386\update\update.inf" failed. Error 5: Access is denied.
#E064 Parsing install section [ProductInstall.GlobalRegistryChanges.Install] in "c:\03999bc3e44d3be7bfb12644\i386\update\update.inf" failed. Error 5: Access is denied.

Friday, June 12, 2009

Exchange 2007 Isinteg Error

Had a really weird error, when I ran Isinteg -s AUSEXCH02 -fix -test alltests against my mailbox server and selected my offline public folder database I got the following error:

Isinteg: the request to cancel verification process failed.
Isinteg: the request to stop verification process failed.
The verification has probably been interrupted.
Please review the log file for more information.

I got past this by running:

Isinteg -s servername -fix -test rowcounts

Then I ran:

Isinteg -s servername -fix -test alltests

And it worked...

Wednesday, June 10, 2009

Cannot Add Replica's to Certain System Public Folders

I had a very interesting error with public folder replica's in an Exchange 2003 and 2007 environment. There was no information on the internet surrounding the errors I was recieving hence it was esculated to Microsoft.

The Problem

I had 1 exchange 2003 mailbox server and 2 exchange 2007 mailbox servers. I could add my exchange 2003 and the 2007 mailbox server as a replica to the following system public folders:

However when I try and add my second exchange 2007 server as a replica to these folders I recieve the following error:

Microsoft Exchange Error
The following error(s) occurred while saving changes:

Cannot save the object '\NON_IPM_SUBTREE\SCHEDULE+ FREE BUSY'. Please make sure that you specified the correct Identity and that you have the necessary permissions to save it.

MapiExceptionNotFound: Unable to set properties on object. (hr=0x8004010f, ec=-2147221233)
Diagnostic context:
Lid: 18969 EcDoRpcExt2 called [length=416]
Lid: 27161 EcDoRpcExt2 returned [ec=0x0][length=516][latency=15]
Lid: 23226 --- ROP Parse Start ---
Lid: 27962 ROP: ropSetProps [10]
Lid: 17082 ROP Error: 0x8004010F
Lid: 30561
Lid: 21921 StoreEc: 0x8004010F
Lid: 27962 ROP: ropExtendedError [250]
Lid: 1494 ---- Remote Context Beg ----
Lid: 1238 Remote Context Overflow
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x67870102
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x678A0102
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x3D210102
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x668F0040
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x67870102
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x678A0102
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x668F0040
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x3D210102
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x67870102
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x678A0102
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x67870102
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x678A0102
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x668F0040
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x678D0102
Lid: 3362 StoreEc: 0x8004010F
Lid: 9206 StoreEc: 0x8004010F
Lid: 4559 StoreEc: 0x8004010F
Lid: 1750 ---- Remote Context End ----
Lid: 26849
Lid: 21817 ROP Failure: 0x8004010F
Lid: 25761
Lid: 1940 StoreEc: 0x8004010F
Lid: 25297
Lid: 21201 StoreEc: 0x8004010F


Error from 2007 pubic folder management console:

Error from powershell:

Error from PFDavAdmin:

The Resolution

I spoke to a Microsoft exchange architect named Indarraaj. He informed me that this is this error is by design. You can only have one exchange 2003 and one exchange 2007 server as a replica at these parent level public folders. However if you look at the sub folders, it is possible to add all your servers as replica's. As long as you add all your servers as replica's to your sub folders you will be fine.

I asked him why this was not documented on the internet anywhere, as I did research this pretty intensively and there was hardly any information! He said there is a KB article for this however it is a Microsoft internal KB which is not available externally for the public! I think this is pretty strange, if this error is by design, shouldn't Microsoft at least document this if every exchange organisation around the world experiance this issue at a given time when migrating from exchange 2003 to 2007?

Anyway all in all just check the child public folders and ensure that the replica's are set right on them.

Monday, June 8, 2009

Username Greyed Out With hostname\guest over Workgroup

When accessing a pc via SMB over a network by going \\hostname or \\ipaddress you may experiance your username box is greyed out containing the hostname of the remote machine followed by guest.

To get around this disable simple file sharing on the PC you are trying to access.


Sunday, June 7, 2009

Backup Exec 12.5 - 0x80070057 - One or more arguments are invalid

I have a robotic HP LTO Ultrium-3 Tape Drive connected to a LSI Adapter, Ultra320 SCSI 2000 series (w/1020/1030)(StorPort) in a HP server. Was recieving the following error in backup exec:

In event viewer I was recieving:
The driver detected a controller error on \Device\RaidPort0.

The problem turned out to be disconnecting the SCSI terminator from the tape drive then plugging it back on. This caused the green light on the terminator to light up... weird.

Saturday, June 6, 2009

Client Access Server with Exchange 2003 Backend Single Username OWA

I implemented an exchange 2007 client access server with forms based authentication. However whenever exchange 2003 mailbox users tried to login to their OWA they had to enter domain\username instead of just username. After much fiddling around here is how I got it working with just username for exchange 2003 mailbox users.

Exchange 2007 settings:

Set-OWAVirtualDirectory -Identity "owa (default web site)" -LogonFormat username -DefaultDomain "yourdomainnamehere"

Screenshot from exch2007 console:

Exchange 2003 settings:

Exchange 2003 was not set to use form based authentication. I enabled forms based authentication so match the exchange 2007 server. This makes sence seeming the exchange 2007 client access server "proxies" the requests to the backend exchange 2003 OWA.

However this alone did not make the solution work. Integrated Windows Authentication needed to be enabled on the "Exchange" virtual directory in IIS. Also because exchange 2007 is already entering in the default domain name for you, in the domain box just enter a \.

These settings allowed exchange 2003 users to login successfully by just entering their username.

However for users that have been migrated accross to an exchange 2007 mailbox server, if they go to https://yourpublicdomainname.com/exchange they need to still enter domainname\user. This is because for exchange 2007 uses /owa for its webmail instead of /exchange. However if a user does enter /exchange to access their mailbox it is smart enough to send them the right direction by using Davex.dll that redirects the users request from /exchange to /owa on the client access server. This redirection process is the part that does not support for a single username.

If users go to the correct address for exchange 2007 which is https://yourpublicdomainname.com/owa they will not have this issue and will be able to sign in using a single username.

I found this microsoft website very handy as it shows you the inside workings of OWA redirection between exchange 2000/2003 and 2007: