pwshguy

joined 2 years ago
MODERATOR OF
 

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!

 

Blogs, Articles, and Posts

  • App-Only Authentication for SharePoint Online PowerShell
    The latest versions of the SharePoint Online PowerShell module support app-only authentication (certificate-based authentication) for the Connect-SPOService cmdlet. In other words, applications can now connect to SharePoint Online to run administrative cmdlets by presenting a registered Entra ID app and an X.509 certificate instead of the credentials for a human SharePoint administrator. It’s a good change, even if I still prefer using the Graph APIs for SharePoint automation.
  • Using the POSH-SYSLOG PowerShell module for logging
    In my home network, I run a Graylog Syslog instance in Docker for logging network and Linux events. But you can also log events from PowerShell scripts to Syslog for easy filtering or correlation. In this blog post, I will show you how that works.

Projects, Scripts, and Modules

  • rs-devtools
    Various tools I made to automate very niche gamedev & media manipulation tasks
  • PSIntro
    A welcome screen for PowerShell and a set of brief tutorials designed for absolute beginners. The module also includes a few commands to help absolute PowerShell beginners manage their environment.
  • GitHubBlueSky.ps1
    Get a GitHub user's BlueSky
  • PSRainbow 1.1.0
    Provides a library of 24-bit colors that can be used in PowerShell scripts.

Books, Media, and Learning Resources

  • PoshBytes: Numeric Precision in PowerShell
    In this PoshBytes short you will see how PowerShell can silently lose precision when big integer math is promoted to double and how using the right numeric types and decimal literals helps keep your results exact.
  • PowerShell 7 Fundamentals
    More and more we turn to automation in IT to help improve efficiency for our day to day operations. PowerShell has always been at the forefront of automation tools. The courses in this path start with the absolute basics of PowerShell so that you can learn how to automate away your problems from the ground up. You’ll begin with installation before moving on to exploration of the PowerShell language and using your acquired skills to perform tasks from your day to day operations. Finally, you’ll get a taste of writing actual PowerShell scripts to round out your automation skills and toolset.

Community

  • Free Security Wins for Sysadmins with Spencer Alessi
    Newly minted Microsoft MVP, pentester, and returning guest Spencer Alessi joins The PowerShell Podcast to talk about growth, giving back, and building security through PowerShell. Spencer shares lessons from his journey from sysadmin to pen tester, including the importance of learning from mistakes, documenting wins, and advocating for yourself in your career. He also introduces his latest open-source project, AppLocker Inspector, and discusses tools like Locksmith, Pink Castle, and Purple Knight that help IT pros secure their environments and build confidence in automation and defense.

Fun

  • Advent of Code 2025
    Advent of Code is an Advent calendar of small programming puzzles for a variety of skill levels that can be solved in any programming language you like. People use them as interview prep, company training, university coursework, practice problems, a speed contest, or to challenge each other.

Events

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

 

Blogs, Articles, and Posts

Projects, Scripts, and Modules

  • IntuneHydrationKit v 0.1.1
    Hydrates Microsoft Intune tenants with best-practice baseline configurations including policies, compliance packs, enrollment profiles, dynamic groups, security baselines, and conditional access starter packs.
  • PSYahooFinance-AI v 1.0.1
    PowerShell module for getting financial data from Yahoo Finance. A port of the Python agno YFinanceTools toolkit.
  • SpotifyUtils v 1.2.1
    A PowerShell module for managing your Spotify tracks and playlists via Spotify's API.
  • Update to PSCloudPc
    Stefan Dingemanse and I made an update to our PowerShell module called PSCloudPc. This PowerShell module enables you to manage Windows 365 via PowerShell with easy to use command lets. The MSGraph powershell module requires you to construct JSON body’s. We made this in to easy to use “one-liners” Check out our Project website.
  • PsAstViewer v 1.0.6
    A graphical viewer and explorer for PowerShell Abstract Syntax Trees (AST)

Books, Media, and Learning Resources

  • Pair Programming a PowerShell Platformer Live
    I am going to be live-coding some improvements to a game written in PowerShell. I will start by getting familiar with the codebase, then I will move into looking at the open issues on the project, choose one, and then hopefully close the issue with a successful PR! Oh, did I mention that the game dev will be watching and criticising my every move? Yeah, Greg Martin is joining me.
  • PoshBytes: Mastering Here-Strings in PowerShell
    Learn PowerShell here-strings the fast way with practical examples.

Community

  • Falling, Learning, and Laughing with PowerShell Friends
    Recorded live from SpiceWorld 2025 in Austin, Texas, this special PowerShell Podcast bar session brings together community members Jeffery Hayes, Stephen Engler, Sean Wheeler, and Steven Judd for a fun and insightful celebration of PowerShell and community. Host Andrew Pla reflects on reaching the 200-episode milestone while sharing stories about growth, learning, and the value of connection. From early PowerShell journeys to the power of conferences, mentorship, and even a few bar-side life lessons, this lively session captures the heart of the PowerShell community.

Fun

Events

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

 

Announcements!

Blogs, Articles, and Posts

Projects, Scripts, and Modules

  • CommandWatch v 1.0.0
    A watch-like command runner for PowerShell.
  • Removing Inactive Entra ID User Accounts with PowerShell
    The Entra ID Governance solution includes a workflow to detect and remove inactive user accounts. Sounds good, but the same can be done with PowerShell if you want to avoid the cost of Entra ID Governance licenses or want to create a bespoke workflow that’s better suited to the business needs of the organization. Azure Automation would be a good way to process this workflow.
  • Uninstall Microsoft Graph & Entra PowerShell fast!
    Free PowerShell module to completely uninstall Microsoft Graph PowerShell & Entra PowerShell modules. Fixes dependency conflicts and authentication issues.
  • Toolbox v 1.0.2
    A robust PowerShell module for parallel remote task orchestration with runspaces, throttling, timeout controls, structured output, error aggregation, retry logic, and pluggable task framework.

Community

  • The PSADT Framework Explained and What’s New in Version 4.1 with Dan Cunningham
    In this episode, PowerShell Podcast host Andrew Pla chats with Dan Cunningham, Strategic Innovation Leader for PowerShell App Deployment Toolkit (PSADT), about the history, architecture, and evolution of the open-source framework used for enterprise software deployment. Dan explains how PSADT simplifies installs, improves logging, enhances user experience with UI dialogs, and provides consistency across environments. He also discusses the latest release, v4.1, which removes the need for Microsoft’s ServiceUI, boosting both security and usability for Intune and SCCM deployments.
  • Why is "Handles" in PowerShell plural?
    Here the answer from the man himself Jeffery Snover.

Fun

Events

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

 

Announcements!

  • dbatools v 2.7.7
    Check out what's all new and updated in the latest version of dbatools

Blogs, Articles, and Posts

  • Notify Requesters When GitLab Issues Move Through the Development Pipeline
    I use GitLab’s Customer Relationship Management (CRM) feature to track who requested each item. From there, I wanted a way for requesters to be automatically notified as their item moved through the development pipeline, from Backlog to In Progress, Testing/Review, and finally Done.
  • Practical Graph: How to Check Unexpected Sign-Ins Against Utility Accounts
    Utility accounts exist in every Microsoft 365 tenant. These accounts are not intended for normal user activity and include accounts used for Exchange room and shared mailboxes and the break-glass or emergency accounts intended to allow administrators to sign-in if their usual accounts are blocked. This article shows how to use PowerShell and the Microsoft Graph to check sign-in events to ensure that the accounts aren't being accessed.
  • How to Run PowerShell Scripts: A Complete Guide
    This guide covers how to run PowerShell scripts: everything from basic script execution to remote operations, parameter passing, and troubleshooting. PowerShell is useful for automating administrative tasks, but before you can run PowerShell scripts, you need to understand the mechanisms that control script execution.
  • A beginners guide to Microsoft Graph API rate limiting in Intune
    Ever seen your PowerShell script crash with a mysterious HTTP 429 Too Many Requests from Microsoft Graph? That’s rate limiting - the API’s polite way of telling you to slow down. In this post, we dig into Graph’s global and Intune-specific limits, how to read the Retry-After header when it appears (and what to do when it doesn’t), and how to build exponential backoff into your scripts so your automations stay smooth, resilient, and throttle-friendly
  • Notifying users on Windows when an iOS update is required – Microsoft Intune, Automation Account and Toast Notification Script combined
    Introduction Your users carry iPhones but spend most of their workday on Windows devices. When Apple releases an iOS update, Intune can flag non-compliance – but the built-in notifications on iOS are often overlooked and don’t have the same visibility or urgency as alerts on a user’s primary work device. The solution: cross-platform automation.
  • Using the DnsClient-PS PowerShell Module for cross-platform DNS querying
    Because it's always DNS, and because you want to query DNS on non-Windows systems, too, using PowerShell... You can use the DnsClient-PS module. In this brief blog post, I will demonstrate how it works.
  • Download/Upload to Azure Storage Accounts with SAS-link and PowerShell
    Super short blogpost today, just two commands on how you use SAS link to download and upload files with PowerShell/RestAPI. Same can be done with Python using a link like this. Yes, I know my SAS ID is in the code, but its not valid anymore

Projects, Scripts, and Modules

Community

  • 200 Episodes of Community with Frank Lesniak
    In this milestone 200th episode of The PowerShell Podcast, Frank Lesniak returns to chat with Andrew Pla about automation, community, and what it means to “bet on yourself.” Frank shares his experiences leading cybersecurity and enterprise architecture projects, using PowerShell for AWS security automation, and developing tools to simplify complex data exports. He also discusses the upcoming PowerShell Summit, his work with DuPage Animal Friends, and the value of giving back through mentorship, community involvement, and open source.

Events

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

 

Blogs, Articles, and Posts

  • Understanding the trap Statement in PowerShell
    In PowerShell, error handling is a crucial aspect of writing robust and reliable scripts. One of the powerful features to manage errors gracefully is the trap statement.
  • Building Event-Driven Automations in Microsoft 365 Using Graph Subscriptions
    This post demonstrates how to use Microsoft Graph Subscriptions to create event-driven automation in Microsoft 365. Graph Subscriptions allow applications to receive real-time notifications when specific changes occur within Microsoft 365 resources such as users, groups, or mailboxes, without the need for constant polling.
  • Zero-Touch Microsoft Connected Cache with Intune
    What is Microsoft Connected Cache (or MCC)? Microsoft Connected Cache, or DOINC (Delivery Optimization In-Network Cache) was first released with Configuration Manager Technical Preview 1903 and was created with the intent of replacing distribution points for cloud native devices (aka Entra joined aka AADJ).
  • Managing your WSL instances in PowerShell using the WSL Module
    I use WSL instances on my machine in VSCode to test and develop scripts, as well as to easily test Linux-based applications on my Windows machine. In this blog post, I will show how the Module works and make managing WSL easier.
  • PowerShell Tab Title in Windows Terminal
    I often have several tabs open in my Windows Terminal. And I like how I can easily identify the right one by its title if it's a tab for WSL or an SSH connection. Fortunately, PowerShell can also auto-update the tab title, it's just not configured to do so by default.

Projects, Scripts, and Modules

  • Reporting the Use of Emojis in Teams Reactions
    This article explains how to use PowerShell to extract audit data to analyze the use of emojis as Teams reactions to chat and channel messages. This is not an exercise that leads to any great business value, but it’s a good way to show the sometimes surprising data that can be extracted from audit records.
  • Version 1.5 of the Microsoft 365 User Password and Authentication Report
    The Microsoft 365 User Passwords and Authentication report now includes the last used date for authentication methods (when available).
  • Toast Notification Script v3 is here!
    Introduction I’ve completely REWRITTEN my popular Toast Notification Script from the ground up – now exclusively for Microsoft Intune!
  • AzNetworkLatency v 0.0.4
    PowerShell module to determine the network latency between two Azure regions.
  • PSPlaywright v 0.1.0
    PSPlaywright is a PowerShell module for browser automation using Microsoft Playwright. It enables scripting and automation of web browsers from PowerShell.

Books, Media, and Learning Resources

Community

  • BurntToast v1.0 and 10 Years of PowerShell Notifications with Josh King
    Andrew's longtime friend, mentor, and PowerShell legend Josh King joins The PowerShell Podcast to celebrate the tenth anniversary and version 1.0 release of his popular open-source module BurntToast, which powers customizable Windows toast notifications. Josh shares the story behind the project’s evolution, the challenges of maintaining an open-source module with millions of downloads, and the balance between community expectations and personal well-being.

Events

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

 

You can run it from a single command...if you dare

iex (irm 'https://gist.githubusercontent.com/mdowst/f1d8a64e28477c28f29604d095ad7af2/raw/ef971e4538d078c288a9851979f6b14eb0a26e0f/Get-TrickOrTreat.ps1')
 

Blogs, Articles, and Posts

Projects, Scripts, and Modules

Books, Media, and Learning Resources

Community

  • Always Hype About Automation with Hailey Phillips
    Microsoft MVP Hailey Phillips joins The PowerShell Podcast to share her journey from systems engineer to automation innovator. She talks about IntuneStack, her new PowerShell-driven CI/CD project for Intune environments, and how it bridges the gap between systems engineering and DevOps. Hailey also reflects on her path to becoming an MVP, her experiences at MMS, and the importance of mentorship, collaboration, and authenticity in the tech community.
  • Building Toast Notifications in PowerShell with BurntToast v1
    Josh King will show us how to build custom toast notifications for your users, explore the latest features in BurntToast v1, and see practical examples you can use in your scripts today. Whether you want to alert users about updates, display automation results, or just have some fun with PowerShell pop-ups, then this session has you covered.

Fun

Events

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

 

Announcements!

  • PowerShell 7.6.0 Preview 5 Release
    The latest preview version of PowerShell was released beginning this month. In this small blog post, I will highlight the critical changes and updates from the release notes.

Blogs, Articles, and Posts

  • The Zip Epiphany
    More files are zip files than you might think.
  • Auditing Password Reuse in On-Premises Active Directory with PowerShell and DSInternals
    Introduction Password reuse among privileged accounts represents one of the most critical security vulnerabilities in on-premises Active Directory environments. When multiple privileged accounts share the same password, a single compromise can cascade across your entire infrastructure. In this post, I’ll demonstrate how to audit your Active Directory environment for shared passwords using PowerShell and the DSInternals module.

Projects, Scripts, and Modules

  • Set-PowerShellScriptSig 1.0.1
    A module to make signing scripts easier
  • Implement a FileSystemWatcher in PowerShell
    Monitors a file system path for changes and executes a script block in response to specified events.
  • v0.0.20 EntraFIDOFinder is out
    4 New keys have been added and a few changes in capabilities! New Keys: Updated Keys: How have your FIDO2 implementations been going? Would love to hear your stories!
  • Glass v 0.1
    Get, read, and write invisible glass text. This module is meant for educational purposes and to assist responsible professionals in the discovery of glassware.

Books, Media, and Learning Resources

  • PoshBytes: Select-Object With Custom Properties
    Because Plain Properties Are Boring
  • Automating Microsoft 365 with PowerShell November 2025 Update
    The November 2025 update for the Automating Microsoft 365 with PowerShell eBook is available online. Subscribers can download the new PDF and EPUB files from their Gumroad account. As always, the update features a mixture of new and updated information, some corrections, and removal of obsolete information. Look no further for guidance about using PowerShell with the Graph APIs to interact with Microsoft 365 data!

Community

  • PSConfEU MiniCon 2025
    Check out a bunch of the great content from PSConfEU MiniCon 2025.
  • PowerShell Lightning Demos from the Community
    Over an hour of quick demos.
  • Learning, Leading, and Logging with Constantin Hager
    PowerShell community leader Constantin Hager joins The PowerShell Podcast to talk about his favorite tools and journey from discovering PowerShell to organizing user groups and speaking at major conferences. He talks about his early inspiration from PowerShell Conference Europe, his involvement with open-source projects like PSFramework and AutomatedLab, and how mentorship and community involvement shaped his career. Constantin also discusses building a portable VS Code setup for his company, leading a PowerShell team, and mentoring the next generation of IT professionals.

Events

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

 

Blogs, Articles, and Posts

  • PowerShell 7 Support Arrives for the Granfeldt PowerShell Management Agent
    For over a decade, the Granfeldt PowerShell Management Agent (PSMA) has been the bedrock for bespoke identity integration within Microsoft Identity Manager (MIM) and its predecessor, Forefront Identity Manager. It provides the essential bridge between the MIM Synchronisation Service and virtually any target system accessible via PowerShell.
  • Automate Applocker configuration for Intune
    I wrote a post a while ago about automating the creation of the Applocker policy for intune. You can find it here. This post is a prequel to that post. This post shows you how to automate your Applocker configuration which you can upload with the previous post to Microsoft Intune.
  • Creating a Comprehensive Inactive Guest Account Report
    Many examples of how to report inactive guest accounts are available on the internet, but they're all flawed because they make decisions based on the last sign in. That's a shortsighted method because it doesn't take guest activity into account. This article explains how to combine audit data with sign-in data to create an enhanced view of guest account activity so that intelligent decisions can be made to keep or retain the accounts.
  • Use Secret Management to Manage Azure Automation Credentials
    Resources are the easiest way to manage credentials for Azure Automation runbooks. The Secret Management module is an alternative, and it's best for shared credentials.
  • Install Linux Subsystem for Windows (WSL) on Windows Server 2025
    This article explains the differences between WSL 1 and WSL 2, how they compare to WSL on Windows Server 2022 and Windows Server 2025, and how to install WSL on Windows Server 2025 using the graphical user interface (GUI) or PowerShell.

Projects, Scripts, and Modules

  • PowerShell.Map v1.0.0
    Interactive map visualization for PowerShell using Leaflet.js and OpenStreetMap. Although usable standalone, this module is primarily designed for Claude Desktop integration via the PowerShell.MCP module, enabling AI-powered map visualization.
  • PowerShellWeb/OpenXML
    Automate OpenXML. Excel, Word, and PowerPoint automation in PowerShell.
  • IntuneMermaid v1.2.0
    This module provides a function to generate a mermaid diagrams for Intune resources
  • PSDates v1.0.6
    The new version of PSDates has been uploaded to the PowerShell Gallery with the new Get-DateSummary and Format-TimeSpan functions.
  • AsBuiltReport.System.Resources v0.1.1
    AsBuiltReport is an open-sourced community project which utilises PowerShell to produce as-built documentation in multiple document formats for multiple vendors and technologies.

Community

  • Authenticity, AI, and the Human Side of Tech with Adil Leghari
    Cybersecurity, automation, and PowerShell advocate Adil Leghari returns to The PowerShell Podcast to kick off Cybersecurity Month. Adil shares insights from his career journey: from PowerShell and automation to identity and now cloud security at Palo Alto Networks. He discusses creating tools like Cyberdle and QR Check, how AI is reshaping cybersecurity, and the importance of empathy, authenticity, and mentorship in tech and community life.

Fun

Events

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

[–] pwshguy@programming.dev 1 points 4 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 5 months ago

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

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

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

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

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

[–] pwshguy@programming.dev 3 points 6 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 6 months ago* (last edited 6 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 10 months 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* (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.

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

Community

  • Kubernetes is Easy with Anthony Nocentino
    In this episode of the PowerShell Podcast, we sit down with Anthony Nocentino, a Senior Principal Field Solution Architect at Pure Storage, to dive deep into the world of Kubernetes. Anthony breaks down what Kubernetes is and how it fits into the modern IT landscape. We explore his fascinating career journey, from consulting and SQL Server to educating the masses on Kubernetes and Linux. Anthony also shares invaluable insights on becoming a force multiplier in your career and the critical role of mentorship and offers sage advice for anyone looking to elevate their professional path.
  • PSSaturday Karlsuhe Call for Speakers
    We are excited to announce that we are looking for speakers for the upcoming PSSaturday in Germany this November! Whether you're a first-time speaker or an experienced presenter, we welcome you to share your ideas. If you have an interesting topic and are willing to speak for up to 45 minutes, we want to hear from you.
[–] pwshguy@programming.dev 1 points 1 year ago

Projects, Scripts, and Modules

Books, Media, and Learning Resources

  • Build a Superfast Research Assistant using PowerShell and AI
    In this episode, I’ll show you how to combine PowerShell with AI to automate tasks, chat with your data, and build intelligent agents—all within your console and scripts.
  • Interactive Data at Your Fingertips: PowerShell AI Converts Data to Interactive HTML
    Transform your data with PowerShell and AI. In this video, Doug Finke, a 15x Microsoft MVP, shows how to use the PSAI module to convert Excel and CSV files into interactive HTML pages. You'll learn how to sort and interact with your data directly in your browser using the new 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.
  • How To PowerShell Code in Docker Containers
    In this video, we guide you through the process of installing and running Docker using PowerShell on Windows. Whether you're a beginner or an experienced developer, this step-by-step tutorial will help you get Docker up and running quickly and efficiently.
[–] pwshguy@programming.dev 10 points 1 year ago

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.

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

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.

https://youtu.be/Do5Ve6M9mmU

view more: next ›