Google
Search WWW Search msexchangetips.blogspot.com

Saturday, July 08, 2006

Exchange: Event ID 508 "Information Store A request to write took an abnormally long time"

Summary:

Event ID: 503 Application ESE. Information Store (8260) EX3-SG4: A request to write to the file "P:\EX3-SG4-MB1\EX3-SG4-MB1.edb" at offset 336986112 (0x0000000014160000) for 4096 (0x00001000) bytes succeeded, but took an abnormally long time (66 seconds) to be serviced by the OS. This problem is likely due to faulty hardware. Please contact your hardware vendor for further assistance diagnosing the problem. For more information, click http://www.microsoft.com/contentredirect.asp

Cause #1

This is likely due to excessive disk checking on a hard drive.

Resolution: Examine your hardware vendor's Event log to check for excessive disk checking and replace disk according to vendor's specification.


Cause #2

In some instances this is due to eseutil running during backup process to verify integrity of the backup. I've seen this on an Exchange server that was running Veritas to snapshot the Exchange database and this would occur when Veritas would perform eseutil to verify the integity of the database which is a very disk I\O intensive.

Resolution: Run performance baseline to check out disk I\O





James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com

Exchange: Message Tracking Corrupted Produces Error message "ID no: 8004100e Exchange System Manager",

Summary:

You receive error message "ID no: 8004100e Exchange System Manager", when you are using the Message Tracking Center or in the field where you enter the Path to store The Message Tracking Logs through ESM.


Cause:

The error code 8004100e translates to WBEM_E_INVALID_NAMESPACE, which means the failure is due to an invalid namespace or a corrupted CIM Repository.

Resolution:

To resolve this issue, you will need to attempt registration of the
necessary DLLs and to import the Exchange Namespaces and Classes. Running the below commands will harm nothing if the DLLs are already registered or if the Namespaces and/or Classes are already present in the WMI Repository. I have written a batch file that will automate the process below which you can download from "Chong Man's Exchange Resources" under links and going to the Scripts directory.

1. Run the following command from a command prompt in the Program Files\Exchsrvr\Bin directory:

regsvr32 /s exwmi.dll

regsvr32 /s cdowf.dll
regsvr32 /s cdowfevt.dll



2. Run the following commands from a command prompt in the
Windows\System32\Wbem directory:

mofcomp.exe -class:forceupdate C:\WINDOWS\system32\WBEM\exmgmt.mof
mofcomp.exe C:\WINDOWS\system32\WBEM\exwmi.mof
mofcomp.exe -n:root\cimv2\applications\exchange
"C:\WINDOWS\system32\wbem\wbemcons.mof"
mofcomp.exe -n:root\cimv2\applications\exchange
"C:\WINDOWS\system32\wbem\smtpcons.mof"
mofcomp.exe -n:root\cimv2\applications\exchange
"C:\WINDOWS\system32\wbem\msgtrk.mof"

3. Restart the Windows Management Instrumentation service and all related services.

If the issue still persists, the files in the %SystemRoot%\System32\Wbem\Repository folder may get corrupted. Run these steps:

1. Click Start, and then right-click My Computer.

2. On the shortcut menu, click Manage.

3. In the left pane of the Computer Management console, double-click “Services and Applications".

4. Under "Services and Applications", click Services.

5. In the right pane of the Computer Management console, locate and then
right-click Windows Management Instrumentation.

6. On the shortcut menu, click Stop.

7. Start Windows Explorer, and then locate the
%SystemRoot%\System32\Wbem\Repository folder.

8. Copy %SystemRoot%\System32\wbem\Repository to a different folder and then delete all of the files in the %SystemRoot%\System32\Wbem\Repository folder.

9. Register all DLLS in %SystemRoot%\System32\wbem. To do so, run the following commands:

cd C:\WINDOWS\system32\wbem
for /f %s in ('dir /b *.dll') do regsvr32 /s %s

10. Restart the computer. The files that were deleted are re-created when
the computer restarts as the Windows Management Instrumentation service
starts automatically when you restart the computer.

James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com

How useful was this article? Want to see a tip not listed? Please leave a comment.

Thursday, July 06, 2006

Exchange: SMTP Connector to Smart Hosts Stops Responding

Summary

SMTP connector to Smart Host stops responding periodically after several days. Deleting the SMTP connector and re-creating corrects the issue and mail flow is resumed immediately. Reboot also resumes mail flow.

Resolution:

In this instance, the SMTP connector was configured to send mail to a Unix Smart Host. There was a communication issue in which the Exchange server thinks the Front End Smart Host is an Exchange server and tries to exchange link state information with it. To correct this issue, suppress sending link state information to the Unix Smart Host. Although link state information is exchanged between routing groups and thus only sent over Routing Group Connectors, in this instance, the Exchange server was treating the Unix smarthost as another Exchange server.


1) open REGEDIT on the Bridge Head server

2) Navigate to SYSTEM\CurrentControlSet\Services\RESVC\Parameters
3) Right Click on Parameters and select New, DWORD Value

4) Type in "SuppressStateChanges" without the quotation marks

5) Right Click on the new SuppressStateChanges dword value and select MODIFY

6) Set the Value Data to 1

For more information on Suppressing Link State Information, refer to documentation:

http://www.microsoft.com/technet/prodtechnol/exchange
/guides/E2k3TransnRouting/d4c84ac1-5ff9-4b6c-a2d7-80044c96e5e3.mspx?mfr=true


James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com

Exchange: Forwarding Emails to External SMTP Addresses

One method to forward emails to an external contact is to configure your mail enabled user to forward to an external contact. In this instance, you would create a mail enabled contact configured with an external SMTP proxy. Then, within the delivery options of the mail enabled user, configure to forward to the external contact. However, it is also possible to enable forwarding without the use of a mailbox enabled object. This is useful in organizations that employ consultants and wish to give them an email address without a mailbox. Lastly, you can employ an event sink to fire during transport. (Kinda like a server side rule) You can view my other post on this if interested:

Exchange: Forwarding Copy of User's Email or Public Folder to Another Account Via Event Sink
http://msexchangetips.blogspot.com/2006/08/exchange-forwarding-copy-of-users_21.html

Method 1: (Fowarding with a mailbox enabled user)

1. Create a mail enabled contact and configure it with the external SMTP proxy.
2. Double click your mailbox enabled user. Go to Exchange General Tab, Delivery Options.
3. In the fowarding address, select foward to: and select your contact that you configured in step 1.

Method 2. (Forwarding with only a contact)

1. Create a mail enabled contact.
2. For the Primary SMTP address, enter the external address ie. user@hotmail.com
3. For the Secondary SMTP address, enter your organization's address user@hotmail.com

Note: Ensure that in the Exchange general tab of your contact, the email address is set to the Primary address (external address) as well as your general tab.



James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com


How useful was this article? Want to see a tip not listed? Please leave a comment.

Exchange: Cannot delete Public Folder Store

Summary:

When attempting to delete a public folder store, you receive an error that it is part of a replica. Deleting the database file has not affect.

Resolution:

Delete the Public Folder Store through ADSIEDIT

1. Open Adsiedit.msc from run command
2. Navigate to your configuration container 3. Expand to services, Microsoft Exchange, your org name, admin groups, servers, locate your FE server, expand, Expand information store, and storage group that houses your public folder store. On the right pane, delete the public folder store.


James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com

Exchange: Building an Exchange Recovery Server

There are benefits of creating an Exchange Recovery Server such as validating backups, running Exchange database utilities to test for corruptions or inconsistencies and performing offline restores without impacting the performance of your production Exchange Server. One issue that you may encounter when rebuilding an Exchange Recovery Server is if your Exchange Organization was a product of a 5.5 migration. If so, you will not be able to mount the database on the recovery server. This is due to the descrepancy in the legacydn from your restore server and your production server.


Method 1:

1. Create new forest new domain name, give new hostname
2. Install AD
3. Install Exchange, make sure your Exchange org name is the same as your production org name
4. Make sure servers are patched exactly the same or mounting will fail.
4. Make sure all DB locations, log path partions are the same.

If your 2003 was a product of a 5.5 migration, than mounting will fail because the legacydn of the restore server does not match the legacydn of the production server.

1. Open command prompt. Type ldifde -f c:\exchange.txt -d "CN=Microso ft Exchange,CN=Services,CN=Configuration,DC=fabrikom,DC=com" -p subtree
2. Open the file Exchange.txt. In the text file search for "First Administrative Org" There may be up to 25 entries. When you encounter the first match you need to locate it in adsiedit and change First Administrative Org to the Exchange org name of your production Exchange.
3. Once you have found the first match. Open run box and enter adsiedit.msc (From windows support tools)
4. If you're familiar with adsiedit you need to go to your Exchange Configuration Container à Services à Microsoft Exchange. You should see your org name. Most of the matches will be within this subfolder. Find the match and change the legacydn of your restore server (first admin org) to match the orginal org name. So basically anywhere you see "First Administrative Org" you need to change to your production org name. If you do not do this mounting will fail.


James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com


How useful was this article? Want to see a tip not listed? Please leave a comment.

ADUC: Querying SMTP Proxies for Public Folders

When querying an SMTP proxy in ADUC public folders are not queried. To query an SMTP address against all mail enabled objects, run a custom search. In ADUC, hit your search icon. In the "Find" drop down box, select Custom Search. Click the Advanced Tab. For the LDAP Query, enter:

(proxyAddresses=SMTP:test@domain.com)


James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com

Outlook: Can't Eliminate a Delegate

Summary

Delegate does not remove in Outlook. Delegate re-appears after removing the delegate and clicking Ok.

Solution

Open ADUC, locate the user who has the delegate configured. Click the Exchange General Tab, Delivery Options. In the Send on Behalf pane, remove the delegate.

James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com

ADUC: Obtaining User Last Logon Time

One common request from AD\Exchange administrators is how to obtain user's last logon time. Below is a sample LDF command to export last logon time to a LDF file.

Method 1:

Open a command prompt a type the following. (Requires Windows Support Tools)
ldifde -f Exportlastlogon.ldf -s myservername -r "(objectclass=user)"

Obtain lastlogon time and subtract last 7 digits

repadmin /showtime "yourremainingnumbers"


James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com

ADUC: Export Disabled Users to LDF File

One common request from AD\Exchange administrators is how to export disabled users to a file. Below is a sample LDF command to export disabled users to a LDF file.

Method 1:

Open a command prompt a type the following. (Requires Windows Support Tools)
C:\ldifde -f disabled.ldf -s myservername -r "(&(objectCategory=Person)(userAccountcontrol:1.2.840.113556.1.4.803:=2))" -l "dn"

James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com

Exchange: Exporting SMTP Proxies

One common request from Exchange administrators is how to export SMTP proxies. Below is a sample script to export SMTP proxies into a LDF file.


''''''''''''''''''''''''''''''''''''''''''''''''''''''
' DumpProxy.vbs '
' '
' James Chong, MCSE + Messaging '
' '
' (dumps existing proxy addresses to an ldf file) '
' '
''''''''''''''''''''''''''''''''''''''''''''''''''''''
Const Writable = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLog = objFSO.OpenTextFile("c:\proxydump.ldf", Writable, True)
Set cn = CreateObject("ADODB.Connection")
Set cm = CreateObject("ADODB.Command")
Set rs = CreateObject("ADODB.RecordSet")

With cn
.Provider = "ADsDSOObject"
.Open "Active Directory Provider"
End With
Set cm.ActiveConnection = cn

cm.CommandText = "<;(&(objectClass=user)(proxyAddresses=*));SAMAccountName,mail,proxyAddresses;subtree">LDAP://mydc.mydomain.com>;(&(objectClass=user)(proxyAddresses=*));SAMAccountName,mail,proxyAddresses;subtree"
Set rs = cm.Execute

While Not rs.EOF
On Error Resume Next
strUserDN = rs.Fields("samaccountname")
strMail = rs.Fields("mail")
strProxyAddress = rs.Fields("proxyAddresses")
objLog.Write "dn: " & strUserDN & vbCrLf
objLog.Write "changetype: modify" & vbCrLf
objLog.Write "replace: mail" & vbCrLf
objLog.Write "mail: " & strMail & vbCrLf
objLog.Write "-" & vbCrLf & vbCrLf
objLog.Write "dn: " & strUserDN & vbCrLf
objLog.Write "changetype: modify" & vbCrLf
objLog.Write "replace: proxyAddresses" & vbCrLf
For Each Item in strProxyAddress
strTempAddr = Item
objLog.Write "proxyAddresses: " & Item & vbCrLf
Next
objLog.Write "-" & vbCrLf & vbCrLf
rs.MoveNext
Wend

objLog.Close
msgbox "Export Complete to c:\proxydump.lfd"


James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com

Wednesday, July 05, 2006

OWA Question Mark Included in Outgoing Email

OWA: Question Mark In Outgoing Email
June 05, 2006

Summary:

Sending Emails through OWA produces a question mark (?) in every outgoing email. This does not occur globally but few users.

Cause:

Possible third party application has downgraded two files dhtmled.ocx and triedit.dll in the affected user's IE.

Solution:

On the user's client that is being affected, re-register these ocx & dlls.

Froom command prompt enter the following.



C:\>regsvr32 /u "C:\Program Files\Common Files\Microsoft Shared\Triedit\dhtmled.ocx"

C:\>regsvr32 /u "C:\Program Files\Common Files\Microsoft Shared\Triedit\triedit.dll"

C:\>regsvr32 "C:\Program Files\Common Files\Microsoft Shared\Triedit\dhtmled.ocx"

C:\>regsvr32 "C:\Program Files\Common Files\Microsoft Shared\Triedit\triedit.dll"

This is also known to correct the RED X display that is displayed in OWA.

Applies To:
Exchange 2003

James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com

OWA Loading....

OWA Loading...
June 25, 2006

Summary

OWA exhibits loading... when logging into Outlook Web Access. A reboot corrects this issue. There are multiple reasons why OWA exhibits loading, for example incorrect permissions within the IIS Virtual Directories or I.E settings, mismatched service pack levels when using Front End\ Back End toplogies. A reboot temporarily corrects the issue. However, this can also be caused if the username and passwords for the IUSR_ComputerName and IWAM_ComputerName accounts are out of synch within the IIS metabase and User Manager.


Cause:
Passwords are stored in three locations. If out of synch they can cause the OWA Loading... symtpom.

• Internet Information Server (IIS) metabase
• User Manager for Domains (Windows NT) or Local Users and Groups (Windows 2000)
• Microsoft Transaction Server (Windows NT) or Component Services (Windows 2000)

Solution:

1. Follow KB article 29798 PRB: Configured Identity Is Incorrect for IWAM Account for fix.

PRB: Configured Identity Is Incorrect for IWAM Account
http://support.microsoft.com/?kbid=297989

Method 1: Change the Passwords in User Manager or Users and Groups to Match the IIS Metabase Password
1. In the Command window, locate the folder that contains the Adsutil.vbs file. Use the Adsutil.vbs tool to obtain the passwords for the IWAM and IUSR accounts from the IIS metabase.

Note: When you try to obtain the password in Windows NT 4.0, the password appears as clear text; however, the password appears as asterisks in Windows 2000. To obtain the password in clear text in Windows 2000, you must modify Adsutil.vbs so that it displays the unmasked password. To do this, follow these steps:

a. In Notepad, open Adsutil.vbs.
b. On the Edit menu, click Find, type IsSecureProperty = True, and then click Find
Next.
c. Change "IsSecureProperty = True" to "IsSecureProperty = False".
d. Save the changes to Adsutil.vbs, and then close Notepad. "


2. To change the IUSR and/or IWAM passwords in Windows NT, follow these steps:

a. From the Start menu, point to Programs point to Administrative Tools, and then click User Manager for Domains. In User Manager for Domains, you can change the account information for all Windows NT user accounts and groups.
b. Double-click the IUSR_ComputerName and/or IWAM_ComputerName users, and modify the passwords so that they reflect the IIS metabase password that you obtained in step 1.
To change the IUSR and/or IWAM passwords in Windows 2000, follow these steps:a. From the Start menu, point to Programs, point to Administrative Tools, and then click Computer Management.
b. Under the System Tools node, click to expand the Local Users and Groups and Users nodes. In the User node, you can change the account information for all Windows 2000 user accounts and groups.
c. Right-click the IUSR_ComputerName and/or IWAM_ComputerName accounts, and then click Set Password.
d. Modify the passwords so that they reflect the IIS metabase password that you obtained in step 1.

3. Browse to the ASP page that returned the error message to check if the problem has been resolved.


Applies To:
Exchange 2000, 2003

James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com


How useful was this article? Want to see a tip not listed? Please leave a comment.

Domain Controller Reports Event 16650 and Subsequently Produces “No RIDS Allocated”

Domain Controller Reports Event 16650 and Subsequently Produces “No RIDS Allocated”


Summary

After promoting a pre-Windows 2003 SP1 Domain Controller, you are unable to create an object. When creating objects you receive error “Unable to allocate Rid.” You also receive event 16650 in the event log. Running DCDiag produces the following output:


Starting test: RidManager
* Available RID Pool for the Domain is 1966103 to 1073741823
* TESTDC1.DOMAIN.NET is the RID Master
* DsBind with RID Master was successful
* rIDAllocationPool is 1965603 to 1966102
No rids allocated -- please check eventlog.
......................... TESTDC1 passed test RidManager

Cause:

I was finally came across this article today September 04, 2006.

http://support.microsoft.com/Default.aspx?id=913539
Active Directory attributes that refer to a prefix may not be stored in the local copy of Active Directory on a computer that is running Microsoft Windows Server 2003.

I think MS should modify the title because many people are searching for the string "No RIDS Allocated 16650" Although there are several issues that can cause this error string, it may be a good idea to consolidate and add this article.

In this instance the Domain Controller has received a RID Pool from the RID master. However, the Domain Controller is unable to allocate rids to new objects. Therefore, creating new objects fail. The issue is when a pre windows server 2003 SP1 DC attempts to get a rid pool from a windows server 2003 SP1 RID master. Windows Server 2003 Service Pack 1 added hard-coded prefixes to Active Directory which are not outbound replicated to partner domain controllers under normal circumstances. While inconsistent prefixes between replication partners do not interfere with Active Directory replication, RID pool request by
pre-Service Pack 1 computers are rejected when they detect SP 1 prefixes in local thread state which has been obtained from Windows Server 2003 Service Pack 1 RID Masters.

Solution:

Option 1 (Recommended)
Force your pre-Windows 2003 SP1 Domain Controller to force replication from your RID master. In order to achieve this, create a dcpromo answer file. http://support.microsoft.com/?kbid=223757


Name this file answer.txt.

[DCINSTALL]
UserName=
Password=
UserDomain=
DatabasePath=%systemroot%\ntds
LogPath=%systemroot%\ntds
SYSVOLPath=%systemroot%\sysvol
CriticalReplicationOnly=no
ReplicaOrNewDomain=Replica
ReplicaDomainDNSName=
ReplicationSourceDC=
RebootOnSuccess=yes

dcpromo /answer:answer.txt



Option 2
Temporarily Transfer the RID master role to your pre-Windows 2003 SP1 Domain Controller

Option 3
Make a trivial schema change so that SP1 prefix tables outbound
replicate to Pre-W2K3 SP1 domain controllers.

1. Copy the text between [start copy here] and [end copy here] into
Windows notepad. Save the file as simplefix.ldf

[start copy here]
dn:CN=Address,CN=Schema,CN=Configuration,DC=X
changetype: modify
replace: adminDescription
adminDescription: address
-
dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-
[end copy here]

2. Assign the Schema FSMO to a Windows Server 2003 Service Pack 1 domain
controller

3. Log onto the console of the Schema FSMO with a user account that is a
member of the schema administrators security groups

4. Run this command line argument to load the

Ldifde -I -f simpleFix.ldf -c "DC=X" "your domain DN"
On the schema FSMO.



Applies To:
Windows 2000, Windows 2003

James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com

How useful was this article? Want to see a tip not listed? Please leave a comment.

Outlook Error Message: "Could not open one or more attachments."

Outlook Error Message: "Could not open one or more attachments."

July 05, 2006



Summary

Outlook reports "Could Not Open One or More Attachments" when double clicking a message that contains an attachment. The symptoms also occur while using a different profile, Outlook Client or computer while opening the same attachment. This does not occur for all attachments but random users, senders and attachment types. Attachment types are valid and not blocked ie. .pdf, .xls.

Cause:

In this instance, Groupshield AV, may have played a role by some how locking messages in the attachment table within the Exchange Store.

Solution:

1. Open Services.msc. Restart Groupshield for Exchange. (If not using Groupsheild, stop your Exchange aware AV application.)
2. Restart Exchange store, this should unlock the attachment within the Exchange store.

Applies To:
Outlook 2000, 2003
Exchange 2000, 2003

James Chong (MVP)
MCITP | EMA; MCSE | M+, S+
Security+, Project+, ITIL
msexchangetips.blogspot.com
xml:lang="en" lang="en"> MS Exchange Tips: July 2006