How to configure MFA methods for Azure AD

In my opinion the official Microsoft Documentation lacks of any clear information on where to configure the allowed MFA methods for Azure AD. So if you’re also wondering on how to configure the allowed Multi-Factor-Authentication methods for Microsoft 365, you’ve come to right place. So as of 2022-02-02 you’ll find the settings here: Short answer It’s still in the classic MFA Azure AD Portal, here: https://account.activedirectory.windowsazure.com/usermanagement/mfasettings.aspx Long answer If you don’t trust me or that link above, you can manually click through to the right place:...

2022-02-02 · 1 min · Andreas Dieckmann

List all Users with administrative roles in a Microsoft 365 environment

Option 1: Use M365 Admin Portal There is finally a way in the main Microsoft 365 Admin Portal. Go to “Roles” -> “Role assignments” and click on “Export admin list” to get a CSV file with all admins and their roles. Option 2: Use PowerShell / Azure AD Graph Module Just a short PowerShell snippet to list all users with administrative roles in a Microsoft 365 (or Azure AD) environment. Please note that this uses the older Azure AD Graph Module (already planned for deprecation)....

2021-12-13 · 2 min · Andreas Dieckmann

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

The Downside of going serverless

After creating SimpleIP.de as a serverless application (see my blog post My simple serverless journey was not that easy) I was kinda proud. Interesting technology, small and useful website. Nice. Reality But after a while reality kicked in. I was playing around with some IPv6 systems, when it hit me. With the previous design, the site would show only the primary IP-Address of the client. If the client supports both IPv6 and IPv4, it would still only show one IP-Address....

2021-10-27 · 3 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

Set Teams Meeting Dial-in number using PowerShell

You can using Microsoft Teams Audio Conferencing licenses to get Dial-In phone numbers for your meetings. The license is needed per user that creates the meeting invites. The phone number in the meeting invite is based on the UsageLocation attribute of the user - once when the user gets enabled for Audio Conferencing. So even if you fix a wrong UsageLocation, the user will still have the old dial-in number assigned....

2021-10-05 · 2 min · Andreas Dieckmann

Moving from Skype for Business to Teams sucks

The upgrade process from Skype for Business Online to Microsoft Teams is a disaster. I had several SMB clients reporting unnecessary errors regarding Teams/Skype. With unnecessary I mean: They had no issues using Teams until 2021-07-31. Issue: Suddenly Skype Meetings are back in Outlook mobile One client reported, that they suddenly have Skype Meetings in Outlook on iOS again, instead of Teams Meetings. That particular client manages their Microsoft 365 tenant themselves....

2021-08-18 · 4 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