Exchange Group Calendar
version 3.0 - FAQ
A lot of
issues have a simple cause. You must however enable logging (log to text file
in the gcadmin console) and maybe restart the EGC service to get more
information about the problem. Once logging is enabled you will find the logs in
the installation directory of the EGC service.
trying to add a group calendar you get error "Unexpected end of XML
off .NET impersonation authentication on the EWS virtual directory and just
leave Windows authentication.
clicking "test credentials" you get "Autodiscover blocked a potentially
insecure redirection to..."
the gcadmin service account password expired after the standard 30 days
sure the account has permissions to use OWA and Web Services in the exchange
can I display the Group Calendar Public Folders on my Iphone, Ipad, Android
device, Sharepoint or Joomla website?
There's an Iphone app for that available
For Android there's
For Joomla websites there's
Amrein has this
sharepoint web part
Or use the lightweight web solution by
Derbyshire (for phone or desktop)
And ofcouse you can always
use Outlook Web Access. (for Exchange 2013 OWA see further below in this
note: above products are not tested by opusflow, we are not affiliated and
there is no endorsement intended.
How to use the
Master Category List so we see category colors in the
In the GCadmin console, in the right bottom corner click "category
management" to open the master category list. Create categories with
the format "CategoryName-ColorNumber" and wait (up to 20 minutes) until the
EGC software has updated the category list in all users' Outlook. Outlook
must be closed and reopened to load the new list. Create some new items in
the personal calendar and select a category from the Master Category List.
Then open the Free/Busy viewer (non full screen view) to select the (right
bottom) "show category color" option.
You need Exchange 2010 and Outlook 2007 or higher for central category
management as well as displaying category colors in the Free/Busy viewer.
gcadmin console credentials check error. ("impersonation"
error or "The
Autodiscover service couldn't be located” error)
Often the internal domain name is different from the external domain name.
(example domain.local and domain.com)
There are two things you can do.
1- Give the gcadmin account a primary email address in the internal domain. (email@example.com)
and match the User Principle Name (drop down box in the account tab of the
mailbox) so it matches the primary email address.
2- Give the gcadmin account a primary email address in the external domain (firstname.lastname@example.org)
but make sure that the User Principle Name corresponds to that.
If the domain suffice is not available in the drop down box then you should add
it in "UPN Suffices" in the AD domains and trusts tool. (right click the top
tree object there to add it)
If this solution did not fix
your problem it may be related to the complexity of the gcadmin user name.
We had 2 support cases with a complex gcadmin user name (display name
different from alias and email address or with dots and hyphens in the
name). It turned out that creating a new service account with a simple
username, display name and email address suddenly fixed the problem. We can
only guess what the reason for this has been (http coding/conversion or even
a bug in the Web services API)
Log file error:
There was a problem
connecting to the license server. Please make sure your firewall allows for
connections to licmax.com
The software needs to be able to read the license from our license server over
port 80 (standard HTML port) from IP Address 184.108.40.206. For tight
security environments, be advised that the software can be installed on any
computer that is able to connect to your exchange server. Another point of
interest is that the software connects to the internet as the account that runs
the " EGC-Service " service. When using a proxy server, you may have to change
that account to a domain account that has permissions to use the proxy server.
Log file error:
Impersonation error for user
abc@def,com : Invalid URI: The hostname could not be parsed.
Check the email address of the user. It may be typed incorrectly in Gcadmin.exe.
It may also help to match the User Principle Name (drop down box in the account
tab of the mailbox) so it matches the primary email address. If the
suffice is not available then you should add it in "UPN Suffices" in the AD
domains and trusts tool.
Log file error:
Unable to cast object of type 'System.Int32' to type 'System.Byte'.
Was fixed after reinstalling service pack 3 of outlook 2003 on
the client pc. Also seen on migrated calendar items created by Exmerge. Not
Log file error:
while trying to delete replica items: Object variable or With block variable not
Make sure the user has author permissions in the groupcalendars
that he/she is member of.
Gcadmin console error on
impersonation while trying to add a new groupcalendar path to the list
This may be
caused because the command that was entered in the Exchange shell did not set
impersonation correctly on all required objects.
First try it with a exchange
command shell command:
Get-MailboxDatabase | Add-ADPermission -User
-extendedRights ms-Exch-EPI-May-Impersonate -InheritanceType none
If that does not fix it do the following to check and
a. Start AD Sites
b. Click on the root node of the tree on the left hand pane and then choose View
| Show Services Node (make sure it is checked).
c. Expand the Services node as follows:
Services/Microsoft Exchange/First Organization/Administrative Groups/Exchange
d. Choose your CAS server (it should be a child of "Servers")
e. Right click on your CAS server and choose Properties and go to the Security
tab on the property page.
f. Scroll through the list of users in the list box at the top and find your
"gcadmin" account. If it isn't there, then the right wasn't stamped properly.
g. Assuming for a moment that the account is indeed there, select the "gcadmin"
account in the upper list box and then scroll down the list of privileges until
you get to "Exchange Web Services Impersonation". Make sure that is is checked
(and not grayed out).
h. If the account was not there, then you need to add an ACE for that account.
Click Add (under the groups/users list box), find the account and then go to
Do the same procedure from point C. for this path .. Services/Microsoft
Exchange/First Organization/Information Store/First Storage Group/Mailbox
Right click on the Mailbox Data node in the left tree view and choose Properties
and go to the Security tab. Find your "gcadmin" account just like before and
make sure that the "Allow Impersonation to Exchange Personal information" is
there and checked (and not grayed out).
Gcadmin console error on
Exchange 2007 : The server to which the application is connected cannot
impersonate the requested user due to insufficient permission."
you run the correct command shell command. There
are two versions for 2007 (2 command lines) and 2010. The command must be one long line when you
paste it in the shell.
Gcadmin console error:
Unable to add a groupcalendar in the Gcadmin console. Message about exchange not
supporting the version.
on Exchange 2007, tick the box under the Gcadmin account credentials and try
again. When on 2010 it should work without the box ticked. If it works when you
do tick the box then install service pack 1 of exchange 2010.
Service refuses to start after fresh install or
RunEGCasService.ini and double check the paths. If the software is installed in
c:\EGC then it should look like this
If you get error 5 in the log
file (sc manager) it's a permissions issue. Start an elevated command prompt and
run the INstallservice.bat from that.
"Error 401 Unauthorized" accessing
url https://x.b.com/autodiscover/autodiscover.xml where server name is A.B.Com
and OWA url is X.B.Com while having a valid SSL SAN certificates for both.
After it has been working fine for a while I
added a lot of calendars and now the log is full of errors like "Impersonation
error for user A@B.com : The Autodiscover service returned an error.
logon error for A@B.com "
http://msexchangeteam.com/archive/2010/08/27/456040.aspx shows that Exchange
2010 now ships with throttling ON. So it limits resources that one user (or
application) can use.
This may be the problem as it is limiting the EGC application resources.
To remove that limit for your gcadmin account run this in the shell:
* Note that your
service account may have a different name than gcadmin and you must change
the command shell commands.
commands in the Exchange System Shell results in error "cmdlet not
that you are running the command using an account with exchange administrative
permissions the problem may be that the exchange commands have not been
registered anymore in the shell. To fix this run this command:
in exchange 2007 that would be
user names in the group calendar items are too long.
the users an additional short email address. Remove the long address from the
gcadmin console and add the short one. You can automate this in your
Exchange server email policy
Private items from a
a mobile device the calendar software may not have the option to set an item
as Private. To work around that add the string ### to the body of the
appointment. After synchronization with Exchange server the appointment will
appear as a Private item in your Outlook calendar.
schedule an import/refresh that runs at night.
Prepare a batch file that first deletes the config.ini file and then copies
a backup of that config.ini back to it's original name So that batch file
would look something like
Copy c:\EGC\config.bak c:\EGC\config.ini
(a batch file is simply a .txt file
where the .txt extension has been replaced by .bat)
2- Make sure the config.bak file contains these lines. (no user email
address after Users= means it imports all users calendars)
3- Using the windows scheduler, schedule a job to run the batch file at 3 am
in the morning.
This way it has 5 hours to import and refresh everything for the next
4- To be even more safe you can schedule a batch job at 2:45 AM that stops
and starts the EGC-service. This way you work around any issues that occur
when the service has been stopped for various reasons.
That batch file would look like this
Net Stop "EGC-service"
Net Start "EGC-service"
make public folder calendars visible in OWA 2013.
CU10 for exchange 2013, or without CU10 :
You need MS Outlook on the desktop for
this. Browse to the group calendar in the public folders tree (you may
need to click folder list first)
Right click the Group Calendar that you
want to see in OWA and 'add to favorites'
In OWA (refresh with F5) look under
"other calendars" to find your group calendar.
Errors in the log file
saying: Exchange Web Services are not currently available for this request
because none of the Client Access Servers in the destination site could
process the request. (Specific to exchange 2013 and office 365.)
the following to the bottom of the config.ini file and restart the egc
SMTP="smtp address of the public folder mailbox"
(Replace the quotes and text with the SMTP
address of your public folder mailbox where the group calendar public folder
is located. Note that this is not the smtp address of the public folder
You notice that there are
meetings or appointments in the group calendars that have no indication of
the user name in braquets in front of the subject. You may also notice that
some meetings have multiple entries while other meeting items are correct
and have all attendee names in just one item.
reason for this is that the user created the meeting or appointment directly
in the group calendar as opposed to their personal calendar. Regular
appointments can be created without duplication problems (either with or
without the special indicators like #user-name# or * in the subject) but
meeting items should only be created from the personal calendar.
There is a way to prevent users from creating meeting items in the group
calendar using this macro.
Private Sub Application_ItemSend(ByVal Item As
Object, Cancel As Boolean)
If InStr(Item.MessageClass, "IPM.Schedule.Meeting.Request") > 0 Then
Dim appoint As AppointmentItem
Dim ns As Outlook.NameSpace
Dim cal As Folder
Set ns = Application.GetNamespace("MAPI")
Set cal = ns.GetDefaultFolder(olFolderCalendar)
Set appoint = Item.GetAssociatedAppointment(True)
If appoint.Parent <> cal Then
Cancel = True
MsgBox "please create meetings from
your personal calendar"
For this to work the code must be copied
into the "thisOutlookSession" section of the outlook macro environment.
to get there you go to the "developer" section in outlook. It may not be
enable it using this instruction
https://msdn.microsoft.com/en-us/library/bb608625.aspx and you will see
the option as the top right outlook menu item.
So click Developer, visual basic, project1, thisoutlooksession, paste the
macro code, save and close the window.
There is no official method for distributing the macro to other users. If
users don't have any macro's you can simply copy your outlook macro file to
them. If they do use macro's it will overwrite what they have but not many
users have Macro's in their Outlook.
The macro file is in %appdata%\Microsoft\Outlook\VbaProject.otm (you can
paste %appdata%\Microsoft\Outlook\ in the windows run box to open that
and the file can be copied to the user's computers from your login script