Tag: Tips and Tricks

How to control O365 licensed products

I’ve had this conversation at least once a week for the past several months. Customers ask, how can they use PowerShell scripts to assign/control O365 licensing workloads assigned to end users? Don’t use a script, use Azure group-based licensing. The problem with a script is, you must assign all workloads, then remove the ones you

PowerShell easy location

What an easy way to clean up the view of your PowerShell path. Add this into your profile if you want to save some screen space and work in a directory other than c:\. You can also grab the current time and place that in the prompt. Use Get-Location to see which path you are

Set-AutoDiscoverSiteScopeExchangeServers Part 2

In the part 1 of this function, we covered an option to set all Exchange servers to use every AD site in an organization, minus any 'deployment' ones. But what if you have a very large organization, with multiple data centers hosting Exchange servers, various regions to support, and you want to target specific locations

Set-AutoDiscoverSiteScopeExchangeServers Part 1

In this blog post a few years ago: https://techcommunity.microsoft.com/t5/Exchange-Team-Blog/Exchange-Active-Directory-Deployment-Site/ba-p/604329 was a discussion around Exchange AutoDiscoverSiteScope information. The good news is, it worked perfectly in a lab, however, rarely is any production environment like a lab. Thus, there was some missing information. We're updating the article to include solutions to fix the problem. This post is

Get-DAGDatabaseInformation

The function: Get-DAGDatabaseInformation works in Exchange versions that a DAG (Database Availability Group) exists. From 2010 through 2019, this simple little function presents information to the end user about the status of the databases. In the Exchange Admin Center (EAC), the GUI that is, one must click on each server and each DB to see

Start-DAGMaintenanceMode and Stop-DAGMaintenanceMode

These two are really good functions. While I just used others’ code, I do give them credit, but to be able to ‘function these up’ is very handy. Not that I’m lazy…OK, I’m efficient, but having verb-noun at your fingertips, whenever you need to run something, is very convenient. Furthermore, I can’t tell you how

Get-Date in UTC

Need to show time in UTC (Universal Time)? There is a 'method' with the Get-Date cmdlet. If you run: Get-Date | Get-Member You'll find that one of the methods is ToUniversalTime() which allows you to output the time of the local machine, converted to the UTC time. Run the code below to show how the

Get-DotNETVersion

The Get-DotNETVersion function presents the current .NET version on a machine. This is part of the MO_Module PowerShell code that helps administrators in their daily tasks. From an Exchange Server perspective, .NET support is very sensitive to which version of Exchange and which .NET is allowed to be used. This value also changes based on

MO_Module introduction

I’d like to introduce you to my MO_Module. It’s a PowerShell module, combining several daily administrative tasks into simple Verb-Noun Functions for engineers to perform their jobs easier. I was developing/maintaining several different PS modules, which became more work, so I thought I’d just combine everything into one single place. Since my primary technologies are

Which way is correct?

This is just a philosophical discussion around the common answer of ‘it depends’, or ‘it’s a choice’. ‘Which way should the toilet paper roll go in your house?’ This is very analogous to all of the ongoing debates in history: Coke vs. Pepsi, VHS vs. Beta, BlueRay vs. HDDVD, Visual Studio Code vs. ISE, and