PowerShell – Using Git with SSH Keys on Windows 10

posh-git console window

Using Git on Windows is pretty straight forward. You can just install Git for Windows and use either the Git GUI app or Git Bash console. But what if you use PowerShell as your default console of choice and don't want to switch? Furthermore, what if you're connecting via SSH keys? Well with the help … Continue reading PowerShell – Using Git with SSH Keys on Windows 10

Exchange – Connect via PowerShell using Modern Authentication

connect to exchange via powershell

Microsoft announced a while back that they are going to end support for basic authentication in Exchange Online from Oct 13, 2020. This includes connecting via remote PowerShell. So what do we need do in order to connect to Exchange Online using PowerShell? Answer: Use Modern Authentication. Modern authentication is based on the use of … Continue reading Exchange – Connect via PowerShell using Modern Authentication

Exchange Online – Enable group moderation and sending restrictions

Exchange Online - Group Moderation

Whether it be a large group or one that has restricted users, you may need to limit who can send to these mail enabled security groups. In addition, you may even want to enable moderation to allow specific users to approve/deny messages from reaching the members. The good news is that all this can be … Continue reading Exchange Online – Enable group moderation and sending restrictions

Exchange – Application cannot be started when installing Exchange Online PowerShell Module

We've recently enforced MFA for admin accounts that connect to Exchange (and other O365 Services). This means that in order to connect via PowerShell we need to install the Exchange Online PowerShell module. Instructions provided by Microsoft can be found here: https://docs.microsoft.com/en-us/powershell/exchange/exchange-online/connect-to-exchange-online-powershell/mfa-connect-to-exchange-online-powershell?view=exchange-ps However, when I tried to install the module I kept receiving the error … Continue reading Exchange – Application cannot be started when installing Exchange Online PowerShell Module

Exchange PowerShell – Get calendar folder permissions in any language

Getting a user's calendar folder permissions in Exchange via PowerShell is pretty straight forward as you can just use the standard ':\Calendar' naming convention like below: Get-MailboxFolderPermission -Identity user@domain:\Calendar This works fine if the user's mailbox language is set to English but what if they have it set to something else, like perhaps German? Well … Continue reading Exchange PowerShell – Get calendar folder permissions in any language

PowerShell – Fix Unable to load adalsql.dll exception

I have quite a few databases in Azure and use PowerShell from time to time to connect and execute queries on them. This is pretty straight forward and normally works as intended. However, sometimes I get the following exception: Unable to load adalsql.dll (Authentication=ActiveDirectoryPassword). Error code: 0x2. For more information, see http://go.microsoft.com/fwlink/?LinkID=513072 This usually happens … Continue reading PowerShell – Fix Unable to load adalsql.dll exception

Exchange PowerShell – Publish Room / Equipment Calendars

So you've got some resource (rooms/equipment) calendars in Exchange that you need to make the calendars public for. You can use PowerShell to accomplish this quite easily. First of all you can get the current calendar publishing information by using the Get-MailboxCalendarFolder cmdlet: Get-MailboxCalendarFolder -Tdentity VIRT-V01:\Calendar Note that if the mailbox's language is not English … Continue reading Exchange PowerShell – Publish Room / Equipment Calendars

Exchange PowerShell – Evaluating expressions in the Filter parameter

Recently I needed to get a bunch of groups from Exchange by their ExternalDirectoryObjectId property. There are many ways to do this and one of the easiest would be to just get the Name (or other unique identifier) by looking up the group in AAD via MSOL PS. However, you can use the -Filter parameter … Continue reading Exchange PowerShell – Evaluating expressions in the Filter parameter