Datto RMM – Close Alerts Older Than, using PowerShell

The PowerShell script below will connect to Datto RMM’s cloud platform, specifically the Merlot API, and close all non-critical alerts older than a specified date. This is all easily configurable and by simply changing the API endpoints should allow you to connect to any of Datto’s available regions.

For information on enabling or configuring the Datto API please refer to the official documentation – https://rmm.datto.com/help/en/Content/2SETUP/APIv2.htm

Continue reading “Datto RMM – Close Alerts Older Than, using PowerShell”

Exchange – Remove List of Permissions from Exchange Mailboxes

The PowerShell code below will take a CSV list of mailboxes and Users/Groups to remove from that mailbox. This allows you to quickly and efficiently remove old permissions across Exchange.

Continue reading “Exchange – Remove List of Permissions from Exchange Mailboxes”

PowerShell – Locate Inactive Users in Active Directory / Exchange On-Prem

Another short article with little context today.

The PowerShell script below will produce a report showing the Last Logon time of all enabled Active Directory users, it will also connect to Exchange On-Premise and request the last logon date of the mailbox. This can be useful to identify user accounts which are no longer in active use, even in organisations where mailboxes may have been retained once a user left.

There’s also a nifty status update built in that will tell you exactly how far the script has progressed and show an estimated time to completion.

Continue reading “PowerShell – Locate Inactive Users in Active Directory / Exchange On-Prem”

PowerShell – How to Retrieve Specific Events From All Servers

Occasionally you may have to implement something which will improve the security of your organisation but that does introduce a risk. Often the correct way to determine if it will cause issues is to enable logging and then to review those logs.

But what if you don’t have centralised logging?

This article does not replace a fully functional centralised event logging system which I would strongly suggest anybody have, however, it will allow you to retrieve specific logs from all servers in your estate. If your estate is too large then the script can be modified to instead of storing all of the data in the $allEvents variable you could simply append it to an Excel file inside of the for each loop.

Continue reading “PowerShell – How to Retrieve Specific Events From All Servers”

PowerShell – Getting all Users in Domain Users Group – 5000+ Users

I recently needed to generate a report of all Domain Users which brought up a few interesting issues, the first is that members aren’t actually listed as members of the group which removes the ability to use a lot of the standard PowerShell commands to produce a report on it, plus the group had well over 5000 users which again limits the commands available to … Continue reading PowerShell – Getting all Users in Domain Users Group – 5000+ Users

Solarwinds Service Desk to Vivantio Sync Script Example

The PowerShell script below is going to be provided as-is with little real overview, my hope is that it may save somebody else a lot of time trying to get Solarwinds and the Vivantio Service Desk to nicely sync records. The example below retrieves all known assets in the Solarwinds Service Desk and maps that information to default and custom fields defined in Vivantio which … Continue reading Solarwinds Service Desk to Vivantio Sync Script Example

How to Easily Migrate your Entire On-Prem DNS to Azure

So as with many companies we’re shifting to a Cloud environment from aging physical systems, as part of this I came across a requirement to migrate our entire On-Premise DNS System which is hosted on a Windows Server into Azure.

I wasn’t about to start migrating a few hundred individual DNS Zones in this case as that doesn’t sound like a whole lot of fun when it’s a seemingly repetitive task that I could instead script up so that’s what I did.

The instructions and code below are meant to get you in the right direction, the script is not necessarily production ready and could be improved greatly, if you take the time to do so please comment with any alterations you make and I’ll include them in this article.

Continue reading “How to Easily Migrate your Entire On-Prem DNS to Azure”