pwshguy

joined 2 years ago
MODERATOR OF
 

Announcements!

Blogs, Articles, and Posts

Projects, Scripts, and Modules

  • PSNotes v 1.0.0.0
    PSNotes is a PowerShell module that provides a structured, versioned snippet and script library for reusable automation patterns. Create notes with aliases, tags, and metadata to quickly execute, copy, or preview commands. Organize notes into local or remote catalogs, search by name, tag, details, or snippet content, and turn frequently used automation into first-class commands.
  • Template for the Win32 PowerShell script installer in Microsoft Intune
    Introduction Microsoft Intune now supports using a PowerShell script as the installer for Win32 apps. Instead of specifying a command line, you upload a script. This gives admins more flexibility when deploying applications. I’ve created a template (install and uninstall) that can serve as inspiration
  • dbatools v 2.7.25
    The community module that enables SQL Server Pros to automate database development and server administration
  • PSClaudeCode
    Ever wondered how AI agents like Claude Code work their magic? Dive into this PowerShell implementation and build your own intelligent assistant from scratch!

Community

  • Learning PowerShell in 2026 with Tara Learning PowerShell in 2026 with Tara
    In this episode of The PowerShell Podcast, Andrew Pla is joined by Tara, a longtime IT professional who has officially started her PowerShell learning journey. Tara shares her honest experience transitioning from a GUI-first mindset to learning PowerShell fundamentals, including objects, verb-noun commands, variables, pipelines, and error messages. The conversation captures the real emotions of learning something new later in a career—confusion, frustration, breakthroughs, and growing confidence.
  • PowerShell Community Call - February 19th, 2026
    The PowerShell Community Call is held on the 3rd Thursday of every month for 30 minutes at 9:30 AM US Pacific Time. Topics include PowerShell 7, Windows OpenSSH, PSEditorServices/VSCode-PowerShell, PSScriptAnalyzer, PowerShell Gallery, Azure PowerShell/CLI, DSCv3 and any other projects owned by the PowerShell Team.

Events

Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

[–] pwshguy@programming.dev 2 points 2 days ago

It's funny that you mention that because I'm already working on a solution around that. I'm working on a solution that will periodically backup the contents from your PSReadline history and save it in a searchable format. Then have a cmdlet like Search-History "whatever keywords". I'd like to make it a daemon so it could record estimated times and what console it executed from. I know it would save me a ton for searching.

Also, my one huge-ass OneNote was the reason for me creating this. I found there were a few I kept going back for regularly and wanted a quicker way to get them. Glad to know I'm not the only one.

 

I just released PSNotes v1.0.0.

PSNotes is a PowerShell module that lets you build your own snippet library with:

  • Aliases for quick recall
  • Catalog-based organization
  • Direct execution or clipboard copy
  • Executing script via paths or as saved snippets
  • Support for remote catalogs allowing you to have your snippets everywhere
  • Quick browser to see all your notes at a glance
  • Works from Windows Terminal, VSCode, pwsh, or any PowerShell host (even ISE if you're still using that)

The goal is simple: make it easier to reuse the commands you run constantly and remember the ones you don’t. Or if you are like me and get sick of typing out [System.Collections.Generic.List[PSObject]] forty times a day.

Full documentation and samples: https://github.com/mdowst/PSNotes

Release notes: https://github.com/mdowst/PSNotes/releases/tag/v1.0.0

PowerShell Gallery Listing: https://www.powershellgallery.com/packages/PSNotes/1.0.0.0

I hope you find it useful. And as always, I'm open to any suggestions or feedback.

 

Blogs, Articles, and Posts

Projects, Scripts, and Modules

  • Deactivating an Entra ID Application
    This article explores how to deactivate applications (aka disable apps) in Entra ID. Everything is done through PowerShell and the Microsoft Graph PowerShell SDK because the feature isn’t currently available in the Entra admin center. We’ve even included a fully functional example script to show you how the process works. Feel free to fix or enhance our code in GitHub!
  • Verify Windows UEFI CA 2023 Certificate with PowerShell
    Microsoft announced that the original Secure Boot certificates introduced during the Windows 8 development cycle begin expiring in June and October 2026. For full details about the impact, timelines, and update process, see the official Microsoft articles listed in the references section of this article.
  • PSWorkItem
    A PowerShell 7 module for managing work and personal tasks or to-do items. This module uses a SQLite database to store task and category information. The module is not a full-featured project manag...

Books, Media, and Learning Resources

Community

  • PowerShell Is Fun mkay with Harm Veenstra
    Microsoft MVP Harm Veenstra, creator of PowerShellIsFun.com, joins The PowerShell Podcast to talk about productivity, consistency, and why PowerShell really is fun. Harm shares how blogging regularly helped accelerate his learning, improve his workflow, and deepen his connection to the community. He also discusses his recent transition to macOS, how he uses PowerShell across Mac, Linux, and Windows, and why modern PowerShell is far more cross-platform than many people realize.
  • Status on PowerShell 7.6? · PowerShell PowerShell · Discussion #26754
    Is there anything the PowerShell team can communicate around the delay on PowerShell 7.6? It is approaching 2 months since the last preview and 3 months since .NET 10 was officially released. It se...
  • Monad to Millions - Celebrating Jeffrey Snover & the PowerShell Community
    Join us on Thu, Mar 12, 2026 for a special live-stream celebration honoring Jeffrey Snover, the creator of PowerShell, and the incredible community that turned a bold idea (Monad) into a global movement.

Events

Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

[–] pwshguy@programming.dev 2 points 2 weeks ago

I actually wrote a module to do just that. You can install it and just run Get-PSWeekly to get the latest edition. https://www.powershellgallery.com/packages/PSWeekly/0.0.1

From 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:

[–] pwshguy@programming.dev 1 points 2 weeks ago (1 children)

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

 

Blogs, Articles, and Posts

Projects, Scripts, and Modules

Books, Media, and Learning Resources

Community

  • Owning Your Career and Your Time with Don Jones
    Recently retired PowerShell icon Don Jones joins The PowerShell Podcast for a wide-ranging conversation on career ownership, community leadership, and building a life that aligns with what you actually value. Don reflects on the difference between your job and your career, why investing in yourself pays off, and how asking better questions can change the way you influence decisions at work. The episode also dives into Don’s journey as a fiction author, his role in shaping the PowerShell community and Summit culture, and why real success comes from clarity, kindness, and helping others win.
  • PowerShell Community Call - January 15th, 2026
    Recoiding of the January PowerShell Community Call

Fun

Events

Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

 

Blogs, Articles, and Posts

  • Stop Configuration Drift in Microsoft 365 Using the new Configuration Management API’s – A Deep Dive
    Microsoft has released into public preview a new set of APIs that enable administrators to monitor and alert on configuration changes across one or more tenants, spanning multiple Microsoft 365 workloads, including:
  • How to Control Access to Entra Multi-Tenant Apps
    Entra multi-tenant applications can be used by any tenant - unless you restrict sign-in audiences to permit only specific tenants to use the application. In this article, we explain the preview feature and use the Microsoft Graph PowerShell SDK to restrict sign-in audiences by defining a list of permitted tenant identifiers in the properties of multi-tenant applications.
  • EntraFIDOFinder: New Web UI and Over 70 New Authenticators
    You read that right, over 70 new authenticators are now approved for Entra Attestation and have been add to the web ui and the PowerShell module! I knew they had to be holding back after these last few updates. Also I’ve updated the web UI and curious of your thoughts.
  • Intune Win32 PowerShell Installer Type
    This month, Microsoft re-released PowerShell as a command-line option for Intune Win32 packages, making it easy to update the installation script without recreating the IntuneWin package. In this blog post, I will show you how it works.
  • Quick Tip - Enable vTPM on Hyper-V VMs
    Here is a quick PowerShell script to enable vTPM on one or more VMs in Hyper-V. Here is a quick PowerShell script to enable vTPM on one or more VMs in Hyper-V.

Projects, Scripts, and Modules

Books, Media, and Learning Resources

  • PoshBytes: Measure-Command For Optimizing Your Code
    Measure-Command is the fastest way to find out how long a command actually takes, so you can stop guessing and start optimizing with receipts. We will time a few real scripts, compare approaches, and learn how to avoid misleading results.
  • Understanding PowerShell Output
    Tara returns for her second PowerShell lesson. She's already learned the 3 core commands: Get-Help, Get-Command, and Get-Member.

Community

  • Stop Trying So Hard and Start Automating Smarter with Jake Hildreth
    Principal Security Consultant and community favorite Jake Hildreth returns to The PowerShell Podcast to talk about building smarter automation, leveling up through community, and creating tools that solve real problems. Andrew shares his “stop trying so hard” theme for the year, how working smarter applies directly to scripting and security, and why getting involved with others is one of the fastest ways to grow in your career.

Events

Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

 

Announcements!

Blogs, Articles, and Posts

  • Microsoft Entra PowerShell v1.2.0 brings Agent Identity Blueprint management and new automation features
    Microsoft released version 1.2.0 of the Microsoft Entra PowerShell module, introducing production-ready support for Agent Identity Blueprints, enhanced application configuration parameters, and modernized invitation APIs. This update consolidates Agent Identity functionality into the main module and delivers new cmdlets for automated identity management across Microsoft Entra ID environments.
  • Get latest Windows release
    Maybe you heard of this already but I found this hidden gem (at least for me) where you can easily get the latest Windows release in PowerShell. The module is written by Jose Schenardie. You can find it here in the PowerShell gallery. So, what does it actually do?
  • Test SSL/TLS Protocols using PowerShell
    Testing enabled SSL and TLS protocols on servers is something I have to do for hardening and security purposes. Of course, you can do that using PowerShell with the Test-TlsProtocols Module from TechnologyAnimal :) In this blog post, I will show you how.
  • Getting Started with SSH in Windows PowerShell
    PowerShell and automation articles for click-free IT pros from another systems engineer.
  • Intune PowerShell script installer feature
    Today we are going to have a look at the new PowerShell script installer feature that is available since January 2026 in Microsoft Intune. It’s now possible to upload a PowerShell script as the installer.

Projects, Scripts, and Modules

  • January 19, 2026 Updates to EntraFIDOFinder
    It’s been a bit since an update on the PowerShell module EntraFIDOFinder as there haven’t been any new keys and only a few keys have have changed functionality.
  • Synchronizing Security and Microsoft 365 Group Memberships
    An article from 2018 uses the AzureAD and Exchange PowerShell modules to synchronize membership between a security and a Microsoft 365 group. The idea is to enable collaboration for the members of the security group. This version does the work with the Microsoft Graph PowerShell SDK. The code is better and it will work as an Azure Automation runbook, which is always nice.
  • PowerShellWeb/Reptile
    Read Evaluate Print Terminal Input Loop Editor - A Scaley Simple PowerShell Data REPL.
  • PSClaudeCode v 1.0.3
    A PowerShell module for building Claude Code using Anthropic, with reference implementations for tool-based interactions.

Books, Media, and Learning Resources

Community

  • From SharePoint to Security with David Sass
    Newly minted Microsoft MVP David Sass joins The PowerShell Podcast to talk about PowerShell notebooks, terminal tooling, and making automation approachable for teams that are hesitant to touch the console. David shares how he uses Jupyter/PowerShell notebooks as a practical “click-to-run” interface for colleagues, helping them safely run approved automation while keeping the logic documented, repeatable, and under source control.
  • Chocolatey Fest 2026 @ PowerShell Summit : Call for Speakers
    Chocolatey Fest is a community-driven conference focused on Windows automation (WinOps), DevOps practices, and the broader ecosystem around Chocolatey and Windows package management.

Fun

  • A complete history of MDT (abridged)
    Way back in 2008, I published a blog post (now captured by the Wayback Machine) that gave a concise history of BDD, now known as MDT. Eighteen years later, I can now complete that story and expand on some of the items in more detail. (I will refrain from getting too carried away, hence the abridged part of the title, because you probably don't care to read a small novel.)

Events

Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

 

Blogs, Articles, and Posts

  • PowerShell coding in WSL using VSCode
    This is something I do on my Windows company device, using WSL instances to develop PowerShell scripts. In this blog post, I will show you how it works and how to set it up.
  • Some Microsoft Graph PowerShell SDK Cmdlets Lose Body Parameters
    A change made for some Directory Graph APIs has flowed through to the Microsoft Graph PowerShell SDK and affected how the associated cmdlets work, including the beta cmdlet to restore a deleted user account and while replacing the user principal name. Fortunately, the workaround is easy, but it is upsetting when something that worked suddenly doesn’t, even if it is a beta cmdlet.
  • How to Remove Old (Unused) PowerShell Modules
    This article explains how to safely remove a PowerShell module installed on a Windows computer. This may be necessary in order to uninstall old or unused modules, resolve PowerShell slow…
  • Practical Graph: Microsoft Graph PowerShell SDK Cmdlets and Graph Throttling
    The Microsoft Graph service uses throttling to restrain applications that might want to use more resources than they should. Graph throttling applies to Microsoft Graph PowerShell SDK cmdlets, but you might never notice this because of the way that the retry handler works to smoothen delays imposed by the Graph service.

Projects, Scripts, and Modules

  • PSToExe
    An example project of how to create a single EXE file for distribution of a PowerShell script without needing to install PowerShell 7.5.4 on target machines.
  • Announcing DotnetPsCmds - PowerShell CmdLets for .NET
    Have you ever wondered why there aren't PowerShell Cmdlets similar to dotnet CLI commands? Well not there are.
  • Release PSAppDeployToolkit 4.1.8
    This release strengthens Windows Installer (.msi) and Patch (.msp) deployment reliability, improves process and handle safety, enhances dialog behavior, and hardens serialization and exception reporting. It also modernizes dependencies and standardizes UTF-8 handling.

Books, Media, and Learning Resources

Community

  • Reliability Through Planning with Matthew Gill
    Matthew Gill joins The PowerShell Podcast to talk about what it means to be a Site Reliability Engineer (SRE) and how SRE thinking changes the way you approach automation, reliability, and problem solving. Matthew and host Andrew Pla break down core concepts like SLAs, SLOs, and SLIs, and why reliability through planning matters more than rushing straight to the keyboard.

Events

Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

 

Blogs, Articles, and Posts

  • PowerShell: Select-String (Examples)
    In this blog post, I’ll take a closer look at how to search for strings in PowerShell.
  • ConsentFix – The Quickfix
    Just when you thought OAuth was safe, along comes ConsentFix to remind us that attackers are always  two steps ahead. If you’ve been following security news lately, you’ve probably heard about this clever attack that abuses legitimate Microsoft authentication flows to steal authorization codes. The good news? There’s a dead-simple PowerShell fix that’ sorts this out.
  • Installing PowerShell on macOS
    What's the first thing that you install on your new MacBook M4? Yes, Microsoft Edge, and then PowerShell afterwards ;-) In this final blog post of 2025, I will outline the available installation options.
  • 2025 Overview
    It's 2026, so it's time to reflect on 2025 :). In this blog post, I will highlight the great PowerShell moments that happened this year.
  • 3 Easy PowerShell Scripting Tips for Coding Masochists
    Tip: Read the ‘Important Notes’ section, because these are notes that are important.

Projects, Scripts, and Modules

  • Oh My Posh Visual Configurator
    A web-based drag-and-drop builder for oh-my-posh that makes creating beautiful terminal prompts actually fun!
  • Release v2.4.0 · SeeminglyScience/ClassExplorer
    v2.4.0 of PowerShell module ClassExplorer is released! New commands Invoke-Member and Get-AssemblyLoadContext
  • PSNetDetour
    A PowerShell module which you can use to hook any (caveats of course) .NET method and have it run your ScriptBlock instead. Great for experimentation, debugging, testing
  • MarkX
    Markdown, XML, and PowerShell

Books, Media, and Learning Resources

  • Automating Microsoft 365 with PowerShell Update 19
    Update #19 of the Automating Microsoft 365 with PowerShell eBook is now available. Subscribers can download the updated PDF and EPUB files from Gumroad.com. A paperback version is also available, but we can’t update the print characters. In any case, a new SharePoint create Site API is in beta, and a new version of the Microsoft Graph PowerShell SDK is available. Both have their moments, as we discuss here.
  • PoshBytes: PowerShell Splatting - The Art of Throwing Parameters With Style
    In this PoshBytes episode, you will learn PowerShell splatting to make long commands readable and reusable. We will also demo PSNotes cmdlets that generate splats for you and convert existing commands into splatted form.

Community

  • PowerShell to Distinguished Engineer with Ryan Spletzer
    Distinguished Software Engineer Ryan Spletzer joins The PowerShell Podcast to talk about building a long-term career in tech through curiosity, continuous learning, and strong community connections. Ryan shares how PowerShell helped shape his path from early work in SharePoint, automation, and identity management to leading AI initiatives at Autodesk, where his team built an internal ChatGPT-style solution using Azure OpenAI before enterprise ChatGPT options existed.
  • Living in PowerShell with Jeff Hicks
    PowerShell legend Jeff Hicks joins The PowerShell Podcast to talk about what it really means to live in PowerShell every day. From running his entire workflow in the console to building highly polished terminal tools, Jeff shares how PowerShell can be used far beyond infrastructure management—to organize your day, automate personal tasks, and multiply productivity.
  • Building PowerShell Tools You Wish Existed with Jorge Suarez
    Jorge Suarez joins The PowerShell Podcast to share his journey into PowerShell, automation, and community contribution. From attending his first MMS conference to building creative and practical PowerShell projects, Jorge talks about how PowerShell became the primary driver of his career growth. The conversation covers his popular Intune Hydration Kit, creative TUI projects inspired by shows like Severance, and how curiosity and experimentation led him to build tools he wished existed earlier in his career.

Fun

  • RandomBirthday.ps1
    I role play on occasion, and I find it useful to have a birthday. From that I can look up the zodiac signs, which allows me to apply some stereotypical traits to the character. I find this to be a useful starting point in fleshing out a character's personality.

Events

Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

 

The final PowerShell Weekly of 2025 is here.

If you’re new: PowerShell Weekly is hand-curated every single week of the year. No bots, no auto-aggregation. I read, select, and organize the content so it’s actually worth your time.

Which is what I take two weeks off at the end of the year to recharge and get ready to do 50 editions again next year.

If you’ve been reading, sharing, or contributing this year, thank you. It genuinely makes the effort worthwhile.

Go check out this last issue of 2025, enjoy the holidays, and I’ll see you back here the first week of 2026.

Announcements!

Blogs, Articles, and Posts

Projects, Scripts, and Modules

  • PowerShell Preworkout (PSPreworkout)
    A special mix of tools to help jump start your PowerShell session!
  • SearchScript: Search PowerShell Scripts
    Every once in a while, we've got to search our scripts, often to make a particular update. Sadly, we're often falling back on Select-String to do this. This isn't ideal, because this means we lose the context around our scripts. So why not make a quick tool to search PowerShell ScriptBlocks using the Abstract Syntax Tree?
  • PowerShell Containers
    PowerShell Runtime Containers generation is working again, including the latest 7.6 preview 6

Community

  • Mentorship, Mindset, and Microsoft Ignite with Shannon Eldridge-Kuehn
    In this episode of The PowerShell Podcast, Shannon Eldridge-Kuehn returns to discuss her journey since becoming a Microsoft MVP, her experiences at Microsoft Ignite, and her evolving views on technology, communication, and personal growth. Shannon shares stories from Ignite, including Mark Russinovich’s fascinating demo on optical computing, and offers insight into how AI is reshaping IT work, both in efficiency and responsibility.The conversation expands beyond tech, touching on mentorship, emotional intelligence, and the importance of grace, empathy, and connection in professional and personal life. Shannon and host Andrew Pla explore how better communication, mental health awareness, and authentic collaboration can transform careers and communities alike.
  • Powerlifting and PowerShell: A Discussion with Jake Hildreth - Phillip Wylie
    About The Guest: Jake is a cybersecurity professional with a background in system administration. He has a deep understanding of Active Directory security and is currently the Active Directory Security Assessment Service Lead at Trimarc. Jake is also the head developer of the open-source tool Locksmith, which focuses on Active Directory Certificate Services misconfigurations.

Fun

Events

Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

 

Announcements!

  • Invoke-WebRequest Breaking Change
    Windows PowerShell 5.1 now displays a security confirmation prompt when using the Invoke-WebRequest command to fetch web pages without special parameters.

Blogs, Articles, and Posts

  • Create Web Links as HTML Files using PowerShell
    You know, I’m not even sure of my visitor count these days, but last I looked this site still receives a few hundred pages views per week. Something like that, at least. I wrote something at work today that brought me over here, as it may help others. I guess I still do care enough
  • PowerShell String Manipulation: Swap Lines
    In this article I will show you how you can swap lines. I will use an example and show you what is important. Let’s dive in.
  • Checking Where Tenant Users Go as Guests
    After all the fuss about Teams users inviting people to chat via email, tenant administrators realize that knowing where users are active as guest accounts is not as easy as it might seem. Part of the problem is that data about user activity is mostly controlled by host rather than home tenants. However, it’s possible to extract some information from audit sign-in logs to figure out where tenant users go as guests.
  • When Santa brings you a work request: Searching GitHub Repos and Gists for Text Patterns with PowerShell
    This is my feeble attempt at blogging again. Now that blogging is out of fashion and we trust AI to tell us what to think, drink and eat, it’s probably as good a time to do it as ever. So, th…

Projects, Scripts, and Modules

  • Entra ECMA2Host Tools PowerShell Module
    If you’ve ever worked with the ECMA2Host for Entra Outbound Provisioning you’ll be immediately presented with a lack of visibility of the connectors. Especially if you’ve previously used Microsoft / Forefront Identity Manager.
  • PowerShell OSD Frontend Project
    Hey Folks, so I recently had the need for a front end, so I looked at the regular community ones, but they didn’t fit my needs.
  • Deploying and configuring uBlock Origin Lite with PowerShell and Microsoft Intune
    Introduction Ad blocking is often dismissed as a convenience feature for users tired of intrusive banners and pop-ups. But in 2025 – almost 2026 – it’s time to reframe the conversation: ad blocking is a fundamental security control every organization should implement.
  • Servers101
    Simple Servers in PowerShell.

Books, Media, and Learning Resources

  • Invoke-WebRequest Just Started Asking Questions
    This video explains the new security prompt added to Invoke-WebRequest in Windows PowerShell 5.1 and shows how to prevent it from affecting any of your automations.
  • Building Custom MCP Tools in PowerShell Universal
    In this video, we look at how to build custom MCP tools using PowerShell Universal. It leverages the experimental MCP plugin to expose PowerShell scripts as tools. As an example, we quickly build a system monitoring dashboard.

Community

  • Cryptography, Cracking Codes, and Breaking CBC with Dr. Al Carlson
    In this episode of The PowerShell Podcast, host Andrew Pla welcomes Dr. Al Carlson, a cryptographer, mathematician, and engineer whose career spans more than four decades in military intelligence, embedded systems, and advanced encryption research. Dr. Carlson explains how set theory and mathematical patterns underpin all cryptography, breaking down complex systems like AES into understandable concepts. He discusses his groundbreaking work on isomorphic cipher reduction, polymorphic encryption, and how simplicity, not complexity, is often the key to true security.
  • The Cmdlet Decision: When to Be Weird
    I’ve spent a lot of time, and acquired a lot of scar tissue, in this industry, and if there is one thing I’ve learned, it’s that most people are terrified of looking different. People hug the cente…

Fun

Events

Check out psweekly.dowst.dev for all past editions as well as a searchable archive.

 

The recent breaking change to Invoke-WebRequest in Windows PowerShell 5.1 has the potential to affect a lot of automation, especially in older environments. To make it easier to assess the impact, I published a script called Search-CmdletParameterUsage.ps1.

This tool recursively scans your scripts and modules for any cmdlet + parameter usage. While I built it to identify places where Invoke-WebRequest is not using -UseBasicParsing, it works generically for any cmdlet you're concerned about.

If you maintain large codebases or inherited automation, this can save a ton of manual review.

Script: https://gist.github.com/mdowst/9d00ff37ea79dcbfb98e6de580cbedbe

KB on the breaking change: https://support.microsoft.com/en-us/topic/powershell-5-1-preventing-script-execution-from-web-content-7cb95559-655e-43fd-a8bd-ceef2406b705

Happy scripting! And good luck hunting down those IWR calls.

 

Saving Christmas with PowerShell: Building a Reusable Matching Algorithm

This video isn’t just “here’s a script.” It walks step-by-step through the whole evolution of the solution:

  • Start with a naive random shuffle
  • Add constraints and filtering
  • Introduce backtracking when things get messy
  • Turn it all into a clean, reusable function

The end result is a robust matching engine you can adapt for scheduling, load balancing, on-call rotations, pairing systems, etc.

Watch: https://youtu.be/4uwQh6Nap5M
Code: https://www.dowst.dev/?p=3971

Feedback and ideas welcome!

[–] pwshguy@programming.dev 1 points 6 months ago

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.

[–] pwshguy@programming.dev 3 points 7 months ago

An external USB monitor. It's old so it's actually only a USB 2.0.

[–] pwshguy@programming.dev 3 points 8 months ago

Either my wife or I will bust out "Bye, Felicia" at least once a week.

[–] pwshguy@programming.dev 6 points 8 months ago (2 children)

The Taco Bell jingle has lived rent free in my head for 20 years now

[–] pwshguy@programming.dev 3 points 8 months ago

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.

[–] pwshguy@programming.dev 13 points 8 months ago* (last edited 8 months ago) (2 children)

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.

https://youtube.com/@DowstDevMvp

[–] pwshguy@programming.dev 1 points 1 year ago

Projects, Scripts, and Modules

  • All About the Office 365 for IT Pros GitHub Repository
    The Office365ITPros GitHub repository holds over 300 PowerShell scripts showing how to interact with Microsoft 365 and Entra ID. Anyone can contribute to Office365ITPros by forking the code to a copy of the repository and making changes to scripts there. If you want, you can push the changes back to us so that we can consider their inclusion in Office365ITPros. It's a great example of community in action.
  • Creating a ConfigMgr (SCCM) Bootable Media – PowerShell Style
    Here is a PowerShell script that will create Bootable Media for ConfigMgr.
  • pipEnv v 0.1.2
    Unofficial installer, runner and utilities for pipenv.

Books, Media, and Learning Resources

Community

  • PowerShell Changed My Life... with Adam Bacon.
    In this episode of the PowerShell Podcast, Andrew catches up with returning guest Adam Bacon. Adam shares an update on his career and shares how PowerShell has played a huge role in helping him accomplish his dream. 
  • The Art and Science of PowerShell Module Development with Fred Weinmann
    In this episode of the PowerShell Podcast, we sit down with Fred Weinmann, a prolific PowerShell module creator, to explore his remarkable contributions, including PSFramework, PSModuleDevelopment, PSUtil, and PSFramework.Nuget. Fred shares insights on developing impactful solutions, such as the KRBTGT module and the evolution of module development in large-scale environments. 

Events

[–] pwshguy@programming.dev 2 points 1 year ago

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

[–] pwshguy@programming.dev 2 points 1 year ago* (last edited 1 year ago) (1 children)

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.

view more: next ›