Behind the PowerShell Pipeline
Subscribe
Archives
Stacking Up with WPF
March 14, 2024
Let's continue looking at how to create simple Windows Presentation Foundation (WPF) tools in PowerShell. This is a handy way to give users a graphical...
Building the Foundation for Windows Presentation
March 12, 2024
> *Before we get into today's topic, a few housekeeping items. In the last few articles, I took advantage of the attachment feature. I knew I couldn't send...
Toolmaking Toolmaking
March 7, 2024
At first glance, you might think I made a mistake with the title of today's article. But I didn't. I want to continue sharing my process in building an...
Documents and Objects
March 5, 2024
Over the course of the last few weeks, I've been sharing my experiences in building PowerShell tooling that I can use to create an archive index for this...
Ask Jeff - February 2024
February 29, 2024
Here we are the end of a quick month. I think the migration issues are behind us and I hope to get back track with my usual publishing cadence. Here's my...
More Archive Toolmaking
February 27, 2024
In the last article, I started down the road of creating tools that I could use to build an archive index for this newsletter. Every previous article can be...
Creating Buttondown Tooling
February 22, 2024
I thought I'd shift gears a bit and start working on some tooling for Buttondown, which delivers this newsletter. While I've been happy with the service,...
Making Progress
February 20, 2024
In a recent article, I showed a sample function to illustrate a point. Part of the function used the `Write-Progress` cmdlet. This wasn't the point of the...
Take Control of Errors
February 16, 2024
Take Control of Errors
Fanfare for the Common Parameter
February 14, 2024
Fanfare for the Common Parameter
For the Common Good
February 8, 2024
For the Common Good
Subscription Updates
$ · February 7, 2024
I Need Your Help If you are a paid subscriber, AND you subscribed on Buttondown, the following does not apply to you, although you are welcome to read and...
Adding More Zip to your PowerShell
February 6, 2024
> Welcome back. I have a quick housekeeping note before I get to today's topic. I am still working out a few behind-the-scenes kinks with the migration to...
Privacy and Tracking
February 5, 2024
Full Disclosure As part of migrating to the new platform, I want to be completely open about privacy and tracking. First, my subscriber list is mine alone...
Welcome to Our New Home
February 2, 2024
We're Here! Aha! You should have received an email article from Substack about migrating this newsletter to a new platform. I also wanted to send one from...
Ask Jeff
January 30, 2024
January 2024
Add Some Zip to Your PowerShell
$ · January 25, 2024
We’ve been looking at the System.IO namespace. Existing cmdlets and PowerShell providers cover much of this namespace's functionality. But that doesn’t mean...
Finding Your Way on the System.IO.Path
$ · January 23, 2024
Since we’ve been exploring ways to use .NET classes to supplement existing command coverage in PowerShell, I thought we should explore the System.IO...
More String Building
$ · January 18, 2024
Last time, we looked at a number of ways of constructing strings. This is something you might use to create log messages or define variables. There is also...
Building Better Strings
$ · January 16, 2024
Let’s continue exploring other .NET classes you might want to incorporate into your PowerShell scripting. Today, I want to cover a .NET class that I know is...
Environmental Impact
$ · January 11, 2024
Let’s continue our exploration of using the [System.Environment] class from the .NET Framework. As I explained last time, there is no way to construct an...
Taking Care of the Environment
$ · January 9, 2024
We all know that PowerShell is based on the .NET Framework. PowerShell exposes a lot of the framework through abstractions like cmdlets and providers....
Extending RESTful Objects
$ · January 3, 2024
Welcome to 2024! I want to thank all of my subscribers once again for making it possible for me to do this newsletter. I have a full slate of articles...
A Final REST API Course
$ · December 21, 2023
Over the last few articles, I’ve demonstrated various techniques for consuming REST API data in your PowerShell code. Let’s wrap up this discussion with a...
A Second Helping of REST APIs
$ · December 19, 2023
We’ve been dining on REST APIs served up by PowerShell. I hope you got a chance to try out the code examples from the previous article. I want to continue...
Who's Hungry for a REST API?
$ · December 14, 2023
One of my favorite uses of PowerShell is how it can consume data from a REST API. You don’t have to be a web developer, although there are a few concepts you...
More Tips for Better PowerShell
$ · December 12, 2023
Let’s continue our look at ways to take PowerShell code from good to better. I’m basing my talking points on a code review I did on a friend’s GitHub...
Writing Better PowerShell Code
$ · December 7, 2023
Recently, a friend of mine announced a new PowerShell module he had published to the PowerShell Gallery. Naturally, I had to take a look at his code. Like...
Tooling for Custom PowerShell Logging
$ · December 5, 2023
Over the last several articles, we’ve been exploring how to create custom event logs for our PowerShell work. Instead of logging into a text file, write to...
Scripting with Integrated Logging
$ · November 28, 2023
Let’s continue working with custom event logs and PowerShell. This could be a useful logging mechanism that is persistent and searchable. If you’ve ever...
Integrated PowerShell Logging
$ · November 21, 2023
PowerShell on its own doesn’t have logging capabilities other than Start-Transcript. There’s no common parameter you can add to a function to log script or...
The Zen of PowerShell Code
November 16, 2023
As you might imagine, I have written a lot of PowerShell code in my career. I’ve also seen plenty of code created by others. These experiences have shaped...
More Tasks with VSCode
$ · November 14, 2023
We’ve been looking at how to set up tasks in VS Code. This is a handy way to execute common activities. You can streamline your workflow with a few...
Put VSCode to Task
$ · November 9, 2023
Today’s content isn’t exactly PowerShell-related. But I assume many of you use VS Code to create PowerShell content. If you’ve been using VS Code for any...
More Module Documentation
$ · November 7, 2023
Welcome back. We’ve been exploring how to use the Platyps module to create professional-looking documentation for your PowerShell module. We ended last time...
More Platyps Power
$ · October 26, 2023
Last time, I demonstrated how to use the Platyps module from Microsoft to create external help for your PowerShell commands. The concept is to create a...
Professional PowerShell Documentation
$ · October 24, 2023
We all know the importance of documentation regarding our PowerShell commands. We also all know this is one of the last things to get done, if ever. That’s...
Can I Get Some Help
$ · October 19, 2023
Recently, I posted an article about using localized data in your function’s messages. My reasoning is that I want to have a consistent user experience across...
Code Writing Code
$ · October 17, 2023
In the last article, I showed you how I created a module based on the APICodePack library. The module makes loading the assemblies and the supporting type...
Creating a CodePack Module
$ · October 12, 2023
As I’ve been demonstrating ways to build commands around the APICodePack assemblies, I’ve been forced to hard-code references to load the assemblies. Plus,...
Creating APICodePack Functions
$ · October 10, 2023
I want to return to the project using the APICodePack library. You might want to review the previous articles to refresh your memory. I know I had to so I...
Getting Cultured with String Data
$ · October 5, 2023
Hello again. In the last article, I began demonstrating techniques and concepts that you could use to centralize string data through localization. You can...
Centralization Through Localization
$ · October 3, 2023
I’ve recently decided to make a change in the way I write my PowerShell modules. If you’ve been a subscriber, you’ve seen how I write my PowerShell...
WindowsAPICodePack Tooling
$ · September 26, 2023
I hope you had an opportunity to try out the Microsoft.WindowAPICodePack library. I am very intrigued with the scripting possibilities. I love that...
More Property Management Options
$ · September 21, 2023
In the last article, I demonstrated how to use a third-party .NET assembly to update a file’s extended properties. The TagLibSharp assembly works great for...
Setting Extended Properties with PowerShell
$ · September 19, 2023
We've been looking at working with extended file properties with PowerShell using the Shell.Application COM object. $shellApp = New-Object -ComObject...
Where Am I
$ · September 14, 2023
Last time we continued our exploration of using extended file attributes with Windows PowerShell. I hope you realize you can build your tooling using the...
Extending Extended Attributes
$ · September 12, 2023
I hope you’ve enjoyed this series of articles on working with extended attributes in PowerShell. I want to stress, though, that don’t skip this material or...
More Extended Attributes with PowerShell
$ · September 7, 2023
I hope you had an opportunity to try out the code samples from the last article. Today, I want to continue exploring extended attributes and how to display...
Extending PowerShell's Reach
$ · September 5, 2023
Recently, I started working on some PowerShell code to help me organize files. Specifically, I want to organize a large collection of image files. I knew I...
Newer archives
Older archives archives
GitHub
Bluesky
LinkedIn
Mastodon
About Jeff