## Blogs, Articles, and Posts - [Restore classic context menu in Windows 11 Explorer using Group Policy or PowerShell](https://4sysops.com/archives/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](https://adamtheautomator.com/powershell-service-principals/) \ 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](https://office365itpros.com/2024/10/04/revoke-spousersession-deprecation/?utm_source=rss&utm_medium=rss&utm_campaign=revoke-spousersession-deprecation) \ 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](https://clatent.com/2024/10/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](https://powershellisfun.com/2024/10/03/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](https://www.imab.dk/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](https://horrell.ca/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](https://buttondown.com/behind-the-powershell-pipeline/archive/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](https://clatent.com/2024/09/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 - [Common PowerShell Commands You Will Use As A System Administrator](https://www.youtube.com/watch?v=p7i1d07skSI) \ Are you ready to level up your PowerShell skills? In this video, we’ll cover 10 essential PowerShell commands every IT pro, sysadmin, and developer should know. These commands will streamline your scripting, automation, and everyday tasks on Windows. - [What are the different Help commands available out of the box using PowerShell?](https://www.youtube.com/watch?v=q5BekhocHIQ) \ This video provides a basic introduction on all the help commands available in Windows PowerShell. ## Community - [PowerShell + DevOps Global Summit 2025: Call for Papers Now Open!](https://powershell.org/2024/09/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](https://powershellpodcast.podbean.com/e/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](https://powershellisfun.com/2024/09/27/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](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

4
0

## Blogs, Articles, and Posts - [Build dynamic JSON with PowerShell](https://www.techguy.at/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](https://mikefrobbins.com/2024/09/26/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](https://office365itpros.com/2024/09/24/microsoft-graph-powershell-sdk-code/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-graph-powershell-sdk-code) \ 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)](https://adamtheautomator.com/powershell-azure-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](https://blog.darrenjrobinson.com/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](https://jeffbrown.tech/powershell-confirm-parameter/?utm_source=rss&utm_medium=rss&utm_campaign=powershell-confirm-parameter) \ 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](https://thedxt.ca/2024/09/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](https://flxsql.com/2024/09/22/query-timing-powershell/) \ Checking query runtimes via PowerShell ## Projects, Scripts, and Modules - [PowerShellRun](https://github.com/mdgrs-mei/PowerShellRun) \ Terminal Based Launcher and Fuzzy Finder for PowerShell. ## Books, Media, and Learning Resources - [Master Regex in Powershell: Replace all but first character!](https://www.youtube.com/watch?v=S0AK-JPyK0A) \ Learn how to use Regex in Powershell to replace all but the first character of a match in this tutorial. ## Community - [Innovating with PowerShell: Micah Shonyo’s Path to C# Mastery](https://powershellpodcast.podbean.com/e/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](https://www.youtube.com/watch?v=2nzXbw4miUM) \ The History of PowerShell with Jeffrey Snover ## Fun - [Shorten the Code](https://www.scriptrunner.com/en/scriptember/shorten-the-code) \ You still have a few days left to enter. ## Events - [Do More with PowerShell and au2mator Self-Service Portal](https://www.linkedin.com/events/7239664693185839104/comments/) \ Wed, Oct 2, 2024, 15:30 UTC Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

5
1

## Blogs, Articles, and Posts - [Get-Mailbox Versus Get-ExoMailbox](https://office365itpros.com/2024/09/19/get-exomailbox/?utm_source=rss&utm_medium=rss&utm_campaign=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](https://clatent.com/2024/09/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](https://powershellisfun.com/2024/09/19/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](https://www.zerodayinitiative.com/blog/2024/9/18/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](https://www.truesec.com/hub/blog/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](https://github.com/eugeny/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](https://jeffbrown.tech/powershell-advanced-functions/?utm_source=rss&utm_medium=rss&utm_campaign=powershell-advanced-functions) \ 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](https://www.youtube.com/watch?v=_Hb9WG2MEXE) \ 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](https://www.youtube.com/watch?v=0Bf0iPCiLQA) \ 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](https://powershellpodcast.podbean.com/e/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](https://www.youtube.com/watch?v=2lYmBC4k2Ao) \ 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](https://jdhitsolutions.com/blog/powershell/3579/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](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

8
0

## Blogs, Articles, and Posts - [Recover data from corrupted BitLocker drives with repair-bde and key packages](https://4sysops.com/archives/recover-data-from-corrupted-bitlocker-drives-with-repair-bde-and-key-packages/) \ Activating BitLocker encryption on a drive automatically generates a 48-digit numeric recovery password. This password is crucial if other unlocking methods fail and Windows prompts you with the BitLocker recovery console during startup. - [Practical Graph: Working with Microsoft Lists using the Microsoft Graph PowerShell SDK](https://practical365.com/microsoft-lists-powershell-sdk/) \ Microsoft Lists are a powerful tool for end users to store and manage data stored in SharePoint Online sites. The Microsoft Graph PowerShell SDK includes cmdlets to work with Microsoft Lists and this article explains how to use the cmdlets to add new lists, add items to lists, retrieve data from lists, and remove items from lists. - [My PowerShell for Visual Studio Code extension settings](https://powershellisfun.com/2024/09/12/my-powershell-for-visual-studio-code-extension-settings/) \ I use Visual Studio Code to create and edit PowerShell scripts. The PowerShell Extension from Microsoft has some excellent features that will make your scripts more readable and consistent formatting-wise. In this blog post, I will show you my configuration and the options I use. - [Register an Entra ID Application to Use with PnP PowerShell](https://o365reports.com/2024/09/11/register-an-entra-id-application-to-use-with-pnp-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=register-an-entra-id-application-to-use-with-pnp-powershell) \ As the volume of threats increases rapidly, staying aligned with the recommended practices is essential to enhance security effectively. As part of this, the multi-tenant PnP Management Shell Entra ID app was deleted on September 9, 2024, to improve application security. This change now requires admins to register their own… - [Semi-Dynamic Static PowerShell Function Definitions for a Dynamically Semi-Static World](https://skatterbrainz.wordpress.com/2024/09/12/semi-dynamic-static-powershell-function-definitions-for-a-dynamically-semi-static-world/) \ It’s been a while since I posted anything to my blog. I needed a break. But I needed a break from the break. I hope you don’t mind. This is admittedly an “edge case” scenario. The “need” (with air quotes) for this occurred within fairly uncommon set of circumstances, but I thought the methodology might be useful in other cases. Or maybe not. But if it’s of some help to you, that makes it worth the effort for me. - [WSUS – Cleanup using Powershell with email notification output](https://techygeekshome.info/wsus-cleanup-using-powershell-email-notification-output/) \ If you are using WSUS in your environment, you may want to run a scheduled task to cleanup old updates and compress some of the larger updates to free up space on your server. A good way of doing this is to run a Powershell script which will take care of all your cleanup requirements and as we are using Powershell, we can even get it to send us an email once it is complete with the output information on what the script has managed to clean up. ## Projects, Scripts, and Modules - [Microsoft 365 Licensing Report Script V1.94](https://office365itpros.com/2024/09/12/microsoft-365-licensing-report-194/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-365-licensing-report-194) \ The Microsoft 365 Licensing Report PowerShell script has been upgraded to generate detailed license information and to deal with expired license subscriptions. You can download V1.94 of the script from GitHub. Before attempting to run the licensing report script, take the time to read previous articles to understand the basics of the script and how to generate the files used for pricing information. ## Books, Media, and Learning Resources - [Turn PowerShell Into Your Excel Automation Machine](https://www.youtube.com/watch?v=vxvr4FTkxi8) \ Get ready to see how PowerShell can transform the way you work with Excel. - [Azure Functions & PowerShell](https://www.youtube.com/watch?v=ux9rjrIV8Bg) \ Join me as I discuss PowerShell-based Azure Functions. we will go through local Function development and testing to deploy a Function to Azure and even an Account storage queue-triggered Function that creates a Resource Group and Storage account from a queue message. ## Community - [Behind the Code: Adam Driscoll on PowerShell Universal and Work-Life Balance](https://powershellpodcast.podbean.com/e/behind-the-code-adam-driscoll-on-powershell-universal-and-work-life-balance/) \ In this episode of the PowerShell Podcast, we’re joined by the brilliant Adam Driscoll, the creator of PowerShell Universal. Adam shares exciting insights into the upcoming features and improvements in PowerShell Universal, giving us a sneak peek into what’s on the horizon. - [Inside IT Automation E12](https://www.youtube.com/watch?v=XDFoylX7zI4) \ Harm Veenstra talks about why PowerShell is fun, AI and more - [Inside IT Automation E13](https://www.youtube.com/watch?v=80e6reb1CpU) \ PowerShell & Graph: The Good, The Bad And The Ugly With Damian Scoles ## Fun - [Shorten the Code – Win cool Prizes](https://www.scriptrunner.com/en/scriptember/shorten-the-code) \ Welcome to the ScriptRunner Shorten the Code Challenge! This exciting competition invites PowerShell enthusiasts to demonstrate their scripting prowess by transforming a PowerShell script into concise, efficient code. ## Events - [PowerShell Saturday NC](https://powershellsaturdaync.com/) \ Mark your calendar! - Oct. 5, 2024 Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

8
0

## Announcements! - [Scriptember 2024](https://www.scriptrunner.com/en/blog/scriptember-2024) \ A month-long celebration of PowerShell and its vibrant community ## Blogs, Articles, and Posts - [New in Windows Terminal: Restore buffers, code snippets, scratchpad and regex](https://4sysops.com/archives/new-in-windows-terminal-restore-buffers-code-snippets-scratchpad-and-regex/) \ Windows Terminal unveiled a range of noteworthy features in versions 1.21 and 1.22 Preview, including the capacity to retrieve previous sessions' output buffer upon startup, store code snippets for reuse within the console, and utilize a scratchpad for crafting intricate commands. - [PowerShell: Calculate the total size of Files](https://sid-500.com/2024/09/03/powershell-calculate-the-total-size-of-files/) \ In this post I will show how to use PowerShell to calculate the total size of all files. This will be a short post but maybe a very helpful one. - [Transferring Reusable PowerShell Objects Between Microsoft 365 Tenants](https://office365itpros.com/2024/09/03/tojsonstring-method/?utm_source=rss&utm_medium=rss&utm_campaign=tojsonstring-method) \ People often need to transfer objects or code between Microsoft 365 tenants. When it comes to dealing with objects, the Microsoft Graph PowerShell SDK's ToJsonString method is very useful. The method outputs a string containing JSON content, but only for object properties that have a value. This makes the much easier to use the output as the basis for a template object or as the payload body to create an object in another tenant. - [Get List Item Count in SharePoint Online Using PowerShell](https://o365reports.com/2024/09/03/get-list-item-count-in-sharepoint-online-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=get-list-item-count-in-sharepoint-online-using-powershell) \ In organizations, SharePoint lists are essential for organizing and managing various data, from tracking tasks to managing customer information and inventory. These lists not only streamline collaboration but also ensure that data is easily accessible and well-structured. - [Practical PowerShell Series: Part 6](https://eightwone.com/2024/09/03/practical-powershell-series-part-6/) \ The practicalities of producing PowerShell output and generating logging are other essential scripting elements. No administrator likes to stare at a blank screen, wondering if the command just entered is functioning or not. - [Configuring PowerShell settings using Intune or Group Policy](https://powershellisfun.com/2024/09/05/configuring-powershell-settings-using-intune-or-group-policy/) \ Every Windows device has PowerShell installed by default. (Sadly, it's still only version 5, not version 7.) However, you want to configure the devices' security and log settings. In this blog post, I will show you how to do that using Microsoft Intune or Group Policy. - [Taming My ADHD with Obsidian and PowerShell](https://gilbertsanchez.com/posts/obsidian-and-adhd/) \ Alleviating my ADHD headaches with Obsidian. Periodic Notes and Templater extensions save the day by reminding me of the next step towards my larger goals. - [5 Reasons you should be using PSReadLine](https://www.scriptrunner.com/en/blog/5-reasons-to-use-psreadline) \ Get up to speed and use PSReadLine more often - in his first article for us, author Jeffery Hicks provides his 5 reasons why he recommends using PSReadLine. ## Books, Media, and Learning Resources - [Mastering Time in PowerShell: Measure statistical properties within time spans with PSDates [OC]](https://www.youtube.com/watch?v=CZebaHiPikI&t=5s) \ Unlock the power of time manipulation in PowerShell with the Group-TimeSpan and Measure-TimeSpan cmdlets from the PSDates module! In this video, we'll dive deep into how you can group data by specific time spans and measure statistical properties like sum, average, maximum, and minimum within those groups. Whether you're looking to analyze logs, monitor system performance, or perform data analysis, these cmdlets offer powerful tools to streamline your workflows and enhance your data manipulation skills in PowerShell. Watch now to become a master of time-based data analysis! - [Making Microservices with Docker and PowerShell](https://www.youtube.com/watch?v=IXOk_sLLSvk) \ The Pacific PowerShell User Group talks about making Microservices with Docker and PowerShell ## Community - [Being a Lazy Administrator with Bradley Wyatt](https://powershellpodcast.podbean.com/e/being-a-lazy-administrator-with-bradley-wyatt/) \ In this episode of the PowerShell Podcast, I had the pleasure of chatting with Bradley Wyatt, also known as the Lazy Administrator. We explored his inspiring journey from college dropout to becoming a 5x Microsoft MVP and how he transformed his personal knowledge base into a globally recognized blog that serves as a vital resource for IT professionals. Bradley shares the lessons he’s learned along the way, his passion for automation, and the impact of his work on the PowerShell community. - [Inside IT Automation - E11](https://www.youtube.com/watch?v=ZZAOCiPsFzo) \ Bruno Buyck: Learning PowerShell with Lego ## Events - [Scriptember Live Stream Episode 1](https://www.youtube.com/watch?v=xorTIs3YCp4) \ Scheduled for Sep 11, 2024. In this live stream, we'll talk about how to have fun with PowerShell while improving IT automation tasks and processes. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

4
0

I'm excited to announce the latest update to PSDates is live on the PowerShell Gallery and GitHub. This version introduced two powerful new functions designed to enhance data analysis capabilities in PowerShell! - **Group-TimeSpan**: This new cmdlet allows you to easily group objects by a specified time intervals. Whether you're working with logs, transactions, or any time-based data, you can now quickly organize your data into meaningful time intervals. This makes it simpler to analyze patterns, trends, and performance over time. - **Measure-TimeSpan**: This cmdlet takes the Group-TimeSpan to the next level by measuring statistical properties such as sum, average, maximum, and more within grouped time spans. It's perfect for generating detailed reports, analyzing system performance, or monitoring trends within your datasets. It's available for installation from the PowerShell Gallery ``` Install-Module -Name PSDates ``` [PSDates on GitHub](https://github.com/mdowst/PSDates)

4
0

## Announcements! - [PnP PowerShell Changes Its Entra ID App](https://office365itpros.com/2024/08/29/pnp-powershell-changes-app/?utm_source=rss&utm_medium=rss&utm_campaign=pnp-powershell-changes-app) \ On August 21, 2024, news emerged that the PnP PowerShell module will transition from using a multi-tenant Entra ID app to a tenant-specific app. The change is scheduled for September 9, 2024, which doesn’t leave a lot of time available for developers to review, update, and test PowerShell scripts based on PnP PowerShell. Some extra warning would have been nice. - [Windows Terminal Preview 1.22 Release](https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-22-release/) \ Hello friends, we have a new Windows Terminal Preview release! Windows Terminal Preview 1.22 is a large release that contains new features such as Sixel image support (a LARGE community contribution!), Grapheme Cluster Support, the Snippets Pane, Quick Fixes in CMD, and a new Cooked Read popup in CMD to name a few! - [PowerShell 7.5.0 preview 4 released](https://github.com/PowerShell/PowerShell/releases/tag/v7.5.0-preview.4) \ Download the newest preview release of PowerShell 7.5.0 ## Blogs, Articles, and Posts - [Display Markdown files in PowerShell](https://powershellisfun.com/2024/08/23/display-markdown-files-in-powershell/) \ Creating Markdown files is something that I do regularly, usually in Visual Studio Code or Obsidian. But when working in a Windows Terminal or a standard PowerShell prompt, it's nice to display those .md files in those, too, with all the formatting that Markdown gives you. In this blog post, I will show you how :) - [Powershell Invoke-WebRequest Fails with SSL/TLS Secure Channel](https://garytown.com/powershell-invoke-webrequest-fails-with-ssl-tls-secure-channel) \ TLDR make sure your system time is correct in Windows & BIOS Ok, this has been well documented around the internet, and the typical answer is: Powershell Invoke-WebRequest Fails with SSL/TLS Secure Channel – Stack Overflow However today I was really annoyed because that was already built into my script - [How to make your Windows ssh keys available to git in WSL ](https://mastodon.social/@The2Ring/113028422176832747) \ A neat little trick. ## Projects, Scripts, and Modules - [Mastering Active Directory Hygiene: Automating Stale Computer Cleanup with CleanupMonster](https://evotec.xyz/mastering-active-directory-hygiene-automating-stale-computer-cleanup-with-cleanupmonster/) \ Have you ever looked at your Active Directory and wondered, "Why do I still have computers listed that haven't been turned on since World Cup 2016?" Yeah, we've all been there. Keeping AD clean and up-to-date is like trying to organize your garage—it’s easy to put off until it becomes a total mess. - [Creates a PSSession that targets a scheduled task process](https://gist.github.com/jborean93/0952263a902b8008cda506752a2f0a49) \ Created New-ScheduledTaskSession for PowerShell that can create a PSSession for use with Invoke-Command to run PowerShell code in the context of a scheduled task process. This is a fun way to bypass NETWORK logon limitations like the Windows Update API - [PowerShell Nerd Fonts Installer](https://github.com/ryanoasis/nerd-fonts/discussions/1697) \ I recently had the chance to work on a PowerShell installer for Nerd Fonts, which includes the new Cascadia Code/Mono from the Microsoft repository. ## Books, Media, and Learning Resources - [The Best PowerShell Cheat Sheet](https://lazyadmin.nl/powershell/powershell-cheat-sheet/) \ Looking for a good PowerShell cheat sheet? Then you are in the right place. I have been working with PowerShell for the last 10 years. During that time I have written down the most useful cmdlets, operators, or useful commands in many places, just to remind them. - [Everything you wanted to know about exceptions](https://learn.microsoft.com/en-us/powershell/scripting/learn/deep-dives/everything-about-exceptions?view=powershell-7.4) \ Error handling is just part of life when it comes to writing code. ## Community - [Be the Community: Insights and Event Log Automation with Phil Bossman](https://powershellpodcast.podbean.com/e/be-the-community-insights-and-event-log-automation-with-phil-bossman/) \ In this episode of the PowerShell Podcast, we sit down with the newly minted Microsoft MVP, Phil Bossman, to dive into the heart of the PowerShell community and what it truly means to "be the community." We discuss the excitement building around PowerShell Saturday NC and the invaluable learning opportunities it offers. Phil shares his expertise on exploring event logs and how to harness their power for PowerShell automation, providing practical insights for both beginners and seasoned pros. Join us as we celebrate Phil's journey to becoming an MVP and gain inspiration from his dedication to the PowerShell community. - [Inside IT Automation E10](https://www.youtube.com/watch?v=eAb8DC3I0f0) \ Guy Leech talks about his PowerShell journey, the use of AI and more. ## Fun - [Among Us](https://www.reddit.com/r/PowerShell/comments/1f2g2jw/among_us/) \ Randomly decided to add an Among Us theme to the end of the script to tell me it's finished running :) ## Events - [Scriptember Kick-Off: Let's celebrate PowerShell!](https://www.youtube.com/watch?v=J1eAO4rqHG0) \ We are kicking off a month-long celebration of PowerShell and its vibrant community. Join our kick-off session where we talk with some awesome members of the PowerShell community. We will discuss why PowerShell is a great IT automation technology, how to learn it and how PowerShell helps IT professionals advancing their careers. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

1
0
PowerShell Weekly for August 23, 2024
  • pwshguy pwshguy Now 100%

    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.
    1
  • PowerShell Weekly for August 23, 2024
  • pwshguy pwshguy Now 100%

    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.
    1
  • ## Announcements! - [v7.4.5 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.4.5) \ Version 7.4.5 is offically here! - [v7.2.23 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.2.23) \ For those still on 7.2 version 7.2.23 is out now! ## Blogs, Articles, and Posts - [PDF Text to SQL Data: Using OpenAI's Structured Output with PSOpenAI](https://blog.netnerds.net/2024/08/structured-output-openai-chatgpt-ai-integration-powershell/) \ Incredible! I just used PowerShell and OpenAI to import text from a PDF right into SQL Server 🚀 AI's usefulness is often debated but this is such a great use-case. I also see it being useful for automatically adding SharePoint document metadata and cleaning dirty data. - [Unlock inline PowerShell capabilities to streamline Logic Apps workflows](https://techcommunity.microsoft.com/t5/azure-integration-services-blog/unlock-inline-powershell-capabilities-to-streamline-logic-apps/ba-p/4220187) \ The new inline PowerShell action, now in preview, adds flexibility to Logic Apps by enabling users to embed PowerShell scripts directly into workflows. This feature unlocks new possibilities for complex integrations, and I'm excited to demonstrate its potential with a bank reconciliation workflow demo. - [Find paired Azure region locations with Azure PowerShell](https://mikefrobbins.com/2024/08/22/find-paired-azure-region-locations-with-azure-powershell/) \ In this article, you learn how to add a custom property to the Azure PowerShell Get-AzLocation cmdlet output to display the physical location for paired regions in Azure. This information isn't available by default but can help you understand the resiliency and redundancy of your Azure resources like geo-redundant storage (GRS) and other Azure services that rely on Azure Storage for replication. - [Send email notifications about expiring Active Directory passwords with a PowerShell script](https://4sysops.com/archives/send-users-email-notifications-about-expiring-active-directory-passwords-with-a-powershell-script/) \ Enforcing a policy for regular password changes is no longer recommended, as it can result in more helpdesk requests due to expired passwords, especially for VPN users, and may actually undermine security. However, timely notifications can help mitigate issues when password changes are necessary. Learn how to notify users with Group Policy or a PowerShell script. - [Sort your local photos with Azure OpenAI and PowerShell!](https://alexholmeset.blog/2024/08/22/sort-your-local-photos-with-azure-openai-and-powershell/) \ Quick short blogpost here today. I have created a PowerShell script that reads your local photos, uses Azure OpenAI to get the type/category they belong to and move them to a folder with that name. To accomplish this I am using the Azure OpenAI GPT4-o model. You can read here how you set up an … Continue reading Sort your local photos with Azure OpenAI and PowerShell! - [PowerShell RegEx: Getting Started Guide](https://jeffbrown.tech/powershell-regex/?utm_source=rss&utm_medium=rss&utm_campaign=powershell-regex) \ PowerShell stands out as a versatile tool in scripting and automation, offering a wide array of functionalities to manage systems and process data. One PowerShell feature is the ability to use Regular Expressions (RegEx), a method for searching, matching, and manipulating strings based on specific patterns. - [Custom Script Setting in SharePoint & OneDrive Removed](https://imaginet.com/2024/custom-script-setting-in-sharepoint-onedrive-removed/) \ Last week, we published a blog discussing Microsoft retiring SharePoint Add-Ins. In that blog, we briefly discussed how the Classic Mode for Custom Scripts has been affected by that change. The Custom Script setting in SharePoint and OneDrive has already been removed – the change took place in May 2024.   There is a new PowerShell command (DelayDenyAddAndCustomizePagesEnforcement) that will allow administrators to delay any changes until November of this year. Additionally, the NoScriptSite setting will be configured to True for all existing sites except for specific site templates.   How Will The Removal of Custom Script Settings Affect My Organization?  - [My first experience trying to use the PowerShell beta module for Microsoft 365 Backup](https://powershellisfun.com/2024/08/16/my-first-experience-trying-to-use-the-powershell-beta-module-for-microsoft-365-backup/) \ I use Microsoft 365 Backup for my tenant; it's a simple way to back up Exchange, OneDrive, and SharePoint data to an Azure Subscription. There was no PowerShell module to query and configure things, but that has changed because the Beta module was released three days ago. In this blog post, I will describe my first experience trying to use the new module. - [A PowerShell function to easily retry any code](https://blog.danskingdom.com/A-PowerShell-function-to-easily-retry-any-code/) \ Performing retries to make your code more resilient is a common pattern. By leveraging a PowerShell ScriptBlock, we can create a function to avoid constantly rewriting the same retry logic again and again. ...continued in comments Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    6
    3

    ## Blogs, Articles, and Posts - [Unlock BitLocker drive from Windows PE with a PowerSell script](https://4sysops.com/archives/unlock-bitlocker-drive-from-windows-pe-with-a-powershell-script/) \ BitLocker can pose a significant challenge when multiple PCs need to be booted from an external drive for troubleshooting. The helpdesk must manually enter the 48-digit recovery password each time. However, this process can be automated by exporting the keys and using a script. - [Handling the Too Many Retries Error and Dealing with Odd Numbers of Audit Events](https://office365itpros.com/2024/08/14/auditlog-query-oddities/?utm_source=rss&utm_medium=rss&utm_campaign=auditlog-query-oddities) \ The AuditLog Query Graph API remains in beta status but cmdlets are now available in the Microsoft Graph PowerShell SDK. This led to some oddities in results when the number of audit events found by a search didn't match those reported by the Purview compliance portal. It all worked out in the end. In other news, the Set-MgRequestContext helped sort out some retry problems. - [Using Export-Clixml and Import-Clixml for credentials in PowerShell scripts](https://powershellisfun.com/2024/08/09/using-export-clixml-and-import-clixml-for-credentials-in-powershell-scripts/) \ Using clear-text passwords in PowerShell scripts is, of course, a bad thing to do. But sometimes, you need to use credentials in a script to connect to a server, service, etc. In this blog post, I will show you how you can use Export/Import-Clixml to do that. - [10 Useful Tips for Customizing SharePoint List Fields with PnP PowerShell](https://www.spguides.com/customize-sharepoint-list-fields-with-pnp-powershell/) \ Recently, I was working on building a Power Apps application that takes data sources as a SharePoint list. To avoid creating SharePoint lists and manually adding different types of columns, I wrote a PowerShell script. While adding different types of columns to the SharePoint lists - [Confirm Domain Join during OSD](https://garytown.com/confirm-domain-join-during-osd) \ I’ve got a small group in my TS that double checks the domain join status, then exit with an error code if the OSD process didn’t join the domain properly. Basically, I’m using PowerShell to do a couple of lookups and writing the information to variables, which I then use to trigger an exit command. - [Get Microsoft 365 Users’ Registered MFA Methods With PowerShell](https://o365reports.com/2024/08/13/get-microsoft-365-users-registered-mfa-methods-with-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=get-microsoft-365-users-registered-mfa-methods-with-powershell) \ Nowadays, security is paramount and multifactor authentication (MFA) stands as a critical line of defense in protecting sensitive information within Microsoft 365 environments. As organizations increasingly adopt to configure MFA, it becomes essential for administrators to monitor the authentication methods registered by users. ## Projects, Scripts, and Modules - [Introducing PSReminderLite](https://jdhitsolutions.com/blog/powershell/9422/introducing-psreminderlite/?utm_source=rss&utm_medium=rss&utm_campaign=introducing-psreminderlite) \ For several years, I have been using a PowerShell module I wrote called MyTickle to help me manage my reminders and events. I spend my days at a PowerShell prompt, and I wanted an easy way to keep track of upcoming events. - [Updated Media Tool available](https://oofhours.com/2024/08/12/updated-media-tool-available/) \ Back in 2023, I posted a Media Tool app (which uses PowerShell behind the scenes) to download Windows 10 or 11 media, for both x64 and ARM64 architectures. ## Books, Media, and Learning Resources - [How I got my Windows PowerShell Terminal looking better](https://www.youtube.com/watch?v=B03EYfSH2bE) \ This video starts with a Windows 11 23H2 installation with the default Windows PowerShell Terminal. I'm a bit of a fan of Oh-My-ZSH + PowerLevel10k for the Linux Desktops I built for work, so my goal was to have a similar looking prompt on Windows for my PowerShell terminal. I take you step by step through the process of improving the appearance of the terminal. - [How to get info from your vCenter](https://www.youtube.com/watch?v=LgXGjIH2EMw) \ Hey everyone! In this video, I'm diving into a game-changing PowerShell one-liner that completely simplifies how I gather vCenter information. If you've ever been frustrated by manual scripts that take too much time and effort, this is the solution you've been waiting for! ## Community - [TechMentor Highlights: Greg Altman, Mike Nelson, and James Petty Share PowerShell Wisdom](https://powershellpodcast.podbean.com/e/techmentor-highlights-greg-altman-mike-nelson-and-james-petty-share-powershell-wisdom/) \ In the latest episode of the PowerShell Podcast, we had the pleasure of interviewing Greg Altman, Mike Nelson, and James Petty. We spoke with three speakers at TechMentor in Redmond, including a special birthday guest. We covered topics such as imposter syndrome, details on the guests' talks, recommended books for starting and advancing in PowerShell, and a healthy helping of laughs throughout. Tune in for insightful conversations, valuable insights, and a few chuckles along the way! - [Inside IT Automation l E08 l Steve Lee talks about PowerShell 7, AI, Project Mercury, DSC and more](https://www.youtube.com/watch?v=UdoUVV6lEhk) \ In this "Inside IT Automation" episode Heiko has a conversation with Steve Lee at the PSConfEU in Antwerp. They talk about the PowerShell 7, AI, Project Mercury PowerShell DSC and more. He also gives some insights into how the Microsoft PowerShell team works. ## Events - [Build a Superfast Research Assistant using PowerShell and AI](https://www.meetup.com/nycpowershellmeetup/events/302619165/) \ Join me for a hands-on session where we will build a superfast research assistant using PowerShell and AI. This powerful tool leverages the latest OpenAI models using my PowerShell module PSAI to search the web, gather information, and generate comprehensive research reports in seconds. - [Coding Rock-Solid AI Agents: PowerShell Precision](https://www.meetup.com/nycpowershellmeetup/events/302816941/) \ In this session, you'll learn how to harness the PSAI PowerShell module and the newly developed PSAIAgent to create AI agents with memory, contextual knowledge, and tool integration. We’ll dive into practical steps for building these advanced agents, ensuring each one is reliable, robust, and ready for real-world application. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    4
    0

    ## Blogs, Articles, and Posts - [PowerShell: When to use Add-Type and New-Object ?](https://sid-500.com/2024/08/06/powershell-when-to-use-add-type-and-new-object/) \ In this blog post, I will discuss when you need to add classes with Add-Type and when you can provide classes with New-Object. I would say, let’s get started. - [Managing DHCP Leases and Reservations with PowerShell](https://adamtheautomator.com/dhcp-leases-reservations-powershell/) \ In this tutorial, we'll explore how to manage DHCP leases and reservations using PowerShell. Effective lease and reservation management is crucial for maintaining a smooth-running network, preventing IP address conflicts, and ensuring that critical devices always receive the same IP address. - [Windows device provisioning with Workspace ONE, part 2: Apps and policies](https://oofhours.com/2024/08/08/windows-device-provisioning-with-workspace-one-part-2-apps-and-policies/) \ In the first part, I got to the point where I could successfully get a device into a managed state, but that doesn’t mean the device is actually usable. - [PowerShell: A Microsoft 365 Admin Roles Membership Report](https://techbloggingfool.com/2024/08/04/powershell-a-microsoft-365-admin-roles-membership-report/) \ Manually reviewing the membership roster for each of the dozens of RBAC roles in a Microsft 365 tenant is quite - [Creating a development Windows Sandbox using PowerShell and WinGet](https://powershellisfun.com/2024/08/02/creating-a-development-windows-sandbox-using-powershell-and-winget/) \ As I mentioned before, I like Windows Sandbox! However, since Windows 11 24H2, Windows Sandbox has been missing two things I often use: Notepad and Windows ISE. In this blog post, I will show you how to start Windows Sandbox and automatically install your preferred editors and tools using WinGet and PowerShell. - [Understanding Get-EXORecipient](https://www.powershellcenter.com/2024/08/04/getexorecipient/) \ This guide will provide you with the knowledge and tools you need to effectively manage your Office 365 mailbox using the Get-EXORecipient. Understanding Exchange Recipient Type Details When managing an Exchange environment, understanding the different types of recipients is crucial for effective administration. Exchange Online supports a variety of recipient types, each serving different purposes... ## Projects, Scripts, and Modules - [Azure AD Incident Response PowerShell Module](https://github.com/AzureAD/Azure-AD-Incident-Response-PowerShell-Module) \ The Azure Active Directory Incident Response PowerShell module provides a number of tools, developed by the Azure Active Directory Product Group in conjunction with the Microsoft Detection and Response Team (DART), to assist in compromise response. ## Books, Media, and Learning Resources - [Inside IT Automation l E07](https://www.youtube.com/watch?v=eSaEDDQCAzM) \ Xavier Clinquart talks about PowerShell, the PoSh community and more. - [Build a PowerShell Menu in 5 minutes](https://www.youtube.com/watch?v=2G4qAP1y5PA) \ In this video, we break down the concept of switch statements and how they can be utilized to create an interactive menu for users. We'll start with the basics of setting up a script, defining functions, and understanding how to handle user inputs in PowerShell. ## Community - [Exploring Cybersecurity with PowerShell and John Hammond](https://powershellpodcast.podbean.com/e/exploring-cybersecurity-with-powershell-and-john-hammond/) \ In this episode of the PowerShell Podcast, we sit down with renowned security researcher John Hammond. Recorded in person in Utah, we delve into John's unique insights on PowerShell and its role in cybersecurity. John shares his experiences with PowerShell attacks, discussing how it’s used in various malware and the importance of implementing security features like constrained language mode and script block logging. He highlights practical tips for making PowerShell environments more secure and emphasizes the need for continuous learning and experimenting within safe environments. We also explore how to transition into security-focused roles, with John providing valuable advice for those looking to combine their PowerShell skills with a career in cybersecurity. ## Fun - [Convert Nokia RTTL to VT256 DEC PS (PlaySound) escape sequences](https://gist.github.com/Jaykul/01a0045e1551dffe6437bf63382c9813) \ Today I made another way to use those Windows Terminal PlaySound escape sequences. You can convert Nokia RTTTL ringtones in PowerShell Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    8
    0

    ## Blogs, Articles, and Posts - [The Maddening Side of the Microsoft Graph PowerShell SDK](https://office365itpros.com/2024/07/26/microsoft-graph-powershell-sdk-odd/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-graph-powershell-sdk-odd) \ All software has unique quirks, and the foibles of the Microsoft Graph PowerShell SDK are well known. But it’s much harder when the underlying foundation contributes to the craziness as described in this article. Graph pagination works in a specific way and Microsoft tunes the Graph to deliver great performance by reducing the set of properties returned for objects. Both can cause concern for developers. - [Microsoft Entra PowerShell module, successor to the Azure AD PowerShell module](https://4sysops.com/archives/microsoft-entra-powershell-to-replace-the-azure-ad-powershell-module/) \ The Microsoft Entra PowerShell module is the successor to the Azure AD PowerShell module. It's designed to streamline management and automation for the Microsoft Entra product family, which includes the services formerly known as Azure Active Directory. - [Using Switch in PowerShell](https://powershellisfun.com/2024/07/26/using-switch-in-powershell/) \ Everyone uses If statements in their scripts: If this, then that. Or If not this, then that, multiple If, and even Elseif. But there is another option, Switch. In this blog post, I will show you how you can use Switch and make your scripts more readable in the process :) - [Reading, Rotating, and Reporting on LAPS and BitLocker in Intune and Entra with PowerShell](https://www.deploymentresearch.com/reading-rotating-and-reporting-on-laps-and-bitlocker-in-intune-and-entra-with-powershell/) \ After the recent Crowdstrike Incident I've been thinking a lot about how to quickly perform LAPS and BitLocker actions against remote devices, and report on their use primarily via Microsoft Graph and Intune. I work and talk with a lot of folks in highly distributed environments (thinking of you, all of my EDU friends!). - [Track File Activities in SharePoint Online Using PowerShell](https://o365reports.com/2024/07/31/track-file-activities-in-sharepoint-online-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=track-file-activities-in-sharepoint-online-using-powershell) \ Users are given access to files in the organization for various purposes, such as project collaboration, documents sharing, and accessing necessary resources for their roles. Based on the permissions granted, users can perform actions on files and folders such as deletion, download, modifying, and more. - [Find Your Most Frequently Used Terminal Commands](https://www.adamsdesk.com/posts/find-most-used-terminal-commands/) \ Determine the most used commands in the terminal using Bash, Fish, PowerShell and Zsh with these simple one line commands. - [OneDrive Pastejacking](https://www.trellix.com/blogs/research/onedrive-pastejacking/) \ Phishing campaign exploits Microsoft OneDrive users with sophisticated social engineering, manipulating them into executing a malicious PowerShell script. ## Books, Media, and Learning Resources - [TEC 2024 PowerShell & Conditional Access Workshops](https://practical365.com/tec-2024-powershell-conditional-access-workshops/) \ Don't miss your chance to meet and learn from your favorite Practical 365 Authors at TEC 2024. As a proud sponsor of TEC, we are offering BOGO discounts on exclusive pre-con workshops with authors Michel De Rooij, Jaap Wesselius, and more! ## Community - [Unveiling the Power of Generative AI with Chrissy LeMaireq](https://powershellpodcast.podbean.com/e/unveiling-the-power-of-generative-ai-with-chrissy-lemaire/) \ In this episode, Chrissy LeMaire discusses AI, her experience at PSConfEU, and her return to in-person speaking after a 5-year break. She provides an update on her book, "Generative AI for the IT Professional," and shares insights into leveraging AI beyond just conversing with ChatGPT. Chrissy also showcases a couple of interesting use cases involving AI. - [Inside IT Automation l E06 l Bruno Buyck talks about PowerShell, PSConfEU and more](https://www.youtube.com/watch?v=gKow30OGOaM) \ In this "Inside IT Automation" episode Heiko has a conversation with Bruno Buyck at the PSConfEU in Antwerp. They talk about the PowerShell Conference, Bruno's PowerShell journey, PowerShell trainings, the Belgium PowerShell User Group and more. ## Fun - [Gist a little friendly advice about Shipping Software](https://gist.github.com/StartAutomating/df91898a847d7d0470cf80bc4db3f02c) \ Gist a little friendly advice about Shipping Software - NotOnAFriday.ps1 ## Events - [PowerShell Saturday NC](https://powershellsaturdaync.com) \ Join us for PowerShell Saturday NC 2024, proudly brought to you by the Research Triangle PowerShell User Group! Mark your calendars for October 5th for this year’s gathering in Raleigh, NC. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    6
    0
    Probably my first piracy experience (it was great)
  • pwshguy pwshguy Now 100%

    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.

    10
  • ## Announcements! - [v7.4.4 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.4.4) \ Come get the latest and greatest - [v7.2.22 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.2.22) \ The latest LTS release. ## Blogs, Articles, and Posts - [Extract LAPS Passwords and BitLocker Keys from Active Directory](https://tommymaynard.com/extract-laps-passwords-and-bitlocker-keys-from-active-directory/) \ The below PowerShell can be used to extract LAPS Passwords and BitLocker Keys from Active Directory. This was written on Friday, July 19, 2024, due to the CrowdStrike Outage. If you choose to test this PowerShell, ensure that you update the argument for the SearchBase parameter to reflect your Active Directory domain. - [The Maddening Side of the Microsoft Graph PowerShell SDK](https://office365itpros.com/2024/07/26/microsoft-graph-powershell-sdk-odd/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-graph-powershell-sdk-odd) \ All software has unique quirks, and the foibles of the Microsoft Graph PowerShell SDK are well known. But it’s much harder when the underlying foundation contributes to the craziness as described in this article. Graph pagination works in a specific way and Microsoft tunes the Graph to deliver great performance by reducing the set of properties returned for objects. Both can cause concern for developers. - [Find orphaned GPOs via PowerShell before migrating to Intune](https://blog.it-koehler.com/en/Archive/5780?utm_source=rss&utm_medium=rss&utm_campaign=find-orphaned-gpos-via-powershell-before-migrating-to-intune) \ Many companies have already fully transitioned to Endpoint Management Intune and no longer need GPOs (Group Policy Objects). Others are in the preparatory stages. Therefore, I would like to provide some assistance for identifying orphaned Group Policy Objects. These can be relatively easily found and, if necessary, removed using PowerShell. - [Convert RSA XML Private Key to PEM Format with PowerShell](https://blog.darrenjrobinson.com/convert-rsa-xml-private-key-to-pem-format-with-powershell/) \ Recently I was working with a particular application that used certificates to secure communication. I wanted to put the certificates into Azure KeyVault. Azure KeyVault naturally allows you to store certificates. However, it only lets you upload certificates that are in PFX (PKCS#12) or CER (DER or BASE64 encoded).… keep reading - [PowerShell script for automated remediation for CrowdStrike issue](https://powershell.ro/powershell-script-for-automated-remediation-for-crowdstrike-issue/) \ I have created a Powershell script for the Crowdstrike issue for some automation purposes. you can create a WinPE ISO File to boot into and remediate the crowdstrike issue. 3. Reboot: The system should boot normally. The script: This script is designed for use in an on-premises VMware environment. ## Projects, Scripts, and Modules - [pwshBedrock v 0.9.1](https://www.powershellgallery.com/Packages/pwshBedrock/0.9.1) \ pwshBedrock enables interfacing with Amazon Bedrock foundational models, supporting direct on-demand model calls via InvokeModel and the Converse API for supported models. It allows sending messages, retrieving responses, managing message context, displaying model information, and estimating token counts and costs. Use PowerShell to integrate generative AI applications with Amazon Bedrock. - [ChocoLogParse v 1.0.0](https://www.powershellgallery.com/Packages/ChocoLogParse/1.0.0) \ Parses Chocolatey logs into easy to use objects. ## Books, Media, and Learning Resources - [Diagnose Network Latency with PowerShell and SQLite [OC]](https://www.youtube.com/watch?v=Do5Ve6M9mmU) \ In this video you’ll see how you can use PowerShell to check for network latency between multiple endpoints. You’ll learn how to record those results into a SQLite database with a just few commands, and no need to create any underlying infrastructure. Finally, you’ll see how you can view the data in PowerShell to help identify where and when you are experiencing network latency issues. ## Community - [Interactive Shell Sessions and Language Models: Steven Bucher on Project Mercury](https://powershellpodcast.podbean.com/e/interactive-shell-sessions-and-language-models-steven-bucher-on-project-mercury/) \ In the latest episode of the PowerShell Podcast, we sit down with Microsoft PM Steven Bucher to dive into Project Mercury, a cutting-edge CLI tool designed to provide an interactive shell session for chatting with language models. Steven walks us through the functionalities of Project Mercury and how users can leverage this innovative tool. He also shares his approach to product management, reflecting on his growth in the role over the past couple of years. We explore the importance of empowering others and how it serves as a pivotal goal in Steven’s professional journey. Join us for an enlightening conversation that blends technical knowledge with leadership wisdom. - [PowerShell Community Call - July 18th, 2024](https://www.youtube.com/watch?v=TPf4FqlWaGA) \ The record of the July 18, 2024 PowerShell Community Call Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    6
    0
    Monitor Your Network with PowerShell [OC]
  • pwshguy pwshguy Now 100%

    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

    2
  • ## Blogs, Articles, and Posts - [Upgrading the Teams and Groups Activity Report to 6.0](https://office365itpros.com/2024/07/15/teams-and-groups-activity-6/?utm_source=rss&utm_medium=rss&utm_campaign=teams-and-groups-activity-6) \ The Teams and Groups activity report is a popular script that helps administrators identify inactive teams and groups within a Microsoft 365 tenant. The script code has been developed over the years. The last version converted to Graph API requests to improve performance. This time, the upgrade is to use the Microsoft Graph PowerShell SDK to make the code easier to maintain. - [Getting Started with PowerShell and the ServiceNow API](https://adamtheautomator.com/servicenow-api-powershell/) \ Unlock the power of ServiceNow's API! Learn how to set up your developer account, create an OAuth app, and make your first API call using PowerShell. - [Install AWS CloudShell in a VPC](https://4sysops.com/archives/install-aws-cloudshell-in-a-vpc/) \ Recently, AWS announced the general availability of CloudShell VPC support. This feature enables the creation of a CloudShell environment within a dedicated VPC, establishing secure connections to other resources in the same subnet. The CloudShell inherits the VPC network configuration without any additional modification. In this article, I will introduce CloudShell, explain the new VPC support, and outline how to install AWS CloudShell in a VPC. - [Restoring the NVIDIA Control Panel and Tools after the Appx Package Change](https://www.jhouseconsulting.com/jhouseconsulting/2024/07/14/restoring-the-nvidia-control-panel-and-tools-after-the-appx-package-change-2903) \ With the move from the Standard driver model to the DCH (Declarative Componentized Hardware) driver model implemented from GRID 15.0 (Windows driver version 527.41) and above, the NVIDIA Control Panel app is now distributed through the Microsoft Store as an Appx Package. - [PowerShell PSDrive](https://powershellisfun.com/2024/07/12/powershell-psdrive/) \ This is sometimes forgotten, the easy way of accessing or checking network drives, certificates, registry, variables, etc. In this blog post, I will show you what a PSDrive does and some examples of its use. - [Practical Graph: Using GitHub Copilot for Microsoft 365 PowerShell Development](https://practical365.com/github-copilot-powershell/) \ GitHub Copilot costs $10/month. At that price level, anyone working with PowerShell should try out the AI assistance to see if it helps. But will GitHub Copilot work well with Microsoft 365 PowerShell modules like Exchange Online and the Microsoft Graph PowerShell SDK. That's what we tested and report on here. ## Projects, Scripts, and Modules - [UniGetUI (formerly WingetUI): GUI for winget, Chocolatey, and PowerShell Gallery](https://4sysops.com/archives/unigetui-formerly-wingetui-gui-for-winget-chocolatey-and-powershell-gallery/) \ UniGetUI, previously known as WingetUI, is a free GUI tool that lets you easily install and update software packages from various sources, such as Winget, Chocolatey, and PowerShell Gallery. Let me show you UniGetUI's features and how it can help you quickly set up a new computer with all the essential software. - [A PowerShell Form Generator](https://www.codeproject.com/Tips/770313/A-PowerShell-Form-Generator) \ This article is an evolution of the previous, it regards not only the implementation of the package, but in particular a new paradigm with which the form objects are specified; the article is not intended to be an exhaustive explanation of the product, for this please refer to the attached documentation. ## Books, Media, and Learning Resources - [PowerShell 101](http://leanpub.com/powershell101) \ Reluctant to learn PowerShell? This condensed version book targets the specific topics you need to know to be successful in a real-world production environment. - [PSDates with Matthew Dowst](https://www.youtube.com/watch?v=Qu2MeNDOLwg) \ Matthew Dowst talks about PSDates, a great module for working with [DateTime] in PowerShell ## Community - [Emrys MacInally Explores PowerShell Error Handling and Module Versioning Strategies](https://powershellpodcast.podbean.com/e/emrys-macinally-explores-powershell-error-handling-and-module-versioning-strategies/) \ In this episode, we welcome back Emrys MacInally, following another successful year speaking at PSConf.EU. Emrys shares his experiences and highlights from the conference, shedding light on key discussions and takeaways. We dive deep into the importance of mental health within the PowerShell community, exploring how the community can support each other. Emrys provides insights into best practices for versioning PowerShell modules and delves into the nuances of error handling, explaining why developers should avoid using the 'throw' statement in scripts. Additionally, Emrys introduces his ErrorRecord module, which simplifies the process of creating error records, offering a practical solution for more efficient error management. Tune in for an enlightening conversation packed with valuable tips and expert advice for PowerShell enthusiasts. - [Navigating Corporate Giants - Jeffrey Snover and the Making of PowerShell](https://corecursive.com/building-powershell-with-jeffrey-snover/) \ What if you had to fight against your company's culture to bring a revolutionary tool to life? Meet Jeffrey Snover, the Microsoft architect behind PowerShell, a command tool that transformed Windows system administration. Initially met with skepticism, Snover's idea faced resistance from a company that favored graphical interfaces. Snover's journey began with a simple mission: to make Windows as command-line ## Events - [Experts Live Europe 2024](https://www.expertslive.eu/) \ September 23-25, 2024 - Budapest Congress Center, Hungary Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    7
    0
    PowerShell Weekly for July 12, 2024
  • pwshguy pwshguy Now 100%

    Projects, Scripts, and Modules

    • 365AutomatedLab and new companion module coming soon
      365AutomatedLab and new companion module coming soon I promise I haven’t forgotten about 365AutomatedLab, but I’ll be honest after Microsoft made the announcement of no more new Dev tenants it hurt a bit as I know how useful they are on learning and testing features and PowerShell without hurting your production environment.
    • How to Create SharePoint List & Add Columns Using PnP PowerShell?
      Recently, I developed one Power Apps application that needed a SharePoint list data source. Before running the application, the client must create the specific SharePoint list on their site. So, I wrote a Power Shell script to create the SharePoint list along columns to avoid mistakes when creating it manually.
    • PowerShell-Yayaml v0.5.0
      What's changed…
    • PSDates v1.0.4
      Tons of new stuff added including calculating sunrise and sunset time.

    Books, Media, and Learning Resources

    Community

    • Behind the Scenes at PSConf.EU: Harm Veenstra’s Experience and Insights
      In this episode of the PowerShell Podcast, we sit down with Microsoft MVP Harm Veenstra to discuss his exciting experiences at PSConf.EU, where he attended for the first time and embarked on a new journey into public speaking. Harm shares his thoughts on receiving the prestigious Microsoft MVP award and delves into his recent projects, including creating a TCP/UDP listener for testing firewall ports and using a Pi-hole to block ads on his home network. We also explore his perspectives on automation in the MSP world, the power of Microsoft Graph, and why he hasn’t yet adopted AI tools. Tune in for an engaging conversation filled with insights, tips, and highlights from PSConf.EU!
    • Write Code, Write Blogs: Lessons with Brock Bingham
      In our latest Powershell Podcast episode, we chat with Brock Bingham. We explore his transition from sysadmin to writer and his viewpoint of coding as creative problem-solving. Brock also shares insightful blogging tips and advises against the pitfalls of comparison. A must-listen for aspiring PowerShellers. (plz create a blog and share your learnings for future you)
    1
  • ## Announcements! - [The Right Way to Replace the Remove-SPOExternalUser Cmdlet](https://office365itpros.com/2024/07/11/remove-spoexternaluser-cmdlet/?utm_source=rss&utm_medium=rss&utm_campaign=remove-spoexternaluser-cmdlet) \ Microsoft says they will remove the Remove-SPOExternalUser cmdlet starting July 29. They recommend using Remove-AzureADUser as a replacement. It's a bad call because that cmdlet is part of a now-retired and soon to be deprecated module. Overall, recommendations like this make you think that Microsoft doesn’t know what’s happening across the whole of Microsoft 365. And you might be right. - [PowerShell Elevation of Privilege Vulnerability](https://msrc.microsoft.com/update-guide/en-us/advisory/CVE-2024-38033) \ This one affects all Windows versions all the way back to Windows Server 2012, so be sure to get the cumulative updates installed. CVE-2024-38047 and CVE-2024-38043 are also PowerShell Elevation of Privilege Vulnerabilities included in the cumulative patches this month. ## Blogs, Articles, and Posts - [Audit Group Policy changes in the event log using XML queries and PowerShell](https://4sysops.com/archives/audit-group-policy-changes-in-the-event-log-using-xml-queries-and-powershell/) \ Custom views in the Event Viewer allow you to filter the metadata of log entries based on various criteria. However, these filters do not assess the content of the log entry messages. To evaluate the log messages, you can extend filters using an XPath query. The examples below demonstrate how to audit Group Policy changes with XML queries, which you can further process with PowerShell. - [Search and delete Copilot data in Microsoft 365](https://4sysops.com/archives/search-and-delete-copilot-data-in-microsoft-365/) \ Managing and deleting unnecessary Copilot data from Microsoft 365 is essential for reducing security risks and ensuring compliance with data protection laws like GDPR and HIPAA. This blog post will guide you through the steps to search for and delete Copilot data using eDiscovery, Graph Explorer, and PowerShell. Following these steps can enhance data hygiene and safeguard your organization against potential data breaches and legal issues. - [PowerShell: Measure Objects (Count, Average, Sum …)](https://sid-500.com/2024/07/09/powershell-measure-objects-count-average-sum/) \ The Measure-Object cmdlet counts objects. But it can do even more. We can calculate the sum, the average and much more. In this blog post I show a few examples with Measure-Object. - [Office Connectors Retirement for Teams](https://office365itpros.com/2024/07/10/teams-office-connectors/?utm_source=rss&utm_medium=rss&utm_campaign=teams-office-connectors) \ In June, Microsoft retired Office Connectors for SharePoint Online and Microsoft 365 Groups. Starting on August 15, they're retiring connectors for Teams. The problem is finding out which teams and channels have configured connectors. That's when PowerShell comes in handy, as we prove with a script to report which teams have connectors. - [Using Pop-Location and Push-Location in PowerShell](https://powershellisfun.com/2024/07/05/using-pop-location-and-push-location-in-powershell/) \ At PSConfEU, somebody asked me if I used Pop-Location and Push-Location. Well, I know it's there, but no. :) In this blog post, I will show you how to use it and that it might come in handy! - [ViperSoftX malware covertly runs PowerShell using AutoIT scripting](https://www.bleepingcomputer.com/news/security/vipersoftx-malware-covertly-runs-powershell-using-autoit-scripting/) \ The latest variants of the ViperSoftX info-stealing malware use the common language runtime (CLR) to load and execute PowerShell commands within AutoIt scripts to evade detection. [...] - [Low Space on EFI (System) Partition – Clean up](https://garytown.com/low-space-on-efi-system-partition-clean-up) \ Hey folks, this seems like a topic that keeps coming up, despite the fact I had assumed everyone was creating large EFI volumes (984MB) by now, but I keep finding folks who have 100MB and run into issues. - [Practical PowerShell: Error Handling](https://practical365.com/practical-powershell-error-handling/) \ Writing PowerShell scripts can be a fulfilling task. After all, you write something to assist with a task or procedure so you can focus on the result, not the task itself. But what if your script tries to run an action and is unsuccessful, for example, when a user the script attempts to manipulate is invalid or the signed in account has insufficient permissions to run a cmdlet? And do not forget the peculiarities of the online world, such as a network connection dropping or an authentication token expiring. - [Mediator Pattern using PowerShell](https://dfinke.github.io/powershell,%20design%20patterns,%20genai/2024/07/03/Mediator-Pattern-using-PowerShell.html) \ The Mediator Design Pattern centralizes communication, reducing dependencies & improving maintainability. Instead of direct interactions, objects use a mediator. Continued in the comments due to post character limits Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    2
    1
    PowerShell: the object-oriented shell you didn’t know you needed | Chris Warrick | 29 April 2024
  • pwshguy pwshguy Now 100%

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

    3
  • ## Announcements! - [Introducing the Microsoft Entra PowerShell module](https://techcommunity.microsoft.com/t5/microsoft-entra-blog/introducing-the-microsoft-entra-powershell-module/ba-p/4173546) \ Microsoft Entra PowerShell is a new scenario-focused PowerShell module for the Microsoft Entra product family. ## Blogs, Articles, and Posts - [Adding Details of Authentication Methods to the Tenant Passwords and MFA Report](https://office365itpros.com/2024/06/25/authentication-methods-v13/?utm_source=rss&utm_medium=rss&utm_campaign=authentication-methods-v13) \ V1.2 of the User Passwords and MFA report includes the names of authentication methods registered for user accounts. V1.3 expands the amount of detail reported for each method, such as the phone number used for SMS challenges, or the email address used for SSPR. It’s a small but important detail that’s useful to administrators. However, it also comes with a potential privacy issue, so the script must handle that too. - [Leveraging OpenAI to Enhance Pull Request Management in Azure DevOps](https://www.thelazyadministrator.com/2024/06/24/leveraging-openai-to-enhance-pull-request-management-in-azure-devops/) \ Our goal is to create an automation that significantly enhances the efficiency of our development process. A service hook is triggered when a new Pull Request is created in Azure DevOps, sending a webhook to an Azure Function. This function analyzes the request body, gets all commits in the Pull Request, and sends it to Open AI’s API, which generates a Pull Request message detailing all of the proposed changes from the commits and writes it back to the Azure DevOps Pull Request. - [Create, configure, and delete system restore points with PowerShell, vssadmin.exe, and System Properties](https://4sysops.com/archives/create-configure-and-delete-system-restore-points-with-powershell-vssadminexe-and-system-properties/) \ System restore points allow users to roll back Windows to an earlier state if problems arise. These points capture important system files, the registry, and drivers. In addition to using the System Properties applet, you can manage system restore points with PowerShell and vssadmin.exe. - [How to Identify MFA Deployment Source in Microsoft 365 Using PowerShell](https://o365reports.com/2024/06/26/identify-mfa-deployment-source-in-microsoft-365-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=identify-mfa-deployment-source-in-microsoft-365-using-powershell) \ Have you ever felt like managing multi-factor authentication (MFA) is more of a hurdle than a security measure? Constant MFA issues can be frustrating! Here are some common MFA issues; as you read, consider how you might address these challenges. - [Connect to the Microsoft Entra PowerShell Module](https://o365reports.com/2024/06/28/connect-to-the-microsoft-entra-powershell-module/?utm_source=rss&utm_medium=rss&utm_campaign=connect-to-the-microsoft-entra-powershell-module) \ We all know that Microsoft deprecated the Azure AD PowerShell and MSOnline PowerShell modules. So, they advise us to migrate all the scripts to the MS Graph PowerShell. But finding the equivalent cmdlets and updating the scripts can be tough. Don’t worry! Microsoft heard our struggle! - [Using Debug and Verbose parameters in PowerShell](https://powershellisfun.com/2024/06/21/using-debug-and-verbose-parameters-in-powershell/) \ It's one of those things you forget, and you can get a lot more output when running scripts that will help you find out why things are not working as you expected. This small blog post will show you how to get more verbose and debug information. - [PowerShell: Beyond the Prompt!](https://telegra.ph/PowerShell-Beyond-the-Prompt-06-27) \ Powershell often gets overshadowed by its scripting cousin, Bash, but just like Ruby, Powershell offers a depth that goes beyond the initial impression. ## Projects, Scripts, and Modules - [PSLinux v 1.0.6](https://www.powershellgallery.com/Packages/PSLinux/1.0.6) \ The RedHatSatelliteSearch PowerShell module provides functions to retrieve and manage data from a RedHat Satellite server. This module allows users to specify search filters to query and fetch information about hosts and other resources managed by the Satellite server. ## Books, Media, and Learning Resources - [Counting Files with a Specific Extension Using PowerShell](https://www.youtube.com/watch?v=KVHFYqwT8Do) \ In this tutorial, we will guide you through the process of using PowerShell to count the total number of files with a specific extension within a directory and its subdirectories. This method is highly useful for system administrators and IT professionals who need to manage and analyze large volumes of files efficiently. ## Community - [From NoWayShell to PowerShell: A Coding Transformation](https://powershellpodcast.podbean.com/e/from-nowayshell-to-powershell-a-coding-transformation/) \ In this episode, host Andrew Pla converses with coding enthusiast Josh Hendricks (@joshooaj) about his transformative PowerShell journey - a pathway that led him from avoidance to adoration. The discussion delves into the intricacies of Joshua's PSPushover and MilestonePSTools projects, developing an understanding of their creation process. Additionally, Josh recounts his captivating experience of giving a talk on "Docs" at the prestigious PowerShell Summit. This riveting dialogue remarkably encapsulates a personal journey blending skepticism, discovery, and innovation at the heart of coding. ## Fun - [TEC 2024 PowerShell Script-Off](https://practical365.com/tec-powershell-script-off-24/) \ TEC 2024 in Dallas (October 1-2) will once again feature the TEC PowerShell Script-Off where coders attempt to come up with the best solutions for challenges set by the judges. The challenges are all Microsoft 365 scenarios (Exchange Online, Entra ID, Teams, and SharePoint Online), so there's nothing unknown about what we'll ask people to code. Come along to TEC 2024 and compete to be the best coder in town! Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    5
    0

    ## Announcements! - [Deprecation of MSOnline](https://techcommunity.microsoft.com/t5/microsoft-entra-blog/important-update-deprecation-of-azure-ad-powershell-and-msonline/ba-p/4094536) \ Just a reminder that MSOnline versions prior to v1.1.166.0 will stop working in 1 week. - [v7.4.3 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.4.3) \ Come get the latest and greatest - [v7.2.21 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.2.21) \ Get the latest LTS release ## Blogs, Articles, and Posts - [Using PowerShell to Post Channel Messages with Teams Workflows](https://office365itpros.com/2024/06/17/teams-post-to-channel-workflow/?utm_source=rss&utm_medium=rss&utm_campaign=teams-post-to-channel-workflow) \ The incoming webhook connector is a popular method to post information to Teams channels, but Microsoft seems set on retiring the Office connectors. The Teams post to channel workflow when a webhook request is received seems like is a possible replacement, but it's not just a matter of switching mechanisms. Some PowerShell magic is needed to create a suitable adaptive card to post to the channel, which is exactly what we explain how to do here. - [Working with Calendar Permissions using the Microsoft Graph PowerShell SDK](https://office365itpros.com/2024/06/18/set-default-calendar-permission/?utm_source=rss&utm_medium=rss&utm_campaign=set-default-calendar-permission) \ The Set-MailboxFolderPermission cmdlet is usually used to set calendar permissions, including the permission for the default user to allow everyone in an organization to see each other’s calendars. But you can use cmdlets from the Microsoft Graph PowerShell SDK too. The Graph SDK cmdlets are faster, but not enough to warrant replacing the Exchange cmdlet in scripts. We explain why here. - [Automate Azure DevOps Work Item Updates with Azure Functions and the Azure DevOps API](https://www.thelazyadministrator.com/2024/06/18/automate-azure-devops-work-item-updates-with-azure-functions-and-the-azure-devops-api/) \ I use Azure DevOps Boards for agile project management, allowing me to plan, track, and discuss automation and DevOps tasks. I also create reporting dashboards from the data within the work items. One such metric I report on is how much time we save when implementing a new automation. - [How to check if an Azure Marketplace image is marked for deprecation](https://www.techielass.com/how-to-check-if-an-azure-marketplace-image-is-marked-for-deprecation/) \ How to check if an Azure Marketplace image is marked for deprecation. - [How to Add or Remove Pinned Folders to Quick Access with PowerShell and GPO](https://woshub.com/add-remove-pinned-folders-quick-access-powershell-gpo/) \ Windows File Explorer has a separate panel that displays a list of favorite folders and locations called Quick Access. Many users and administrators unjustly ignore this handy Windows tool - [How to Split a String by Length in PowerShell?](https://www.spguides.com/split-a-string-by-length-in-powershell/) \ When you need to split a string by a specific length, PowerShell offers various methods to do it. This PowerShell tutorial explains various methods to split a string by length in PowerShell To split a string by length in PowerShell, you can use a loop with the Substring method to iteratively extract parts of the string - [Using Measure-Command and Measure-Object in PowerShell](https://powershellisfun.com/2024/06/14/using-measure-command-and-measure-object-in-powershell/) \ Measuring is always a good idea for grasping things, such as how long it sometimes takes, how many objects there are in a specific directory, how much space something takes up on a hard drive, etc. In this blog post, I will show you how the Measure-Command and Measure-Object cmdlets work and how you can use them to your advantage. - [How to disable per-user MFA using Microsoft Graph PowerShell](https://ourcloudnetwork.com/how-to-disable-per-user-mfa-using-microsoft-graph-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=how-to-disable-per-user-mfa-using-microsoft-graph-powershell) \ Learn how to use Microsoft Graph PowerShell to disable per-user MFA in Microsoft Entra to support migration to Conditional Access. ## Projects, Scripts, and Modules - [Version 1.9 of the Microsoft 365 Licensing Report](https://office365itpros.com/2024/06/20/microsoft-365-licensing-report-19/?utm_source=rss&utm_medium=rss&utm_campaign=microsoft-365-licensing-report-19) \ The Microsoft 365 Licensing Report is a popular PowerShell script that's just been updated to V1.9 with a bunch of changes to highlight different aspects such as license costs for disabled user accounts and inactive user accounts. Copious use of some very dubious color choices makes the HTML report created by the script look very nice (if you're color blind) and the new version can generate an Excel worksheet. - [PowerShellRun v0.7.0](https://github.com/mdgrs-mei/PowerShellRun) \ In PowerShellRun v0.7.0, you can now add script blocks and script files as entries. If you are managing many PowerShell scripts, PowerShellRun will help you create a TUI script launcher. ## Books, Media, and Learning Resources - [Monitor Your Network with PowerShell [OC]](https://www.youtube.com/watch?v=NsCWmYjP9F4) \ In this video you’ll see the full process I went through to create a script to monitor up and down times for my network. - [Managed Identity With PowerShell And Azure Automation Accounts](https://www.youtube.com/watch?v=HmpweJY0etA) \ Join me in creating an automation account and using managed identity to connect to Azure, ExchangeOnline and Graph in this practical powershell example where we'll discuss how to connect, how to add permissions to a service principal and also a little bonus tip on how to get an access token for graph using Az and managed identity with the Get-AzAccessToken cmdlet. ## Community - [Andrew Celebrates & Previews psconf.eu with Christian & Bjorn](https://powershellpodcast.podbean.com/e/andrew-celebrates-previews-psconfeu-with-christian-bjorn/) \ In this episode of the PowerShell Podcast, Andrew starts things off by celebrating his new Microsoft MVP. Then, we hear about all things psconf.eu and what to expect from Christian Ritter and Björn Sundling at PSConf EU. We hear some of the juicy details and key takeaways from their sessions. Then we get an update on some of their projects like PSClippy, AzDM, PSSecretScanner, and much more! Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    11
    0
    Monitor Your Network with PowerShell [OC]
  • pwshguy pwshguy Now 100%

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

    1
  • youtu.be

    I recently created a YouTube channel where I do deep dives into creating automations with PowerShell. Instead of just publishing the solutions I take you through the entire development process. In this video I go through creating an uptime monitor for multiple IP addresses that can ping each IP every minute. I go through the evolution of trying Test-NetConnection, then giving up and using dotnet objects for asynchronous execution. And finally, how to put that all together and get your results. This is only my fourth video, so any and all feedback on it is welcome.

    20
    5
    PowerShell Weekly for June 14, 2024
  • pwshguy pwshguy Now 100%

    Community

    • PipeScript, Formatting, and Docker: An In-Depth Conversation with James Brundage
      In this episode of the PowerShell Podcast, we are joined by Microsoft MVP, former PowerShell team member, and module maker extraordinaire James Brundage. We hear about his experience at Microsoft Build, learn all docker and kubernetes while discussing his Rocker module, UserGroup updates, implicit interpretation in Pipescript, formatting and types, and so much more. Strap in because we go deep in this one.
    • Breaking Down ModuleFast and More with Justin Grote
      In this episode of the PowerShell Podcast, host Andrew Pla interviews Microsoft MVP and PowerShell aficionado Justin Grote. They delve into an issue in the Az.Accounts 3.0.0 module, with Justin offering insights and a workaround (use an earlier version of the module). Justin also discusses his innovative ModuleFast project, explaining its architecture and his approach to writing PowerShell scripts and modules. The conversation highlights Justin's passion for APIs and celebrates his contributions as an official PowerShell project contributor. Listeners get a glimpse into Justin's workflow working at a Managed Service Provider (MSP) and how he writes to much PowerShell. He offers valuable advice for those early in their careers. Additionally, Justin shares updates on his PowerHTML (1.2m downloads) project, which originated from a GitHub pull request, showcasing his continuous contributions to the PowerShell community.
    • PowerShell Community Call - May 16th, 2024
      Last month's community call with the PowerShell team.
    2
  • PowerShell Weekly for June 14, 2024
  • pwshguy pwshguy Now 100%

    Books, Media, and Learning Resources

    2
  • PowerShell Weekly for June 14, 2024
  • pwshguy pwshguy Now 100%

    Projects, Scripts, and Modules

    • passwordstate-management v 4.4.49
      Powershell Module for managing Password State
    • PowerQualys v 0.3.0
      Helper module for Qualys
    • WinTuner v 0.8.9
      Package and publish any apps from WinGet to Intune.
    • Interpreting Audit Records for Teams Meeting Recordings (Again)
      Three years ago, I wrote a script to analyze the audit records generated for Teams meeting recordings. Then things changed in terms of how the audit records were generated and how the Search-UnifiedAuditLog cmdlet returns audit search results. All of which meant that considerable work was needed to revamp (rewrite) the script. Maybe you need to check any script that uses the Search-UnifiedAuditLog cmdlet too?
    • tiPS v 1.3.10
      PowerShell tips delivered straight to your terminal.
    2
  • Enjoy an extra large edition, since I was sick last week and wasn't able to post. ## Blogs, Articles, and Posts - [Use PowerShell to deploy and access GPT-4o in Azure OpenAI Service](https://4sysops.com/archives/use-powershell-to-deploy-and-access-gpt-4o-via-azure-openai-service/) \ The Azure OpenAI Service is a specialized offering within the broader set of Azure Cognitive Services, providing access to OpenAI's language models. The service can be accessed through REST APIs, Python SDK, and a web-based interface, Azure OpenAI Studio. In this article, you will learn how to deploy and access the GPT-4o model in Azure with PowerShell. - [Tracking Down User Logons with PowerShell and XPath](https://adamtheautomator.com/powershell-xpath-event-log/) \ When working with Windows event logs, especially the Security log, there might be instances where you need to extract specific information from events. - [How to Leverage Reusable PS Remoting Sessions in your Scripts](https://adamtheautomator.com/ps-remoting-session/) \ PS remoting lets you execute commands remotely. Learn how to create and manage persistent sessions in this short how-to covering creating and managing sessions. - [Microsoft 365: How to set OneDrive Quotas with PowerShell](https://sid-500.com/2024/06/04/microsoft-365-how-to-set-onedrive-quotas-with-powershell/) \ In this blog post I will show you how to set OneDrive quotas with PowerShell. I’d say here we go! First, let’s connect to SharePoint Online. - [Microsoft Purview Audit Search Graph API: Retrieve audit logs from Microsoft 365 with PowerShell](https://4sysops.com/archives/microsoft-purview-audit-search-graph-api-retrieve-audit-logs-from-microsoft-365-with-powershell/) \ Microsoft Purview integrates with Microsoft 365 applications such as Exchange, SharePoint, OneDrive, and Teams, providing comprehensive data governance, compliance, and protection capabilities across these platforms. One of the standout components of this suite is the Audit Search Graph API, which is currently in public preview. It allows developers and administrators retrieve detailed audit logs programmatically, providing deep insights into user activities across Microsoft services. In this blog, I will explore the full potential of the Microsoft Purview Audit Search Graph API and demonstrate how to use the API through both PowerShell and HTTP methods. - [Understanding the Clean block in PowerShell](https://mikefrobbins.com/2024/06/11/understanding-the-clean-block-in-powershell/) \ PowerShell, a powerful scripting language and automation framework, provides features that enhance script development and execution. Among these features is the clean block, a lesser-known yet beneficial component in PowerShell functions. This article explores the clean block, its purpose, and how to use it effectively in PowerShell scripts. - [To Splat or Not to Splat, That’s the Question](https://office365itpros.com/2024/06/12/splatting-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=splatting-powershell) \ Splatting is an optional PowerShell technique designed to make it easier to pass parameter values for cmdlets. It’s a personal choice whether to use splatting instead of passing values to individual parameters in the command line. Although the Microsoft Graph PowerShell SDK can be a little strange at times, you can use splatting with SDK cmdlets, even with some pretty complex parameters such as those used to filter objects. - [Export Microsoft 365 License Cost Report Using PowerShell](https://o365reports.com/2024/06/12/export-microsoft-365-license-cost-report-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=export-microsoft-365-license-cost-report-using-powershell) \ Microsoft 365 offers a vast array of plans and licenses, making it easy to find the perfect fit for your business needs. But with that flexibility comes complexity. Managing Microsoft 365 licenses and the cost spent on all those licenses can lead to confusion and can be a challenge. - [Get SharePoint Files & Folders Created by External Users Using PowerShell](https://o365reports.com/2024/06/11/get-sharepoint-files-folders-created-by-external-users-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=get-sharepoint-files-folders-created-by-external-users-using-powershell) \ External collaboration in SharePoint Online is essential for certain projects and tasks that might involve users from external organizations. External sharing in SharePoint Online and the ability to grant them access to our resources simplifies communication and bridges the collaboration gaps. - [PowerShell Arrays](https://powershellisfun.com/2024/05/31/powershell-arrays/) \ You probably use it all the time in your scripts, but how do they work? In this blog post, I will show some simple examples of what you can do with them :) - [Experimenting with PowerShell Batching and Parallel Execution](https://practical365.com/powershell-parallel-processing/) \ PowerShell Parallel Processing is a mechanism to speed the processing of large quantities of data. In this example, we discuss how to use parallel batches to fetch Entra ID account information using mailbox data to drive information retrieval. Although this is only a demonstration of a technique, it might help those who must process thousands of mailboxes or accounts and would like to do so more quickly. Continued in the comments, due to size limits...

    14
    3

    ## Announcements! - [Celebrate the life of VBScript](https://oofhours.com/2024/05/25/celebrate-the-life-of-vbscript/) \ Microsoft announced more of the timeline for VBScript this past week: Windows 11 24H2 makes it a removable “feature on demand” (FOD), and sometime in 2027 is expected to be turned off - [v7.5.0-preview.3 Release of PowerShell](https://github.com/PowerShell/PowerShell/releases/tag/v7.5.0-preview.3) \ Come see what's new and upcoming in PowerShell 7.5 ## Blogs, Articles, and Posts - [PowerShell Tool-Building 101: Building a Computer Inventory Report](https://adamtheautomator.com/powershell-tools-csv-cim/) \ Join me on an exciting journey as we build a powerful PowerShell tool for generating computer inventory reports! From CSV files to CIM queries and error handling, we'll walk you through each step as we go. Let's script our way to success! - [Deploy Windows 11 with the free PowerShell framework OSDCloud](https://4sysops.com/archives/deploy-windows-11-with-osdcloud/) \ OSDCloud is a free PowerShell framework for deploying Windows 10 and Windows 11. The tool provides simple methods for adding drivers and configuring settings in an image. After booting from a customized WinPE, either the OSDCloudGUI or an automated script initiates the installation. - [Practical PowerShell Series: Part 4 Branching](https://practical365.com/practical-powershell-branching/) \ In my previous article in the Practical PowerShell series, I discussed looping as part of flow control. In this article, I cover another essential part of flow control: branching. Branching defines multiple paths for your code to follow, depending on conditions. - [Querying DNS Records with PowerShell](https://www.techielass.com/querying-dns-records-with-powershell/) \ In this blog post explore how you can use PowerShell to query DNS records. - [A simple PowerShell script template I use when creating new scripts](https://blog.danskingdom.com/A-simple-PowerShell-script-template-I-use-when-creating-new-scripts/) \ I spin up new PowerShell scripts all the time, whether just for quickly experimenting and testing things out, or for projects that I know will be around for a while. There’s a few basic things that I like all my scripts to have, so I’ve created a simple template that I use when creating new scripts. - [Working with Teams Messaging Using the Microsoft Graph PowerShell SDK](https://practical365.com/teams-messaging-powershell/) \ This article describes how to use the Microsoft Graph PowerShell SDK to interact with Teams messaging to create new one-to-one and group chats and post messages to chats and channel conversations. ## Projects, Scripts, and Modules - [DependencySearch v 1.1.7](https://www.powershellgallery.com/Packages/DependencySearch/1.1.7) \ Module contains functions that allows you to check for PowerShell code/script/module dependencies through static code analysis (AST). - [MSIdentityTools PowerShell Module 2.0.58 released](https://blog.icewolf.ch/archive/2024/05/26/msidentitytools-powershell-module-2-0-58-released/) \ Just a few Hours ago, Microsoft has released a new Version of MSIdentityTools PowerShell Module ## Books, Media, and Learning Resources - [PowerShell Scripting and Toolmaking](https://jdhitsolutions.com/blog/books/9389/powershell-scripting-and-toolmaking/?utm_source=rss&utm_medium=rss&utm_campaign=powershell-scripting-and-toolmaking) \ Several years ago Don Jones and I wrote what we hoped would be the definitive book on PowerShell scripting and toolmaking. The book takes all off our years of experience, not only from writing PowerShell code, to teaching and conference presentations where we hear first hand what people struggle with. - [Frontend PowerShell with Google Forms: Part 2 Replying with Gmail](https://www.youtube.com/watch?v=5gCtq6ZlwOs) \ [OC] Learn how to integrate Gmail into your scripts to send automated email responses. You’ll also learn how to make your automations more flexible by accounting for things like hitting grid limits in Google Sheets. ## Community - [Inside IT Automation | E04 | Erwin van Hunen talks about PnP PowerShell, MS Graph, music and more](https://www.youtube.com/watch?v=Th1KoKfNNWA) \ Erwin is the 'Father' of PnP PowerShell, an open source PowerShell module that is used millions of times everyday worldwide to perform automated tasks towards Office 365 and SharePoint. He is also a Microsoft MVP and well-known public speaker, and technology evangelist. As Chief Technolgy Officer he shapped products and services at Valo, Staffbase and Rencore. Currently he is Head of Product at MondayCoffee. - [PowerShell on Linux and Beyond with Steven Judd](https://powershellpodcast.podbean.com/e/powershell-on-linux-and-beyond-with-steven-judd/) \ In this celebration-themed episode of the PowerShell Podcast, Steven Judd makes his long-awaited return. We announce the first PowerShell Podcast MVP winner. We share tips about regex and URL encoding and dive deep into PowerShell on Linux, CloudShell, and becoming a lifelong learner. All this and more! ## Events - [DFWSMUG MMS Review and National Peanut Butter Cookie Day - June Meetup](https://mailchi.mp/f14a72aa9736/dfwsmug-mms-review-and-national-peanut-butter-cookie-day-june-meetup-5454789) \ June 12th 2024 at Microsoft MTC in Las Colinas. In-person only event. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    5
    0

    ## Blogs, Articles, and Posts - [Upload a PowerShell Script to Intune (With PowerShell) From Scratch](https://adamtheautomator.com/intune-powershell-script-upload/) \ Automate deploying PowerShell scripts to Intune devices with Azure app registration, Graph API, and more in this step-by-step tutorial. - [Remove store apps from a Windows image](https://4sysops.com/archives/remove-store-apps-from-a-windows-image/) \ In professional environments, most store apps delivered with Windows are of little value, prompting admins to remove them from the image before deployment. However, you should avoid indiscriminately deleting them, as some system-relevant apps may be among them. PowerShell can be used to remove the crapware selectively. - [Find the Teams Meetings Attended by a Specific User Using PowerShell](https://o365reports.com/2024/05/22/find-the-teams-meetings-attended-by-a-specific-user-using-powershell/?utm_source=rss&utm_medium=rss&utm_campaign=find-the-teams-meetings-attended-by-a-specific-user-using-powershell) \ Ever wondered how much time your team members spend in Teams meetings? Or perhaps you’re tasked with analyzing an individual’s meeting activity within Teams. Look no further! In this blog, we’ll explore the methods to obtain user-specific Teams meeting reports. Here, we’ll also introduce a crafted PowerShell script that simplifies the process… - [Parameters for PowerShell Scripts and Functions](https://powershellisfun.com/2024/05/17/parameters-for-powershell-scripts-and-functions/) \ Using parameters for your Scripts and Functions is very powerful. You don't have to hardcode things in them, making running them from a command line easier. This blog post will show you the parameters I use in most of my scripts and how they work. - [Use the Azure OpenAI GPT-4o (all-in-one-model) with PowerShell!](https://alexholmeset.blog/2024/05/22/use-the-azure-openai-gpt-4o-all-in-one-model-with-powershell/) \ On May 13th GPT-4o was released in preview in the Azure OpenAI Playground. No API access, only accessible in the browser. Today I was going into the playground to test something with the GPT-4o model, but could not find it. What had happened? Turnes out it suddenly was in GA and available to choose under … Continue reading Use the Azure OpenAI GPT-4o (all-in-one-model) with PowerShell! - [Automating PowerShell tasks with Container App Jobs](https://www.jannemattila.com/azure/2024/05/20/automating-powershell-tasks-with-container-apps.html) \ I previously wrote about Automating maintenance tasks with Azure Functions and PowerShell. That combo has been my go-to solution for many automation tasks. - [A Powershell GUI using DotNet Windows.Forms to start AWS Lambda Functions and display their output](https://gist.github.com/aeveltstra/94806a1230b8165f43e9b4e4dec9bacc#file-powershell-gui-aws-lambda-start-functions-ps1) \ A Powershell GUI using DotNet Windows.Forms to start AWS Lambda Functions and display their output - powershell-gui-aws-lambda-start-functions.ps1 ## Projects, Scripts, and Modules - [WinGet.CommandNotFound](https://devblogs.microsoft.com/commandline/winget-commandnotfound/) \ We are pleased to announce the release of WinGet.CommandNotFound! This PowerShell module is a feedback provider plugin for PowerShell that leverages the Windows Package Manager to provide suggestions for packages to install when a native command cannot be found. The command-line predictor feature in PowerShell enables this module to display WinGet packages as predictive suggestions. - [Keep Microsoft Teams status Available instead of away using PowerShell](https://powershellisfun.com/2024/05/23/keep-microsoft-teams-status-available-instead-of-away-using-powershell/) \ It is one of the things I hear my colleagues, and even my girlfriend, mention regularly... Why does Microsoft Teams think I'm away while I'm not / My PC isn't locked yet... I read a few solutions, setting your status duration to a date in the future, etc... Didn't work :( What does work is running my simple PowerShell scripts, which I will show you in this blog post :) - [ps-arch-wsl v 0.1.1](https://www.powershellgallery.com/Packages/ps-arch-wsl/0.1.1) \ Install Arch Linux on Windows the easy way. - [Posh-ACME v 4.23.1](https://www.powershellgallery.com/Packages/Posh-ACME/4.23.1) \ ACME protocol client for obtaining certificates using Let's Encrypt (or other ACME compliant CA) - [dbatools.ai v 1.0](https://www.powershellgallery.com/Packages/dbatools.ai/1.0) \ dbatools.ai is a copilot for SQL Server databases ## Books, Media, and Learning Resources - [Frontend PowerShell with Google Forms: Part 1 Getting your data](https://www.youtube.com/watch?v=ZqAShden9qA) \ [OC] Learn how to get data from a Google Form into PowerShell, by building a repeatable and reusable automation you can use to with any form. - [The PowerShell Practice Primer](https://leanpub.com/psprimer) \ A collection of over 100 PowerShell learning exercises targeted for beginners developed by PowerShell MVP and veteran teacher Jeff Hicks. ## Community - [PowerShell on the road at MMS-MOA with Sven De Groote and Chris Thomas](https://powershellpodcast.podbean.com/e/powershell-on-the-road-at-mms-moa-with-sven-de-groote-and-chris-thomas/) \ On this episode of the PowerShell Podcast, Andrew is back on the road, attending the MMS 2024 at MOA conference. Andrew catches up with Sven De Groote and Chris Thomas. Andrew and Sven take a dive into the PSAppDeployToolkit. Later in the episode, Andrew and Chris chat about PSADT, Chris’ PowerShell journey, his talk at MMS-MOA, and more. Check out [psweekly.dowst.dev](https://psweekly.dowst.dev/) for all past editions as well as a searchable archive.

    3
    0
    PowerShell Weekly for May 17, 2024
  • pwshguy pwshguy Now 100%

    Thanks! I'm glad to hear you are finding it useful.

    1
  • PowerShell Weekly for May 3, 2024
  • pwshguy pwshguy Now 100%

    Thanks! I'm glad to hear others are finding it useful.

    2
  • PuTTY vulnerability vuln-p521-bias
  • pwshguy pwshguy Now 100%

    If I understand correctly, the signatures generated by PuTTY aren’t perfectly random, so if someone got a hold of a bunch of keys from a server, they could figure out the pattern. It takes about 60 keys. This affects not just PuTTY, but also FileZilla, WinSCP, TortoiseGit, and TortoiseSVN.

    In other words if you have NIST P-521 keys, or any others using 521-bit ECDSA, you should revoke them and generate new key pairs. After you update your software.

    1
  • January 2024 monthly "What are you working on?" thread
  • pwshguy pwshguy Now 100%

    I installed some security cameras around my house and set up Shinobi using an old PC. Unfortunately the PC is too old to use the built-in detectors in Shinobi. So, I took my first dive into playing around with some image detectors.

    I wrote some python to download the daily recording from old PC to a newer one with a 3080 GPU. Then checks the videos for people. It will then trim the videos to only include times were there are people in frame. It cut my the storage requirements by over 95%.

    4
  • I haven't seen a [#PowerShell](https://fosstodon.org/tags/PowerShell) [#Podcast](https://fosstodon.org/tags/Podcast) account in the fediverse, but I talked to them anyway 😉
  • pwshguy pwshguy Now 100%

    Joel "Jaykul" Bennet is an opinionated DevOps engineer, programmer, speaker, and Microsoft MVP.

    I love that description. I can't wait to listen to it tonight!

    1
  • Guidance on developing locally with Azure Automation
  • pwshguy pwshguy Now 100%

    Just a heads up, I received confirmation from the product team that the AZUREPS_HOST_ENVIRONMENT environment variable is going away. They are moving the backend to containers. Also, the COMPUTERNAME one that was always "client" is going to change too. The COMPUTERNAME will now be "Sandbox-###" with # being random numbers. I started using the code block below in my runbooks to find if they are running in Azure or hybrid worker/locally. It accounts for the current and the updates that will be rolling out in the near future.

    $isHybridWorker = $true
    if (($env:computername) -eq "CLIENT") {
        $isHybridWorker = $false
    }
    elseif ($env:USERNAME -eq 'ContainerAdministrator') {
        $isHybridWorker = $false
    }
    ``
    2
  • Guidance on developing locally with Azure Automation
  • pwshguy pwshguy Now 100%

    Typically, when I have a script I need to test locally, I’ll comment out the identity connection command and just authenticate outside of my script. If I’m feeling real fancy, I’ll write a try/catch to attempt to authenticate first as the managed identity then if it fails prompt me for credentials. Not the most elegant solution, but it works.

    try {
        Add-AzAccount -Identity -SubscriptionId $SubscriptionId -ErrorAction Stop | Out-Null
    }    
    catch {
        Add-AzAccount -SubscriptionId $SubscriptionId
    }
    
    2
  • Most and Least Verbose Programming Languages
  • pwshguy pwshguy Now 100%

    For some reason their API would not return anything for assembly. I was curious to see where it would rank too,

    4
  • Patch Tuesday 8 August 2023
  • pwshguy pwshguy Now 100%

    Biggest things I'm seeing is CVE-2023-21709 for Exchange requires a PowerShell script to be run after patching. Also, CVE-2023-29328/29330 for Teams affect all devices (Windows, Mac, iOS, and Android).

    2
  • pwshguy Now
    71 49

    pwshguy (mdowst)

    pwshguy@ programming.dev

    Father, author, blogger, enthusiast of all things PowerShell and automation. http://linktr.ee/mdowst