Skip to content

Tag: Script

Quick and dirty script that removes all older versions of all installed PowerShell Modules.

I use a lot of PowerShell Modules. Some of them are deployed via a Build Server, so I get a lot of test builds! All of them have a new version tag, which is good. And I also use a lot of Modules from the PowerShell Gallery; some of them are updated frequently.

So my Systems ended up with a lot of older versions for several modules.

Manually removal is something I don’t like… So I started to search for something that removes all older versions at once, so my system has just the latest and greatest version of each Module left.

Uninstall the retired AntiSpam Agents from an Exchange Server

This content is older than 1 year. It might be outdated.

Microsoft announced that they deprecated the support for the SmartScreen Antispam content filters for Exchange Servers. This script uninstall the old and retired SmartScreen Antispam Agents from the local Exchange Server.

There are known issues with the SmartScreen AntiSpam content filters if you run Exchange 2016 on Windows Server 2016. So removing them might be always a good idea if you want to have a stable Exchange.

The Script removes the following AntiSpam Agents:

  • Content Filter Agent
  • Sender Id Agent
  • Protocol Analysis Agent

Before running the script and remove the AntiSpam Agents listed above, you should consider a solid alternative solution. There are several good on Premises Solutions available, and there are even more Cloud Services, including Microsoft’s own Exchange Online Protection (EOP). This could be handy if you have Office 365, you just change/tweak the Mailflow and your Mailboxes are protected.
My favorite solution is a CentOS based Linux Box running Postfix, SpamAssassin and MIMEDefang. I use this together with some AntiVirus solutions to scan all inbound and Outbound mails. However, this is just my personal favorite because it’s very reliable and flexible, but I know that many prefer a all-in-one solution running on Windows. Again, there are a lot of great solutions out there!

Script: Getting, install, or update some default DSC Resources I want to have available

This content is older than 1 year. It might be outdated.

I want to transfer more and more logic away from Group Policies towards Windows PowerShell Desired State Configuration (DSC). There are several reasons why i think that DSC is much better than my old (and complex) group policy constructs, but the main reason (at least for me): I can manage DSC clients that are domain joined, not domain joined, or even Azure Active Directory domain joined the same way.

This is also something I use for Edge servers (like Skype or Exchange); they are not domain joined. And if you have more than one that should do exactly the same, this is where DSC could become a life saver and make your life very easy.

I play around with several DSC Push and Pull server instances, but I wanted to have the same set of DSC resources available on all of them. At least until I know which to keep to reduce my own logic.

I use the DSC Script Resource a lot. I do a lot of checks and implemented a lot of logic and flexibility within a lot of Script Resources.
However, this is the wrong way to use DSC! At least, in my opinion!

There are some very cool ready to use DSC resources available, and this reduces the script resource usage (or what I did: abuse). Why should I keep my own logic when someone else created nearly the same as a central and maintained DSC resource?
I know: I’m lazy!

Download and Install Office 365 PowerShell requirements

This content is older than 2 years. It might be outdated.

I had a very interesting workshop with administrators and IT guys from a customer (a customer of a partner to be correct). One of the very first questions, like so often, was: Is it possible to install all PowerShell requirements for Office 365 with a single command?

The easy answer is: No, it is not… Sorry!
The true, and longer answer must be: There are a lot of scripts available on Technet, or GitHub (and elsewhere) that can do the job for you.

However, we then started to build an individual script that can do exactly that: Download and install all required PowerShell Modules for Office 365.

We defined the following requirements:

  • Do each step in an separate function (Agreed, that makes the code more complex)
  • Use an external parameter File (that contains the URL)
  • Make it robust (e.g. implement some error handling)
Copyright © 2018 by Joerg Hochwald. All rights reserved. ● Site is powered by Author