Powershellisfun is a free, open source threat detection & response project written in PowerShell and released under MIT. It has 725 GitHub stars, 147 forks and 0 open issues, and was last pushed 5 months ago. On this registry it ranks #49 of 50 tracked projects in Threat Detection & Response, with 5 head-to-head comparisons available.

What is Powershellisfun?

Powershellisfun is a collection of PowerShell scripts drawn from the PowerShellisfun.com blog, aimed at Windows and Microsoft 365 administrators who want ready-made examples for reporting, deployment, and endpoint management tasks.

What it is

Powershellisfun is an MIT-licensed PowerShell script repository that accompanies the blog at powershellisfun.com. Rather than shipping a single application or library, it is a directory of individual scripts, each linked in the README to the blog post that explains its usage, context, and background. The repository sits in the Microsoft administration ecosystem, with topics spanning Microsoft 365, Active Directory, Exchange, Intune, Endpoint Manager, Hyper-V, and general networking.

The concrete problem it addresses is the recurring need to write one-off administrative and reporting scripts from scratch. Common tasks — checking 365 service health, reporting on Active Directory admin group changes, inventorying scheduled tasks running local and domain accounts, or reporting on DNS lookups and PST files — are already solved elsewhere but typically require an administrator to derive the approach from documentation alone. This repository provides working scripts alongside their explanatory write-ups, so the problem of assembling and understanding such automation is handled by the linked blog content rather than by each reader independently.

Key capabilities

  • Report on Microsoft 365 service health via the 365 Health Status script and its associated blog post.
  • Report on changed Active Directory administrative groups, and inventory scheduled tasks configured with local or domain accounts.
  • Deploy and manage printers, printer drivers, and print configurations through Intune and Endpoint Manager, including disabling idle power save via Intune.
  • Copy Exchange Full Access and Send As permissions between users, and copy Exchange Receive Connector settings.
  • Perform endpoint security checks, including identifying non-Microsoft-signed Windows services and checking whether a shortened URL link is safe.
  • Build a development Windows Sandbox using PowerShell and winget, and deploy and automatically update winget apps in Intune without remediation or third-party tools.
  • Automate Hyper-V tasks such as compacting VHDX files, creating a VM from Windows Server evaluation versions, and uploading a Windows Autopilot hardware hash for Autopilot registration.

Who uses it and how

  • Windows administrators who want a starting point for Active Directory group-change reporting and scheduled-task inventories across servers.
  • Endpoint administrators managing Windows devices through Intune and Endpoint Manager, using the printer, power-save, and winget deployment scripts as deployment patterns.
  • Exchange administrators copying permissions and Receive Connector settings during migrations or tenant work.
  • Hyper-V users automating VM creation, VHDX compaction, and Autopilot hardware hash registration.
  • Readers of the PowerShellisfun.com blog who want the full script behind a given post rather than code fragments copied from an article.

Getting started

There is no packaged install, Docker image, or hosted option; you clone the repository and open the individual PowerShell script corresponding to the blog post you are following, since the README links each directory entry to its post for usage information.

How it compares

It stands alone in this registry as a script-and-blog companion rather than a tool with a comparable project listed alongside it.

When to use it — and when not to

Use it when you want a working, MIT-licensed example for a specific Microsoft administration task and are comfortable adapting the script to your own environment. It is not a self-hosted service, so there is no database, storage, or SMTP to operate, but neither does it come as a unified tool with an install path or a single entry point — the reader must find the relevant script and read the linked post to run it correctly. Because scripts are tied to individual blog posts and cover a wide spread of domains, it should not be chosen as a substitute for a supported product or a maintained module.

project readme (upstream, from github) — read inline

Powershellisfun

Repository with the scripts that I have used in my blogs on PowerShellisfun.com

Directory and links to the corresponding blog post with more information about the script(s)

365 Health Status

Active Directory Admin Group Change Report

Adding Mobile Phone Authentication Method For Azure AD MFA

Adding Printer Drivers and Printers with Intune

Adding printer drivers with Endpoint Manager

Adding Printers With Endpoint Manager

ASRmageddon Create Common Shortcuts Start Menu

Change Primary and Secondary DNS

Check if URL is safe

Check for PowerShell modules updates

Check for non-Microsoft signed Windows Services

Compact Hyper-V VHDX files

Copy Exchange Full Access and Send As permissions

Copy Exchange Receive Connector Settings

Create a development Windows Sandbox

Create a Focus Time countdown clock

Create A Hyper-V Running Evaluation Versions Of Windows Server

Create a multiple-choice quiz using Powershell

Create a report of a DTS NPS logfile

Create a Report on DNS lookups

Create A Report On PST Files

Create a Scheduled Tasks inventory running local and domain accounts

Create a Tweet on Twitter using PowerShell

Create TCP or UDP listener

Deploy and automatically update WinGet apps in Intune

Deploy Hyper-V VM with Autopilot registration

Download Windows Themes from Microsoft

Disable Idle Power Save

Export Registry

Exporting Passwords For WLAN Profiles

Get Active Directory Infra Information

Get End-Of-Life Information

Get IP MAC Vendor information

Get Microsoft Evaluation Center Download Links

Get Microsoft Graph Permissions

Get WHOIS Information

Import Receive Connector IP-Addresses into IIS SMTP

Install Apps Using WinGet And PowerShell

Install or update SysInternals Suite

Intune Remediation for unquoted service path vulnerability

Intune Timezone

Keep Microsoft Teams status on Available

Launching Start Menu Shortcuts

Message Of The Day

Microsoft 365 License Overview Per User

Open links from the cmd.ms website

Output data to a MarkDown file

Pihole Blocked Queries

PowerShell Welcome Message

Query WinGet software installer data

Random 9GAG Item In Your Browser

Read RSS Feeds

Remote Visual Studio Code in Windows Sandbox

Report on Exchange SMTP logfiles

Retrieve Active Directory Container permissions

Retrieve Active Directory OU permissions

Retrieve All Cmdlets From The New Microsoft Graph API Modules

Retrieve all Microsoft IP - FQDN - Ports for their services

Retrieve cmdlets and functions info

Retrieve CoinMarketCap information

Retrieve Email DNS Records

Retrieve Expiring Certificates

Retrieve Intune Primary User

Retrieve local and remote PowerShell logs

Retrieve local group members from Active Directory servers

Retrieve Security Events From Active Directory

Report from which PowerShell modules the cmdlets are from

Report on Non-Compliant Intune Devices

Scan for deprecated Cmdlets

Search Windows Event log

Set Correct External Hyper-V Adapter

Set Windows Terminal Background Image

Show Intune Management Extension Logs

Start Windows Sandbox With Parameters

Test Microsoft Services TCP ports

Text-To-Speech

Update all PowerShell Modules

Update your software using WinGet and PowerShell

Validate list of Email Addresses

Wi-Fi 24H2 Remediation

Windows Autopilot Report

Windows Update all Hyper-V VMs

Frequently asked questions

Is Powershellisfun free to use?

Powershellisfun is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Powershellisfun do?

Repository with the scripts that I have used in my blogs on https://powershellisfun.com. If you like these, please sponsor this project using the Sponsor button

What is Powershellisfun written in?

Powershellisfun is primarily written in PowerShell. Its source is publicly available at https://github.com/HarmVeenstra/Powershellisfun, and it has 725 GitHub stars.