List all Microsoft Booking Calendars

If you’re using Microsoft Booking in your Microsoft 365 Tenant, you might want to list all of the Booking calendars. Booking uses Exchange Online Mailboxes in the background. Every Booking Calendar has a corresponding Mailbox of the type “SchedulingMailbox”. If an user gets assigned “Administrator” for a Booking Calendar, they get “FullAccess” permissions for the Scheduling Mailbox. List all Booking Calendars with permission I wrote a PowerShell script to list all the Booking Mailboxes with the users that have access....

2021-11-12 · 2 min · Andreas Dieckmann

Verify Auto-Expanding Archives in Exchange Online

If you have Auto-Expanding Archives for Exchange Online Mailboxes enabled, you might want to find out, if it actually provisions additional storage. In the Exchange Admin Center (EAC), open the info pane of the user’s mailbox. Click on “Manage mailbox archive”. An Auto-Expanding Archive provisions more Archive storage space, if needed. Default Archives have 100 GB of storage available. If the archive is already bigger than 100 GB, we must have additional storage....

2021-11-04 · 2 min · Andreas Dieckmann

Using PowerShell Regular Expressions to match against filenames

A short example for PowerShell Regular Expressions. Scenario: Match filenames like ID1234_MyDocumentXYZ.pdf.lnk. We want go get the number after ID and the rest of the filename between the underscore _ and the file extension .lnk. 1 2 3 4 5 $oldLink = "ID1337_MyDocumentXYZ.pdf.lnk" if($oldLink -match 'ID(?<id>\d+)_(?<actualFilename>.+)\.lnk$') { Write-Output "ID: $($Matches.id)" Write-Output "Actual Filename: $($Matches.actualFilename)" } (?<id>\d+) is a named regex capture group (initialized by ?<groupname>). The group matches any numeric character (\d)....

2021-10-25 · 1 min · Andreas Dieckmann

Run PowerShell Script with Windows Task Scheduler

More ore less quick note for myself - on how to run a PowerShell Script using Windows Task Scheduler. Open Task Scheduler A quick way to open Task Scheduler: WIN + R, then run taskschd.msc. Create New Task Open “Task Scheduler Library” → “Create New Task”. Set all the self-explanatory options like Name, Description, User Account, Triggers, etc. Set Action Setting Value Action Start a program Program/script powershell.exe Add arguments (optional) -file "C:\Path\Script....

2021-10-13 · 1 min · Andreas Dieckmann

Retrieve the Timezone of a Sharepoint Online Site using PowerShell

I’ve been looking for a way to retrieve the Timezone setting of a Sharepoint Online Site via PowerShell. Apparently there is not much good info publicly available. I looked for a way to use with the standard SPO PowerShell module named Microsoft.Online.SharePoint.PowerShell. There are some infos online about using the PNPOnline Module, but that was not practical in my case. There are even some really annoying articles out, that claim to to provide a PowerShell way....

2021-07-09 · 5 min · Andreas Dieckmann

Deploy an Azure NAT-Gateway for Azure Virtual Desktop by PowerShell

I created a PowerShell script to automatically deploy an Azure NAT-Gateway into an Azure Virtual Desktop environment. That’s useful, if you to need one static IP-Address for your AVD machines. I created the script as a submission for the Nerdio Hackathon 2021. My first Hackathon attendance :^). Update 2021-10-05 - I actually won first place, but apparently not many people participated in the contest. The Nerdio team are a bit disappointed, so they didn’t publish any announcements....

2021-06-27 · 1 min · Andreas Dieckmann

Check NTFS Permissions using Powershell

So I needed a quick way to check a few folders for correct permissions. We had Windows Virtual Desktop/FSLogix user profile containers in an Azure Files share. Some of these profile folders had wrong permissions. The correct storage permissions are: User Account Folder Permissions Users This Folder Only Modify Creator / Owner Subfolders and Files Only Modify Administrator (optional) This Folder, Subfolders, and Files Full Control Official FSLogix documentation: Configure storage permissions for use with Profile Containers and Office Containers...

2020-05-20 · 1 min · Andreas Dieckmann

Exchange - When was that mailbox REALLY created?

If you’re wondering when an Exchange mailbox got created, you will most likely stumble over the Active Directory user attribute MSExchWhenMailboxCreated. You can get the value using PowerShell or ADUC with advanced features enabled. 1 Get-ADUser -Properties MSExchMaiboxWhenCreated MSExchWhenMailboxCreated contains not the full truth That could almost be the end of the story. BUT that attribute is not what you might think. The attribute gets only propagated the FIRST time the user gets a mailbox....

2020-01-25 · 2 min · Andreas Dieckmann

Exchange Room Mailbox - Set Permissions

By default, the “Calendar” folder in Exchange 2013 Room Mailboxes has the “LimitedDetails” permission for the “Standard” security principal. Therefore, if no other permissions are configured, users cannot view details for appointments in this room. For better usability in Outlook, the “Reviewer” permission is more suitable. This allows items to be listed and details to be displayed. If required, the CalendarProcessing can be adjusted so that details such as the description and subject of the appointment are not saved in the room mailbox....

2020-01-15 · 2 min · Andreas Dieckmann