pwshguy

joined 2 years ago
MODERATOR OF
 

Blogs, Articles, and Posts

  • PowerShell Automatic Variables: Special Variables Built into PowerShell
    Learn about PowerShell's automatic variables - built-in special variables that serve specific purposes. Discover how to work with history limits, constants, exit codes, and null values.
  • Install and manage VM watch on Azure Virtual Machines
    Microsoft announced the public preview of VM watch, a new in-VM service designed for Azure Virtual Machines (VMs) and Virtual Machine Scale Sets (VMSS). This service aims to enhance VM health monitoring by offering standardized, lightweight, and flexible in-VM health checks that connect seamlessly with Azure's monitoring and AIOps systems.
  • How to Verify a File Hash (Checksum) on Windows
    Checking a downloaded file’s hash (checksum) allows verifying its integrity and ensuring that the file contents have not been modified. Administrators commonly use MD5/SHA256 checksum verification for downloaded OS distros…
  • Use PowerShell to check if (shortened) URL link is safe
    It just happens a lot: you receive a (shortened) URL and are unsure if it's safe to open. Sometimes, I open it in Windows Sandbox or use the urlscan.io website. In this blog post, I will show you how you can automate the check of a URL and see if it's safe or not :)
  • Activating PIM Roles that require MFA or Conditional Access Authentication Context with PowerShell
    For some time, I’ve been activating and scheduling activations for Azure roles under Privileged Identity Management (PIM) using the Microsoft Graph PowerShell SDK. However recently we secured these role activations to require a conditional access authentication context with MFA. This basically requires me to MFA when I activate a role with PIM. Problem is, by … Continue reading Activating PIM Roles that require MFA or Conditional Access Authentication Context with PowerShell →
  • Loading PowerShell Custom Functions: Profiles, Dot-Sourcing, and Modules
    PowerShell is a versatile scripting environment that allows users to extend its capabilities by creating custom functions. Once written, you can load these PowerShell custom functions into your session or environment for reuse. Here are four common methods to load custom functions in PowerShell.

Projects, Scripts, and Modules

Community

  • Jordan Returns: A Fun Dive into Life, PowerShell, and Beyond
    In this special episode, we catch up with our former cohost, Jordan, and hear about his journey since leaving the PowerShell Podcast. Jordan shares an exciting life update, offers invaluable advice on how PowerShell has shaped his career and participates in our fun "This or That" segment.

Fun

Events

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

 

Announcements!

Blogs, Articles, and Posts

  • How to Query REST APIs with PowerShell: A Practical Guide
    Learn how to use PowerShell to query REST APIs, parse JSON responses, and build a reusable tool for working with web services. This hands-on tutorial covers Invoke-RestMethod, error handling, and creating custom output objects.
  • GitHub Actions and PowerShell: The Underdog
    Remember how I mentioned how GitHub actions are underrated? I’m going to show at a high level how GitHub Actions with PowerShell can save you time and be more efficient. What does it do? It does that automatically once every day, I could do it more, but didn’t think it was necessary.
  • PowerShell Copy-Item with Folder Structure
    In this tutorial, I will explain how to use PowerShell’s Copy-Item cmdlet to copy files and folders while maintaining their original structure. This is a common task for system administrators and developers who need to manage file systems efficiently. You will learn here how to use the PowerShell Copy-Item cmdlet to efficiently copy files
  • Using the Fluent Theme in WPF with PowerShell and .Net 9
    For a long time, adding a modern design theme to your WPF project typically meant adding a 3rd party library to provide the styling, such as MahApps Metro, or WPF UI. With the release of .Net 9, a Fluent theme is finally coming to WPF! There are still areas where 3rd party libraries will be … Continue reading Using the Fluent Theme in WPF with PowerShell and .Net 9
  • Conditional Access Gallery - Point, Select, and Deploy in Minutes
    With my new Conditional Access Gallery tool Invoke-DCConditionalAccessGallery in DCToolbox you can pick and choose from any of 25+ available Conditional Access templates included, and the tool will auto-deploy them in your tenant (report-only mode), automatically create all dependencies like groups, named locations, and terms of use agreements, and finally document your new policy design
  • Upgrading your Azure Function Apps to run on PowerShell 7.4
    PowerShell language worker for Azure Functions. Contribute to Azure/azure-functions-powershell-worker development by creating an account on GitHub.

Projects, Scripts, and Modules

  • PowerHuntShares
    PowerHuntShares is an audit script designed in inventory, analyze, and report excessive privileges configured on Active Directory domains.

Books, Media, and Learning Resources

  • PwshSpecteConsole with Shaun Lawrie
    Shaun Lawrie talks to the Pacific Powershell User Group about PwshSpectreConsole.
  • GitHub Pages with PowerShell
    The Pacific Powershell User Group talks about GitHub Pages and PowerShell and demonstrates PSJekyll.
  • Get-EventSession
    Script to assist in downloading Microsoft Ignite, Inspire, Build or MEC contents or return session information for easier digesting.

Community

  • Growth, Grit, and Community with Steven Judd & Kevin Laux
    In this episode of the PowerShell Podcast, we sit down with Steven Judd and Kevin Laux for insights and inspiration from the PowerShell community. Steven shares his experiences overcoming the hurdles of live demos, recounts the highlights of PowerShell Saturday NC, and reveals the story behind his iconic bling and love for puns. He delves into the importance of "practice makes progress," encouraging listeners to embrace growth through consistent effort. Kevin Laux joins the conversation to discuss his journey with PowerShell, his role with the Research Triangle PowerShell User Group (RTPSUG), and the impact of community involvement.

Fun

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

 

Blogs, Articles, and Posts

  • Powershell and the Left Hand Side
    A new article, to talk about an important notion in Powershell, the Left Hand Side (LHS) notion.
  • Manage PIM Role Assignments with PowerShell
    This article describes how to create eligible and active PIM role assignment requests using cmdlets from the Microsoft Graph PowerShell SDK.
  • How to install PowerShell 7 and essential tools on macOS
    As you prepare for the OnRamp track at the PowerShell + DevOps Global Summit, this guide walks you through installing the essential tools on your macOS system, if that's your preferred operating system. You'll learn to install PowerShell version 7, Visual Studio Code, and the PowerShell extension for VS Code to ensure your system is prepared for the event.
  • GitHub and PowerShell: The Underdog
    Remember how I mentioned how GitHub actions are underrated? I’m going to show at a high level how GitHub Actions with PowerShell can save you time and be more efficient. What does it do? It does that automatically once every day, I could do it more, but didn’t think it was necessary.
  • Install and enable SSH on Windows Server 2025
    Windows Server 2025 comes with SSH pre-installed, making secure remote server management easier for administrators. This is especially helpful when accessing servers from macOS or Linux machines or Windows computers not part of the Active Directory domain, as enabling PowerShell remoting can be complicated in this scenario. By default, SSH on Windows Server 2025 uses password authentication, which you should change to public key authentication for enhanced security.
  • Introducing a Custom 'map' Function in PowerShell for Functional Programming
    I built the custom map function to enable processing multiple arrays with ease. Simplify your scripts by applying transformations simply and flexibly.
  • How Can You Effortlessly Restart or Shutdown Windows Using PowerShell Commands?
    In Windows PowerShell, you have two main commands for controlling shutdown and restart functions: Restart-Computer and Stop-Computer. Each command can
  • New PowerShell Threat: Infiltrating Networks with Advanced Techniques
    In a recent discovery, Cyble Research and Intelligence Lab (CRIL) detailed a complex, multi-stage PowerShell campaign that employs several advanced techniques to infiltrate networks, maintain persistence, and enable covert communications.

Projects, Scripts, and Modules

  • CMHealthcheck v 1.0.30
    ConfigMgr healthcheck reporting
  • linuxtools v 1.0.12
    An experimental PowerShell module for Linux nerds. Because: why not?
  • PSBluesky
    A set of PowerShell 7 commands that use the BlueSky API. You can skeet and upload images from a PowerShell prompt as well as view your feed and timeline.

Community

Fun

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

 

Blogs, Articles, and Posts

Projects, Scripts, and Modules

Books, Media, and Learning Resources

Community

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

 

Announcements!

Blogs, Articles, and Posts

  • GitHub Copilot in Windows Terminal
    GitHub Copilot users can now use the power of GitHub Copilot to get command suggestions and explanations without leaving the terminal with Terminal Chat in Windows Terminal Canary 🚀 This is available for all GitHub Copilot Individual, Business, and Enterprise customers. To get started, sign up for a GitHub Copilot free trial and check out […]
  • Creating an AWS SSL Certs from Scratch (CLI and PowerShell)
    Learn how to create SSL certificates in AWS Certificate Manager using the AWS CLI. This tutorial walks through setting up permissions, requesting a certificate, and verifying its creation.
  • Export Complex PowerShell Objects to CliXML: A Practical Guide
    Learn how to export complex, nested PowerShell objects to CliXML while preserving their structure and relationships. Follow along with a real-world example using workout program data.
  • Dell Command Update – Install & Manage via PowerShell
    So if you haven’t read my last post yet, Dell Command Update – pulling back the curtains – GARYTOWN ConfigMgr Blog, you should, as I go into how Dell Command Update (DCU) gets it’s feed of information under the hood. That is the basis for a lot of things I’ll be doing. In this post, ... Read more
  • Popping Toast Notifications in PowerShell Core
    If you’ve ever popped a toast notification in PowerShell using the Windows Runtime (WinRT), you’ve probably discovered that, whilst it works fine in PowerShell 5, it doesn’t work at all in PowerShell Core (5/6/7+). That’s because the WinRT assemblies are not included in PowerShell Core – WinRT is an exclusively Windows thing
  • Powershell - Managing disks, partitions and volumes
    How to manage disks, partitions and volumes in Powershell
  • How to bypass Microsoft Graph PowerShell access restrictions
    Learn how to bypass Microsoft Graph PowerShell access restrictions and gain full directory access using PowerShell.

Projects, Scripts, and Modules

  • Show-PSRunObject: function to inspect objects
    Example function to inspect objects interactively. It shows what methods and properties the passed object has. You can go down/up the object hierarchy with key presses.
  • WinPostInstall
    Windows Post Install script written in PowerShell
  • PSBluesky
    If you are a Bluesky user, I'm working on a PowerShell module so that you can do things like post from a PowerShell prompt. Not ready to publish to the PSGallery, but the module is stable enough for you to kick the tires.
  • PSAPIClient v 1.1.0
    This Powershell module is a wrapper for the use of one or more API(s). Each API can be configured and addressed independently. This allows easy use of multiple APIs within a session.

Books, Media, and Learning Resources

  • Learning PowerShell using Microsoft Learn
    This week, I posted a link to the PowerShell courses/learning paths on Microsoft Learn for PowerShell; I did that because there is so much material to learn from and use as a reference/help system. In this blog post, I will show you your options at Microsoft Learn to improve your PowerShell skills.

Community

Fun

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

 

Blogs, Articles, and Posts

  • Automating VM Deployment in Azure with PowerShell
    Learn how to automate the deployment of a Windows VM on Azure using PowerShell. This guide covers network setup, NSG rules, and IIS installation.
  • Get Active Directory ports with PowerShell
    Active Directory services communicate over specific ports needed for authentication, replication, and other directory services. Knowing these ports is crucial for configuring firewalls, ensuring secure communication, and troubleshooting network issues related to Active Directory services. This post will teach you how to get the Active Directory ports with PowerShell.
  • How to Set Directory Synchronization Features with the Graph
    Directory synchronization features control how the Entra Connect tool works when synchronizing accounts from Active Directory to Entra ID. The current advice is to use a cmdlet from the depreciated MSOL module to update settings. This article explains how to do the job with the Graph APIs, including cmdlets from the Entra PowerShell module.
  • Automating Sign-In Analysis with PowerShell and Microsoft Graph
    In this article, we'll walk through how to explore and analyze Conditional Access data in Microsoft Entra using the Developer Tools in your browser. The purpose of this walkthrough is to demonstrate how you can identify and extract the necessary Microsoft Graph API calls directly from the Entra portal, providing a foundation for automating this process with PowerShell.
  • List all EEEU and Anonymous links for SharePoint and OneDrive!
    A colleague of mine asked me before the weekend if I knew if there was a way to list all Everyone Except External Users and Anonymous links for OneDrive for Business. He had written a PowerShell script but had some errors.
  • Practical PowerShell: The Dark Power of Dynamic Parameters
    In this episode of Practical PowerShell, we dive into the dark power of dynamic parameters, and how to use them within in functions and scripts.

Projects, Scripts, and Modules

Community

Events

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

 

Blogs, Articles, and Posts

  • Convert to Azure Premium SSD v2 Disks with PowerShell
    Azure Premium SSD v2 disks, currently in public preview, provide enhanced throughput and IOPS at a lower cost than earlier versions. You can convert existing disks to Premium SSD v2 using PowerShell. However, it's crucial to understand the specific limitations and requirements beforehand.
  • Manage Your SharePoint Online Environment with PnP PowerShell
    In this article, we explain how to get started using PnP PowerShell, and review some practical examples of where the module can immediately add value for tenant administrators.
  • Duplicate Drivers from a ConfigMgr Boot Image
    When creating new boot images in ConfigMgr, you often want to copy drivers from an older boot image. If you have many drivers added, it's way quicker to do that in PowerShell compared to comparing drivers in the boot image drivers tab.
  • Query WinGet software installer data with PowerShell
    I'm a big fan of WinGet, and the software available in their ecosystem is growing daily. Still, I'm always curious about what WinGet will download and how it does the silent install of the specified software. In this blog post, I will show you an easy way of retrieving that data :)
  • Automating Performance Monitor in Windows
    For advanced scenarios where you need to automate running Perfmon at scale
  • Type less by using PowerShell type accelerators
    I had heard the PowerShell term “type accelerators” a few times, but never really knew what that meant. I finally decided to check out the about_Type_Accelerators docs and it turns out they’re simply aliases for .NET types.

Projects, Scripts, and Modules

Books, Media, and Learning Resources

Community

  • Exploring Redfish Protocol, Data Science, and PowerShell with Blake Cherry & Danny Stutz
    In this episode of the PowerShell Podcast, I sit down with Blake Cherry to discuss the Redfish Protocol and its impact on simplifying data center hardware management, drawing insights from his talk at PowerShell Saturday, NC. We explore how Redfish is reshaping IT systems at scale. I also speak with Danny Stutz, who dives into the intersection of PowerShell and Data Science, covering topics like AI, data analysis, and K-means clustering, all applied to real-world use cases using PowerShell. Whether you're managing hardware or looking to integrate advanced data science techniques into your scripts, this episode has something for everyone!
  • OpenAI for PowerShell with Doug Finke
    You should be writing tests for your PowerShell scripts... but how to get started? Doug talks to RunAsRadio about using ChatGPT and GitHub Copilot to explore different aspects of PowerShell, including testing!

Events

  • PowerShell AI Build Hour - Doug Finke
    Friday, October 25, 2024 at 12:30 PM EDT - Ready to go from zero to app hero? I'll live demo building an app using the new OpenAI Canvas—the interface that transforms writing and coding into an interactive adventure. This isn't just chat; it's creating real-world projects, start to finish.

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

 
 

Blogs, Articles, and Posts

Books, Media, and Learning Resources

Community

  • Culinary to Command Line: Catching Up with Drew McClellan
    In this episode of the PowerShell Podcast, we welcome back the "bestsest in the midwestest" Drew McClellan, who shares his recent promotion from Jr. Sysadmin to SysAdmin II. Drew talks about how he uses PowerShell in his daily role, tackling new software implementations and projects, and his approach to continuous learning. We also dive into how the OnRamp experience at PowerShell Summit helped prepare him. As a bonus, Drew, a chef for 10 years, dishes out some recipe recommendations to Andrew!
  • Shorten The Code - Results and Learnings with Well-known Community Members
    Xavier Clinquart from the Belgian PowerShell User Group has analyzed all scripts, and now it is time to take a look at the best ones. Together with well-known members of the PowerShell community, we will talk about the results and learnings of this fun competition.

Fun

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

 

Blogs, Articles, and Posts

  • Restore classic context menu in Windows 11 Explorer using Group Policy or PowerShell
    Alongside the revamped Start Menu, one of the most noticeable changes in Windows 11 is the redesigned context menu in File Explorer. However, these modifications are not merely aesthetic – they also restrict its functionality. You can deploy a registry key using Group Policy Preferences to restore the classic context.
  • How to Create Azure Service Principals in PowerShell
    Learn how to create Azure service principals using PowerShell, enabling secure automation for managing Azure resources like virtual machines.
  • Microsoft Retires the Revoke-SPOUserSession Cmdlet
    Unsurprisingly, Microsoft announced the deprecation of the Revoke-SPOUserSession cmdlet for November 2024. The cmdlet is replaced by the Revoke-MgUserSignInSession cmdlet, which works across Microsoft 365 rather than just SharePoint Online. All of this happened while the 2nd annual PowerShell Script-Off happened at TEC 2024 and competitors struggled with what to do to secure a user account for an ex-employee.
  • GitHub Copilot Password Warning
    Did you know that GitHub Copilot is now sensing hard coded credentials and giving you a warning? It’s not perfect, but even if something looks like hard coded creds it will flag it, as on another script I had, it contained numbers that looked like they could be private, and it gave me a warning
  • Using Get-Content in PowerShell
    I use Get-Content a lot (or cat, gc, and type as its alias) to display or track the contents of a file. There are different parameters for it, and in this blog post, I will show you what you can do with those :)
  • Customize your Windows 11 (23H2 and onwards) taskbar during OSD with ConfigMgr using just PowerShell
    Approximately two years ago, I authored a blog post detailing how to customize the taskbar in Windows 11.
  • Running PSScriptAnalyzer in GitHub Actions
    I was working on a project recently that has some PowerShell scripts and I wanted to add some kind of linting for PRs, as you do. The go-to for PowerShell seems to be PSScriptAnalyzer and it's something I've already setup in VS Code. Great! The next step was to setup
  • PowerShell Potluck - September 2024
    Welcome back to another PowerShell Potluck, and you didn't have to bring a thing, other than a little curiosity and a willingness to try new things.

Projects, Scripts, and Modules

  • EntraFIDOFinder – New PowerShell Module
    After so much interest from my post on Friday, I figured I’d do one better and make a PowerShell module that does it for you. So now you will be able to find which FIDO2 keys are attestation compatible with Entra right from your terminal. In the very near future I will have individual functions

Books, Media, and Learning Resources

Community

  • PowerShell + DevOps Global Summit 2025: Call for Papers Now Open!
    PowerShell + DevOps Global Summit 2025: Call for Papers Now Open! Calling all innovators, problem-solvers, and thought leaders in the PowerShell and DevOps realm!
  • Spectre Console and TUI Magic with Shaun Lawrie
    On this episode of The PowerShell Podcast, we sit down with Shaun Lawrie to discuss terminal user interfaces (TUIs) and his work on the PWSHSpectreConsole project. Shaun shares insights into the world of TUIs, offers valuable career advice, and talks about his journey in tech. Tune in for practical tips and an in-depth look at what it takes to thrive in the PowerShell ecosystem.

Fun

  • PowerShell ASCII Art
    I posted my Windows Terminal this week on social media channels, including LinkedIn, and received some responses about the login banner screen. In this blog post, I will show you an easy way to pimp your PowerShell Console ;)

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

 

Blogs, Articles, and Posts

  • Build dynamic JSON with PowerShell
    I recently did a Contacts Sync with GRAPH Api and PowerShell to create Contacts in a Shared Mailbox and USer Contact Folder. At this time, it was needed to build dynamic JSON related to existing Values, so I looked for some posts on how to build dynamic JSON with PowerShell.
  • How to install PowerShell 7 and essential tools on Linux
    As you prepare for the OnRamp track at the PowerShell + DevOps Global Summit, this guide walks you through installing the essential tools on your Ubuntu Linux system if that's your preferred operating system. You'll learn how to install PowerShell version 7, Visual Studio Code, and the PowerShell extension for VS Code to ensure your system is prepared for the event. If you're using Windows 11, refer to the companion article, How to install PowerShell 7 and essential tools on Windows 11. A future article covers installations on macOS.
  • Installing the Entire Microsoft Graph PowerShell SDK Seems Like the Right Idea
    An article described some benefits that could be gained from not installing the complete Microsoft Graph PowerShell SDK. The question is whether the claimed benefits are more theoretical than actual. It’s hard to say because it all depends on how someone uses the SDK for development or to run scripts. Anyway, it’s a topic worth discussing.
  • How to Authenticate to Azure Using PowerShell (User and Device Authentication)
    Learn how to authenticate to Azure using PowerShell, including module installation, interactive and device login methods, verifying sessions, and managing multiple subscriptions.
  • Passkey Provider AAGUIDs PowerShell Module
    The FIDO2 specification requires each security key vendor to provide an Authenticator Attestation GUID (AAGUID) during registration. An AAGUID is a 128-bit identifier indicating the key type, such as the make and model. Passkey providers on desktop and mobile devices are also expected to provide an AAGUID during registration.
  • PowerShell Confirm Parameter: Best Practices for Safe Scripting
    The PowerShell Confirm parameter is an essential safeguard that prompts users before performing potentially destructive actions. This article will explore how to implement the -Confirm parameter in custom PowerShell functions to make them more robust and user-friendly. What is the PowerShell Confirm parameter?
  • Outlook Email Mover
    The way I manage my email might seem a bit strange. Due to working in IT, I get lots of emails. Some emails need action, some are regular emails, and some are notifications I want to know about as soon as they happen. I feel like a normal person would make an Outlook rule to…
  • SQL Query Stats via Powershell
    Checking query runtimes via PowerShell

Projects, Scripts, and Modules

  • PowerShellRun
    Terminal Based Launcher and Fuzzy Finder for PowerShell.

Books, Media, and Learning Resources

Community

  • Innovating with PowerShell: Micah Shonyo’s Path to C# Mastery
    In this episode of the PowerShell Podcast, we sit down with Micah Shonyo to explore his inspiring journey into PowerShell, from his early days learning the language to his current projects. We dive into the story behind his Microsoft Cluster Management module, discussing what motivated him to create it and how it helps sysadmins. Micah also shares how learning PowerShell opened the door for him to start using C#, blending scripting with development to elevate his technical skills. We wrap up the conversation with insights into his career goals and aspirations for the future.
  • Inside IT Automation E16
    The History of PowerShell with Jeffrey Snover

Fun

Events

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

 

Blogs, Articles, and Posts

  • Get-Mailbox Versus Get-ExoMailbox
    Microsoft's advice is to use the Get-ExoMailbox cmdlet instead of its older Get-Mailbox counterpart. Generally, this is good advice that you should follow. However, the older cmdlet can do a job in certain circumstances, so don’t write it off completely. More importantly, make sure that filtering of objects is done using server-side filters. This will improve script performance significantly.
  • Simple Tip for GitHub Copilot
    If you have GitHub Copilot, you may or may not know about this little tip, but wanted to let you know just in case. It has saved me so much time and it can be applied to a lot of scenarios.
  • Query the required permissions of a Microsoft Graph cmdlet
    Microsoft Graph can be difficult sometimes. There are loads of PowerShell Microsoft Graph Modules and cmdlets that require different permissions. In this blog post, I will show you how to query the permissions for a cmdlet, multiple cmdlets, or all cmdlets from a specific Microsoft Graph module.
  • Exploiting Exchange PowerShell After ProxyNotShell: Part 3 – DLL Loading Chain for RCE
    As you may know, I recently presented my Exchange-related talk during OffensiveCon 2024. This series of 4 blog posts is meant to supplement the talk and provide additional technical details. In this article, part 3 of the series, I describe a chain of 3 vulnerabilities that led to remote code exec
  • Attacking PowerShell CLIXML Deserialization
    In this article, we will learn that using PowerShell’s CLIXML deserialization could lead to undesired effects, including remote code execution. We will also see that widely used solutions, like PowerShell Remoting and PowerShell Direct (Hyper-V), rely on such deserialization and could make you vulnerable to this kind of attack.

Projects, Scripts, and Modules

  • Tabby
    Tabby (formerly Terminus) is a highly configurable terminal emulator, SSH and serial client for Windows 10, macOS and Linux

Books, Media, and Learning Resources

  • PowerShell Advanced Functions: Getting Started Guide
    Advanced functions take your PowerShell development to the next level, letting you create cmdlet-like scripts with advanced features. In this article, we’ll dive into what makes cmdlets and advanced functions essential in PowerShell, with examples and tips to help you master them. What is a cmdlet? A PowerShell cmdlet (pronounced “command-let”) performs a specific task
  • PnP PowerShell Changed!!! ACT NOW
    In this video, I will show you about a big change in the way PnP PowerShell will work going forward. You might be facing an issue right now when you are working with PnP PowerShell. Watch this video to know how you can resolve this and get going.
  • Harness AI to Analyze Your Workflow with Custom PowerShell Scripts
    In this video, Doug Finke, a 16-time Microsoft MVP, showcases his PowerShell function GetWhatIWorkedOn. This tool helps you effortlessly track and summarize the files you've worked on over any specified period. By scanning multiple directories, it lists all the files you've modified, giving you a clear picture of your recent activities.

Community

  • Building Modern PowerShell Solutions: Justin Grote on TUIs, .NET, and Module Magic
    In this episode, we chat with Justin Grote about his work with PwshSpectreConsole and the power of TUIs in PowerShell scripting. Justin takes us through his impressive collection of PowerShell modules—ModulePath, GallerySync, and ModuleFast—and how they enhance the PowerShell experience. We also explore the advantages of .NET's Common Language Runtime (CLR) in PowerShell, using Spectre.Console as a prime example. Finally, Justin shares his thoughts on transitioning from Windows PowerShell to PowerShell 7 and the performance and feature benefits that come with the upgrade.
  • Scriptember Live: "PowerShell Is Fun - Episode 2" with Microsoft MVP Harm Veenstra
    In this live stream, we'll talk about how to have fun with PowerShell while improving IT automation tasks and processes.

Fun

  • Friday the 13th PowerShell Fun
    Well here are once again and another Friday the 13th. I love these days because I feel challenged to come up with 13 PowerShell related tidbits which I hope you'll find fun and maybe even a little educational. Manage and Report Active Directory, Exchange and Microsoft 365 withManageEngine ADManager Plus - Download Free Trial Exclusive...

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

[–] pwshguy@programming.dev 6 points 2 years ago

That's pretty similar with what happened with me and the train. Kept getting random drops from a plant. I went out to investigate and everything tested perfect and the network was staying up. That was until a freight train rolled by. Turns out AT&T had run the line by shoving a piece of PVC through the gravel between two cross-ties, then running the cable through it.

[–] pwshguy@programming.dev 19 points 2 years ago (2 children)

I've actually had an excavator take out my network. I've also had networks taken out by forklift, train, and a semi-truck towing three other semi-trucks.

[–] pwshguy@programming.dev 20 points 2 years ago (3 children)

Basically every Windows sysadmin is indebted to Mark Russinovich and SysInternals. Fortunetly, PowerToys has come a long way because I'm pretty sure sysinternals haven't been updated since Windows XP.

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

I've been using WordPress on Bluehost for a few years. I'm looking to move to something like Jekyll. Pretty much everything I get from WordPress can be done with a like JavaScript and Jekyll. There are plenty of examples out there of building it off of GitHub actions.

I also do NOT recommend Bluehost. I was having issues with my site going down for no reason a while back. I contacted their support to see what was going on and they told me it wasn't on their end. And guess what, it was on their end. Ended up catching the guy in a lie. Just been trying to find the time to move everything off of them.

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

James Brundage's code never fails to impress me. He writes a lot of code that helps you write better PowerShell. Which in turn has a bunch of slick techniques I've never seen elsewhere. https://github.com/StartAutomating

[–] pwshguy@programming.dev 4 points 2 years ago

Been there. I've written some slick code in a weekend that has run great for years. I've also spent 2 hours trying to get a button lined up properly.

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

I kind of do both. I have a powerful desktop with 4 monitors. I can't stand working on a single laptop screen unless I'm traveling. And I also want to keep work separate. So, I have my laptop sitting next to my PC and I just RDP into it. This way all 4 screens are work only stuff when I'm working. Then at the end of the day I can just disconnect the session and have my personal stuff. I also have ADHD, so I try not never leave the work session during work times. I've been working from exclusively for about 6 years now and it has been the best system I've tried.

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

I come from the windows world with a strong background in PowerShell, and this article perfectly described my experiences with Python.

I spent 2 weekends trying to get JupyterHub up and running with the dotnet interactive kernels. And it all came down to ensuring that the right packages got installed at the right levels. Between the system, conda, and pyenv. And this is not the first time I've run into such problems.

I know it said anaconda is the worst offender, but honestly I wish there was a similar solution for PowerShell. I love the self-contained environments. It makes experimenting so much quicker and easier. But there is a learning curve.

And he right. I got so frustrated trying to figure out pip vs conda vs conda-forge vs pip3 vs pipx. For someone who only casually delves in python, it can be real off-putting.

However, nothing to me is more frustrating than running into package XYZ updated and now package ABC won't load. XYZ now requires python 3.10, but ABC can only run on 3.9 and below, etc. I have rage quit more than a few projects over stuff like that.

So, as someone who only dabbles in python, my number one suggestion is to use requirements files and put version number requirements in them. And if your project has some out of the ordinary combination and you use conda, provide a brief rundown of how to install and enable it. Those few lines in your readme could make all the difference for python noobs/hacks like me.

[–] pwshguy@programming.dev 5 points 2 years ago

I've used ChatGPT and Copilot to help with PowerShell in the past. For the most part I've found it, okay. But I can definitely see how that could happen. I've had a few instances where is tried giving me cmdlets that don't exist. This means it is just taking pieces of code from someone else's project and not understanding how it all fits together. So, if I search that cmdlet there is no telling the number of results I could get from good, bad, or irrelevant sources. It would be better if it told you where that code came from. Then I could look at the original source and see if they created custom functions that these AI are considering to be built-in cmdlets.

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

That is exactly how I got my start in PowerShell too. Working as a sysadmin, if there was a task I had to do more than twice, I automated it. I started with VBS, and dabbled in PowerShell 2.0, then made the full switch when 3.0 came out. Haven't looked back since.

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

I must say I love the work you've done with Windows Terminal. Being able to have separate tabs for PowerShell, Windows PowerShell, WSL, CMD, and now Cloud Shell has been a game changer. I've been watching each release closely.

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

Might have to do with u/rmayayo not announcing or really saying anything

view more: ‹ prev next ›