Remove all meetings created by a user linked to a Office 365 Room mailbox - powershell

A client of ours has two rooms in Office 365 under "Resources > Rooms & Equipment", one of which is a meeting room that users can book and invite people to. When a user is invited and accepts it creates a calendar event. However, recently one user left and deleted his calendar events which subsequently, has been removed for everyone else. However, other users cannot book this meeting room as it says it is already booked under his name. The email account that booked the meetings is still active and will be until the end of the month.
Is there a way of deleting all bookings linked to a specific user, or possibly a way of getting a list of all upcoming and previous bookings? I have access to Office 365 and Powershell, any help would be great.
Have tried to find calendar for the room and can do this but unsure of how to get list of calender events.

Related

EWS API - Get Teams Attendees Report for list of users?

So I am trying to pull Teams Attendees Reports for a list of users in the organization. Basically GotoMeeting had this feature and Microsoft has yet to give these details easily in Reporting. This script (https://dev.to/gscales/accessing-microsoft-teams-summary-records-cdr-s-for-calls-and-meetings-using-exchange-web-services-3581) works perfectly, however the problem is I can only pull the attendee reports for my own mailbox. I would like to be able to store a list of UPNs or Email Addresses in a text file; then pull the attendee report the same way, but for that list of users.
I know the script uses User Impersonation, but how do I do store a list of users so it runs the criteria on multiple users.
Anyone have any ideas?

Add all room calendars to all users outlook accounts at once

I have 200+ Office 365 users. I would like to force all the room calendars into their accounts. They have permission already to view and add meetings, but have to manually add calendar>from room list to make the calendars visible to them. I've been googling in vain to find a powershell command to add these calendars to all users at once.
You should setup Room Lists, for example
New-DistributionGroup -Name "Conference Rooms" –PrimarySmtpAddress "ConfRooms#email.com" –RoomList
Add your Rooms with Add-DistributionGroupMember
Outlook will automatically detect Room List Distribution Groups and populates the Room Finder with room lists in Outlook when an end user is setting up a meeting. For more information check the help for New-DistributionGroup

Adding campaign members and updating opens and clicks (member status) for campaigns in Microsoft Dynamics

I am integrating Dynamics 365 with our product, and I have a question regarding campaign members.
When a campaign is sent from our website, a campaign with the same name is created in the CRM website, and the contacts or leads they were sent to are added as members of the campaign and their status (sent, opened, clicked) is updated.
This is the process taking place in our integration with Salesforce and other CRM websites, but I am unable to find a similar process in Microsoft Dynamics. There is no such thing as campaign member status. Even through the dynamics website, I am unable to add contacts as members of the campaign and update their status.
The only thing I could find was Campaign activities - emails associated with the campaign and adding contacts or leads to them through '/email_parties' or '/campaign_activity_parties', and in both cases they are specific to the activity and I am unable to update their status as sent, opened or clicked through the REST API.
Is there any other method of adding members to a campaign and updating their status?

Office 365 REST API showing Calendar's which are already deleted

I managed to query all the calendars from a user:
https://outlook.office.com/api/v2.0/users/xxxx#xxxx.com/calendars?$top=50
getting up to 50 calendars from the user
Unfortunately, the query also returns deleted calendars from the user as well. I did not find a OData field to indicate deleted calendars (https://msdn.microsoft.com/office/office365/api/complex-types-for-mail-contacts-calendar#OdataQueryParams) or similar.
What I did was the following:
I logged in as the user in Microsoft Outlook and deleted a calendar from the user in the client. After closing and reopening Outlook, the calendar was deleted as expected. But when I query for all calendars via the REST API I still get the calendar which I deleted but no way to distinguish what the user can actually see, as all fields returned do not include anything pointing to the fact that it is a deleted calendar.
What can I do to get the same view on the calendars as the user gets with the client, or how do I "really" manage to delete a calendar without the REST API returning it?
If I can chose, I would rather know how to distinguish them properly ;)

Using Google Apps Sync with Outlook 2007/2010 and iPads/iPhones

A little background: We use Google Apps for business and are having issues with some users inadvertently becoming meeting owners or moving meeting locations or times on accident.
Every user in my company is an admin on their own machine. Users are encouraged to bring their own devices but there's no guarantee that they will be properly set up unless they ask the help desk for help.
My supervisor is asking me to post and as you guys: is there any other testing that I should be doing? Any other ideas? Has anyone else using Google Calendars had attendees inadvertently move meeting times or locations when they are not the meeting owner?
Test Setup:
Types of Setup for PCs or iPads: Outlook 2007 with Google Apps Sync on PC, Outlook 2010 with Google Apps Sync on PC, Google Calendar in Browser on PC, Google Calendar in iPad set up as Google (this is the setup recommended and supported by Google), Google Calendar in iPad set up as Exchange (this set up is neither recommended nor supported by Google)
Test Cases:
From Machine A to B Accept
From Machine A to B Decline
From Machine A to B, A Change meeting time, Accept
From Machine A to B, B Change meeting time, Accept
From Machine A to B, A Change meeting time, Decline
From Machine A to B, B Change meeting time, Decline
From Machine A to B, A Move meeting location, Accept
From Machine A to B, B Move meeting location, Accept
From Machine A to B, A Move meeting location, Decline
From Machine A to B, B Move meeting location, Decline
Results:
Outlook 2010:
No issues found. The meeting owner could move the location or time of the meeting but the meeting (attendee sent notification automatically) attendee could only suggest other times and could not move the meeting to another location.
Outlook 2007:
Issue found. The meeting owner could move the time and location of the meeting (attendee sent notification automatically) but the meeting attendee could move the time of the meeting but not the location.
Google Calendar in Browser:
No issues found. The meeting owner could move the location or time of the meeting but the meeting (attendee sent notification automatically) attendee was notified to contact the meeting owner and could not move the meeting time or location.
iPad as Google:
No issues found. The meeting owner could move the location or time of the meeting but the meeting (attendee sent notification automatically) attendee was notified to contact the meeting owner and could not move the meeting time or location. The attendee could move the meeting on their own calendar but it was not reflected in the actual event.
iPad as Exchange:
Issues found. The attendee could move both the time and location of the meeting and these changes do not notify the meeting owner.
Recommendations: All PCs should be set up as Outlook 2010 using Google Apps Sync and all iPads and iPhones should be set up as Google. For any future calendar issues that occur the Help Desk must be notified and forwarded the original invitation (including .ics attachment) immediately upon discovering the issue so that we can notify Google Technical Support.