Behind the PowerShell Pipeline
Subscribe
RSS
Archive
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...
Markdown in Action
$ · August 24, 2023
I hope you’ve been able to apply the content from the last few articles and create a few markdown documents. Hopefully, you’ve seen that the syntax is not...
Do More with Markdown
$ · August 22, 2023
Welcome back. A few days ago, I introduced you to creating simple markdown documents. While markdown isn’t a PowerShell “thing,” it certainly plays a role in...
Get Down with Markdown
$ · August 17, 2023
Today’s topic may not necessarily be a PowerShell topic, but it is something you should understand. Knowing how to create markdown documents is a useful...
More PowerShell ISE Automation Tricks
$ · August 15, 2023
Last time I demonstrated how you can automate the Windows PowerShell ISE. If this is still your primary editor, you might as well get the most from it....
Windows PowerShell ISE Automation
$ · August 10, 2023
I switched years ago to VSCode as my primary PowerShell development tool. I’m sure many of my readers have also made the switch. But I recognize many people...
PowerShell Scripting with Credentials
$ · August 8, 2023
In my last article, I demonstrated how to work with a credential object in PowerShell. This is a task that you should be doing often. You should run your...
Using Credentials
$ · August 3, 2023
Recently, a reader reached out to ask about using credentials in PowerShell. He wasn’t sure if he was using credentials properly and securely. I’m sure he...
Stylish PowerShell Errors
$ · August 1, 2023
Before we leave the topic of error handling and PowerShell errors, at least for now, I want to highlight some PowerShell 7 features on the subject. For the...
Structured Error Handling
$ · July 25, 2023
Over the last few articles, I've been teaching you about PowerShell's error system and how to handle errors properly. The worst thing you can do is pretend...
Catch Them All PowerShell
$ · July 20, 2023
Welcome back. Last time we started looking at how to use Try/Catch in your PowerShell scripts to handle errors better. And you want to handle them. As a best...
Try This PowerShell
$ · July 18, 2023
In the previous article, we began looking into PowerShell's error system. As you learned, there is the exception object and the error message. You can...
To Err is Human, To Understand is the PowerShell Pro
$ · July 13, 2023
I don’t think I’ve discussed how PowerShell handles errors in any detail, and you can’t be an effective toolmaker or PowerShell user unless you understand...
Building with Parameter Sets
$ · July 11, 2023
Let’s continue building a PowerShell function and explore a topic that might be new to you, parameter sets. We use parameter sets all the time in PowerShell....
Can You Help a Function Out?
$ · July 6, 2023
I spend a lot of time writing about code, language, and syntax. But there is more to a professional-grade PowerShell script or function than pipelined...
Writing Multi-Value Functions
$ · July 3, 2023
I’ve devoted the last few articles to writing advanced functions. By now, you should know to ask yourself, “Who will be using my function and how?” Let’s...
PowerShell Functions 301
$ · June 27, 2023
We’ve been looking at PowerShell functions, beginning with a simple basic function. function Get-Uptime { $os = Get-CimInstance -ClassName...
PowerShell Functions 201
$ · June 22, 2023
Last time we started looking at creating a basic PowerShell function. The function is a command written in PowerShell’s scripting language that accomplishes...
PowerShell Functions 101
$ · June 20, 2023
One of the content suggestions I received recently asked for content on writing PowerShell functions. Specifically, the reader wanted to see how to write a...
Understanding .NET Enumerations
$ · June 15, 2023
I want to continue my introduction to the .NET Framework by discussing enumerations. This is a programming structure that is often used in PowerShell. Most...
.NET for IT Pros
$ · June 13, 2023
Not that long ago, I asked for feedback on this newsletter. One of the things I was looking for was content suggestions. I can’t promise I’ll cover...
Creating a PowerShell Weather Command Part 8
$ · June 8, 2023
I truly hope you’ve been learning something about developing a PowerShell tool and writing Pester tests. You can easily knock out a quick and dirty script or...
Newer archives
Older archives
GitHub
Bluesky
LinkedIn
Mastodon
About Jeff