The application log gave the following information:
Source: MSExchangeSA
Category: OAL Generator
Event ID: 9344
Description: OALGen could not find the address list with the Active Directory object GUID of '/guid=08EF907625C16F47833B53E2AA26BE08' in the list of available address lists. Please check the offline address list configuration object. - Administrators OAB
After checking the GUID for the Address List that Administrators OAB was built from with a VBScript (see below for script) I thought this had something todo with permissions on the Address List container inside Active Directory. I checked the permissions on the following containers:
- CN=All Address Lists,CN=Address Lists Container,CN=
,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=com - CN=All Global Address Lists,CN=Address Lists Container,CN=
,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=com - CN=Offline Address Lists,CN=Address Lists Container,CN=
,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=domain,DC=com
- List Contents
- Read All Properties
- Read Permissions
Please also note that Network Service in the default configuration inherits the permissions from CN=
VBscript for checking GUID of an address list
Dim obArgs
Dim cArgs
Dim Path
Set obArgs = WScript.Arguments
cArgs = obArgs.Count
If cArgs <> 1 Then
WScript.Echo "Usage: cscript scripname Addresslist"
WScript.Echo "Written by Rikard Strand, Net Works AS, 2007"
wscript.quit
End If
'Modify the path below to match the Active Directory and Exchange
organizationPath = "LDAP://CN=" & obArgs.Item(0) & ",CN=All Address Lists,CN=Address Lists Container,CN=ExchangeOrgName,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=example,dc=com"
wscript.echo "------------------"
wscript.echo "Running query on:"
wscript.echo Path
wscript.echo "------------------"
Set objUser = GetObject(path)
arrbytGuid = objUser.object
GuidstrHexGuid = OctetToHexStr(arrbytGuid)
Wscript.Echo "User Guid in hex string format: " & strHexGuid
strGuid = HexGuidToGuidStr(strHexGuid)
Wscript.Echo "User Guid in display format: " & strGuid
Function OctetToHexStr(arrbytOctet)
' Function to convert OctetString (byte array) to Hex string.
' From http://www.rlmueller.net/
Dim k
OctetToHexStr = ""
For k = 1 To Lenb(arrbytOctet)
OctetToHexStr = OctetToHexStr _
& Right("0" & Hex(Ascb(Midb(arrbytOctet, k, 1))), 2)
NextEnd
Function
Function HexGuidToGuidStr(strGuid)
' Function to convert Hex Guid to display form.
' From http://www.rlmueller.net/
Dim k
HexGuidToGuidStr = ""
For k = 1 To 4
HexGuidToGuidStr = HexGuidToGuidStr & Mid(strGuid, 9 - 2*k, 2)
Next
HexGuidToGuidStr = HexGuidToGuidStr & "-"
For k = 1 To 2
HexGuidToGuidStr = HexGuidToGuidStr & Mid(strGuid, 13 - 2*k, 2)
Next
HexGuidToGuidStr = HexGuidToGuidStr & "-"
For k = 1 To 2
HexGuidToGuidStr = HexGuidToGuidStr & Mid(strGuid, 17 - 2*k, 2)
Next
HexGuidToGuidStr = HexGuidToGuidStr & "-" & Mid(strGuid, 17, 4)
HexGuidToGuidStr = HexGuidToGuidStr & "-" & Mid(strGuid, 21)
End Function
No comments:
Post a Comment