Behind the PowerShell Pipeline
Subscribe
Archives
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 PowerShell is so amazing is that it not only works with objects, but also with objects that have a specific type. Not only is a process...
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...
What's In a Name
June 23, 2022
“What’s in a name? That which we call a rose/ By any other name would smell as sweet.” - Romeo and Juliet I’m sure you are familiar with Shakespeare’s...
Collection Function Homework
$ · June 21, 2022
A few weeks ago, I shared my code utilizing generic collections to encode a text file by reversing each line and the entire file. The point of the exercise...
Scoping Out PowerShell Problems
$ · June 16, 2022
One of the challenges facing beginner PowerShell scripters is the concept of scope. I recall when I first learned PowerShell struggling to get my head...
Optimizing PowerShell Objects
$ · June 14, 2022
I recently posted an article on my blog about formatting property names from a Directory Searcher result. While that article and its accompanying code were...
The Collections Script Challenge
$ · June 9, 2022
A few weeks ago, I published an article on using generic collections in place of arrays. Arrays still have a place in your PowerShell scripting toolbox. But...
Creating User Friendly Code
$ · June 7, 2022
As you write PowerShell scripts and functions, I encourage you to think about who will be using your code and their expectations. Even if the user will be...
Collections in Action
$ · May 26, 2022
In the last article, I introduced the generic collection, a terrific alternative to using an array. Especially if you need to modify the array contents. A...
Arrays and Collections
$ · May 24, 2022
I do not doubt that you have used arrays in your PowerShell work. You might have created an array to hold the results of a PowerShell command at the console...
Best Practices Make Perfect
May 18, 2022
Over the last several weeks, I've been sharing and demonstrating techniques for writing effective PowerShell functions. I know I've mentioned a few...
Pipeline Possibilities
$ · May 11, 2022
In the previous article, I demonstrated how to add pipeline binding to your advanced PowerShell function. There is nothing wrong with writing a simple...
Advancing Your Functions
$ · May 4, 2022
I hope you've been enjoying this series of articles looking at how to build a PowerShell function. If you are a PowerShell beginner and can write a function...
Extending a PowerShell Function
$ · April 26, 2022
If you’ve been keeping up with the articles, you’ve seen how I went from a script block to a basic PowerShell function. This is a stand-alone function,...
More Basic Function Building
$ · April 21, 2022
In the last article, I demonstrated how to add parameters to a basic PowerShell function. Well-crafter parameters make your code flexible, re-usable, and...
Parameterizing the Basic Function
$ · April 19, 2022
In the last article, I showed you how to create a basic PowerShell function from a script block. A function at its core is nothing more than a script block...
Creating Basic Functions
$ · April 14, 2022
In a previous post, we looked at creating and using script blocks in PowerShell. As you’ll discover, these are the building blocks of PowerShell functions....
Building with Script Blocks
$ · April 12, 2022
Photo by Ryan Fields on Unsplash This month we’re going to dive deeper into PowerShell functions. A reader asked for more content on this topic, and I am...
Building a PowerShell Module
April 8, 2022
I hope you’ll indulge me and accept a slight deviation from the regular content. But this is something you might be interested in attending, and unless you...
Richer Logging for PowerShell
$ · April 5, 2022
Over the last several articles, I’ve demonstrated the importance of thinking about objects when creating PowerShell scripts. Once you get your head around...
Newer archives
Older archives
GitHub
Bluesky
LinkedIn
About Jeff