Alexander Koehler avatar

Find orphaned GPOs via PowerShell before migrating to Intune

22 hours ago | Alexander Koehler

Many companies have already fully transitioned to Endpoint Management Intune and no longer need GPOs (Group Policy Objects). Others are in the preparatory stages. Therefore, I would like to provide some assistance for identifying orphaned Group Policy Objects. These can be relatively easily found and, if necessary, removed using PowerShell. I’ve written a small script … Read more "Find orphaned GPOs via PowerShell before migrating to Intune" Articel Find orphaned GPOs via PowerShell before migrating to Intune available first on IT koehler blog.

Daniel Bradley avatar

How to rotate BitLocker keys with Microsoft Graph PowerShell

2 days ago | Daniel Bradley

Learn how to rotate BitLocker keys for devices managed with Microsoft Intune using Microsoft Graph PowerShell. The post How to rotate BitLocker keys with Microsoft Graph PowerShell appeared first on Our Cloud Network.

Catalin Cristescu avatar

PowerShell script for automated remediation for CrowdStrike issue

3 days ago | Catalin Cristescu

I have created a Powershell script for the Crowdstrike issue for some automation purposes. you can create a WinPE ISO File to boot into and remediate the crowdstrike issue. 3. Reboot: The system should boot normally. The script: This script is designed for use in an on-premises VMware environment. It automates the process of mounting […] The post PowerShell script for automated remediation for CrowdStrike issue appeared first on PowerShell.

PowerShell 101

4 days ago

Reluctant to learn PowerShell? This condensed version book targets the specific topics you need to know to be successful in a real-world production environment. (+)(-)

A PowerShell Form Generator

4 days ago

This article is an evolution of the previous, it regards not only the implementation of the package, but in particular a new paradigm with which the form objects are specified; the article is not intended to be an exhaustive explanation of the product, for this please refer to the attached documentation. (+)(-)

Navigating Corporate Giants – Jeffrey Snover and the Making of PowerShell

4 days ago

What if you had to fight against your company's culture to bring a revolutionary tool to life? Meet Jeffrey Snover, the Microsoft architect behind PowerShell, a command tool that transformed Windows system administration. Initially met with skepticism, Snover's idea faced resistance from a company that favored graphical interfaces. Snover's journey began with a simple mission: to m

Practical Graph: Using GitHub Copilot for Microsoft 365 PowerShell Development

4 days ago

GitHub Copilot costs $10/month. At that price level, anyone working with PowerShell should try out the AI assistance to see if it helps. But will GitHub Copilot work well with Microsoft 365 PowerShell modules like Exchange Online and the Microsoft Graph PowerShell SDK. That's what we tested and report on here. (+)(-)

Harm Veenstra avatar

PowerShell PSDrive

4 days ago | Harm Veenstra

This is sometimes forgotten, the easy way of accessing or checking network drives, certificates, registry, variables, etc. In this blog post, I will show you what a PSDrive does and some examples of its use. (+)(-)

UniGetUI (formerly WingetUI): GUI for winget, Chocolatey, and PowerShell Gallery

4 days ago

UniGetUI, previously known as WingetUI, is a free GUI tool that lets you easily install and update software packages from various sources, such as Winget, Chocolatey, and PowerShell Gallery. Let me show you UniGetUI's features and how it can help you quickly set up a new computer with all the essential software. (+)(-)

Adam Bertram avatar

Getting Started with PowerShell and the ServiceNow API

7 days ago | Adam Bertram

Unlock the power of ServiceNow's API! Learn how to set up your developer account, create an OAuth app, and make your first API call using PowerShell.

Harm Veenstra avatar

500.000 views!

7 days ago | Harm Veenstra

And... my blog site just passed 500.000 views! I started my first blog post on April 21, 2022, and the views have been increasing ever since. :) I want to thank you all in this blog post and show you how much the site grew over time.

Harm Veenstra avatar

PowerShell PSDrive

11 days ago | Harm Veenstra

This is sometimes forgotten, the easy way of accessing or checking network drives, certificates, registry, variables, etc. In this blog post, I will show you what a PSDrive does and some examples of its use.

Faris Malaeb avatar

Exchange Shared Mailbox Permissions using PowerShell

16 days ago | Faris Malaeb

A shared mailbox is a useful feature in both Exchange Server and Exchange Online. It allows multiple users to access and manage a common mailbox, such as a departmental or project-related mailbox. Managing and sending emails from a shared mailbox can be done in a few steps, and we’ll cover those below. Accessing and Using... The post Exchange Shared Mailbox Permissions using PowerShell appeared first on Faris Malaeb.

Harm Veenstra avatar

Using Pop-Location and Push-Location in PowerShell

17 days ago | Harm Veenstra

At PSConfEU, somebody asked me if I used Pop-Location and Push-Location. Well, I know it's there, but no. :) In this blog post, I will show you how to use it and that it might come in handy!

Doug Finke avatar

Mediator Pattern using PowerShell

20 days ago | Doug Finke

Mediator Design Pattern in PowerShell The Mediator Design Pattern centralizes communication, reducing dependencies & improving maintainability. Instead of direct interactions, objects use a mediator. Let’s dive into the implementation! ChatMediator Class: Manages user interactions and message distribution. This class keeps track of users and handles sending messages to all users except the sender.

Faris Malaeb avatar

Handling Exchange Online Quarantine Message Using PowerShell

25 days ago | Faris Malaeb

Managing email quarantine in Exchange Online is a regular and important task for maintaining a secure and efficient email environment. Exchange Online provides robust PowerShell cmdlets to handle quarantine messages effectively. Today you will learn the essential cmdlets for managing Exchange Online quarantine messages, ensuring you can handle them with ease and precision. Getting Quarantined... The post Handling Exchange Online Quarantine Message Using PowerShell appeared first on Faris Malaeb.

Bradley Wyatt avatar

Leveraging OpenAI to Enhance Pull Request Management in Azure DevOps

29 days ago | Bradley Wyatt

Objective Our goal is to create an automation that significantly enhances the efficiency of our development process. A service hook is triggered when a new Pull Request is created in Azure DevOps, sending a webhook to an Azure Function. This function analyzes the request body, gets all commits in the Pull Request, and sends it to Open AI’s API, which generates a Pull Request message detailing all of the proposed changes from the commits and writes it back to the Azure DevOps Pull Request.

Harm Veenstra avatar

PSConfEU 2024

one month ago | Harm Veenstra

I attended my first PSConfEU event in Antwerp, Belgium, and had a great time! In this blog post, I will recap the four days and what I saw and learned during those!

Harm Veenstra avatar

Using Debug and Verbose parameters in PowerShell

one month ago | Harm Veenstra

It's one of those things you forget, and you can get a lot more output when running scripts that will help you find out why things are not working as you expected. This small blog post will show you how to get more verbose and debug information.

Bradley Wyatt avatar

Automate Azure DevOps Work Item Updates with Azure Functions and the Azure DevOps API

one month ago | Bradley Wyatt

Objective I use Azure DevOps Boards for agile project management, allowing me to plan, track, and discuss automation and DevOps tasks. I also create reporting dashboards from the data within the work items. One such metric I report on is how much time we save when implementing a new automation. To do this, I have a field called “Estimated Manual Time (min)” and “Annual Occurrences“.

Harm Veenstra avatar

Using Measure-Command and Measure-Object in PowerShell

one month ago | Harm Veenstra

Measuring is always a good idea for grasping things, such as how long it sometimes takes, how many objects there are in a specific directory, how much space something takes up on a hard drive, etc. In this blog post, I will show you how the Measure-Command and Measure-Object cmdlets work and how you can use them to your advantage.

Adam Bertram avatar

Tracking Down User Logons with PowerShell and XPath

one month ago | Adam Bertram

When working with Windows event logs, especially the Security log, there might be instances where you need to extract specific information from events.

Harm Veenstra avatar

Discovering the required Microsoft Graph Permissions using PowerShell or Graph Explorer

one month ago | Harm Veenstra

When using Microsoft Graph to connect to Azure, Intune, etc., you have to grant the correct permissions and use the proper (and safe ;) ) scopes to connect. This blog post will show a few ways to gather that information.

Bradley Wyatt avatar

How The ConnectWise Manage API Handles Pagination with PowerShell

one month ago | Bradley Wyatt

If you have ever worked with the Microsoft Graph API, you may be familiar with how it handles pagination, which is returning an @odata.nextLink property in the response containing a URL to the following results page.  I was initially confused when I started working with the ConnectWise PSA API. Although I could specify a pageSize and page parameter, there never seemed to be an indication of where to go for the next page of results.

Alexander Koehler avatar

FullAccess Permissions in Exchange Online with additional information

one month ago | Alexander Koehler

In mid-March, I received an email from a reader (Sebastian) asking if it was possible to read out all full access permissions and then enrich this information with additional details. Specifically, it was about the department, meaning that the mailbox, authorized user, and the department of the authorized user should be output to a CSV … Read more "FullAccess Permissions in Exchange Online with additional information" Articel FullAccess Permissions in Exchange Online with additional information available first on IT koehler blog.

Adam Bertram avatar

How to Leverage Reusable PS Remoting Sessions in your Scripts

one month ago | Adam Bertram

PS remoting lets you execute commands remotely. Learn how to create and manage persistent sessions in this short how-to covering creating and managing sessions.

Faris Malaeb avatar

Troubleshooting Exchange Online Mailbox Provisioning Errors

one month ago | Faris Malaeb

Incorrect or missed configurations can lead to errors causing mailbox provisioning failures. One such error, often encountered in the Microsoft Admin Center, is represented by the message: “Exchange Online: An unknown error has occurred. Refer to correlation ID GUID.” This post will help you understand how to identify the cause of this error and provide... The post Troubleshooting Exchange Online Mailbox Provisioning Errors appeared first on Faris Malaeb.

Mike Kanakos avatar

PowerShell Parameters Code Challenge

one month ago | Mike Kanakos

I’m excited to introduce a fresh addition to the CommandLine.ninja website! Get ready to challenge yourself and improve your PowerShell and automation skills, and maybe even pick up a few tips and tricks! Every week, I’ll provide you with a different subject and two sets of quizzes - one easy and one difficult. The quizzes will comprise a series of questions that center on the weekly topic.

Harm Veenstra avatar

PowerShell Arrays

one month ago | Harm Veenstra

You probably use it all the time in your scripts, but how do they work? In this blog post, I will show some simple examples of what you can do with them :)

Adam Bertram avatar

PowerShell Tool-Building 101: Building a Computer Inventory Report

one month ago | Adam Bertram

Join me on an exciting journey as we build a powerful PowerShell tool for generating computer inventory reports! From CSV files to CIM queries and error handling, we'll walk you through each step as we go. Let's script our way to success!

Jeff Hicks avatar

PowerShell Scripting and Toolmaking

2 months ago | Jeff Hicks

Several years ago Don Jones and I wrote what we hoped would be the definitive book on PowerShell scripting and toolmaking. The book takes all off our years of experience, not only from writing PowerShell code, to teaching and conference presentations where we hear first hand what people struggle with. We published the book on...

Harm Veenstra avatar

Keep Microsoft Teams status Available instead of away using PowerShell

2 months ago | Harm Veenstra

It is one of the things I hear my colleagues, and even my girlfriend, mention regularly... Why does Microsoft Teams think I'm away while I'm not / My PC isn't locked yet... I read a few solutions, setting your status duration to a date in the future, etc... Didn't work :( What does work is running my simple PowerShell scripts, which I will show you in this blog post :)

Adam Bertram avatar

Upload a PowerShell Script to Intune (With PowerShell) From Scratch

2 months ago | Adam Bertram

Automate deploying PowerShell scripts to Intune devices with Azure app registration, Graph API, and more in this step-by-step tutorial.

Harm Veenstra avatar

Parameters for PowerShell Scripts and Functions

2 months ago | Harm Veenstra

Using parameters for your Scripts and Functions is very powerful. You don't have to hardcode things in them, making running them from a command line easier. This blog post will show you the parameters I use in most of my scripts and how they work.


Adam Bertram avatar

PowerShell Testing Mastery with Data-Driven Pester

2 months ago | Adam Bertram

I’ve been using Pester for a long time off and on. I’ve always been obsessed with ensuring reliability in my PowerShell code. After writing the Pester Book and mentioning some of the methodologies I used with Pester v4 I’ll present in this blog post, I’ve since learned Pester v5 makes my work so much easier.

Bradley Wyatt avatar

Upload a file to Connectwise and Attach it to a Service Ticket with PowerShell

2 months ago | Bradley Wyatt

I have recently been automating a lot within Connectwise PSA. One of the items I set out to do is to upload a file and attach it to a service ticket. This led me to the following article, but after doing some testing, I found that some file types were not properly rendering on the Connectwise side, making me believe there was something wrong with the encoding. I could upload a .txt file without issues, but I also tried with a .

Adam Bertram avatar

Your Go-To PowerShell Template for HTTP-Triggered Azure Functions

2 months ago | Adam Bertram

Struggling with messy Azure Functions PowerShell code? Learn how to adapt your scripts for serverless, validate HTTP parameters, throw descriptive errors, and bind PowerShell output to HTTP responses for robust web-friendly functions.

Jeff Hicks avatar

Pick Up The PowerShell Practice Primer

2 months ago | Jeff Hicks

A number of years ago, I published book on Leanpub, designed to help you teach yourself PowerShell. After you get through the first Month of Lunches book, what do you do next? The best way to learn PowerShell is to do it. But it might be challending trying to figure out what to do. I...

Przemyslaw Klys avatar

Active Directory Replication Summary to your Email or Microsoft Teams

3 months ago | Przemyslaw Klys

Active Directory replication is a critical process that ensures the consistent and up-to-date state of directory information across all domain controllers in a domain. Monitoring this process is important as it helps identify any issues that may arise and resolve them quickly. One way to monitor Active Directory replication is by using the Repadmin command-line tool. Repadmin provides a wealth of information about the replication status and health of a domain.

Mark Wragg avatar

Converting Azure DevOps Classic Release deployment pipelines to YAML

3 months ago | Mark Wragg

I recently migrated some Azure DevOps Classic Release deployment pipelines to YAML. There’s obvious benefits to storing your pipelines as code: they become an artifact in source control that can evolve and change as the code they build or deploy does, and you have the benefits of version history and maintaining the pipelines via pull requests. However I also found that I could use logic and expressions to make the pipelines more efficient and easier to maintain and that through templating could easily connect the pipelines together to form what I humorously dubbed the “super pipeline” (but then the name stuck).

Emil Larsson avatar

PowerShell Guide: Script as a Windows Service

4 months ago | Emil Larsson

Red or blue pill If you are in the same rabbit-hole as I was of setting up a Windows Service of any form of looping script, there’s two pills you can choose from: Red Pill: Create a program that abide to the law of the fearsome Service Control Manager. Blue Pill: Write a PowerShell script, 8 lines of XML, and download WinSW.exe WinSW describes itself as following: A wrapper executable that can run any executable as a Windows service, in a permissive license.

Mike Kanakos avatar

How to set and manage Environment Variables with PowerShell

4 months ago | Mike Kanakos

Hey there PowerShell family! Today, I’m excited to share my latest article from petri.com, which discusses setting and managing Environment Variables with PowerShell. The article covers various capabilities of PowerShell, exploring key areas and scenarios that you should understand and master. Here’s a summary of the major topics covered in the article. Introduction to Environment Variables What are they with a focus on how to create and manage them using various methods.

Bradley Wyatt avatar

Getting Started with GitHub Copilot in the CLI

4 months ago | Bradley Wyatt

It was announced recently that GitHub Copilot in the CLI has reached General Availablity for all Individual, Business, and Enterprise customers. In this post, I will show you how you can get download and install the CLI and Copilot extension, authenticate to use Copilot, and the available commands and use cases. Install the GitHub CLI Windows With Windows, we can install the GitHub CLI via the command line (Winget, Chocolatey, or Scoop) or manually from here.

Bradley Wyatt avatar

View and Export your Intune Device Management Scripts Using the Microsoft Graph PowerShell SDK

4 months ago | Bradley Wyatt

Introduction If you’re familiar with Intune, you’re likely aware of its capability to deploy platform or PowerShell scripts to your endpoint devices. Unfortunately, once you upload your script to the portal, there is (at the time of writing this) no easy way to view the script content or download it. Resolution To quickly and easily get Intune scripts, I created a function that allows me to export all the scripts from a tenant en masse and view them in the shell or terminal.


Jeff Hicks avatar

GitHub Scripting Challenge Solution

4 months ago | Jeff Hicks

Earlier this year I appeared on the PowerShell Podcast. I ended the interview with a scripting challenge. The Core Challenge Using whatever tools and techniques you want, write a PowerShell function that will query the Issues section of a GitHub repository and create output showing the number of open issues by label and the percentage...

Jeff Hicks avatar

My Conference Future

4 months ago | Jeff Hicks

I have been an IT professional for over 30 years. I have been speaking publicly and presenting at conferences for probably 25 years. I have presented to all types of groups, from small user groups to large conferences, literally around the world. As I enter the last part of my IT career, I am re-assessing...

Darren Robinson avatar

Visualising your IP Address using PowerShell and AI

4 months ago | Darren Robinson

A few weeks back the Microsoft AI Tour was in Sydney Australia. There was a plethora of great content associated with the wave of everything AI that we are currently in. I gave a quick-fire series of live demos in a theatre session titled PowerShell & ChatGPT – How to Automate Your Way to Generative AI Brilliance.… keep reading The post Visualising your IP Address using PowerShell and AI appeared first on darrenjrobinson - Bespoke Identity and Access Management Solutions.

Mark Wragg avatar

Monitor and manage your Azure cloud costs with a little help from PowerShell

4 months ago | Mark Wragg

Should cloud computing be illegal? Probably not, but it is incredibly easy to get started, equally difficult to stop, and before you know it you could be selling your grandmother just to afford one more month of that delicious compute. Hopefully your circumstances never get that dire, but I’ve seen plenty of companies entrench themselves into the highly addictive world of automated, scalable infrastructure, but then struggle to understand the often-astronomical monthly bill.