Automating Azure VM & Arc Server Data Collection Rule Association with PowerShell
Onboarding Azure VMs and Arc-enabled servers to Data Collection Rules (DCRs) is critical for monitoring and security, but doing it manually can be time-consuming and error-prone.
Quick Tip - Enable vTPM on Hyper-V VMs
Here is a quick PowerShell script to enable vTPM on one or more VMs in Hyper-V. Here is a quick PowerShell script to enable vTPM on one or more VMs in Hyper-V.
Practical Graph: Microsoft Graph PowerShell SDK Cmdlets and Graph Throttling
The Microsoft Graph service uses throttling to restrain applications that might want to use more resources than they should. Graph throttling applies to Microsoft Graph PowerShell SDK cmdlets, but you might never notice this because of the way that the retry handler works to smoothen delays imposed by the Graph service.
Invoke-WebRequest Breaking Change
Windows PowerShell 5.1 now displays a security confirmation prompt when using the Invoke-WebRequest command to fetch web pages without special parameters.
The recent breaking change to Invoke-WebRequest in Windows PowerShell 5.1 has the potential to affect a lot of automation, especially in older environments. To make it easier to assess the impact, I published a script called Search-CmdletParameterUsage.ps1.
Using the POSH-SYSLOG PowerShell module for logging
In my home network, I run a Graylog Syslog instance in Docker for logging network and Linux events. But you can also log events from PowerShell scripts to Syslog for easy filtering or correlation. In this blog post, I will show you how that works.
How to Install Exchange Online PowerShell Module
The Exchange Online PowerShell module is essential for managing Microsoft 365 mailboxes, compliance tasks, role assignments, transport rules, migrations, and automated scripts.
PowerShell Tab Title in Windows Terminal
I often have several tabs open in my Windows Terminal. And I like how I can easily identify the right one by its title if it’s a tab for WSL or an SSH connection. Fortunately, PowerShell can also auto-update the tab title, it’s just not configured to do so by default.
PowerShell 7.6.0 Preview 5 Release
The latest preview version of PowerShell was released beginning this month. In this small blog post, I will highlight the critical changes and updates from the release notes.
Install Linux Subsystem for Windows (WSL) on Windows Server 2025
This article explains the differences between WSL 1 and WSL 2, how they compare to WSL on Windows Server 2022 and Windows Server 2025, and how to install WSL on Windows Server 2025 using the graphical user interface (GUI) or PowerShell.
Windows 11 25H2’s removal of WMIC and the PowerShell alternative
You probably used it in the past, wmic.exe :) The Command-Line interface for querying WMI information has been removed from Windows 11 25H2 and will not be reintroduced in future versions of Windows. In this blog post, I will highlight what that means and how you can utilize PowerShell as an alternative.
Practical Teams Phone: Reporting Missed Calls on Call Queues
Microsoft Teams Phone has improved over the years, but missed call reporting in call queues remains a gap. In this blog, Martin Heusser shows how to use Microsoft Graph and PowerShell to build a custom report that captures missed and answered calls, complete with caller info and agent details. Until Microsoft adds shared call history natively, this DIY approach is a solid workaround.
Microsoft Graph: a Practical Guide
If you’ve tried working with Microsoft Graph, I can probably guess that it maybe took a bit of time to appreciate all of its capabilities. I’ve heard MS Graph described as trying to build the car that you need to use to drive to work. For some, that might be up your alley, but for the rest of us, it can be a bit daunting.
Dynamically Construct a PowerShell GUI
Learn how to dynamically generate PowerShell GUI elements from a SQL data source and update values with user input.
PowerToys 0.94 is here: Settings search, shortcut conflict detection and more!
This release is all about quality-of-life improvements — making it easier to find the setting you’re looking for, spot shortcut conflicts, and even adding a new way to move your mouse cursor. Get the update by checking for updates in PowerToys or heading to the release page.
Windows Terminal Preview 1.24 Release
We’re back with another Terminal release for you! This development cycle, we focused on overall quality of life improvements and bug fixes. We are also updating Windows Terminal stable to version 1.23, which will include all of the features from this previous blog post. Some notable features to call out are: 🌟 A completely new […]
ANNOUNCING PSWeekly the Module!!!
You can now read and search PowerShell Weekly without leaving the comfort of your shell. Because why should your terminal miss out on the good stuff? Simply Install-Module PSWeekly, then run Get-PSWeekly to get the most recent addition.
PowerToys 0.93 is here: faster Command Palette, new dashboard UX and more
Hey PowerToys fans! We're back with a fresh release: PowerToys 0.93! As usual, we’ve squashed a bunch of bugs and made some small quality of life tweaks, but we’ve also packed in some bigger, exciting changes you’ll want to check out.
Introducing MCP Support in AI Shell Preview 6
We're excited to share the latest preview release of AI Shell that includes new features and improvements based on your feedback.
I have a PDF document that I would like to split with each page being a separate file. I'd like to avoid installing anything to do this as I'm trying to keep the command simple for others to just copy/paste into PowerShell.
Announcing Microsoft.PowerShell.PlatyPS 1.0.0
We are pleased to announce the general availability of Microsoft.PowerShell.PlatyPS 1.0.0, a tool to build PowerShell help files.
How to Run Atomic Red Team on Linux and Automate Attack Simulations with Velociraptor
Atomic Red Team is an outstanding framework for simulating real-world adversary behaviors. While many security professionals focus on Windows endpoints, it’s equally crucial to validate detection.
Microsoft finally bids farewell to PowerShell 2.0
Users still clinging on to PowerShell 2.0 just received notice to quit as the command-line tool is officially leaving Windows.
Apologizes for the abridged version of PowerShell Weekly. It's a holiday and my nephew's waiting on me to take him fishing. I owe you all an extra-large edition next week. Thanks for understanding!
Practical Graph: Finding Owners for Ownerless Apps from Audit Data
When administrators create new Entra ID apps, the apps don't have an owner unless an owner is explicitly assigned. The net result is that a tenant can end up with many ownerless apps. In this article, we explain how to find ownerless apps, and how to use audit data to find suitable owners for those apps. All done with PowerShell, of course.
Using the Polyglot extension from VSCode for creating Jupyter notebooks containing PowerShell code and how to use the PowerShellNotebook module
I did a small demo session at Experts Live NL this week about this topic. In this blog post, I aim to demonstrate the capabilities of the Polyglot extension, explain its functionality, which is easier compared to the original method of creating Jupyter notebooks, which I covered in 2022.
Azure CLI and Azure PowerShell Build 2025 Announcement
At Microsoft Build 2025, we're excited to announce several new capabilities aligned with these priorities
Track Microsoft Entra Application Operations Using PowerShell
When applications are registered in Microsoft Entra, they are granted with surprising number of privileges like accessing sensitive data to acting on behalf of users. But these permissions aren’t static. Once an app is registered, its configuration can evolve over time through various operational changes.
AI Shell Preview 4 Release!
We're excited to share the latest preview release of AI Shell that includes new features and improvements based on your feedback.
The PowerShell Pipeline
When I first started learning PowerShell, one of the most fascinating things to discover was the “pipeline”. I was already amazed with the data that I could gather by running commands, but using the pipeline took that to the next level.
Using PowerShell to Find Outdated Ubuntu Containers
With Ubuntu 20.04 LTS’s sunset on the horizon, my manager forwarded an email about the need to update all of our Docker images to version 22.04. He sent it out as an FYI, but I took a moment to context switch towards answering this question because I thought that I could figure this out quickly using a one-liner in PowerShell.
Docker images containing PowerShell now maintained by the .NET team
For years, the PowerShell team has maintained official PowerShell Docker images. Moving forward, we are using the Docker images produced by the .NET team.
Windows Server Core – Command Line Only Administration
Run Windows Server Core in 2025—CLI setup, roles, remote ops, FAQs. Full guide for IT pros. Master it now!
Microsoft Graph PowerShell SDK V2.26.1 Remains Flawed
The developers rushed out Version 2.26.1 of the Microsoft Graph PowerShell SDK to fix some obvious issues. Alas, problems persist in PowerShell SDK cmdlets, including licensing failures and an issue that prevents the Connect-MgGraph cmdlet from being able to obtain an access token from Entra ID. My advice is to stay with V2.25 until Microsoft resolves the problems and generates a new stable version of the SDK.
Preparing for Microsoft’s Strong Certificate Mapping Enforcement – What You Need to Know
The post Preparing for Microsoft’s Strong Certificate Mapping Enforcement – What You Need to Know appeared first on PKI Solutions.
Behind the PowerShell Pipeline
Welcome to Behind the PowerShell Pipeline a subscription-based newsletter that will dive deeply into the world of PowerShell.
Microsoft Entra PowerShell module now generally available
Manage and automate Microsoft Entra resources programmatically with the scenario-focused Microsoft Entra PowerShell module.
I really appreciate your understanding for the missed edition last week. To make up for it, this week’s issue is packed with even more tips, insights, and updates to level up your PowerShell skills.
Quickly Finding Previously Typed Commands With PowerShell
How to find that extremely convoluted command you typed in three months ago that you can't find in your PowerShell history.
This is the final edition of PowerShell Weekly for 2024. Since this newsletter is hand-curated, I always take the last week of the year off to rest and reflect. I’ll return in the New Year with fresh content and my annual year-in-review, covering all the major PowerShell highlights from 2024.
PowerShell VSCode Extension v2024.5.2-preview
New PowerShell VSCode extension preview release v2024.5.1! This includes the breakpoint performance improvement I developed, you should see stepping through code work much faster. Please try to break this feature before release!
Loading PowerShell Custom Functions: Profiles, Dot-Sourcing, and Modules
PowerShell is a versatile scripting environment that allows users to extend its capabilities by creating custom functions. Once written, you can load these PowerShell custom functions into your session or environment for reuse. Here are four common methods to load custom functions in PowerShell.
New PowerShell Threat: Infiltrating Networks with Advanced Techniques
In a recent discovery, Cyble Research and Intelligence Lab (CRIL) detailed a complex, multi-stage PowerShell campaign that employs several advanced techniques to infiltrate networks, maintain persistence, and enable covert communications.
Restrict non-admin access to the Microsoft Entra portal with PowerShell
Learn how to restrict non-admin users access to the Microsoft Entra admin portal using Microsoft Graph PowerShell.
Announcing Microsoft.PowerShell.PlatyPS 1.0.0-Preview1
We are pleased to announce the release of Microsoft.PowerShell.PlatyPS 1.0.0-Preview1, a tool to build PowerShell help files.
Practical PowerShell: The Dark Power of Dynamic Parameters
In this episode of Practical PowerShell, we dive into the dark power of dynamic parameters, and how to use them within in functions and scripts.
Type less by using PowerShell type accelerators
I had heard the PowerShell term “type accelerators” a few times, but never really knew what that meant. I finally decided to check out the about_Type_Accelerators docs and it turns out they’re simply aliases for .NET types.
Signing PowerShell Scripts on macOS
MAJOR UPDATE During my PowerShell session at MacAdmins 2023, someone asked if you could sign a PowerShell script on macOS. Doing so on Windows is trivial and well-documented elsewhere, I won’…