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
Restart-AutoDAppPool
Many times in an Exchange server, the IIS (Internet Information Services) is not the issue, but only the sub-set Autodiscover Application Pool. Therefore, once again, instead of just a one-off cmdlet against a single server, we have this function, to blast out to all Exchange servers, to restart their Autodiscover (sometimes referred to as AutoD),
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
No longer expire your passwords
The world is always changing and the password expiring value is one that recently was updated. Microsoft has updated the stance around expiring passwords: https://blogs.technet.microsoft.com/secguide/2019/05/23/security-baseline-final-for-windows-10-v1903-and-windows-server-v1903/ The short answer is, only the expiring portion of the password policy is being discussed. You way want to still expire passwords, but with technologies like Windows Hello, the world
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
Exchange links
Here are some handy short links that help Exchange Server engineers keep up with what's happening within the Exchange world. As always, it's best to have some kind of RSS feed notification, using tools such as: Microsoft Flow or IFTTT.com. The Exchange Team blog, you Had Me at EHLO: aka.ms/ehlo Exchange Server build numbers and
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