Category: PowerShell

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

Using the same exact time with Get-Date

Many times, when using Get-Date in PowerShell, it is very easy to have start and end times for reporting processes. However, the issue is, the Get-Date cmdlet runs and obtains the time when it is run. If you want to run a specific time, say at exactly midnight every day, there is a way to

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-OutlookBitValue

This little function is interesting, it will display the bit version of the Outlook client on a machine. I got this from an internal discussion, that someone needed to get an answer for a customer. I grabbed the code, functioned it up, and here it is. Now, my first thought is, why does it matter?

Restart-ExchangeIIS

One issue Exchange engineers run into from time to time, is the need to restart IIS (Internet Information Services). Here is a simple way to restart IIS on all Exchange servers in the organization: Restart-ExchangeIIS I’ve considered scoping this to say just a few servers, but then, that’s easy to remote into a machine and

Restart-IISOnServers

Added this to the MO_Module to remote in and restart just the IIS service on a single computer or a list of computers. Easy enough to do without a function, but I added some logic and Write-Verbose information to help the person running the command to see the content easier and quick. This will restart

Connect-ExchangeServer

This Connect-ExchangeServer function runs the PowerShell code to log into an Exchange server on premises using remote PowerShell. Using the -Computer parameter (required), tells the function which Exchange server to connect to. Using the -Prefix parameter (optional), allows a modification to the noun of the imported cmdlets, so that you can have multiple connections in

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