Get a server health status report for multiple servers

As administrators, we juggle multiple servers at a time. Hardly do we deal only with a handful servers. Imagine a situation where you use SCCM to patch your servers, and that the patching is completely automated using an automatic deployment rule and a maintenance window. Chances are, you are patching seventy servers at a time. Unattended. This is a dream-come-true for many environments that have thousands of servers. However, it is also true that every good administrator wants to ensure their servers are up and running healthy, after the patching process.

Distribution Group clean-up using PowerShell

One of the downsides of old environments is the scope (and necessity) for clean-up. It often happens that there are more groups in an environment than users. And it is certainly not uncommon. In today’s post, we look at a small distribution group clean-up project in Microsoft Exchange. How to go about the project Safe clean-up Address DL redundancy Further clean-up Summing up I once embarked on such a project in an environment that had over three thousand groups, but only two thousand users.

Find the computer responsible for user account lockout

Most enterprises of today have a set of security policies that govern how an Active Directory account is handled. Most environments today also have a strong password policy. Some have account lockout policies as well. In most environments I’ve worked with, they have set that the account be locked after three or five failed attempts at logon—if the user enters a wrong password three or five times, the person gets locked out of the account.

Remoting in PowerShell

PowerShell truly becomes powerful when it is made to handle tasks remotely. While this is amazing, stakeholders in many organisations may be opposed to the idea of remotely managing computers using PowerShell. In most cases, security is the elephant in the room. However, PowerShell is not some super-tool that increases your access within the environment; it just makes tasks easier by eliminating the unnecessary parts that you may have to deal with, if you were graphically performing the tasks.

Understanding streams in PowerShell

In the past, we have spoken about how cmdlets output objects, and how output can be piped from one cmdlet to another. If you ever encountered errors or warnings or verbose output in the execution that involved outputting content to a file, these errors, warnings, verbose outputs… none of them is passed through the pipe into, say, the export cmdlet. Ever wondered why? Enter: Streams Output redirection Out-Host Read-Host The Information stream Redirecting output across streams Wrapping up I speak about the nature of output in PowerShell, in my book: