

Nice resource! I really like that layout. What did you use to generate the HTML?
Father, author, blogger, enthusiast of all things PowerShell and automation. http://linktr.ee/mdowst


Nice resource! I really like that layout. What did you use to generate the HTML?


PowerShell does not have a built in PDF reader, so it is not possible without installing a module or calling a third party app. The PSWritePDF module will do what you are asking. The module can be installed from the gallery, so you could technically install and import it in a single line.


An external USB monitor. It’s old so it’s actually only a USB 2.0.
Either my wife or I will bust out “Bye, Felicia” at least once a week.
The Taco Bell jingle has lived rent free in my head for 20 years now


Thanks! That’s why it takes so long between my videos coming out. That and I have a full time job, 2 kids, coach my daughter’s soccer team, and suck at video editing.


Mine is definitely a passion project. I make videos on automation using PowerShell. I aim to make videos that teach the thought process and fundamentals and not just step by step tutorials. I’ve been busy moving halfway across the country but plan to start uploading some more once I’m settled in two weeks.




No Azure DevOps automatically increments it every time you run the pipeline.


Just looking at it from the point of view of making the script more portable and easier for someone else to run, there are a few things I would address.
The first is the Write-Host commands all over the script. I would recommend converting those to Write-Verbose. Here is a great explanation when to use Write-Host vs other outputs.
There are also numerous Write-Output commands in the script. Anything sent to the Write-Output will be returned to the calling console. If you need to take additional actions based on the results of this script, this could cause issues. You can run into problems with the New-Item commands in there too, as they will produce output. You might consider saving them to a variable or piping to Out-Null.
Also, there is no need to call exit and set an exit code in the way you are. If you want to write and error but have the script continue you can use, Write-Error. If you want the processing to terminate then use throw. Doing it this way will allow PowerShell’s built-in error handling to take care of the exit codes. It will also give you greater flexibility with using Error Action Preferences and using try/catch statements.
Finally, you have a path hardcoded for the workingDir. I would suggest making this a parameter or using an environment variable as this will make it more portable. Also, when creating the log variable, you will want to use the Join-Path cmdlet instead of just joining strings.




ConvertTo-InteractiveHTML function. Doug walks through generating HTML tables with sortable columns and customizing them using AI. Whether you’re managing large datasets or need a quick way to visualize your data, this tutorial will guide you through the process. Install the PSAI module and start making your data more dynamic.

I remember before scrambling they just put blocks that prevented you from going to certain channels. I somehow figured out if you ran the cable box through the VCR first and put it on channel 2 while the TV was still on 3, it would shift all the channels down one. Cinemax was channel 14, which our box just would not go to. But it would go to 13, so doing my little trick teenage me got to watch a lot of skinamax.


It took me longer than I would have liked, but I did finally get the next video uploaded. I hope you enjoy it as well.




Nice write up, and a great primer for someone coming from the Linux/Bash world.


Thanks! I’d love to hear your thoughts once you’ve watched it.




I actually wrote a module to do just that. You can install it and just run
Get-PSWeeklyto get the latest edition. https://www.powershellgallery.com/packages/PSWeekly/0.0.1From a technical point of view the reason that script won’t work is because of the way my site is set up. I’m using an add-on that has it’s own content types the links. Each week has a unique tag, so they only show on that weeks page. Therefore, the actual post will only return the link tag for that week. Then you have to look up all of the links with that tag. You can see how I do it here: