How to Create Global Contacts Directory for Microsoft Exchange Server? - exchange-server

I have a requirement from one of our Clients where he wants
to Create a Global Contacts Directory in Microsoft Exchange Server.
Let, me explain this. Suppose, there is some Company say "X".
And, it has some Employees. Each Employee will have his/her contacts in their mailing list. So, the Global Contacts Directory
should consists of All the Contacts of these Employees. And it should Also
Sync them.
Is this feasible enough is what i want to know and if Yes, How?

Out of the box? No. Is using a PF folder or a shared mailbox an option? Each user can have his/her own contacts folder.

Related

Reading/Writing M365 Admin contacts

An administrator for a Microsoft 365 domain can create external contacts that are visible to users within that domain. Those contacts can be seen in the M365 Outlook client under "Directory->All Contacts" or "Directory->Default Global Address list".
I need to use EWS to read and create these contacts. As a first step I'm just trying to read them, using FindFolder, against MsgFolderRoot of a user. Unfortunately the only contact folders that show up are the ones defined for the user in question, not the external contacts created by the Admin. There are several contact folder classes that seem promising, such as "OrganizationalContacts" and "ExternalContacts" but there are no entries in those folders.
I could also use Graph for this if the capability is there. Any help on this problem would be appreciated.
Directory contacts exist in the Directory eg Azure AD or the local AD onPrem neither EWS or Graph can create these type of contacts then only thing automatable that can do that is https://learn.microsoft.com/en-us/powershell/module/exchange/new-mailcontact?view=exchange-ps
For reading Directory contacts the Graph is a better option it has a supportable endpoint via https://learn.microsoft.com/en-us/graph/api/resources/orgcontact?view=graph-rest-1.0. EWS can do this via FindPeople but it's not documented and requires that you know the addressbook guid which isn't available via EWS.

Google Drive Share access to other email address for oAuth 2 using API

Is it possible to share google drive access of other email address using oAuth2 and javascript client API?
If I have both of other's emailaddress and password?
If using Service account?
I just want to create an app that will allow other Google Signed In users to see and manage my files and directories.
Let me know what is your idea, best practices, steps on this. Thanks
Ok so we are clearn here person one is the person who would like to share something on their drive with person two.
Your application uses oauth2 to authenticate person one. Then you use the Permissions method to insert permissions for Person two into what ever file or folder you wish to share with them. Its person one who has to do this.
Notes:
Service accounts dont work with JavaScript client side you would need to use a server sided language. Service accounts are a dummy user you would be granting the service account access and not person two.
You cant share the whole drive you cant share the root folder. You could write a script that shares everything under root. But someone else cant write to your root folder.

Store data in Outlook Addin for each user, then query it for all users

Is there a way for an Outlook add-in to store some data for each outlook user, then an Exchange admin can query this data for all users at once?
If I store the data into Item.UserPorperties or Folder.StorageItems, Exchange Admins will not have access to them. And I prefer not to use an external DB.
My goal is for Exchange Admin to run a script or an app that gets the custom data for each user. something like:
Email Tasks Completed Some Data
------- ---------------- ---------
x#x.com 5 25
I plan to use EWS Managed API or Exchange Management Shell to query the Data. I am just not sure where is the ideal place to store it from the Outlook Add-in.
One way is just use a central repository eg a public folder or a shared mailbox that all use have rights to create Items in and then just create/modify one item in the Folder/Mailbox for each user with your plugin. Then your Admin/App can just query all the Items in that Mailbox/Folder (this is way the Free/Busy information used to work via a shared public folder in Exchange)
Cheers
Glen

Pushing contacts to Users' Phone Contacts (Exchange Server 2007)

We have users in our company that have smart phones (Android/Windows Phone mix)and put their contacts in their Exchange account. It is a unified group of users that just need the phone numbers for each other (with a considerably high turnaround for employees in this position as well). I am looking to get a list of contact names/phone numbers to be automatically pushed to (and updated, if possible) their Exchange contact lists. Previously we have been logging in with their account into a computer, opening Outlook, then loading a csv with the contacts on there. The issue is how time consuming it is, given that amount of turnaround on those users. Thanks in advance!
To create a Contact in a users Mailbox you will need access to that contacts folder in that mailbox so you either need to create a Service Account and give that account rights to the folder via something like Add-MailboxFolderPermission or get the user to delegate the access themselves if they are sensitive to security changes or use EWS impersonation.
Once you have rights to the users Contacts folder then you could automate the process of the CSV import using EWS and Powershell here are a few sample scripts
https://gallery.technet.microsoft.com/scriptcenter/Using-Powershell-to-import-14bef4b8
http://blogs.technet.com/b/bill_long/archive/2010/04/23/importing-public-folder-contacts-from-a-csv-file.aspx
http://gsexdev.blogspot.com.au/2010/04/flexible-exchange-contact-creation.html
Cheers
Glen

access exchange 2003 calendars with vs2005+

I'm looking for a way to access Exchange 2003 calendars to add appointments. I'm hoping to use an admin account and impersonate each user to add appointments which i'm pulling from an oracle database. I've seen lots of examples for Exchange 2000 using cdox.dll which are exactly what I'm looking for but not an equivalent for 2003. I have Exchange management tools installed on the development workstation. Would I be able to download cdox.dll and use that?
Examples/links are greatly appreciated. Thanks.
This is the same problem I'm banging my head against....
You can work with calendars using webdav:
http://golemlab.wordpress.com/2009/09/13/php-owa-2003-calendar-fun/
But to impersonate a user you need an admin account with access to his calendar folder.
From what I understand there is no way to set defaults permissions just for calendars that are not created yet.
Also please note that the Calendar folder name is dependant on the user client language (ex: "Calendar" for a user with an english outlook, "Calendario" for italians).
You can set permissions on existing calendars using a lot of different tools:
pfdavadmin is a microsoft endorsed one:
http://www.itexperience.net/2008/10/22/set-calendar-permissions-with-pfdavadmin/
or you can try setperm:
http://www.amset.info/exchange/folderpermissions.asp
there are also some commercial products like folder permission manager:
http://www.symprex.com/products/folder-permissions-manager/
What I'd really wished was the possibility to set defaults calendar permissions on a server level , but this looks really not possible.

Resources