Behind the PowerShell Pipeline
Subscribe
Archives
"Live" PowerShell Tool Making Part 2
$ · February 7, 2023
I hope you enjoyed the last article. I know I had a lot of fun writing and coding it. So much so that my brain is racing in a dozen directions over ways to...
"Live" PowerShell Tool Making Part 1
$ · February 2, 2023
I want to try something new, and I expect it will take more than one article, which is why this is titled Part 1. Last week I introduced you to creating...
Building Command Parameters with Crescendo
$ · January 26, 2023
In the previous article, we began exploring the process of using the Crescendo module. This module is designed to make it easier to wrap native command-line...
Building to a Command
$ · January 24, 2023
noun: crescendo; plural noun: crescendos; plural noun: crescendi1.the loudest point reached in a gradually increasing sound.a gradually increasing sound2.the...
Coding Confirmed Commands
$ · January 19, 2023
Let’s pick up where we left off in the last article. We’ve been looking at adding support for -WhatIf and -Confirm to your PowerShell commands. You get these...
Should I Stay or Should I Process Now?
$ · January 17, 2023
One of my goals for this newsletter is to help you write better PowerShell scripts. More than that, I want to provide the information you need to create...
Secret Store Automation
$ · January 12, 2023
In the last article, I introduced you to the secrets management tools from Microsoft. This toolset provides a secure way to store information like...
Can You Keep a Secret
$ · January 10, 2023
In the last article, I introduced using CMS messages to protect sensitive information. This is a good technique for encrypting a block of text, but probably...
Getting the Message in PowerShell
$ · January 5, 2023
One of the challenges with scripting in PowerShell is to protect sensitive information. We all know it is bad practice to hard-code credentials and passwords...
A Changelog for the Better
$ · January 3, 2023
It is a new year which means it is time for a few resolutions. One change I have in mind for the new year is maintaining better change logs for my PowerShell...
Creating a Learning Plan for 2023
December 22, 2022
Congratulations! You made it through another year. This was not an easy year for the tech industry. Every day I read about more layoffs and re-organizations....
Clean Text Files with Regular Expressions Revisited
$ · December 20, 2022
In the November 2022 Ask Jeff article, I shared a simple regular expression pattern you could use to filter out blank and commented lines, using a #...
Cleaning Your PowerShell House
$ · December 15, 2022
As you develop your PowerShell scripting skills, you will advance from creating simple scripts to writing advanced functions that consume pipeline input and...
Climbing Higher in the Abstract Syntax Tree
$ · December 13, 2022
In the previous article, I introduced you to the AST (Abstract Syntax Tree). This is how PowerShell parses your commands and scripts. Tools like VS Code take...
Climbing the Abstract Syntax Tree
$ · December 8, 2022
If you’ve been using PowerShell for any length of time, you’ve noticed that features like tab completion fail if there is an error in your command. Or when...
Critiquing Code Comments
$ · December 6, 2022
I am assuming that if you are reading this article, you are writing PowerShell code. I assume you are at least writing simple PowerShell scripts. Probably...
Leveraging PSObject
$ · November 22, 2022
In the last article, we dove into the internals of how PowerShell creates and defines objects. It doesn’t matter if it is the result from running Get-Process...
Building PowerShell Objects
$ · November 17, 2022
One reason that PowerShell is so valuable to IT professionals is that a great deal of work went into it to take advantage of the .NET Framework but not...
Hanging by a Thread
$ · November 15, 2022
Over the last few weeks, we've been exploring techniques and concepts that you can use to scale your PowerShell scripting. Time is valuable, and there is...
More Runspaces and Parallel Processing
$ · November 10, 2022
In the last article, we began exploring alternatives that would allow us to scale commands. This is especially useful for commands that might take long to...
Everything Everywhere All at Once
$ · November 8, 2022
You’ve heard me talk about “managing at scale” in previous articles. If you can do something to one thing, you can most likely do it for hundreds or...
Collection Enumeration with ForEach()
$ · November 3, 2022
In my last article, I introduced you to a collection filtering option that you may not have been familiar with, the Where() method. This and the related...
Collection Filtering and Enumeration
$ · November 1, 2022
One of PowerShell’s benefits is the ability to manage at scale. Instead of processing one thing at a time, we can manage a bunch of things all at once in the...
Eventing Event Logs with PowerShell
$ · October 20, 2022
I thought I was finished covering eventing with PowerShell, but a recent message on Twitter led to one final article. The question was about watching for new...
CimIndicationEvents Happen
$ · October 18, 2022
I hope you are finding this series on eventing in PowerShell helpful. Once you understand how to set up event subscriptions, I’m sure you are recognizing...
PowerShell Eventing with WMI and CIM
$ · October 13, 2022
Let’s continue our exploration of using events in PowerShell. Using objects like the FileSystemWatcher can be invaluable, but we’re just scratching the...
Object Eventing
$ · October 11, 2022
In my previous article, I started a series of articles on eventing in PowerShell. With eventing, you can take action, or at least be notified, that something...
Free Training Week at Pluralsight
October 10, 2022
This is a great deal that I wanted to make sure you were aware of. For a full WEEK, you can consume as much free content as you can handle. Pluralsight is...
Events Happen
$ · October 6, 2022
Today’s topic came to me from a reader and is an advanced PowerShell topic. It is something that you might find useful as an interactive management tool or...
Are You My Type?
October 4, 2022
One of the reasons that PowerShell is so amazing is that not only does it work with objects, but it works with objects that have a type. Not only is a...
Protecting Data
$ · September 22, 2022
In my last article, I demonstrated several PowerShell scripting techniques you could use to separate data from code. You want to avoid including the data you...
Clean Code is Secure Code
September 20, 2022
This is an article I have had scheduled for a while. It is a topic that should be self-evident, but in my experience, this isn’t always the case. And based...
A PowerShell Parsing Problem
$ · September 15, 2022
Recently, I received an email from a reader, Danny. He was looking for help with a parsing problem in PowerShell. He had a log file to re-format to meet a...
Formatting with PSStyle
$ · September 13, 2022
I trust you have found this series on ANSI and $PSStyle intriguing and have begun looking for ways to integrate it into your PowerShell scripting. It will be...
PSStyle in Action
$ · September 8, 2022
We’re nearing the end of our exploration into ANSI and PSStyle. Hopefully, you are just getting started. At this point, you should be able to construct a...
PowerShell with Style
$ · September 6, 2022
Let’s continue our exploration of ANSI escape sequences and how to incorporate color or formatting into our PowerShell scripting. If you missed them, I...
More Pretty PowerShell
$ · August 25, 2022
In my previous article, I began a series of lessons on ANSI escape sequences. At first glance, they may appear daunting. But once you understand how they are...
Pretty PowerShell is Better PowerShell
$ · August 23, 2022
It should come as no surprise that I am an old-school, command-line kind of guy. I am thrilled when I can type out a command and get a result in the console....
Taking PowerShell in a New (Re)direction
$ · August 17, 2022
Normally, when we run a PowerShell command or pipeline expression, we focus on the output. We’re manipulating objects in the pipeline until we get the...
Information is Power
$ · August 11, 2022
Earlier this year, I published an article on creating better PowerShell output. One of the techniques I demonstrated involved using the Write-Information...
Stacking Locations in PowerShell
August 9, 2022
I’m expecting that a significant number of you use PowerShell from an interactive console prompt. You are running commands, changing directories, and...
Buffering Up the Pipeline
$ · August 4, 2022
In several of the last articles, I’ve alluded to how PowerShell passes objects down the pipeline. Most of the time, we don’t worry about it, and PowerShell...
More Common Variables That Aren't Common
August 2, 2022
In a recent article, I began exploring a few common parameters. These are parameters that every cmdlet includes, although I suspect their usage is anything...
Common Variables Are Anything But Common
July 21, 2022
When you run a PowerShell command, you have the benefit of also using several common parameters. These are parameters that are included with every cmdlet....
Wading into the Stream
$ · July 19, 2022
In the last article, we looked at several logging techniques you can use in your PowerShell scripting. I focused on writing text-based files as I expect this...
Logging in PowerShell and Performance Pitfalls
$ · July 14, 2022
It is not uncommon for IT Pros to incorporate logging into their PowerShell scripts and functions. Often this involves writing content to text files....
PowerShell Scripting in a Month of Lunches
July 13, 2022
Save 40% on the new edition
Making Associations with CIM
$ · July 12, 2022
Today’s article grew from a post I saw on the Facebook PowerShell group page. The question centered on the best way to filter results using Get-CimInstance....
More PowerShell Replacement Techniques
July 7, 2022
In the last article, I discussed and demonstrated a number of replacement techniques in PowerShell. You can use these techniques to replace strings or parts...
PowerShell Replacement Rules
$ · July 5, 2022
Even though we think about working with objects in PowerShell and not parsing strings, a string is still an object, and there are situations where we want to...
Newer archives
Older archives archives
GitHub
Bluesky
LinkedIn
Mastodon
About Jeff