<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[PowerShell.News]]></title><description><![CDATA[PowerShell.News is the go-to, weekly newsletter for the latest, unofficial, updates & insights on PowerShell. Sources include, Microsoft MVPs, employees, YouTubers, devs on GitHub, and more. Trusted by industry leaders & enterprise teams worldwide. ]]></description><link>https://www.powershell.news</link><image><url>https://substackcdn.com/image/fetch/$s_!dAQl!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F112346b7-e2a8-4fd8-a428-3f2786ee4cd5_256x256.png</url><title>PowerShell.News</title><link>https://www.powershell.news</link></image><generator>Substack</generator><lastBuildDate>Sun, 24 May 2026 22:59:14 GMT</lastBuildDate><atom:link href="https://www.powershell.news/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Jim Tyler]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[jimtyler@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[jimtyler@substack.com]]></itunes:email><itunes:name><![CDATA[Jim Tyler]]></itunes:name></itunes:owner><itunes:author><![CDATA[Jim Tyler]]></itunes:author><googleplay:owner><![CDATA[jimtyler@substack.com]]></googleplay:owner><googleplay:email><![CDATA[jimtyler@substack.com]]></googleplay:email><googleplay:author><![CDATA[Jim Tyler]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[DriftMaester for painless Maester and psign Finally Kills the Windows Signing Box ]]></title><description><![CDATA[Plus a free AI Intune script generator, GPT-5.5 in Copilot, and a quiet AutoRest deprecation worth watching]]></description><link>https://www.powershell.news/p/driftmaester-for-painless-maester</link><guid isPermaLink="false">https://www.powershell.news/p/driftmaester-for-painless-maester</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 22 May 2026 10:03:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dMIm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong>DriftMaester Makes Maester Easy to Install and Watches Your Score Drift</strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dMIm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dMIm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png 424w, https://substackcdn.com/image/fetch/$s_!dMIm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png 848w, https://substackcdn.com/image/fetch/$s_!dMIm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png 1272w, https://substackcdn.com/image/fetch/$s_!dMIm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dMIm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png" width="1300" height="966" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:966,&quot;width&quot;:1300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:38759,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/198716855?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dMIm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png 424w, https://substackcdn.com/image/fetch/$s_!dMIm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png 848w, https://substackcdn.com/image/fetch/$s_!dMIm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png 1272w, https://substackcdn.com/image/fetch/$s_!dMIm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa729b312-0722-4c90-aad2-85f182bbf68c_1300x966.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Jos Lieben spent his holiday weekend solving the two biggest things holding back wider Maester adoption, the painful installation process and the lack of visibility into remediation progress as new tests get added. DriftMaester gives you a fully automatic install that runs entirely in your own tenant using a single Azure automation account and a single storage account that the installer creates for you. It uses managed identity for all access so there are no secrets to rotate or expose, it updates both the tests and the module automatically, and it emails you when your security score drifts. If you have wanted to run Maester but bounced off the setup, this is the on ramp.</p><p><a href="https://github.com/jflieben/DriftMaester">https://github.com/jflieben/DriftMaester</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h1><strong>PingCastle vs PSGuerrilla: A Check by Check Comparison From the Person Who Wrote One of Them</strong></h1><p>I finally wrote up the comparison people have been asking me for since I started shipping PSGuerrilla. PingCastle is excellent software and I still tell every K12 director I know to run it, so this is not a takedown. It is an honest look at where the two tools overlap on the Active Directory side and where PSGuerrilla goes deeper, things like the modern ADCS escalation paths from ESC9 through ESC16, offline NTDS password auditing against HaveIBeenPwned, logon script body parsing, NTLM relay preconditions, and the Tier Zero hygiene checks that catch service accounts with DCSync rights hiding in plain sight. I also get into why I built it under a license that lets consultants, MSSPs, and pen testers use it commercially without per domain pricing, because the asymmetric defenders working in resource constrained environments are exactly the people who get priced out of good tooling. If you run AD, run both. If you want the cloud identity audit across Entra, Intune, M365, and Google Workspace for free, that part stops being a comparison pretty quickly.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;67d9a5e7-fd36-44dd-8dcc-298219bd18ec&quot;,&quot;caption&quot;:&quot;A couple of years ago I was driving to work listening to PDQ&#8217;s PowerShell Podcast, hosted by the one and only Andrew Pla, and Spencer Alessi was on talking about Active Directory security tooling. He brought up PingCastle. I had not used it. I downloaded it that afternoon, ran it against our domain, and within the hour I had a list of findings I had not&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;PingCastle vs. PSGuerrilla&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:33966665,&quot;name&quot;:&quot;Jim Tyler&quot;,&quot;bio&quot;:&quot;Microsoft MVP | Author of PowerShell for Systems Engineers | YT @PowerShellEngineer | Maker of PSGuerrilla&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71dd1f00-7851-427f-942a-725e27d3ba7a_1024x1024.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-05-20T10:01:04.903Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Wc5d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.powershell.news/p/pingcastle-vs-psguerrilla&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:198456350,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:338382,&quot;publication_name&quot;:&quot;PowerShell.News&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!dAQl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F112346b7-e2a8-4fd8-a428-3f2786ee4cd5_256x256.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h1><strong>psign Brings Portable Code Signing to Every Platform</strong></h1><p>Marc-Andr&#233; Moreau over at Devolutions just dropped psign, and it solves a problem that has annoyed me for years. Code signing has always meant keeping a Windows box around just to run signtool.exe, but psign lets you sign from Linux, handles every file format and signing method, and works with Azure Key Vault for the actual key material. You can grab the prebuilt Rust executables from GitHub Releases or install it as a dotnet tool with a single command. The detail I love is that psign-tool.exe itself is code signed from Linux using an Azure Key Vault, which is about as good a proof of concept as you could ask for.</p><p><a href="https://github.com/Devolutions/psign">https://github.com/Devolutions/psign</a></p><div><hr></div><h1><strong>AutoRest Deprecation Raises Questions for the Microsoft Graph PowerShell SDK</strong></h1><p>Tony Redmond flagged something in his latest automation update that belongs on the radar of anyone who depends on the Microsoft Graph PowerShell SDK. Back in February Microsoft quietly posted a deprecation and retirement notice for the AutoRest utility, which is the tool deeply embedded in the pipeline that generates the SDK from the OpenAPI documentation for the Graph APIs. Most of us, Tony included, missed the notice when it first went up. He walks through what AutoRest actually does in that generation process and what its retirement could mean for the future cadence and stability of the SDK we all build automation on top of. The new V2.37 release looks stable so far, but this is a thread worth keeping an eye on.</p><p><a href="https://office365itpros.com/2026/05/20/automating-microsoft-365-ps24/">https://office365itpros.com/2026/05/20/automating-microsoft-365-ps24/</a></p><div><hr></div><h1><strong>GPT-5.5 Instant Lands in Microsoft 365 Copilot</strong></h1><p>Microsoft brought OpenAI&#8217;s GPT-5.5 Instant into Microsoft 365 Copilot and Copilot Studio, replacing GPT-5.3 Instant as the quick response model across Word, Excel, Outlook, Teams, and the rest of the suite. The pitch is more accurate and concise answers with better image analysis and stronger performance on STEM tasks, plus less of the back and forth and follow up questions that made earlier models tedious. In Copilot Chat it shows up as GPT-5.5 Quick response in the model selector, and licensed users get priority access. For agent makers it is rolling out in Copilot Studio as GPT-5.5 Chat and is available in Foundry. Nothing in your ribbon changed, the model under the hood just got better.</p><p><a href="https://techcommunity.microsoft.com/blog/microsoft365copilotblog/available-today-gpt-5-5-instant-in-microsoft-365-copilot/4517084">https://techcommunity.microsoft.com/blog/microsoft365copilotblog/available-today-gpt-5-5-instant-in-microsoft-365-copilot/4517084</a></p><div><hr></div><h1><strong>Detecting Orphaned Azure Resources at Scale with KQL and PowerShell</strong></h1><div id="youtube2-_gGPK6-NHnw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;_gGPK6-NHnw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/_gGPK6-NHnw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>This is a genuinely useful walkthrough on hunting down the orphaned resources quietly draining your Azure bill, the unattached disks, the NSGs associated with nothing, the app service plans with no apps deployed, and the load balancers with no backend pools. The clever framing is that instead of asking what is being used, you ask what is not connected to anything, which turns this into one of the easier cleanup wins out there. The presenter credits Dolev Shor&#8217;s excellent orphaned resources workbook for the underlying KQL, then shows how to lift those queries into PowerShell, query Azure Resource Graph across the whole tenant, and tie every finding back to a resource owner tag so the right person gets the email about their own mess rather than you chasing it down. The payoff is a scheduled runbook in an Azure automation account that mails each owner an HTML report with clickable links straight to the resource and the specific issue flagged in red. When they ran it in their own environment they turned up enough forgotten disks to save tens of thousands of dollars a year.</p><div><hr></div><h1><strong>Block Microsoft 365 Apps Using Conditional Access, and How to Script It</strong></h1><p>Prajwal Desai has a clean walkthrough of building a Conditional Access policy in Entra to block Microsoft 365 apps on unmanaged or BYOD devices, complete with the report only testing approach and the break glass account exclusions you should never skip. His guide lives entirely in the portal, so here is the PowerShell angle for those of us who would rather not click through seven blades. The Microsoft Graph PowerShell SDK exposes the whole thing through New-MgIdentityConditionalAccessPolicy, where you define the conditions, the included and excluded users, the target apps, the device platforms, and the grant control as a structured object. The smart move is to create the policy with its state set to enabledForReportingButNotEnforced first, confirm the blast radius in the sign in logs, and then flip it to enabled once you trust it. Same logic Prajwal describes in the GUI, just version controlled and repeatable.</p><p><a href="https://www.prajwaldesai.com/block-microsoft-365-apps-using-conditional-access-policy/">https://www.prajwaldesai.com/block-microsoft-365-apps-using-conditional-access-policy/</a></p><div><hr></div><h1><strong>IntuneAutomation Ships a Free AI PowerShell Script Generator</strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MVZV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MVZV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png 424w, https://substackcdn.com/image/fetch/$s_!MVZV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png 848w, https://substackcdn.com/image/fetch/$s_!MVZV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png 1272w, https://substackcdn.com/image/fetch/$s_!MVZV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MVZV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png" width="1456" height="1179" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1179,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:659653,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/198716855?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MVZV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png 424w, https://substackcdn.com/image/fetch/$s_!MVZV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png 848w, https://substackcdn.com/image/fetch/$s_!MVZV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png 1272w, https://substackcdn.com/image/fetch/$s_!MVZV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2665af-a89a-4b72-9460-fc882cf93ff0_1966x1592.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Ugur Koc added a script generator to IntuneAutomation that turns plain English requests into production ready PowerShell for Intune and Microsoft Graph, and it is genuinely thoughtful about the things that usually make AI generated scripts dangerous. Every script runs through six checks covering metadata, real Graph permission scopes validated against the official list, security and injection risks, runtime correctness, destructive operation safety that enforces SupportsShouldProcess on anything that wipes or deletes, and validation of every Graph endpoint against the published catalog. It needs no sign in, does not store your prompts, and scrubs obvious secrets before sending. It also happens to run on Claude, which gave me a chuckle given how I assemble this newsletter. Free with a daily limit, and a solid starting point even if you plan to harden the output yourself.</p><p><a href="https://www.intuneautomation.com/generator/">https://www.intuneautomation.com/generator/</a></p><div><hr></div><h1><strong>Microsoft.Online.SharePoint.PowerShell 16.0.27215.12001 Released</strong></h1><p>Tony Schultz at the Icewolf blog notes that Microsoft shipped a new build of the SharePoint Online Management Shell. His writeup doubles as a good reminder to move to the modern PSResourceGet cmdlets like Get-InstalledPSResource and Find-PSResource instead of the older PowerShellGet commands when you check versions and update. He also raised a real question about uninstall problems that may be tied to CurrentUser scope getting redirected to OneDrive, so if you have run into that yourself, he is looking for confirmation.</p><p><a href="https://blog.icewolf.ch/archive/2026/05/20/powershell-module-microsoft-online-sharepoint-powershell-16-0-27215-12001/">https://blog.icewolf.ch/archive/2026/05/20/powershell-module-microsoft-online-sharepoint-powershell-16-0-27215-12001/</a></p><div><hr></div><h1><strong>PowerShell After Dark: OnRamp, IoT, and Finding Your People</strong></h1><p>Andrew Pla took his mic to the hotel bar at the PowerShell and DevOps Global Summit for an After Dark episode of the PowerShell Podcast, and it is the kind of conversation that reminds you the community side of PowerShell matters as much as the syntax. He sits down with four attendees, starting with Josh Gratton, a 2026 OnRamp scholarship recipient who went from fifteen years in another field to the service desk to a systems engineering role on the strength of PowerShell automation, and who left Bellevue already planning to speak at a future Summit. From there it is Mark Go on his IoT and hardware work, Craig Mileham soaking up his first Summit while running MSP support in higher ed, and Matt Zaske, the Home Assistant and soldering enthusiast who ran a lightning demo and blogs over at mzonline.com. The thread Andrew keeps pulling on across all four is worth hearing if you have been lurking on the sidelines. Beginners belong here, reaching out is the move, and the distance between an online community and your people closes fast once you are in the same room.</p><div id="youtube2-Y_GDB0e8xHY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Y_GDB0e8xHY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Y_GDB0e8xHY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1><strong>MicrosoftPlaces PowerShell Module 2.1.7</strong></h1><p>Also from Tony Schultz this week, MicrosoftPlaces 2.1.7 is out. The headline change is a new IsAutoGenerated property exposed on Get-PlaceV3 so you can tell whether a place object was auto created by Microsoft rather than defined by an administrator. If you are managing Places for room and desk booking, this is a small but useful addition for cleaning up and auditing your place data. You will need Exchange or Places administrator rights to connect and pull the configuration.</p><p><a href="https://blog.icewolf.ch/archive/2026/05/19/microsoftplaces-powershell-module-2-1-7-has-been-released/">https://blog.icewolf.ch/archive/2026/05/19/microsoftplaces-powershell-module-2-1-7-has-been-released/</a></p><div><hr></div><h1><strong>Merill Fernando Launches a Weekly Microsoft AI Roundup</strong></h1><p>Merill Fernando, the person behind entra.news and the Maester project, just launched a new weekly newsletter called Merill&#8217;s Weekly Microsoft AI Roundup. It covers the most important updates across Microsoft 365 Copilot, GitHub Copilot, Azure AI Foundry, Copilot Studio, Security Copilot, Fabric, Microsoft Agent 365, and the wider community, which is a lot of ground that has been genuinely hard to track in one place. If you already lean on entra.news to keep up with identity, this is the same treatment for the AI side of the ecosystem. Worth a subscribe while it is still early.</p><div class="embedded-publication-wrap" data-attrs="{&quot;id&quot;:8812981,&quot;name&quot;:&quot;Merill's weekly Microsoft AI roundup&quot;,&quot;logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!L0I8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08de2b8c-c37a-4f51-9139-cefe183b0016_1254x1254.png&quot;,&quot;base_url&quot;:&quot;https://msai.ms&quot;,&quot;hero_text&quot;:&quot;Your weekly guide to the most important Microsoft AI updates across Microsoft 365 Copilot, GitHub Copilot, Azure AI Foundry, Copilot Studio, Security Copilot, Fabric, Microsoft Agent 365, and the wider community.&quot;,&quot;author_name&quot;:&quot;Merill Fernando&quot;,&quot;show_subscribe&quot;:true,&quot;logo_bg_color&quot;:&quot;#f5f5f5&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPublicationToDOMWithSubscribe"><div class="embedded-publication show-subscribe"><a class="embedded-publication-link-part" native="true" href="https://msai.ms?utm_source=substack&amp;utm_campaign=publication_embed&amp;utm_medium=web"><img class="embedded-publication-logo" src="https://substackcdn.com/image/fetch/$s_!L0I8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08de2b8c-c37a-4f51-9139-cefe183b0016_1254x1254.png" width="56" height="56" style="background-color: rgb(245, 245, 245);"><span class="embedded-publication-name">Merill's weekly Microsoft AI roundup</span><div class="embedded-publication-hero-text">Your weekly guide to the most important Microsoft AI updates across Microsoft 365 Copilot, GitHub Copilot, Azure AI Foundry, Copilot Studio, Security Copilot, Fabric, Microsoft Agent 365, and the wider community.</div><div class="embedded-publication-author-name">By Merill Fernando</div></a><form class="embedded-publication-subscribe" method="GET" action="https://msai.ms/subscribe?"><input type="hidden" name="source" value="publication-embed"><input type="hidden" name="autoSubmit" value="true"><input type="email" class="email-input" name="email" placeholder="Type your email..."><input type="submit" class="button primary" value="Subscribe"></form></div></div><div><hr></div><h1><strong>Winget Inside Intune Remediation Scripts with David Sass</strong></h1><div id="youtube2-tfhU2-J47UA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;tfhU2-J47UA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/tfhU2-J47UA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>This PSConfEU session from David Sass is making the rounds again, and for good reason. He shows how to build smarter Intune remediation scripts powered by Winget so you can deploy and update software across your fleet without paying for extra add ons. He covers capturing logs and telemetry with Application Insights, troubleshooting execution with proper output and exit codes, and the real world lessons from running this in a hardened enterprise environment. If you have been justifying paid app management tooling to your budget holders, this one might change the conversation.</p><div><hr></div><h1>Events &amp; Groups</h1><h2><strong>PowerShell Conference Europe 2026</strong></h2><p>The big one is just around the corner, June 1 to 4 in Wiesbaden, Germany. Heads up that ticket prices already moved to 1,950 euros as of May 11 with the event entering its final logistics phase, so if you have been sitting on the fence, the cost only climbs from here.</p><p>https://psconf.eu/</p><h2><strong>PowerShell Ohio User Group Launches</strong></h2><p>Stephen Valdinger, Ryan Richter, and fellow MVP Jake Hildreth have teamed up to launch PowerShell Ohio, a new user group for the PowerShell curious, the enthusiasts, and the seasoned pros to learn, laugh, and build community around automation. The site and Meetup page are live now, and they are working out the logistics for a first meeting. Join the Meetup to get notified once they start scheduling.</p><p>https://psoh.io/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[PingCastle vs. PSGuerrilla]]></title><description><![CDATA[A Check by Check Comparison From the Person Who Wrote One of Them]]></description><link>https://www.powershell.news/p/pingcastle-vs-psguerrilla</link><guid isPermaLink="false">https://www.powershell.news/p/pingcastle-vs-psguerrilla</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Wed, 20 May 2026 10:01:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Wc5d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wc5d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wc5d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Wc5d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Wc5d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Wc5d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wc5d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1966703,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/198456350?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wc5d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Wc5d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Wc5d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Wc5d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9f30377-7010-4886-bd3c-1e3f2f8cc3d1_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A couple of years ago I was driving to work listening to PDQ&#8217;s <a href="https://www.youtube.com/watch?v=DnEfyGjMMwE">PowerShell Podcast</a>, hosted by the one and only Andrew Pla, and Spencer Alessi was on talking about Active Directory security tooling. He brought up PingCastle. I had not used it. I downloaded it that afternoon, ran it against our domain, and within the hour I had a list of findings I had not seen before. A few months later I was on stage at <a href="https://maeds.org">MAEDS</a> giving a talk called <em><a href="https://github.com/jimrtyler/MAEDS/blob/main/2024/Securing%20Active%20Directory%20with%20PowerShell%20and%20Other%20Tools%20-%20MAEDS%202024%20-%20Copy.pdf">Securing Active Directory with PowerShell and Other Tools</a></em>, and PingCastle was in the slide deck. I told a room of Michigan K-12 IT directors to go run it.</p><p>I still tell people to run it. PingCastle is good software. Vincent Le Toux has been maintaining it for the better part of a decade, the scoring model is calibrated against more real environments than anyone else&#8217;s, and the HTML report is the closest thing our industry has to a shared vocabulary for AD posture. If you have ever sat in a room where two engineers compare AD environments by maturity level, PingCastle is the reason that conversation is possible.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>A note on scope before I go further. PSGuerrilla is not an AD-only tool. It ships 431 security checks across four theaters: Google Workspace (98 checks), Active Directory (175 checks), Entra ID, Azure, Intune, and M365 (159 checks), and continuous monitoring on top of all of it. PingCastle is fundamentally an AD tool with a separate paid Cloud Edition for Entra. So a fair comparison is really just the AD piece. That is what most of this article is about. But I want to be honest up front that the cloud side is not a place PingCastle wins. It is a place PSGuerrilla extends much further by the end. </p><p>So why did I build PSGuerrilla?</p><h2>Why I built it anyway</h2><p>Two reasons. The first is structural and the second is philosophical, and they reinforce each other.</p><p>The structural one is that PingCastle&#8217;s coverage stops where Vincent&#8217;s roadmap stops and there are categories of AD risk in 2026 that did not exist when the original rule set was written. ADCS escalation is the obvious example. ESC1 through ESC8 were documented in SpecterOps&#8217; <em><a href="https://specterops.io/wp-content/uploads/sites/3/2022/06/Certified_Pre-Owned.pdf">Certified Pre-Owned</a></em> paper and PingCastle covers them well. ESC9 through ESC16 and EKEUwu were published after PingCastle&#8217;s ADCS module was written, and templates that pass PingCastle&#8217;s checks can still get you domain owned via ESC9 or ESC13. Same story with NTDS hash analysis, logon script body parsing, NTLM relay preconditions as a category, and Tier-0 hygiene for accounts that are functionally Tier-0 but do not appear in standard privileged group enumeration. Someone needed to write the checks.</p><p>The philosophical reason is that PingCastle Basic Edition is free for internal IT, but not for security consultants, MSSPs, pen testers, or auditors running it against client domains. For those use cases you need one of PingCastle&#8217;s commercial licenses (Auditor or Enterprise, depending on the engagement). That is a defensible business model. Vincent is well within his rights to fund the project that way and the per domain cost is reasonable. But it cuts out the people who deliver findings for a living without a budget for tooling, and it cuts out the consultancies that work with under resourced organizations. K-12 districts, county governments, rural hospitals, and small nonprofits, which are the places I spend most of my career thinking about, almost always get audited by someone who is bringing their own tools to the engagement.</p><p>I run the IT department for a public Michigan school district of about 4,900 students across 10 buildings. I know what the tooling budget looks like at that scale. The same dynamic plays out at every district my size in the state and most of the country. The principle I keep coming back to is that asymmetric defenders in resource constrained environments need asymmetric tools. That is the whole point of what I call Guerilla Zero Trust: high impact, low cost defenses that do not require a million dollar SOC stack to operate. PSGuerrilla is licensed under CC BY 4.0. Internal IT, consultants, MSSPs, pen testers, and red teams can all use it commercially. No per domain pricing, no commercial license tier, no usage gate. That license model is the actual headline.</p><p>The technical comparison below is what justifies the existence of the second tool. The license is what justifies who gets to use it.</p><h2>The headline numbers for the AD side</h2><p>PSGuerrilla&#8217;s <code>Invoke-Reconnaissance</code> cmdlet (the Active Directory module specifically) ships 203 AD security checks across 14 categories. Every one is callable as a standalone PowerShell function and documented with a stable check ID:</p><p>Category Count Prefix Privileged Account Hygiene 30 ADPRIV- Group Policy 24 ADGPO- Password Policy + NTDS 22 ADPWD- Domain / Forest 20 ADDOM- Certificate Services 19 ADCS- ACL / Delegation 16 ADACL- Logon Scripts 11 ADSCRIPT- Kerberos 11 ADKERB- Trusts 11 ADTRUST- Stale Objects 11 ADSTALE- Network (NTLM relay) 10 ADNET- Tier-Zero Hygiene 7 ADTIER- Logging Posture 7 ADLOG- Tradecraft Indicators 4 ADTRADE-</p><p>PingCastle ships roughly 150 rules in its scoring engine across anomalies, privileged accounts, stale objects, and trusts. The categories overlap significantly with mine, but the depth varies category by category. The gap is not uniformly 53 checks. In some areas PingCastle is at parity. In others it is much wider than the totals suggest.</p><h2>ADCS: where the gap is widest</h2><p>Active Directory Certificate Services is the single area where the difference matters most.</p><p>PingCastle covers the classic ADCS escalation paths from the original <em><a href="https://specterops.io/wp-content/uploads/sites/3/2022/06/Certified_Pre-Owned.pdf">Certified Pre-Owned</a></em> paper, ESC1 through ESC8. That coverage is solid and stable.</p><p>PSGuerrilla ships the full modern escalation surface:</p><ul><li><p><strong>ADCS-002</strong> ESC1: Enrollee Supplies Subject Alternative Name</p></li><li><p><strong>ADCS-003</strong> ESC2: Any Purpose Extended Key Usage</p></li><li><p><strong>ADCS-004 / ADCS-005</strong> ESC3: Enrollment Agent Template Abuse (both conditions)</p></li><li><p><strong>ADCS-006 / ADCS-007</strong> ESC4: Vulnerable Template ACLs and Ownership</p></li><li><p><strong>ADCS-008</strong> ESC5: Vulnerable PKI Object ACLs</p></li><li><p><strong>ADCS-009</strong> ESC6: EDITF_ATTRIBUTESUBJECTALTNAME2 Flag</p></li><li><p><strong>ADCS-010</strong> ESC7: Vulnerable CA ACLs</p></li><li><p><strong>ADCS-011</strong> ESC8: NTLM Relay to AD CS HTTP Endpoints</p></li><li><p><strong>ADCS-012</strong> ESC9: No Security Extension</p></li><li><p><strong>ADCS-013</strong> ESC11: RPC Relay Without Encryption</p></li><li><p><strong>ADCS-014</strong> ESC13: Issuance Policy OID Group Link</p></li><li><p><strong>ADCS-015</strong> ESC15: Application Policies in Schema v1 Templates</p></li><li><p><strong>ADCS-016</strong> ESC16: UPN SAN Misconfiguration</p></li><li><p><strong>ADCS-017</strong> EKEUwu: Extended Key Usage Abuse</p></li><li><p>Plus CA server inventory (ADCS-001), template enumeration (ADCS-019), and CA auditing configuration (ADCS-018)</p></li></ul><p>ESC9 through ESC16 plus EKEUwu represent attack paths documented after PingCastle&#8217;s ADCS module was originally written. Templates that pass PingCastle&#8217;s checks can still be exploited via ESC9 (no security extension allows certificate requests from a user account with a manipulable <code>altSecurityIdentities</code> mapping) or ESC13 (issuance policy linked to a group SID). If you have an internal PKI and you have not audited it since 2022, PSGuerrilla will find paths PingCastle does not surface. I have watched this happen in production.</p><h2>The NTDS password audit nobody else ships free</h2><p>PSGuerrilla integrates DSInternals to read NTDS.dit offline (no domain impact, optional DC backup path) and runs four distinct checks against the resulting hashes:</p><ul><li><p><strong>ADPWD-010</strong> Users with Blank Passwords (Critical)</p></li><li><p><strong>ADPWD-011</strong> Duplicate Password Hashes (High)</p></li><li><p><strong>ADPWD-012</strong> Passwords in HaveIBeenPwned Database (High)</p></li><li><p><strong>ADPWD-014</strong> Default/Common Passwords (High)</p></li></ul><p>Plus tier aware cross references via <strong>ADPRIV-016</strong> (Privileged Accounts Weak Passwords).</p><p>PingCastle does not ship offline NTDS hash analysis or HIBP integration in the Basic edition. The typical adjacent tool here is <a href="https://specopssoft.com/product/specops-password-auditor/">Specops Password Auditor</a>, which is a separate product with separate licensing. PSGuerrilla ships it as part of <code>Invoke-Reconnaissance</code>. The HIBP corpus downloads once and updates via <code>Update-ThreatIntel</code>.</p><p>This is the single most operationally useful finding most environments can generate. A privileged account password that appears in HIBP is a meeting on Monday morning. I have run this against my own domain and against domains I have been allowed to test. It surfaces real issues on the first run, every time.</p><h2>Logon scripts, NTLM relay, and tradecraft</h2><p>Three categories I treat as first class concerns that PingCastle treats more lightly in my opinion. </p><p><strong>Logon Script Analysis</strong> (11 checks, ADSCRIPT-001 through ADSCRIPT-011) parses every <code>.bat</code>, <code>.cmd</code>, <code>.ps1</code>, and <code>.vbs</code> in SYSVOL and Netlogon. It flags hardcoded credentials (ADSCRIPT-004), LOLBins usage (ADSCRIPT-005), plaintext passwords (ADSCRIPT-006), world-writable script permissions (ADSCRIPT-007), external resource references (ADSCRIPT-008), and UNC paths to non-DC locations (ADSCRIPT-010). In any environment older than five years, this category returns findings on the first run. I built it because I have seen what lives in SYSVOL at districts that inherited their domain from a previous administrator. PingCastle catches the GPP <code>cpassword</code> leftovers but does not parse script bodies at this level.</p><p><strong>Network NTLM Relay Preconditions</strong> (10 checks, ADNET-001 through ADNET-010) covers the conditions that make Responder, mitm6, and Print Spooler relay attacks work. LDAP Signing required (ADNET-001), LDAP Channel Binding enforced (ADNET-002), SMB Server/Client Signing required (ADNET-003/004), LLMNR disabled (ADNET-005), NetBIOS-over-TCP reviewed (ADNET-006), IPv6 mitm6 mitigation posture (ADNET-007), WPAD auto-discovery disabled (ADNET-008), Print Spooler on DCs (ADNET-009), WebClient service default state (ADNET-010). PingCastle covers LDAP and SMB signing. The WPAD, LLMNR, IPv6, and WebClient surface as a dedicated category is mine.</p><p><strong>Tradecraft Indicators</strong> (4 checks, ADTRADE-001 through ADTRADE-004) is small but distinctive. ADTRADE-001 finds GPP <code>cpassword</code> leftovers in SYSVOL (the 2014 vulnerability that still lives in production environments today; I have found this in district domains in the last twelve months). ADTRADE-002 checks for DCShadow indicators (rogue configuration partition servers that signal a sophisticated persistence technique). ADTRADE-003 catches stale BitLocker recovery keys. ADTRADE-004 audits RODC Password Replication Policy hygiene. PingCastle catches the <code>cpassword</code> issue. The other three are PSGuerrilla originals.</p><h2>Tier-Zero hygiene: the tier-bleed problem</h2><p>My ADTIER-001 through ADTIER-007 checks address a category PingCastle largely does not cover: service accounts that are effectively Tier-0 but do not appear in standard privileged group enumeration.</p><p>The flagship example is <strong>ADTIER-001 (Azure AD Connect MSOL_ Audit)</strong>. When Azure AD Connect installs in Express mode, it creates a domain account named <code>MSOL_&lt;random-hex&gt;</code> and grants it Replicating Directory Changes plus Replicating Directory Changes All on the domain naming context. That is DCSync rights. The account is functionally a domain takeover if compromised. It lives in the default Users container, has a 10 year password expiry, and rarely appears in Domain Admins enumeration because it gets its power via direct ACL rather than group membership. Most AD tools miss it. I have personally found this account misconfigured in environments that had been audited by other tools and passed.</p><p>ADTIER-002 through ADTIER-005 extend the same logic to backup software service accounts (Veeam, CommVault), hypervisor accounts (vCenter), configuration management (SCCM), and SQL service accounts that have crept into Tier-0 groups over time. ADTIER-006 flags Tier-0 admins living outside dedicated Tier-0 OUs. ADTIER-007 flags service accounts that hold interactive logon rights via privileged group membership, which violates the Microsoft tier model.</p><p>This is one of the highest signal categories in a modern AD audit. Hybrid identity environments accumulate these accounts across change windows nobody documents. PSGuerrilla checks for them by default.</p><h2>Logging posture</h2><p>PingCastle does not audit logging configuration as a distinct category. My ADLOG-001 through ADLOG-007 covers the controls that determine whether an incident response would actually have data to work with:</p><ul><li><p><strong>ADLOG-001</strong> Advanced Audit Policy configured</p></li><li><p><strong>ADLOG-002</strong> PowerShell Script Block Logging enabled</p></li><li><p><strong>ADLOG-003</strong> PowerShell Module Logging enabled</p></li><li><p><strong>ADLOG-004</strong> Process Creation Auditing with command line (Event 4688)</p></li><li><p><strong>ADLOG-005</strong> Microsoft Defender Tamper Protection policy</p></li><li><p><strong>ADLOG-006</strong> Windows Event Forwarding (WEF) Subscription Manager configured</p></li><li><p><strong>ADLOG-007</strong> Sysmon deployment indicator</p></li></ul><p>This category does not change the attack surface. It changes what is recoverable when something goes wrong. Worth running for that reason alone, and a category I care about deeply because I have sat in incident calls where the question of &#8220;do we have logs for that&#8221; had a bad answer.</p><h2>What PingCastle still wins on</h2><p>I want to be careful here. PingCastle is not behind on every front, and I am not trying to suggest otherwise. Several things it does that PSGuerrilla either does not match or covers differently:</p><ul><li><p><strong>The Healthcheck XML primitive.</strong> PingCastle uses this as a stable cross environment data format. It is useful for trend analysis across multiple domains, especially in MSSP contexts (with an Auditor or Enterprise license).</p></li><li><p><strong>Scoring model maturity.</strong> PingCastle&#8217;s 0 to 100 risk score is calibrated against several years of real world data, and the Maturity Level framework is widely recognized. PSGuerrilla has its own Guerrilla Score with FORTRESS, DEFENDED POSITION, CONTESTED GROUND, EXPOSED FLANK, UNDER SIEGE, and OVERRUN tiers, but PingCastle&#8217;s calibration history is longer.</p></li><li><p><strong>Trust analysis depth on the AD side.</strong> PingCastle&#8217;s multi-forest trust mapping is mature and well tested. PSGuerrilla covers AD trusts in 11 checks but does not visualize the relationships the same way.</p></li><li><p><strong>Single binary deployment.</strong> PingCastle runs as one <code>.exe</code>. PSGuerrilla requires PowerShell 7 and the DSInternals module for the NTDS checks. If you need to run something on a locked down jump host with no PowerShell modernization story, PingCastle is easier to deploy.</p></li></ul><p>If your organization has standardized on PingCastle and your team understands the scoring model, there is no reason to abandon it. The two tools coexist well. PSGuerrilla fills the AD categories PingCastle does not cover, extends into Entra, M365, and Workspace that PingCastle does not touch in the free tier, and offers a license model that fits engagements PingCastle&#8217;s free tier does not.</p><h2>Beyond AD: where the comparison stops being a comparison</h2><p>PingCastle is at its core an AD tool. PingCastle Cloud Edition is a paid add-on that crosses into Entra. That is a fair business decision. But it is worth being precise about what it means: in the free tier, PingCastle does not audit Entra ID, M365, Intune, or Google Workspace at all. PSGuerrilla does all four, by default, under the same CC BY 4.0 license, in the same module.</p><p><code>Invoke-Infiltration</code> runs 159 checks across Entra ID, Azure, Intune, and M365. That covers Conditional Access, PIM, application consent grants, risky sign-ins, Exchange Online security posture, SharePoint sharing settings, Teams external access, Intune compliance policies, and the rest. <code>Invoke-Fortification</code> runs 98 checks against Google Workspace, covering admin console hardening, OAuth third party app review, Drive sharing posture, Gmail security defaults, audit log configuration, and 23 behavioral detection signals via <code>Invoke-Recon</code>. I built the Workspace side first because I run a Google district, and I needed something that audited Workspace the way PingCastle audits AD. There was nothing free that did it.</p><p>The continuous monitoring layer is where the multi-theater design starts to pay back. <code>Invoke-Surveillance</code> watches Entra ID for sign-in risk and directory changes. <code>Invoke-Watchtower</code> does baseline drift detection against AD. <code>Invoke-Wiretap</code> tails the M365 unified audit log for Exchange, SharePoint, Teams, Defender, and Power Platform events. Patrols schedule any of these via <code>Register-Patrol</code> and route alerts through nine providers: Teams, Slack, PagerDuty, Twilio, SendGrid, Mailgun, generic webhook, Syslog CEF/LEEF, and Windows Event Log.</p><p>For K-12 specifically, there is a <code>K12</code> scoring profile and a compliance crosswalk that maps findings to FERPA, COPPA, CIPA, NIST 800-171, and state ed tech frameworks. That is built in. Nobody else ships this for free (and I need it bad!).</p><p>If you want to do an apples to apples comparison on cloud identity, you would need PingCastle Cloud Edition (paid) on one side and <code>Invoke-Infiltration</code> (free) on the other, and at that point you are not really comparing the same product anymore.</p><h2>Output and remediation</h2><p>Where PingCastle stops at the report, PSGuerrilla pairs every finding with a remediation. I built it this way because in my day job I do not have a remediation team. I have me, and I have a small team of people who already have full plates. If I am going to ship a tool that produces 150 findings, I owe my own future self a way to work through them without writing 150 PowerShell scripts.</p><p><code>Export-TechnicalReport</code> ships each finding with check ID, current value, recommended value, severity, MITRE ATT&amp;CK mapping, CIS Benchmark citation, NIST SP 800-53 and 800-171 references, and step by step remediation. <code>Export-RemediationScripts</code> writes one <code>.ps1</code> per finding, each with a safety preamble and rollback comments. <code>Export-ExecutiveSummary</code> produces a one page document for the board. <code>Export-BudgetJustification</code> groups remediations by cost tier so leadership can make funding decisions.</p><p>For a 150 finding environment, that turns a six week remediation sprint into a structured backlog where each ticket carries the script attached. Nothing auto-applies. The intended workflow is read, scope, approve, execute.</p><h2>How this is being built</h2><p>I should be direct about something. I am not writing all 431 of these checks by hand. PSGuerrilla is being built with the assistance of AI tools doing a lot of the implementation, with my expertise and lived experience as the watchful eye over every commit. I know what a misconfigured MSOL_ account looks like in production because I have found one. I know what GPP <code>cpassword</code> leftovers do in a real district because I have cleaned them up. The agentic tools accelerate the work. The judgment about what to check, why it matters, and what the remediation actually has to do is mine.</p><p>I am also actively stress testing the module against sample environments to verify the checks behave correctly across configurations I do not run in production. That work is not glamorous and it does not show up in a demo, but it is the difference between a tool that runs and a tool that runs reliably.</p><p>My advice for anyone reading this who has thought about building their own tooling: take the PSGuerrilla base, drop it in your own repo, and let Copilot CLI loose on it to customize it to your environment. Add your own checks. Tune the scoring weights. Wire up the alerting providers you actually use. The CC BY 4.0 license exists precisely so this is allowed.</p><p>Building modules without agentic AI in 2026 seems nuts to me at this point. The tools are too good. The leverage they give a single practitioner who knows what they want is too high. If you are an IT director at a district my size and you are sitting on tribal knowledge about your environment that nobody else has, that knowledge plus an agentic editor is enough to produce something worth running. The barrier to making real tools has collapsed. Expertise still matters. Judgment still matters. The willingness to actually ship still matters. What has changed is how much typing sits between those things and a working module.</p><h2>How to use both</h2><p>The honest recommendation for AD specifically is to use both, at least initially. PingCastle&#8217;s scoring is a useful reference point and the Maturity Level framework gives leadership a familiar yardstick. PSGuerrilla extends the AD coverage into ADCS depth, NTDS password analysis, logon scripts, NTLM relay preconditions, Tier-0 hygiene, logging posture, and tradecraft indicators that PingCastle does not surface. Then it keeps going into Entra, Azure, Intune, M365, and Google Workspace that PingCastle&#8217;s free edition does not touch.</p><p>For internal IT teams: run both on the AD side. PingCastle Basic is free for you. PSGuerrilla fills the AD gaps and gives you the cloud identity audit on top.</p><p>For consultants, MSSPs, pen testers, and analysts who need to deliver findings to clients without per-engagement licensing: PSGuerrilla is CC BY 4.0 across all 431 checks. Attribute the source in the report (a footnote suffices) and ship.</p><h2>Trying it</h2><p>PSGuerrilla is published to the PowerShell Gallery at <a href="https://www.powershellgallery.com/packages/PSGuerrilla/2.2.1">powershellgallery.com/packages/PSGuerrilla</a>, so for most people the install is one line. For the AD audit specifically, you do not need to set anything else up. PSGuerrilla uses your current Kerberos session, so if you are running from a domain-joined machine with appropriate read rights, you can go from <code>Install-Module</code> to running checks in two commands.</p><pre><code><code># Install from the PowerShell Gallery (recommended)
Install-Module PSGuerrilla
Import-Module PSGuerrilla

# AD audit. No vault setup needed. Uses your current Kerberos session.
Invoke-ADRecon                  # alias for Invoke-Reconnaissance

# For cloud audits, set up the encrypted credential vault first
Set-Safehouse
Invoke-Infiltration             # Entra / Azure / Intune / M365 (159 checks)
Invoke-Fortification            # Google Workspace (98 checks)

# Or run everything in one go after Set-Safehouse
Invoke-Campaign

# Alternative install path if you want the latest unreleased changes
# git clone https://github.com/jimrtyler/PSGuerrilla.git
# Import-Module ./PSGuerrilla/PSGuerrilla.psd1
</code></code></pre><p>For the AD audit, no credential setup is needed when running from a domain-joined machine. Add <code>Install-Module DSInternals</code> if you want the NTDS hash analysis. For the cloud paths you will need an Entra app registration with the right Graph scopes (the README walks through it) and, for Workspace, a GCP service account with domain wide delegation. Both of those credentials live in the safehouse vault that <code>Set-Safehouse</code> creates.</p><p>The first run produces the executive summary, technical report, remediation playbook, and per-finding scripts. The technical report includes every check ID, observed value, recommended value, and remediation steps. The remediation scripts go into a separate folder. Nothing runs automatically.</p><p>PSGuerrilla is at <a href="https://guerrilla.army/">guerrilla.army</a>. The site includes an interactive configuration builder that generates the JSON config file for whichever environments you want to audit. Source is at <a href="https://github.com/jimrtyler/PSGuerrilla">github.com/jimrtyler/PSGuerrilla</a>. CC BY 4.0.</p><p>PingCastle is at <a href="https://www.pingcastle.com/">pingcastle.com</a>. Commercial licensing (Auditor, Enterprise, and Cloud Edition) is per-domain.</p><p>The right answer for most teams on the AD side is <em>both, for different reasons</em>. The right answer for the cloud side is the tool that audits it for free. The right answer for analysts who bill for the work is the tool that does not charge per engagement.</p><h2>Report what you find</h2><p>PSGuerrilla will encounter edge cases in environments I have not tested against yet. That is the nature of shipping a security module that touches six different identity platforms across whatever combination of legacy and modern configurations your domain has accumulated since it was stood up. If you hit a check that produces a false positive, a missing dependency, an unhelpful error message, or a remediation script that does the wrong thing in your environment, open an issue at <a href="https://github.com/jimrtyler/PSGuerrilla/issues">github.com/jimrtyler/PSGuerrilla/issues</a>. The more specific the better. Versions, OS, domain functional level, the exact check ID, and anonymized output if you can share it. The faster I see it, the faster I can fix it for everyone running the next version.</p><p>If you build your own checks on top of the base and want them merged upstream, pull requests are welcome too. Thanks for reading if you&#8217;re still here!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[A Sit Down with 3 MVPs and PDQ, Understanding How Graph Permissions for Groups Actually Work]]></title><description><![CDATA[+ Dynamically Removing Preinstalled Microsoft Store Apps Using Native Functionality]]></description><link>https://www.powershell.news/p/a-sit-down-with-3-mvps-and-pdq-understanding</link><guid isPermaLink="false">https://www.powershell.news/p/a-sit-down-with-3-mvps-and-pdq-understanding</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 15 May 2026 17:28:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GMPS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><h1><strong>PowerShell Automation for Sysadmins: Working Smarter With Three MVPs and 500 Attendees</strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GMPS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GMPS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png 424w, https://substackcdn.com/image/fetch/$s_!GMPS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png 848w, https://substackcdn.com/image/fetch/$s_!GMPS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png 1272w, https://substackcdn.com/image/fetch/$s_!GMPS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GMPS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png" width="1456" height="591" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:591,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:489703,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/197852402?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GMPS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png 424w, https://substackcdn.com/image/fetch/$s_!GMPS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png 848w, https://substackcdn.com/image/fetch/$s_!GMPS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png 1272w, https://substackcdn.com/image/fetch/$s_!GMPS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa250cb68-7bc5-45bf-b678-35f940a94997_2488x1010.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So this is a little embarrassing. I joined Andrew Pla and Steven Judd for the PDQ webcast on PowerShell automation for sysadmins on May 13, three Microsoft MVPs talking for an hour about how PowerShell helps you stop doing sysadmin work the hard way, and I somehow managed to put together this entire newsletter without mentioning it once. Over 500 of you joined us live, which still kind of blows my mind. We covered how to figure out which tasks to automate first, why reporting and visibility scripts are the safer starting point than anything destructive, how Andrew thinks about going from reactive to proactive, why Steven hammers on the object oriented nature of PowerShell as the thing that trips people up early, and how I keep my K12 environment from imploding during student rollover when thousands of accounts need to move between organizational units at once. The full recording is on demand now, and Meredith Kreisa at PDQ wrote up an excellent companion piece that captures the whole conversation.</p><p>Watch it here: https://www.pdq.com/events/it-exchange-may2026/</p><p>Blog based on it here: <a href="https://www.pdq.com/blog/powershell-automation-for-sysadmins/">https://www.pdq.com/blog/powershell-automation-for-sysadmins/</a></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h1><strong>Patch Tuesday May 2026: 118 CVEs, 16 Critical, and a Dynamics 365 RCE That Demands Attention</strong></h1><div id="youtube2-1t45a_iAo1Y" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;1t45a_iAo1Y&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/1t45a_iAo1Y?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Brock Bingham at PDQ has the full Patch Tuesday breakdown for May, and this one earned its keep. Microsoft addressed 118 CVEs with 16 rated critical, headlined by CVE-2026-42898, a Dynamics 365 remote code execution flaw scoring 9.9, and CVE-2026-41096, a 9.8 DNS Client RCE that should be patched in every environment yesterday. There is also a cluster of seven critical Office RCEs and a Hyper-V issue worth reading up on before you cut your maintenance window.</p><p><a href="https://www.pdq.com/blog/patch-tuesday-may-2026/">https://www.pdq.com/blog/patch-tuesday-may-2026/</a></p><div><hr></div><h1><strong>Microsoft.Graph PowerShell Modules 2.37.0 Released</strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tlqn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tlqn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Tlqn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Tlqn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Tlqn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tlqn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1890278,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/197852402?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Tlqn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Tlqn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Tlqn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Tlqn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa57107f7-af70-41da-a7dc-d75d7cd4741f_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Tony Schultz at Icewolf has the quick rundown on the latest Microsoft.Graph PowerShell module release. Version 2.37.0 is now on the PowerShell Gallery and brings the usual mix of cmdlet additions, schema updates, and fixes that come with each release. If you are running automation that depends on Graph cmdlets, this is the kind of update you want to test in a lab before rolling into production scripts.</p><p><a href="https://blog.icewolf.ch/archive/2026/05/13/microsoft-graph-powershell-modules-2-37-0-released/">https://blog.icewolf.ch/archive/2026/05/13/microsoft-graph-powershell-modules-2-37-0-released/</a></p><div><hr></div><h1><strong>Understanding How Graph Permissions for Groups Actually Work</strong></h1><p>Tony Redmond breaks down one of the more confusing corners of Microsoft Graph, the difference between Group.Read.All and GroupMember.Read.All and the implications for any app or PowerShell script that touches groups. The piece is a strong walk through of why the principle of least privilege matters here, what each permission actually unlocks, and how to reason about scopes when designing automation. If you have ever requested a wider permission than you really needed because the docs were unclear, this one is worth your time.</p><p><a href="https://office365itpros.com/2026/05/13/graph-permissions-groups/">https://office365itpros.com/2026/05/13/graph-permissions-groups/</a></p><div><hr></div><h1><strong>Dynamically Removing Preinstalled Microsoft Store Apps Using Native Functionality</strong></h1><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dvX7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dvX7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png 424w, https://substackcdn.com/image/fetch/$s_!dvX7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png 848w, https://substackcdn.com/image/fetch/$s_!dvX7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png 1272w, https://substackcdn.com/image/fetch/$s_!dvX7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dvX7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png" width="1200" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:28264,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/197852402?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dvX7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png 424w, https://substackcdn.com/image/fetch/$s_!dvX7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png 848w, https://substackcdn.com/image/fetch/$s_!dvX7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png 1272w, https://substackcdn.com/image/fetch/$s_!dvX7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F368151b6-122c-4f64-a2fb-46313173aedf_1200x300.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Peter van der Woude has a great writeup on the native dynamic MSIX and APPX removal capability that arrived with Windows 11 24H2. No more debloat scripts, no more wrestling with provisioning packages that leave behind ghosts. Peter walks through how the native functionality actually works, how to target specific preinstalled apps, and what the Intune configuration looks like end to end. If you have been waiting for a clean built in answer to the bloatware problem, this is the post that explains how to use it.</p><p><a href="https://petervanderwoude.nl/post/dynamically-removing-preinstalled-microsoft-store-apps-using-native-functionality/">https://petervanderwoude.nl/post/dynamically-removing-preinstalled-microsoft-store-apps-using-native-functionality/</a></p><div><hr></div><h1><strong>Built In PowerShell Parameters You Should Be Using with Lucas Allman</strong></h1><div id="youtube2-qI4hfUXeK9w" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;qI4hfUXeK9w&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/qI4hfUXeK9w?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Andrew Pla hosted Lucas Allman on PowerShell Wednesday this week for a beginner friendly walkthrough of the common parameters that get baked into every advanced function and cmdlet, and it is one of those topics that quietly separates people who write PowerShell from people who write good PowerShell. Lucas covers what an advanced function actually is, how a single CmdletBinding attribute or a decorated parameter unlocks the full set of common parameters for you, and why the six output streams exist as separate channels for success, error, warning, verbose, debug, and information. Good watch :) </p><div><hr></div><h1><strong>Controlled Configuration for Microsoft Defender Antivirus Settings</strong></h1><p>Rudy Ooms has another excellent OSINT style investigation, this one digging into the ControlConfigAdapter component that Microsoft has been quietly building into Defender for managing antivirus configuration in a controlled, drift-resistant way. The post explains what the component does, where it lives, and how it interacts with the rest of the Defender configuration story. Rudy is one of the few people writing at this level of detail about Microsoft Endpoint internals, and this is required reading if you manage Defender at scale.</p><p><a href="https://patchmypc.com/blog/controlled-configuration-for-microsoft-defender-antivirus-settings/">https://patchmypc.com/blog/controlled-configuration-for-microsoft-defender-antivirus-settings/</a></p><div><hr></div><h3><strong>DSC v3.2.0 Hits GA with New Windows Resources, Version Pinning, and Experimental Bicep Integration</strong></h3><p>The 4sysops team has a solid breakdown of what landed in Microsoft Desired State Configuration v3.2.0, which reached general availability on April 29 and is rolling out into wider awareness now. The release brings built in resources for services, firewall rules, and SSH settings, extends the what-if preview mode to individual resources, introduces version pinning, and includes experimental Bicep integration over gRPC. The article walks through what changed since v3.1, the limitations to watch for, and how to install the update via winget.</p><p><a href="https://4sysops.com/archives/dsc-v3-2-0-new-windows-resources-version-pinning-and-bicep-integration/">https://4sysops.com/archives/dsc-v3-2-0-new-windows-resources-version-pinning-and-bicep-integration/</a></p><div><hr></div><h1><strong>Upcoming Events</strong></h1><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[ReFS Gets Native PowerShell Tooling and Selling PowerShell to Security with Michael Suhl ]]></title><description><![CDATA[+Lenovo Ditches ADMX Templates, Tony Redmond Battles IDCRL Sludge, and Paula Kingsley Shares Her ISE to VS Code Story]]></description><link>https://www.powershell.news/p/refs-gets-native-powershell-tooling</link><guid isPermaLink="false">https://www.powershell.news/p/refs-gets-native-powershell-tooling</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 08 May 2026 12:42:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/Im_qB0aUlv8" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong>Selling PowerShell to Security with Michael Suhl </strong></h1><div id="youtube2-Im_qB0aUlv8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Im_qB0aUlv8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Im_qB0aUlv8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Michael Suhl joined Mike Kanakos and Phil Bosman on the Research Triangle PowerShell User Group to tackle one of the most frustrating conversations any of us have when starting a new job, which is being told that PowerShell is too dangerous to enable. Mike walks through how to actually have the risk conversation with your GRC team, breaks down where PowerShell shows up in the MITRE ATT&amp;CK framework, and lays out a stack ranked list of mitigations from low effort wins like audit logging and EDR all the way up to the heavy lifts like script signing, WDAC, JEA, and host based firewalls. The real gold is a slide mapping all of those controls to effort and benefit, and a teaser for a module he is calling PSART that codifies the Australian Signals Directorate guidance into deployable PowerShell. </p><div><hr></div><h1><strong>Introducing Commercial Vantage Policy Manager for Intune</strong></h1><p>For those of you managing Lenovo devices, this post from Philip Jorgensen is a must read. He has built a new PowerShell UI tool that lets you create OMA-URI policies for Lenovo Commercial Vantage settings without having to ingest the ADMX templates the traditional way. Big quality of life improvement if you have been wrestling with this in your tenant.</p><p><a href="https://blog.lenovocdrt.com/introducing-commercial-vantage-policy-manager-for-intune">https://blog.lenovocdrt.com/introducing-commercial-vantage-policy-manager-for-intune</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><div><hr></div><h1><strong>Protecting Profiles </strong></h1><p>Jeff Hicks dropped a new Behind the PowerShell Pipeline post this week walking through how to protect your PowerShell profile scripts from tampering. He uses Get-FileHash and MyInvocation to build a function that verifies the profile has not been modified since you last approved it, which is a clever defensive technique most people overlook. If your profile is loading modules, setting aliases, or doing anything privileged, this is worth a read.</p><p><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/protecting-profiles/">https://buttondown.com/behind-the-powershell-pipeline/archive/protecting-profiles/</a></p><div><hr></div><h1><strong>Locking Down Windows Devices by Suppressing Key Combinations</strong></h1><p>Peter van der Woude has a practical post on using the built in Windows Keyboard Filter feature to suppress specific key combinations on shared, kiosk, or locked down devices. The post walks through enabling the feature with a single PowerShell command, configuring blocked combinations through some old school WMI work against the WEKF_PredefinedKey class, and deploying everything via Intune Win32 apps. Useful reference if you are managing any kind of restricted device fleet.</p><p><a href="https://petervanderwoude.nl/post/locking-down-windows-devices-by-suppressing-key-combinations/">https://petervanderwoude.nl/post/locking-down-windows-devices-by-suppressing-key-combinations/</a></p><div><hr></div><h1><strong>Shift Happens: Two Command Injections in Windows Context Menus</strong></h1><p>Remi Gascou over at SpecterOps published a fascinating piece of research uncovering two command injection vulnerabilities in the built in Windows Explorer &#8220;Open PowerShell window here&#8221; context menu, triggered by crafted folder names. One variant affects modern Windows 11 builds and the other has existed since Windows 10 1703 back in April 2017, meaning this has been sitting quietly in Windows for nearly nine years. The most interesting section is at the end where Remi shows that LLMs trained on this period of Windows documentation now confidently reproduce the vulnerable command template when asked to set up a custom context menu, with no security warnings whatsoever.</p><p><a href="https://specterops.io/blog/2026/05/07/shift-happens-uncovering-two-built-in-command-injections-in-windows-context-menus/">https://specterops.io/blog/2026/05/07/shift-happens-uncovering-two-built-in-command-injections-in-windows-context-menus/</a></p><div><hr></div><h1><strong>Using the Microsoft Graph PowerShell SDK to Update User Profiles</strong></h1><p>Tony Redmond walks through how to use the Microsoft Graph PowerShell SDK to add awards and certifications to Microsoft 365 user profile cards, a UX update Microsoft is now rolling out to tenants. The post covers New-MgBetaUserProfileAward and New-MgBetaUserProfileCertification, how to manage the various properties, and how the resulting data surfaces in OWA, the new Outlook, and Teams. Tony also gives some good context on Microsoft&#8217;s broader people platform initiative and the surprisingly rich set of resources you can now attach to a user profile, from anniversaries to languages to publications.</p><p><a href="https://office365itpros.com/2026/05/08/user-profile-card-awards/">https://office365itpros.com/2026/05/08/user-profile-card-awards/</a></p><div><hr></div><h1><strong>Microsoft DSC v3: Build and Deploy Classic Resources with ActiveDirectoryDsc</strong></h1><p>Michal Machniak has a phenomenal deep dive on using DSC v3 to deploy a full Active Directory environment from scratch using nothing but declarative YAML files. He walks through a two stage approach where the first stage uses ActiveDirectoryDsc/ADDomain to spin up the forest and promote the first DC, then the second stage uses Microsoft.DSC/Include to compose six smaller configurations covering the OU hierarchy, admin users, delegation groups, group membership, OU permission entries, and fine grained password policies. The post is loaded with working YAML examples, parameter file patterns for keeping secrets out of source control, and the actual dsc config commands to validate and apply each stage. </p><p><a href="https://mmachniak.net/2026/05/06/dscv3-build-and-deploy-classic-resources-activedirectory-dsc/">https://mmachniak.net/2026/05/06/dscv3-build-and-deploy-classic-resources-activedirectory-dsc/</a></p><div><hr></div><h1><strong>From ISE Anxiety to VS Code Every Day with Paula Kingsley</strong></h1><div id="youtube2-WLNVCW7S8BE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;WLNVCW7S8BE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/WLNVCW7S8BE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Andrew Pla sits down with Paula Kingsley, an eight time Microsoft MVP for Exchange Server and self described happy generalist, for a wide ranging conversation about her tech career and the long delayed jump from ISE to VS Code. Paula admits she put off the switch for as long as possible, and her advice for anyone in the same boat is refreshingly simple: just open VS Code and leave it open. The episode also covers why being a generalist is undervalued, the importance of building yourself an escape route with WhatIf and ShouldProcess, and the very real difference between Get cmdlets and Set cmdlets when your afternoon is on the line.</p><div><hr></div><h1><strong>PowerShell Universal Forum Moves to Devolutions</strong></h1><p>Adam Driscoll announced this week that the Ironman Software forum is closing and migrating to the Devolutions forum starting Monday, May 11. All existing PowerShell Universal discussions and threads will be moved over and any new posts will need to be made directly on the Devolutions side, which means creating a free Devolutions account if you do not already have one. The migrated posts will appear anonymously at first but you can claim your content once your account is set up. Worth knowing about if you have ever posted there.</p><p><a href="https://forums.ironmansoftware.com/t/heads-up-were-moving-to-the-devolutions-forum/13316">https://forums.ironmansoftware.com/t/heads-up-were-moving-to-the-devolutions-forum/13316</a></p><div><hr></div><h1><strong>Announcing Native PowerShell Tooling for ReFS Snapshots</strong></h1><p>Jeffrey Woolsey announced ReFSSnapshots, a new open source PowerShell module from Microsoft that wraps the existing refsutil streamsnapshot command line utility in proper cmdlets with pipeline support and consistent error handling. ReFS has long supported stream level snapshots for point in time capture of individual files or streams rather than full volumes, but until now you had to drive it through the command line tool. If you are already using ReFS for resilient storage on Windows Server or client, this makes integrating snapshots into your existing PowerShell workflows significantly easier, and the GitHub repo includes good examples for pre change snapshots, comparison workflows, and scheduled maintenance.</p><p><a href="https://techcommunity.microsoft.com/blog/filecab/announcing-native-powershell-tooling-for-refs-snapshots/4516377">https://techcommunity.microsoft.com/blog/filecab/announcing-native-powershell-tooling-for-refs-snapshots/4516377</a></p><div><hr></div><h1><strong>How to Install the New Microsoft Entra ID Module</strong></h1><p>Patrick Gruenauer has a quick reference for installing the new Microsoft.Entra PowerShell module for managing Microsoft 365 from PowerShell. The whole setup is essentially Install-Module, Connect-Entra, and you are off to the races. Handy bookmark if you are still migrating scripts away from the older AzureAD or MSOnline modules and want a clean starting point.</p><p><a href="https://sid-500.com/2026/05/06/powershell-how-to-install-the-new-microsoft-entra-id-module/">https://sid-500.com/2026/05/06/powershell-how-to-install-the-new-microsoft-entra-id-module/</a></p><div><hr></div><h1><strong>ExcelFast v0.0.1-alpha14 Released</strong></h1><p>Justin Grote pushed a new alpha release of ExcelFast, his high performance PowerShell module for importing, exporting, and manipulating Excel files. If you are still doing Excel work with ImportExcel or wrestling with COM automation, this is worth tracking as an alternative built for speed.</p><p><a href="https://github.com/JustinGrote/ExcelFast/releases/tag/v0.0.1-alpha14">https://github.com/JustinGrote/ExcelFast/releases/tag/v0.0.1-alpha14</a></p><div><hr></div><h1><strong>Upcoming Events</strong></h1><p></p><p><strong>PowerShell UserGroup InnSalzach: Your Graph Apps Are Over-Privileged, Let&#8217;s Fix That with PowerShell</strong></p><p>The PowerShell UserGroup Inn-Salzach is hosting Morten Mynster on May 14 from 8PM to 9PM CET for an online session on auditing and right sizing Microsoft Graph application permissions with PowerShell. </p><p><a href="https://www.meetup.com/de-de/powershell-usergroup-inn-salzach/events/314638631/">https://www.meetup.com/de-de/powershell-usergroup-inn-salzach/events/314638631/</a></p><p></p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[PowerShell 7.7.0-preview.1 Released, PowerShell in the Browser: Safe Sandboxes and Interactive Learning]]></title><description><![CDATA[+ DSC v3.2.0 Released]]></description><link>https://www.powershell.news/p/powershell-770-preview1-released</link><guid isPermaLink="false">https://www.powershell.news/p/powershell-770-preview1-released</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 01 May 2026 10:28:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QhYe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Man, what a monster week for PowerShell!</p><h1><strong>PowerShell 7.7.0-preview.1 Released</strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QhYe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QhYe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!QhYe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!QhYe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!QhYe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QhYe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2031384,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/196067630?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QhYe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!QhYe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!QhYe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!QhYe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F358e80ab-5232-4f70-aa79-7cdce2613b7a_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The first preview of PowerShell 7.7 dropped this week and it is a substantial release with a long list of community contributed improvements. On the cmdlet side, highlights include an ExcludeProperty parameter for the Format cmdlets, an Extension parameter for Join-Path, a new ToRegex method on WildcardPattern, improved tab completion for PSBoundParameters switch cases and access patterns, and a DSC v3 resource for PowerShell profiles. Several long standing annoyances around explicit switch false parameter handling get fixed across multiple cmdlets including Where-Object, Get-Uptime, New-Guid, Get-Random, and Test-Connection. Export-Csv gets a quality of life fix making Append and NoHeader mutually exclusive, and NoTypeInformation is now marked as an obsolete no-op with IncludeTypeInformation becoming the default behavior.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>PSFeedbackProvider and several other experimental features also graduate to stable in this release. There is a new PSApplicationOutputEncoding variable, AppContainer support lands in the engine, and the update notification now delays by a week to ensure all packages are available before nagging you. On the breaking changes side, ValidateNotNullOrEmpty is now enforced on the -Property parameter of Format-Table, Format-List, and Format-Custom. And yes, this is the first release shipping as MSIX rather than MSI on Windows, so if you missed last week&#8217;s item from Harm on that change, now is a good time to go back and read it.</p><p><a href="https://github.com/PowerShell/PowerShell/releases/tag/v7.7.0-preview.1">https://github.com/PowerShell/PowerShell/releases/tag/v7.7.0-preview.1</a></p><h1><strong>DSC v3.2.0 Released</strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c1GI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c1GI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!c1GI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!c1GI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!c1GI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c1GI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2016853,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/196067630?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!c1GI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!c1GI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!c1GI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!c1GI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F277d35a1-04f2-4896-8d4f-1aafc7171cd4_1536x1024.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>DSC v3.2.0 hit general availability this week and it is a substantial update. New built-in Windows resources cover services, optional features, features on demand, firewall rules, and a full suite of SSH server configuration resources, all ready to use without additional installation. Version pinning lands in this release, meaning you can now lock a configuration document to a specific DSC version and pin individual resources to version ranges, which addresses a real gap for anyone running configurations across environments with different resource versions. The expression language gets lambda expressions with map and filter functions, dataUri functions, and reference usage inside copy loops. Adapter improvements include automatic conversion of PowerShell Write-* streams to DSC traces, which is a nice quality of life addition for resource authors. The experimental Bicep integration via gRPC is also included, letting Bicep orchestrate DSC resources directly without going through ARM. And an experimental PowerShell discovery extension now lets DSC find resources defined in PowerShell modules that are not traditional PSDSC resources. Big release with a lot of community contribution behind it.</p><p><a href="https://devblogs.microsoft.com/powershell/announcing-dsc-v3-2-0/">https://devblogs.microsoft.com/powershell/announcing-dsc-v3-2-0/</a></p><h1><strong>From Event Logs to AI Workflows with Lucas Allman | The PowerShell Podcast E225</strong></h1><div id="youtube2-kcjkCS0QN64" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;kcjkCS0QN64&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/kcjkCS0QN64?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Lucas Allman joins Andrew Plaw for a conversation that starts with practical beginner wins and builds into bigger questions about AI, learning, and career growth in IT. The episode covers hands-on use cases like using Get-WinEvent to filter event logs and reusing XPath filters from Event Viewer inside PowerShell scripts, writing full functions directly in the interactive terminal and saving them with a custom helper so good code survives the session, and the experience of speaking at PowerShell Summit for the first time. </p><p>The AI discussion is one of the better ones out there right now, with Lucas making a clear case for using it as a collaborator to offload repetitive work and learn faster rather than a replacement for the judgment and critical thinking that still matter (which I totally agree with). Impostor syndrome - which we talk about below with Robert&#8217;s post - keeping up with change, and why curiosity and community remain as important as technical skill all get a moment too.</p><h1><strong>Legacy: My First Microsoft MVP Summit</strong></h1><p>Robert Bogue has a lovely short piece reflecting on attending his first MVP Summit over 20 years ago, where he sat in the back of a room and watched Jeffrey Snover present what would eventually become PowerShell, then still called Monad. He writes honestly about the impostor syndrome he felt that day and how Snover&#8217;s vision for a consistent verb noun command language stood out as the single clearest piece of thought leadership from the entire event. Worth a few minutes of your time as a reminder of where all of this came from. I actually felt the same way when I was out in Redmond. </p><p><a href="https://thorprojects.com/2026/04/30/legacy-my-first-microsoft-mvp-summit/">https://thorprojects.com/2026/04/30/legacy-my-first-microsoft-mvp-summit/</a></p><h1><strong>PowerShell Summit After Dark | The PowerShell Podcast</strong></h1><div id="youtube2-NyT_A1hSH_M" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;NyT_A1hSH_M&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/NyT_A1hSH_M?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Andrew Plaw recorded a couple of bar session conversations at PowerShell Summit for this special edition of the podcast. First up is Josh Dearing, known as Fortress in the PDQ Discord, talking about his journey from batch scripts to publishing modules, his first Summit experience, and why seeing speakers fail and push through was one of the most motivating things he took away from the week. The second conversation is with Jeff Wlaw, a long time PowerShell user attending his first in person Summit, reflecting on Jeffrey Snover&#8217;s session, the value of outside perspective in IT careers, and a genuinely good tangent on directness, honesty, and why being willing to be wrong is actually a sign of intelligence. Loose, honest, and exactly what you would hope a bar session podcast sounds like.</p><h1><strong>Microsoft Defender for Endpoint in Depth: 2nd Edition</strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZPyk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZPyk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZPyk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZPyk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZPyk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZPyk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg" width="1216" height="1500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:1216,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:229776,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/196067630?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZPyk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZPyk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZPyk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZPyk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01eccbfa-21ca-4073-8681-50bd11c03ba1_1216x1500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Ru Campbell announced that the second edition of Microsoft Defender for Endpoint in Depth is now available for pre-order, shipping in May. Written alongside Paul Snow and Ian Hoyle, the new edition adds three fresh chapters covering tuning and situational optimizations, mobile threat protection, and safer production rollouts, with every other chapter refreshed to reflect the three years of Defender changes since the first edition. If you are serious about MDE in your environment this has been one of the most recommended practical guides in the space and the update sounds substantial.</p><p><a href="https://www.amazon.com/dp/1837026114">https://www.amazon.com/dp/1837026114</a></p><h1><strong>PowerShell in the Browser: Safe Sandboxes and Interactive Learning</strong></h1><div id="youtube2-5oFzvBUgTAE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5oFzvBUgTAE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5oFzvBUgTAE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>James Brundage presented at the Research Triangle PowerShell Users Group on two projects he has been building: Reptile, a browser based PowerShell REPL built on data language mode that lets you run only the commands you explicitly whitelist, and Turtle, an interactive graphics programming environment layered on top of it. The safety story is genuinely clever, data language mode has been in PowerShell since V2 and makes it impossible for a user to run commands you have not approved, which means you can hand this to a complete beginner or even a kid and not worry about them accidentally doing something destructive. The demos are fun, including drawing 100 random turtle graphics in under 20 seconds and an accidental karaoke server, but the underlying architecture is worth understanding if you have ever wanted to expose PowerShell functionality through a browser interface without the usual security headaches.</p><h1><strong>Celebrating 250 PowerShell Posts</strong></h1><p>Harm Veenstra hit a milestone this week with his 250th post on PowerShellIsFun, four years after starting the blog in April 2022. He shares some honest reflections on writer&#8217;s block, the fear of posting things others have already covered, and how the PowerShell community&#8217;s welcoming nature made all of it worthwhile. A well deserved milestone from someone who consistently puts out quality content every single week. Harm is a great guy. </p><p><a href="https://powershellisfun.com/2026/04/24/celebrating-my-250-powershell-related-posts/">https://powershellisfun.com/2026/04/24/celebrating-my-250-powershell-related-posts/</a></p><h1><strong>April 2026 PowerShell Potluck with Jeff Hicks</strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jsh1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb897126c-1925-4cac-89bf-f88eaea328f5_698x549.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jsh1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb897126c-1925-4cac-89bf-f88eaea328f5_698x549.png 424w, https://substackcdn.com/image/fetch/$s_!jsh1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb897126c-1925-4cac-89bf-f88eaea328f5_698x549.png 848w, https://substackcdn.com/image/fetch/$s_!jsh1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb897126c-1925-4cac-89bf-f88eaea328f5_698x549.png 1272w, https://substackcdn.com/image/fetch/$s_!jsh1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb897126c-1925-4cac-89bf-f88eaea328f5_698x549.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jsh1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb897126c-1925-4cac-89bf-f88eaea328f5_698x549.png" width="698" height="549" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b897126c-1925-4cac-89bf-f88eaea328f5_698x549.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:549,&quot;width&quot;:698,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:22476,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/196067630?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb897126c-1925-4cac-89bf-f88eaea328f5_698x549.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jsh1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb897126c-1925-4cac-89bf-f88eaea328f5_698x549.png 424w, https://substackcdn.com/image/fetch/$s_!jsh1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb897126c-1925-4cac-89bf-f88eaea328f5_698x549.png 848w, https://substackcdn.com/image/fetch/$s_!jsh1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb897126c-1925-4cac-89bf-f88eaea328f5_698x549.png 1272w, https://substackcdn.com/image/fetch/$s_!jsh1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb897126c-1925-4cac-89bf-f88eaea328f5_698x549.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Jeff Hicks wraps up April in his newsletter with a few things worth checking out. The main discovery this month is the TextMate module, a syntax highlighting wrapper that makes viewing script files in the console genuinely pleasant, with support for dozens of languages, multiple themes, and paging for longer files. Jeff also shares a moment from PowerShell Summit that clearly meant a lot to him: he received the Don Jones PowerShell Community Leadership Award, nominated by members of the community. Well deserved. He closes with this month&#8217;s scripting challenge, which asks you to use Get-NetAdapterStatistics to build a live updating display using either Write-Progress or the pwshSpectreConsole module.</p><p><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/april-2026-powershell-potluck/">https://buttondown.com/behind-the-powershell-pipeline/archive/april-2026-powershell-potluck/</a></p><h1><strong>Office 365 for IT Pros May 2026 Update</strong></h1><p>Tony Redmond&#8217;s monthly roundup covers Microsoft&#8217;s upcoming Modernized Change Management system, which promises better written message center posts, an MCP server for querying updates, and a new frontier tier for tenants wanting earlier feature access. Other notable items include the ability to change a meeting organizer via Exchange Online PowerShell, recently used Teams emojis syncing across devices, and Copilot Chat gaining access to shared mailbox content for licensed tenants. The Automating Microsoft 365 with PowerShell eBook is also updated to version 23 this month for subscribers.</p><p><a href="https://office365itpros.com/2026/05/01/office-365-for-it-pros-may-2026-update/">https://office365itpros.com/2026/05/01/office-365-for-it-pros-may-2026-update/</a></p><h1><strong>Upcoming Events</strong></h1><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[v7.6.1 Release of PowerShell, Check Mail Records with the DomainHealthChecker PowerShell Module]]></title><description><![CDATA[+PowerShell Resources Roundup from PDQ Live]]></description><link>https://www.powershell.news/p/v761-release-of-powershell-check</link><guid isPermaLink="false">https://www.powershell.news/p/v761-release-of-powershell-check</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 24 Apr 2026 16:09:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/JSYQCzwZGy8" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><h1><strong>PowerShell 7.6.1 Released with .NET SDK 10 Update</strong></h1><p>The PowerShell team has shipped 7.6.1, a maintenance release that refreshes the runtime to .NET SDK 10.0.202. I noticed the update now delays its upgrade notification by a full week so every package is live before users get nudged, and the release also folds in a PSNativeCommandArgumentPassing test fix alongside general cmdlet improvements. Binaries are published across Windows, Linux, and macOS on x64, arm64, and arm32 architectures, with LTS packages rolling out in parallel.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><a href="https://github.com/PowerShell/PowerShell/releases/tag/v7.6.1">https://github.com/PowerShell/PowerShell/releases/tag/v7.6.1</a></p><p></p><h1><strong>PowerShell Scanner Now Live in PDQ Connect</strong></h1><div id="youtube2-JSYQCzwZGy8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;JSYQCzwZGy8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/JSYQCzwZGy8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>PDQ announced on this week&#8217;s PDQ Live that the long awaited PowerShell scanner has officially landed in PDQ Connect, letting you run PowerShell queries against your fleet and pull real data back for reporting, automation, and the environment questions that have gone unanswered for too long. I watched the stream and the developers who built it joined to walk through what is under the hood, and the team also showcased several community built scanners solving real world problems. If you have been waiting for your scripts to have a proper home inside Connect, this is the release to check out.</p><p></p><h1><strong>Check Mail Records with the DomainHealthChecker PowerShell Module</strong></h1><p>Harm Veenstra has a helpful walkthrough of the DomainHealthChecker module from Martien van Dijk, which pulls SPF, DKIM, DMARC, BIMI, DNSSEC, and MTA-STS records for any domain you point it at. I like that the Invoke-SpfDkimDmarc cmdlet bundles the major checks into a single call and accepts a file of domains for bulk validation, making it a fast fit for migration prep or security audits. The module installs straight from the PowerShell Gallery or via PSResourceGet, and Harm walks through each cmdlet with real output so you can see exactly what to expect before running it against your tenant.</p><p><a href="https://harmveenstra.nl/2026/04/17/check-mail-records-using-the-domainhealthchecker-powershell-module/">https://harmveenstra.nl/2026/04/17/check-mail-records-using-the-domainhealthchecker-powershell-module/</a></p><p></p><h1><strong>PowerShell Universal 2026 Part 5: Creating an Endpoint That Accepts a Body</strong></h1><div id="youtube2-RBsSocQLjwc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;RBsSocQLjwc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/RBsSocQLjwc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>JackedProgrammer continues the PowerShell Universal for Beginners series with a walkthrough on building a GET endpoint that accepts a JSON body instead of a query string, which is a cleaner and generally more secure pattern for filtering data against an API. I appreciated the practical touch of starting with a simple return of the input data to confirm the body is being read correctly, then layering in Get-ADUser logic, input validation using Get-Member to check for required properties, and a proper try catch block to return clean error objects when things go sideways. The demo also drives home why returning well structured JSON messages matters, since the consumers of your endpoint might be calling it from Python, JavaScript, or curl rather than PowerShell.</p><h1><strong>Entra and Microsoft 365 Could Improve License Reporting</strong></h1><p>Tony Redmond takes a hard look at the new License Usage Insights feature that landed in the Entra admin center on April 22, alongside the new dashboard card for licenses in the Microsoft 365 admin center. I share his frustration that the two admin centers cannot seem to agree on a single consistent story, with the Microsoft 365 dashboard reporting a user count that includes utility accounts like shared and room mailboxes and even claiming license totals that do not mathematically add up. Tony also points out that while the Entra insights are a welcome step, there is no way to click through to identify which account is actually using risk based conditional access, and no option to download the underlying data. </p><p><a href="https://office365itpros.com/2026/04/24/license-insights/">https://office365itpros.com/2026/04/24/license-insights/</a></p><p></p><h1><strong>PowerShell Resources Roundup from PDQ Live</strong></h1><div id="youtube2-bJHYAsgtGDI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;bJHYAsgtGDI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/bJHYAsgtGDI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Andrew Pla walked through a loaded list of PowerShell resources on this PDQ Live segment, spanning the essentials like Windows Terminal, VS Code, and PowerShell 7, alongside community favorites like Import Excel which he credits with changing lives once admins realize they can generate real spreadsheets without Excel installed. Where the episode really sharpened up was the security tooling section, covering Locksmith for auditing Active Directory Certificate Services, Maester for running baseline checks against your Entra tenant, and Morton&#8217;s Least Privilege MS Graph module for trimming enterprise app permissions down to only what the logs show they actually use. </p><h1><strong>Understanding the additionalProperties Property in Microsoft Graph PowerShell</strong></h1><p>Tony Redmond tackles one of those quirks that trips up every admin making the jump from Exchange Online or the old AzureAD module to the Microsoft Graph PowerShell SDK, which is the way cmdlets like Get-MgUserMemberOf and Get-MgGroupMember return a sparse set of strongly typed properties and stash everything else inside a catch all dictionary called additionalProperties.</p><p><a href="https://office365itpros.com/2026/04/21/additionalproperties-property/">https://office365itpros.com/2026/04/21/additionalproperties-property/</a></p><h1><strong>Upcoming Events</strong></h1><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Lightning Demos from PowerShell Summit, PowerShell MSI Package Deprecation]]></title><description><![CDATA[+Jeff Hicks on the Future of PowerShell & AI]]></description><link>https://www.powershell.news/p/lightning-demos-from-powershell-summit</link><guid isPermaLink="false">https://www.powershell.news/p/lightning-demos-from-powershell-summit</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 17 Apr 2026 15:26:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/oHMHWVH0kh8" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s been hard to watch the stream of pictures, posts, and other content come out of the PowerShell Devops 2026 Global Summit - I really wish I was there. That said, I&#8217;m looking forward to the wave of code, blog posts, and videos I suspect is coming soon. Also, sorry to get this out so late - I was kind of holding on for some last minute things from summit. Enjoy!</p><h1>Lightning Demos from PowerShell Summit</h1><div id="youtube2-oHMHWVH0kh8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;oHMHWVH0kh8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/oHMHWVH0kh8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Andrew Plaw hosted a live PowerShell Wednesday lightning demo session from PowerShell Summit featuring a great mix of quick fire projects. Highlights included James Brundage&#8217;s Reptile module for running PowerShell in a safe constrained web REPL, Justin Grody&#8217;s clever approach to shipping telemetry from any script to Azure Application Insights using a DLL already bundled with PowerShell 7, and Lucas Almond&#8217;s custom PS1XML format file that makes Intune managed device objects far more readable with color coded compliance states and clickable portal links. Morton Minster also joined remotely to debut his Andrew Pla module on the PowerShell Gallery, which is exactly what it sounds like and absolutely should not exist.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1>PowerShell MSI Package Deprecation starting with the new preview updates (v7.7 Preview 1) </h1><p>Harm Veenstra has a quick but important heads up for anyone managing PowerShell deployments at scale. Starting with the 7.7 Preview 1 release, Microsoft is dropping the MSI installer in favor of MSIX, and the transition comes with some meaningful gaps right now, most notably that remoting and execution from system level services like Task Scheduler no longer work with NT AUTHORITY\SYSTEM or Group Managed Service Accounts. Microsoft says they are actively working on those scenarios, and existing releases including 7.6 will continue to get MSI packages, but if you are planning ahead for 7.7 GA this is worth knowing about sooner rather than later. <br><br>Harm&#8217;s piece: <a href="https://powershellisfun.com/2026/04/10/powershell-msi-package-deprecation-starting-with-the-new-preview-updates-v7-7-preview-1/">https://powershellisfun.com/2026/04/10/powershell-msi-package-deprecation-starting-with-the-new-preview-updates-v7-7-preview-1/</a><br><br>Here is a link to the Microsoft release about this: <a href="https://devblogs.microsoft.com/powershell/powershell-msi-deprecation/">https://devblogs.microsoft.com/powershell/powershell-msi-deprecation/</a></p><h1><strong>PowerShell Wisdom from 35 Years in the Trenches with Jeff Hicks. The PowerShell Podcast E222</strong></h1><div id="youtube2-ceB-3QGbvBA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ceB-3QGbvBA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ceB-3QGbvBA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>My good friend Andrew Plaw sits down with Jeff Hicks right before PowerShell Summit for a conversation that covers a lot of ground, from the organic origins of the Summit community back in the early days when laptops started opening in hotel lobbies, to how AI is likely to reshape the next decade of PowerShell careers, to what it actually means to learn PowerShell the right way by focusing on the core language and paradigm before diving into any specific technology stack.</p><h1>Manage Microsoft 365 Groups Using a PowerShell Script</h1><p>The AdminDroid team has published a solid Microsoft 365 group management script that covers 19 actions through a single tool, handling everything from creating groups and enabling Teams to assigning and removing licenses, bulk adding members, and restoring deleted groups. If you are managing groups at any kind of scale and still doing it through the portal, this is worth a look.</p><p><a href="https://o365reports.com/microsoft-365-group-management-using-powershell/">https://o365reports.com/microsoft-365-group-management-using-powershell/</a></p><h1><strong><a href="https://office365itpros.com/2026/04/13/eventually-consistent-entra-id/">Writing PowerShell for the Eventually Consistent Entra ID Database</a></strong></h1><p>Tony Redmond has a practical post expanding on a Microsoft developer blog about Entra ID&#8217;s eventually consistent architecture and what that means for your PowerShell scripts. The core advice is sensible: use delegated access with the ConsistencyLevel parameter when consistency matters, trust write responses instead of reading back to verify them, create fully populated objects in a single command rather than multi-step create-read-update workflows, use the identifiers returned by creation cmdlets rather than re-querying for them, and add retry logic with a brief pause when transient read failures do occur.</p><p><a href="https://office365itpros.com/2026/04/13/eventually-consistent-entra-id/">https://office365itpros.com/2026/04/13/eventually-consistent-entra-id/</a></p><h1><strong><a href="https://github.com/IvanBakhmutov/REW-EQ-CopyPaste-Assistant">REW-EQ-CopyPaste-Assistant</a></strong></h1><p>Ivan Bakhmutov has a handy open source utility called REW-EQ-CopyPaste-Assistant that takes the tedium out of transferring EQ filter settings from Room EQ Wizard into your DSP software. The tool runs in the background, watches your clipboard for copied EQ filter data, and then automates the keystroke and mouse click sequences needed to paste the values into your DSP app&#8217;s filter bands. It uses a JSON profile system so you can define sequences for different DSP software, and the repo already includes tested profiles for a wide range of brands including Musway, Zapco, Behringer, Powersoft, Goldhorn, and many others.</p><p>https://github.com/IvanBakhmutov/REW-EQ-CopyPaste-Assistant</p><h1><strong>Upcoming Events</strong></h1><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[From TUIs to Chatbot Safety: PowerShell Gets Visual While Snover Questions AI's Infinite Goals]]></title><description><![CDATA[Plus Hailey Phillips on Intune Stack, Jeff Hicks builds terminal UIs, and your legacy AzureAD scripts are running out of time]]></description><link>https://www.powershell.news/p/from-tuis-to-chatbot-safety-powershell</link><guid isPermaLink="false">https://www.powershell.news/p/from-tuis-to-chatbot-safety-powershell</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 10 Apr 2026 13:13:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_p05!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><a href="https://bartpasmans.tech/powershell-rag-bring-your-own-guidelines-to-ai/">PowerShell RAG | Bring your own Guidelines to AI</a></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_p05!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_p05!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!_p05!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!_p05!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!_p05!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_p05!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2271952,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/193789466?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_p05!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!_p05!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!_p05!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!_p05!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbe50876-4241-4e7e-a650-eaab19f55de8_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Bart Pasmans has a fun walkthrough on building a PowerShell code reviewer that audits your scripts against your own organization&#8217;s coding standards using Azure OpenAI and Azure AI Search. The core idea is RAG, where your guidelines live in a Markdown file in blob storage, get vectorized and indexed by AI Search, and then GPT-4o uses them as its source of truth when reviewing code rather than just guessing at generic best practices. The end result is a simple PowerShell script that takes any local ps1 file, ships it to the cloud, and gets back cited feedback based on your actual rules.</p><p><a href="https://bartpasmans.tech/powershell-rag-bring-your-own-guidelines-to-ai/">https://bartpasmans.tech/powershell-rag-bring-your-own-guidelines-to-ai/</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1><a href="https://office365itpros.com/2026/04/10/user-and-group-assignments/">Leverage User and Group Assignments to Limit User Access to Apps</a></h1><p>Tony Redmond has a useful follow up piece on locking down Entra ID applications, this time focusing on user and group assignments as a way to restrict who can actually use an app. The idea is simple: when assignments are in place, only the people you explicitly grant access to can use the application, which is a solid control for admin tools and anything else that should not be freely accessible across the tenant. Tony walks through the PowerShell to add user and group assignments via the Graph SDK, retrieve the current assignee list, remove assignments, and add the HideApp tag to keep apps from cluttering users&#8217; My Apps screens. Worth bookmarking if you are working on tightening up app governance in your tenant.</p><p><a href="https://office365itpros.com/2026/04/10/user-and-group-assignments/">https://office365itpros.com/2026/04/10/user-and-group-assignments/</a></p><h1>Building Beautiful Terminal UIs in PowerShell 7 with Jeff Hicks</h1><div id="youtube2-p2W1yZ084Vs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;p2W1yZ084Vs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/p2W1yZ084Vs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Jeff Hicks joined my good friend Andrew Pla on PowerShell Wednesday to walk through his new PS2ETools module, a collection of sample terminal user interfaces built on the TerminalGUI library that you can use as starting points for your own TUI projects. Jeff demos everything from a basic hello world layout to a process viewer, a service browser with CSV export, a remote computer status monitor with auto refresh, and an MP3 player with a menu and progress bar, all built entirely in PowerShell. The session also covers the practical mechanics of getting started including downloading the required assemblies, handling scoping quirks, wiring up events, building tables, and the important principle of always getting your PowerShell commands working in the console before wrapping anything in a TUI. </p><h1>Check PowerShell Scripts for deprecated Azure AD or MSOnline Cmdlets</h1><p>Harm Veenstra over at PowerShellIsFun has a handy script that scans your PowerShell scripts for deprecated AzureAD and MSOnline cmdlets and tells you exactly what to replace them with and where. If you have a library of older scripts that still use the legacy modules, this is worth a look before Microsoft pulls the rug out entirely.</p><p><a href="https://powershellisfun.com/2026/04/03/check-powershell-scripts-for-deprecated-azure-ad-or-msonline-cmdlets/">https://powershellisfun.com/2026/04/03/check-powershell-scripts-for-deprecated-azure-ad-or-msonline-cmdlets/</a></p><h1>Intune Stack and the Art of Showing Up with Hailey Phillips. The PowerShell Podcast E221</h1><div id="youtube2-L97ePN7UtGY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;L97ePN7UtGY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/L97ePN7UtGY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Andrew Plaw sits down with returning guest Haley Phillips, Intune MVP and creator of Intune Stack, for a wide ranging conversation that covers far more than just PowerShell. Haley gives an update on Intune Stack, her CI/CD inspired project for managing Intune policy through promotion gates across dev, test, and prod groups using PowerShell and Graph API calls, which she will be presenting at PSConfEU. </p><h1>Microsoft Defender Live Response - The last line of defence!</h1><p>Rahul Jindal shares a great war story about recovering a device that had fallen into a nearly unrecoverable state after a failed Intune reset deleted it from both Intune and Entra ID, taking the LAPS password and BitLocker recovery key with it. With no trust relationship, no admin access, and no way to retrieve the recovery key through normal channels, he remembered the device was still onboarded to Microsoft Defender for Endpoint, which uses its own communication channel through the Sense service independent of Entra ID join state.</p><p><a href="https://rahuljindalmyit.blogspot.com/2026/04/microsoft-defender-live-response-last.html">https://rahuljindalmyit.blogspot.com/2026/04/microsoft-defender-live-response-last.html</a></p><h1>MicrosoftFabricMgmt - The PowerShell module to rule Fabric - Jess Pomfret &amp; Rob Sewell</h1><div id="youtube2-63zRMsTIbY0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;63zRMsTIbY0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/63zRMsTIbY0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Jess Pomfret and Rob Sewell did a deep dive session on the MicrosoftFabricMgmt PowerShell module, an officially Microsoft hosted but community contributed open source module that lets you manage Microsoft Fabric workspaces, items, and permissions through PowerShell instead of the portal. The talk covers what Fabric actually is for those who have not encountered it yet, why the click first nature of the platform creates governance nightmares at scale, and how the module handles the ugly realities of working against the Fabric API including token expiration, throttling with built in retry logic, and GUID heavy responses that get resolved to human readable names via a PSFramework powered cache. Rob and Jess also showed how they used Claude rather than Copilot to do the heavy lifting when refactoring the module, and teased an MCP server for Fabric that they hope to have ready for PSConfEU. A great video that just dropped this morning!</p><h1>Chatbots: Unsafe at Any Speed</h1><p>Jeffrey Snover is back with a follow-up to his AI safety post, and this one is even sharper. His argument is that general purpose chatbots are fundamentally unsafe not because the models are bad but because "answer whatever the user asks" is an infinite goal, and an infinite goal produces an infinite loss space that no amount of content filtering or safety patching can ever fully defend. He traces the root of the problem back to Microsoft's Tay experiment in 2016, which he calls the mother bug, and draws a direct parallel to Ralph Nader's argument that the Corvair was not a driver problem but a design problem.</p><p><a href="https://www.jsnover.com/blog/2026/03/30/chatbots-unsafe-at-any-speed/">https://www.jsnover.com/blog/2026/03/30/chatbots-unsafe-at-any-speed/</a></p><h1><strong>Upcoming Events</strong></h1><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[PowerShell 7.6 release postmortem and investments, Bulk User Conversion]]></title><description><![CDATA[+Controlling MS Graph Access]]></description><link>https://www.powershell.news/p/powershell-76-release-postmortem</link><guid isPermaLink="false">https://www.powershell.news/p/powershell-76-release-postmortem</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 03 Apr 2026 12:04:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zzMj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><a href="https://devblogs.microsoft.com/powershell/powershell-7-6-release-postmortem/">PowerShell 7.6 release postmortem and investments</a></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zzMj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zzMj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png 424w, https://substackcdn.com/image/fetch/$s_!zzMj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png 848w, https://substackcdn.com/image/fetch/$s_!zzMj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!zzMj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zzMj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png" width="1176" height="1056" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1056,&quot;width&quot;:1176,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:258059,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/193060552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zzMj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png 424w, https://substackcdn.com/image/fetch/$s_!zzMj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png 848w, https://substackcdn.com/image/fetch/$s_!zzMj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png 1272w, https://substackcdn.com/image/fetch/$s_!zzMj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14cf3439-575b-44a9-aa7e-443e49d3f998_1176x1056.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The PowerShell team published a candid postmortem on why 7.6 shipped later than planned, and it is worth a read if you were wondering what happened. The short version is that a compliance requirement introduced late in the cycle forced a complete replacement of the packaging toolchain for non Windows platforms from scratch, which cascaded into validation delays across multiple platforms and architectures, a holiday freeze that blocked publishing to PMC, and coordination gaps that made it hard to track risk and escalate early. To their credit the team is not just explaining what went wrong but has already started fixing it, with explicit release ownership, structured tracking, a more consistent preview cadence, and a commitment to communicate timeline risks to the community earlier through the PowerShell repository discussions.</p><p><a href="https://devblogs.microsoft.com/powershell/powershell-7-6-release-postmortem/">https://devblogs.microsoft.com/powershell/powershell-7-6-release-postmortem/</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h1><strong><a href="https://www.youtube.com/watch?v=VIEbain7IIg">Poking Around Until Something Breaks (And reporting it to MS) PowerShell Podcast E220 Morten Mynster</a></strong></h1><div id="youtube2-VIEbain7IIg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;VIEbain7IIg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/VIEbain7IIg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Andrew Plaw sat down with returning guest Morton Minster for a genuinely fun conversation about a year of remarkable growth that took Morton from publishing his first PowerShell module to landing a cybersecurity consultant role at a new firm, all without ever sending out a resume. Morton walks through his three public modules including the standout least privilege MS Graph tool that audits app registrations and service principals for over-permissioned Graph access, and he shares the story of discovering a security vulnerability in the Microsoft email developer dashboard where publicly registered adaptive card providers were inadvertently exposing target URLs including logic app signature keys to anyone with a tenant. Microsoft fixed it just before Christmas. The broader conversation covers APIs, the value of learning in public, the honest tradeoffs of leaning too hard on AI before you have a real foundation, and the very memorable term &#8220;slop cannon&#8221; to describe what happens when someone without that foundation starts generating code they cannot read or debug.</p><h1><a href="https://o365reports.com/convert-external-users-to-internal-users-in-bulk-using-powershell/">Bulk Convert External Users to Internal Users Using PowerShell</a></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jadz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jadz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png 424w, https://substackcdn.com/image/fetch/$s_!jadz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png 848w, https://substackcdn.com/image/fetch/$s_!jadz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png 1272w, https://substackcdn.com/image/fetch/$s_!jadz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jadz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png" width="1080" height="567" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:567,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:351010,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/193060552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jadz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png 424w, https://substackcdn.com/image/fetch/$s_!jadz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png 848w, https://substackcdn.com/image/fetch/$s_!jadz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png 1272w, https://substackcdn.com/image/fetch/$s_!jadz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11358d14-2fb7-427a-98e2-46fa996926da_1080x567.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The AdminDroid blog has a practical walkthrough for something that comes up more than you might expect: converting guest users in Microsoft Entra ID into full internal users without deleting and recreating accounts. The native Entra portal supports this but only one user at a time, so they built a PowerShell script that handles bulk conversions via CSV, auto-generates UPNs and passwords at scale, and exports a password-protected log file for auditing. Group memberships, permissions, and activity history all survive the conversion intact, which is the whole point, though they do note a few things to watch for afterward like dynamic group membership changes and profile attributes that may still reflect the old guest account values.</p><p><a href="https://o365reports.com/convert-external-users-to-internal-users-in-bulk-using-powershell/">https://o365reports.com/convert-external-users-to-internal-users-in-bulk-using-powershell/</a></p><div><hr></div><h1><a href="https://powershellisfun.com/2026/03/23/mvp-summit-2026/">Harm Veenstra&#8217;s MVP Summit Breakdown</a></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9VQY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9VQY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp 424w, https://substackcdn.com/image/fetch/$s_!9VQY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp 848w, https://substackcdn.com/image/fetch/$s_!9VQY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp 1272w, https://substackcdn.com/image/fetch/$s_!9VQY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9VQY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp" width="1200" height="2134" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2134,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1764080,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/193060552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9VQY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp 424w, https://substackcdn.com/image/fetch/$s_!9VQY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp 848w, https://substackcdn.com/image/fetch/$s_!9VQY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp 1272w, https://substackcdn.com/image/fetch/$s_!9VQY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0cc9355-3deb-4b63-89a1-07d564b5b662_1200x2134.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Harm Veenstra has a fun recap of his second MVP Summit in Redmond, and it is the kind of post that makes you wish you were there (which I was, but didn&#8217;t do this great of a recap haha). The week was packed with NDA sessions on the Microsoft campus, a tour of the Microsoft Studios, a visit to the Xbox Studio including a genuinely impressive silent room, a PowerShell Ask Me Anything session, and a closing keynote from Mark Russinovich. Harm also attended the Northwest System Center User Group event on Friday just down the road, caught sessions on OSDCloud, PowerShell, and Intune, and wrapped up with a community dinner. Thde highlight of the whole trip might be that he is now the proud new keeper of a 3D printed Clippy chain that Dan Rey has been passing around the community.</p><p><a href="https://powershellisfun.com/2026/03/23/mvp-summit-2026/">https://powershellisfun.com/2026/03/23/mvp-summit-2026/</a></p><div><hr></div><h1><strong>Your MS Graph App Has Too Much Access. Let&#8217;s Fix It with PowerShell</strong></h1><div id="youtube2-5vdfFswmREQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5vdfFswmREQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5vdfFswmREQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Morton Minster joined PowerShell Wednesday to do a live walkthrough of his Least Privilege MS Graph module, which audits all the app registrations, managed identities, and service principals in your tenant and compares the permissions they actually used against the permissions they have assigned. The setup involves enabling Microsoft Graph activity logs, routing them to a Log Analytics workspace, and giving the module read access to both, after which a single command produces an HTML report showing excessive permissions, optimal permission recommendations, throttling stats, and a list of apps with zero activity over your chosen timeframe. That last category is where the easy wins live since Morton&#8217;s sample report showed over 1,300 out of 1,600 apps with no activity at all, which is a significant attack surface most people have no visibility into. There is also a GitHub Actions workflow included so you can run the scan on a schedule and track changes over time without thinking about it.</p><div><hr></div><h1><strong><a href="https://office365itpros.com/2026/03/31/entra-id-group-insights/">How to Report Entra ID Group Insights</a></strong></h1><p>Tony Redmond takes a look at Entra ID Group Insights, a new preview feature that quietly appeared in the Entra admin center in early February without any formal announcement or documentation. The feature surfaces things like groups without owners, expired groups, and missing sensitivity labels, which are all useful but nothing you could not already find with a few lines of PowerShell. Tony&#8217;s main gripe is that the current output displays GUIDs instead of group names, which is not exactly human friendly. The more interesting part of the post is that he figured out the underlying Graph endpoint powering the feature and wrote a script that pulls the same data, resolves the GUIDs to actual group names, adds owner information, and produces a proper HTML and CSV report. The script is available in the Office 365 for IT Pros GitHub repository if you want to build on it.</p><p><a href="https://office365itpros.com/2026/03/31/entra-id-group-insights/">https://office365itpros.com/2026/03/31/entra-id-group-insights/</a></p><h1>PowerShell in 100 Sekunden</h1><div id="youtube2-QTR4S_uP5Mc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;QTR4S_uP5Mc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/QTR4S_uP5Mc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Andreas Dieckmann, has a great new video - here is his description from LinkedIn:<br><br>Hey folks, I created a "PowerShell in 100 Seconds" video as a short introduction to PowerShell. For most members of this group, it won't contain much news, but still might be interesting or entertaining. Or maybe something so share with someone where you want to spark some interest about PowerShell :)<br>The video has two real audio tracks (both actually spoken by me), no YouTube Auto-Dubs nor AI generated. You can choose between German or English in the YouTube player settings.<br></p><div><hr></div><h1><strong><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/pretty-powershell-presentation/">Pretty PowerShell Presentation</a></strong></h1><p>Jeff Hicks spent this issue of Behind the PowerShell Pipeline exploring how to make JSON output actually readable in the console using the pwshSpectreConsole module. The star of the show is Format-SpectreJson, which takes plain monochromatic JSON output and renders it with syntax highlighting, customizable colors for every element type from braces to member names to numbers, and even italic styling if you want it. Jeff goes a step further by wrapping the output in a Format-SpectrePanel to give it a titled border, and from there he starts building his own Show-JsonFile tooling that adds line numbers on top of everything else. If you are not already running pwshSpectreConsole, this is another good reason to install it.</p><p><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/pretty-powershell-presentation/">https://buttondown.com/behind-the-powershell-pipeline/archive/pretty-powershell-presentation/</a></p><h1><strong>Upcoming Events</strong></h1><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[DSC v3 Preview 13 Demo from Steve Lee, PowerShell v7.6 LTS Release and why it matters]]></title><description><![CDATA[+ Tony Redmond gets blunt on state of Graph API]]></description><link>https://www.powershell.news/p/dsc-v3-preview-13-demo-from-steve</link><guid isPermaLink="false">https://www.powershell.news/p/dsc-v3-preview-13-demo-from-steve</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 27 Mar 2026 12:41:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0fmE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Greetings from the Microsoft MVP Global Summit in what was, as of yesterday, a sunny Redmond, Washington. Sorry it&#8217;s coming to you a bit late - I&#8217;m in Pacific time and always like to do a final curation on Fridays. It has been such a privilege to be able to be able to visit Microsoft HQ and roam their beautiful campus. There are so many great things coming from Microsoft that I, unfortunately, cannot talk about, but keep reading here, Entra.News and the Intune Newsletter for more great updates. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0fmE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0fmE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0fmE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0fmE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0fmE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0fmE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg" width="1456" height="1096" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1096,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:594267,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/192303443?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0fmE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0fmE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0fmE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0fmE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62a97ee4-6734-4bae-8aba-c8144bea073f_2048x1542.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1><strong>PowerShell Community Call - March 19th, 2026</strong></h1><div id="youtube2-vKJaOJU1RKY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vKJaOJU1RKY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vKJaOJU1RKY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The March 2026 PowerShell Community Call kicked off with Sydney Smith delivering updates on PS Resource Get and the Microsoft Artifact Registry. The big news is that a .NET library for ORAS is now available, meaning the upcoming 1.3 release will let you use any OCI container registry, not just Azure specific ones (Sydney seemed particularly excited about GitHub container registries). Sydney also committed to publishing a blog post before the April call that will lay out the current package management landscape and give enterprise customers clearer guidance on timelines for the transition away from PS Gallery as the default source.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Steve Lee then demoed DSC v3 Preview 13, which shipped roughly half an hour before the call began. The preview introduces a new Service resource and an Optional Feature List resource, both written in Rust for speed, and Steve walked through live demos of getting, testing, and setting service states. He was very upfront that these are experimental 0.1 versions and actively invited community feedback on design decisions like whether a property should be called &#8220;name&#8221; or &#8220;feature name,&#8221; which is the kind of collaborative development that makes the PowerShell ecosystem genuinely fun to follow.</p><p>The call wrapped up with two crowd pleasers. Sean Wheeler showed off his Release Info module, which pulls data from sources like endoflife.date, GitHub, and packages.microsoft.com to give you a unified view of PowerShell release status and OS support timelines (the kind of tool you build for yourself at 2am and then realize you should probably share). Thomas Nieto then demoed a full LCM and pull server replacement built on DSC v3, complete with a Blazor UI, compliance dashboards, drift reporting, a scoped parameter system, and even composite configurations for managing multiple team responsibilities on a single node. Jason Helmick also noted that PowerShell 7.6 went GA and that RHEL 10 and Debian 13 RPM packages are nearly ready, with a minor pipeline snag being resolved within a few days.</p><h1><strong>Chris Thomas sits down with Andrew Pla to talk </strong></h1><div id="youtube2-k4n6FWzDPUk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;k4n6FWzDPUk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/k4n6FWzDPUk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>In this episode of the PowerShell Podcast, Andrew Plaw sits down with Chris Thomas, someone I know well from the Michigan K12 IT world (actually a major influence in my early PowerShell years), whose career arc from high school intern to Endpoint and Cloud Systems Architect at an ISD serving six school districts will feel deeply familiar to anyone in our space. The conversation covers the profound influence Don Jones and his &#8220;Be the Master&#8221; philosophy had on Chris, alongside some genuinely great real-world PowerShell war stories including automating Apple ID creation for 1,200 iPads, building a full identity management solution from scratch, and using a DHCP scope crawling script to help track down a student who was DDoSing the district and attempting Bitcoin extortion with the FBI eventually getting involved. Chris and Andrew also dig into the PowerShell App Deployment Toolkit, the challenge of migrating from the ISE to VS Code, and the recurring theme that the hardest part of growing in any technical community is simply taking that first step and putting yourself out there, something Chris continues to model through his user group leadership and regional K12 conference presentations.</p><h1><strong>PowerShell v7.6 LTS Release and why it matters</strong></h1><p>Harm Veenstra has a quick but useful breakdown of the PowerShell 7.6 LTS release, covering what LTS actually means, why you should bother upgrading, and what is new in the release. Highlights include updates to PSReadLine and PSResourceGet, tab completion improvements, new parameters added to several existing cmdlets, and a handful of breaking changes worth knowing about before you upgrade. If you are still on 7.4, now is a good time to make the move.</p><p><a href="https://powershellisfun.com/2026/03/20/powershell-v7-6-lts-release-and-why-it-matters/">https://powershellisfun.com/2026/03/20/powershell-v7-6-lts-release-and-why-it-matters/</a></p><h1><strong>PowerShell to MCP in 30 Seconds: The &#8220;Zero-Boilerplate&#8221; Guide for Architects</strong></h1><div id="youtube2-4cy1B9-gxfk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;4cy1B9-gxfk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/4cy1B9-gxfk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Doug Finke did a live demo showing how to turn a PowerShell function into a working MCP server tool in about 30 seconds using his PSMCP server module, with VS Code Copilot acting as the client. The core idea is elegant: wrap your existing PowerShell functions, let the module extract the names, parameters, and help documentation, and the AI client can discover and call those functions naturally through conversation. Doug also touched on important practical considerations like context bloat from too many tools, the security risks of running untrusted MCP servers, and the value of wrapping built-in cmdlets to constrain what the AI can actually do with them.</p><h1><strong>Jeffrey Snover on AI Safety</strong></h1><p>Jeffrey Snover attended the STAMP Safety Design Workshop at MIT this week and came away with a perspective worth paying attention to. His core argument is that &#8220;AI safety&#8221; is a category error because AI is not a system, it is a component of a system, and safety is a property of systems, not components. The same way a hard disk is neither safe nor unsafe on its own, an AI model only becomes safe or unsafe based on how it is deployed and what guardrails the surrounding system provides. Jeff lays out a practical engineering playbook for building safe systems that include AI components, while pushing back hard on the idea that we should wait for someone to declare a model certified and safe before proceeding. Stop waiting for AI to be safe, he says. Start building systems that are.</p><h1><strong>Building Cross-Platform GUIs with PowerShell and GliderUI</strong></h1><div id="youtube2-ZeLMIPD68ZU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ZeLMIPD68ZU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ZeLMIPD68ZU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Andrew Plaw and Josh Hendris spent a PowerShell Wednesday session exploring Glider UI, a cross-platform GUI framework for PowerShell built by community legend MDGRS that uses Avalonia as its rendering backend. The big appeal here is that it sidesteps the classic threading nightmare of Windows Forms and WPF by running the UI as a separate process that PowerShell communicates with, meaning your terminal stays interactive while the window is open. They walked through several examples including input controls, a progress bar demo they gleefully sabotaged with a five minute sleep at 95 percent completion, and a quick random name picker Josh built by hacking up the data grid example. The project is still in the prototyping phase so they hit a few rough edges, but the data grid support alone makes it worth watching given that it is something the similar WinUI Shell project currently lacks.</p><h1><strong>The Sad State of Microsoft Graph and Other APIs</strong></h1><p>Tony Redmond has a blunt piece on the frustrating state of the Microsoft Graph API, and it is worth a read if you have ever wrestled with its inconsistencies. The complaints from MVPs are familiar ones: missing or inconsistent API coverage across workloads, beta APIs that have been sitting in beta for years, an underfunded Microsoft Graph PowerShell SDK with a growing bug backlog, and the ongoing assembly clash nightmare between the SDK and the Exchange Online module. Tony does not pull punches on the likely cause either, pointing to Microsoft&#8217;s Copilot obsession as the thing quietly draining engineering resources from everything else. Definitely an interesting read. </p><p><a href="https://office365itpros.com/2026/03/18/microsoft-graph-issues/">https://office365itpros.com/2026/03/18/microsoft-graph-issues/</a></p><h1><strong>Upcoming Events</strong></h1><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany </p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Exporting scripts to SharePoint, testing 15+ AI models with PowerShell]]></title><description><![CDATA[+Mason Moser&#8217;s automation journey, Jeff Hicks on RegEx anchors, and Tony Redmond&#8217;s M365 update]]></description><link>https://www.powershell.news/p/exporting-scripts-to-sharepoint-testing</link><guid isPermaLink="false">https://www.powershell.news/p/exporting-scripts-to-sharepoint-testing</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 20 Mar 2026 10:14:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/xlCuEq8FwqY" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong><a href="https://www.systanddeploy.com/2026/03/automatically-export-your-intune.html">Automatically export your Intune platform scripts and remediation scripts to SharePoint using Azure Automation</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IbIx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IbIx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png 424w, https://substackcdn.com/image/fetch/$s_!IbIx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png 848w, https://substackcdn.com/image/fetch/$s_!IbIx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png 1272w, https://substackcdn.com/image/fetch/$s_!IbIx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IbIx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png" width="375" height="226" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:226,&quot;width&quot;:375,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:33704,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/191564870?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IbIx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png 424w, https://substackcdn.com/image/fetch/$s_!IbIx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png 848w, https://substackcdn.com/image/fetch/$s_!IbIx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png 1272w, https://substackcdn.com/image/fetch/$s_!IbIx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F681dd184-eed3-46a2-bf6f-5ec918f48e6c_375x226.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p><strong>Damien Van Robaeys</strong> has an interesting blog about how to automate the backup and accessibility of Intune scripts by syncing them directly to a SharePoint site. While managing Intune environments in 2026, he developed a streamlined Azure Automation runbook that exports both platform and remediation scripts into organized folders and summary CSV files. It&#8217;s a practical solution for teams who want to keep their script inventory up-to-date and easily viewable without constantly diving into the Intune portal.</p><p><a href="https://www.systanddeploy.com/2026/03/automatically-export-your-intune.html">https://www.systanddeploy.com/2026/03/automatically-export-your-intune.html</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p><strong><a href="http://www.youtube.com/watch?v=xlCuEq8FwqY">PowerShell Tips and Windows Shortcuts</a></strong></p><div id="youtube2-xlCuEq8FwqY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;xlCuEq8FwqY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/xlCuEq8FwqY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><strong>Andrew Plaw from PDQ</strong> has a great video about boosting productivity through essential PowerShell features like PSReadLine and custom Windows Run dialog shortcuts. While demonstrating at a PDQ Live session in 2026, he explains how to use <code>Ctrl+Space</code> for advanced tab completion, <code>F1</code> for context-sensitive help, and how to add a custom folder to the Windows System Path to launch any application instantly via the <code>Win+R</code> dialog. It is a fast-paced guide designed for both beginners and experienced sysadmins who want to minimize mouse usage and master their command-line workflow.</p><div><hr></div><h1><strong><a href="https://office365itpros.com/2026/03/20/automating-microsoft-365-ps22/">Automating Microsoft 365 with PowerShell Update #22</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uMKs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uMKs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp 424w, https://substackcdn.com/image/fetch/$s_!uMKs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp 848w, https://substackcdn.com/image/fetch/$s_!uMKs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp 1272w, https://substackcdn.com/image/fetch/$s_!uMKs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uMKs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp" width="794" height="1123" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1123,&quot;width&quot;:794,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49598,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/191564870?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uMKs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp 424w, https://substackcdn.com/image/fetch/$s_!uMKs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp 848w, https://substackcdn.com/image/fetch/$s_!uMKs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp 1272w, https://substackcdn.com/image/fetch/$s_!uMKs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec23b42f-0aa7-4ea8-a981-de029a8be792_794x1123.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Tony Redmond</strong> has a great article about the March 2026 release of the PowerShell eBook update, which focuses on Exchange Online RBAC for Azure Automation and deep dives into Microsoft Graph navigable properties. While managing the <em>Office 365 for IT Pros</em> ecosystem in 2026, he highlights the critical additions to the Graph SDK and addresses the growing challenges of maintaining automation quality amidst the heavy industry shift toward AI resources.</p><p><a href="https://office365itpros.com/2026/03/20/automating-microsoft-365-ps22/">https://office365itpros.com/2026/03/20/automating-microsoft-365-ps22/</a></p><div><hr></div><h1><strong><a href="http://www.youtube.com/watch?v=vEvkE5ybMRQ">AI Benchmarks Are Rigged &#8212; So I Built My Own in PowerShell</a></strong></h1><div id="youtube2-vEvkE5ybMRQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vEvkE5ybMRQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vEvkE5ybMRQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><strong>Doug Finke</strong> has a great video about his PSAI suite PowerShell module which allows users to run standardized benchmarks across over 15 different AI providers simultaneously. While navigating the rapidly shifting AI landscape in early 2026, he developed this tool to move beyond &#8220;sensationalized&#8221; public benchmarks and provide developers with a way to test real-world instruction following, reasoning, and latency. It&#8217;s a powerful framework for anyone needing to objectively compare model performance or validate complex prompt systems within their own automation workflows.</p><div><hr></div><h1><strong><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/regular-expression-actions/">Regular Expression Actions</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!o6bh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!o6bh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png 424w, https://substackcdn.com/image/fetch/$s_!o6bh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png 848w, https://substackcdn.com/image/fetch/$s_!o6bh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png 1272w, https://substackcdn.com/image/fetch/$s_!o6bh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!o6bh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png" width="1182" height="868" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:868,&quot;width&quot;:1182,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:102579,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/191564870?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!o6bh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png 424w, https://substackcdn.com/image/fetch/$s_!o6bh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png 848w, https://substackcdn.com/image/fetch/$s_!o6bh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png 1272w, https://substackcdn.com/image/fetch/$s_!o6bh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f671f4-110b-4b7d-893a-ad286ebdd302_1182x868.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Jeff Hicks</strong> has an interesting post about how to use anchors and other advanced regular expression techniques to refine data filtering in PowerShell. While exploring the nuances of &#8220;floating matches&#8221; in 2026, he demonstrates how to use the <code>^</code> and <code>$</code> characters to precisely target strings that start or end with specific patterns, such as filtering service names or complex file lists. It is a helpful guide for scripters who need to move beyond basic matching to handle unstructured text data more effectively.</p><p><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/regular-expression-actions/">https://buttondown.com/behind-the-powershell-pipeline/archive/regular-expression-actions/</a></p><div><hr></div><h1><strong><a href="http://www.youtube.com/watch?v=7EtWrrblKMw">Start Small and Keep Building in PowerShell. The PowerShell Podcast E218 Mason Moser</a></strong></h1><div id="youtube2-7EtWrrblKMw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;7EtWrrblKMw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/7EtWrrblKMw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><strong>Mason Moser</strong> has an interesting video about his journey from reading <em>PowerShell in a Month of Lunches</em> to presenting on the Vim text editor and working in risk and governance within the security industry. While navigating the early stages of his career in 2026, he emphasizes the importance of starting with small automation tasks, like daily file cleanup scripts, and leveraging the PowerShell community to overcome imposter syndrome. It is a motivating watch for beginners who might feel overwhelmed, as it highlights how consistent, small steps can eventually lead to complex tool-making and public speaking opportunities.</p><div><hr></div><h1><strong><a href="https://github.com/admindroid-community/powershell-scripts/tree/master/Automate%20Compromised%20Account%20Remediation">Automate Compromised Account Remediation</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VeU8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VeU8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png 424w, https://substackcdn.com/image/fetch/$s_!VeU8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png 848w, https://substackcdn.com/image/fetch/$s_!VeU8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png 1272w, https://substackcdn.com/image/fetch/$s_!VeU8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VeU8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png" width="1006" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:1006,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49231,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/191564870?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VeU8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png 424w, https://substackcdn.com/image/fetch/$s_!VeU8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png 848w, https://substackcdn.com/image/fetch/$s_!VeU8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png 1272w, https://substackcdn.com/image/fetch/$s_!VeU8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa530a6e1-6b6f-4e0c-a34a-ba086d6ea4a2_1006x540.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>admindroid-community</strong> has a great article about a PowerShell script that automates eight critical security best practices for handling compromised Microsoft 365 accounts. It provides a single-click workflow to quickly disable users, reset passwords, and audit suspicious activities to ensure a consistent incident response.</p><p><a href="https://github.com/admindroid-community/powershell-scripts/tree/master/Automate%20Compromised%20Account%20Remediation">https://github.com/admindroid-community/powershell-scripts/tree/master/Automate%20Compromised%20Account%20Remediation</a></p><div><hr></div><h1><strong>Upcoming Events</strong></h1><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany - Call for speakers is now closed.</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Zero Trust, TapSpeak, & Community: Jim Tyler Sits Down with Andrew Pla on the PowerShell Podcast]]></title><description><![CDATA[+Monad to Millions Recap & PowerShell v7.5.5 Release]]></description><link>https://www.powershell.news/p/zero-trust-tapspeak-and-community</link><guid isPermaLink="false">https://www.powershell.news/p/zero-trust-tapspeak-and-community</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 13 Mar 2026 10:35:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/0q3Y0mMjWF4" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-0q3Y0mMjWF4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;0q3Y0mMjWF4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/0q3Y0mMjWF4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>I had the great pleasure of sitting down with my friend, Andrew Pla, on the PowerShell podcast and had one of the best conversations I&#8217;ve had with anyone in a while. We talked about my <strong><a href="https://github.com/jimrtyler/ghost">Ghost security module</a></strong>, my augmentative and alternative communication app (AAC) called <strong><a href="https://www.tapspeak.org">TapSpeak</a></strong>, and community.</p><p>One question I didn&#8217;t quite answer well, in my opinion, was what it all meant for me and what drives me to do so much for the community - not just the PowerShell community. Not to be a quotation book, but I really do believe in Simon Sinek&#8217;s sentiment that if we want to fast we go alone, if we want to go far, we go together. Simon&#8217;s line resonates with me because it isn&#8217;t just motivational poster material, it&#8217;s something I&#8217;ve actually lived. And the older I get, the more I understand why it&#8217;s true.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I build security tools and give them away for free. I coach kids&#8217; baseball on weekends. I sit on a school board and a planning commission. I built TapSpeak so that kids who can&#8217;t speak have a voice, and I made it free because the families who need it most are often the ones who can least afford it. None of those things came with a salary and, frankly, most of them came with extra hours I didn&#8217;t really have.</p><p>People sometimes ask me how I do it all, but I think that&#8217;s the wrong question (like I said logistically - regimented calendar, disciplined execution is the answer to that). The better question is why, and the answer is pretty simple in that I&#8217;ve never built anything meaningful by myself.</p><p>Every skill I have was handed to me by someone who didn&#8217;t have to do it. Someone wrote the blog post I learned from or someone answered a forum question I posted at midnight. Someone gave me a shot when I was still figuring it out. The community I&#8217;ve benefited from my whole career was built by people who contributed without keeping score. I&#8217;m just paying into the same fund.</p><p>There&#8217;s also something I&#8217;ve noticed across every domain I work in: PowerShell, K12 tech, youth sports, municipal planning, special education. The people doing the most important work are almost never the ones with the most resources. School districts protecting kids&#8217; data on shoestring budgets and parents coaching because no one else showed up. Families navigating AAC devices that cost hundreds or maybe thousands of dollars. If you have knowledge or skill that can change that equation and you don&#8217;t share it, that&#8217;s a choice with real consequences for real people.</p><p>I don&#8217;t think of volunteering as charity, I think of it as infrastructure (very much the IT brain of looking at this haha). The communities worth living in, the ones where kids thrive, where professionals grow, where people feel safe, don&#8217;t happen by accident. They&#8217;re the accumulated result of thousands of small decisions by people who showed up when they didn&#8217;t have to.</p><p>Going alone is faster. I get and love that; when I was at Amazon, we talked about having a bias for action which is truly valuable in business. But when going fast, I have to ask, fast toward what? I&#8217;d rather go somewhere worth being, and that means bringing people with me.</p><h1><strong><a href="https://github.com/PowerShell/PowerShell/releases/tag/v7.5.5">v7.5.5 Release of PowerShell</a></strong></h1><p>The latest stable release of PowerShell, which dropped just 16 hours ago, which introduces a variety of engine updates and cmdlet improvements designed to enhance cross-platform stability. This version specifically addresses critical fixes for SSH connectivity and script behavior, including:</p><ul><li><p>Engine Updates: Resolved issues with SSH connection path checks to ensure more reliable remote connectivity.</p></li><li><p>Cmdlet Fixes: Improved handle management by closing pipe client handles after creating child SSH processes.</p></li><li><p>Scripting Improvements: Fixed the progress preference variable within script cmdlets to ensure consistent UI feedback.</p></li><li><p>Build &amp; Infrastructure: Updated the environment to use the .NET SDK 9.0.312 and refactored various GitHub Actions for better CI/CD performance.</p></li></ul><p><a href="https://github.com/PowerShell/PowerShell/releases/tag/v7.5.5">https://github.com/PowerShell/PowerShell/releases/tag/v7.5.5</a></p><div><hr></div><h1><strong><a href="https://www.jsnover.com/blog/2026/03/11/they-dont-need-to-fire-you/">They Don&#8217;t Need to Fire You</a></strong></h1><p><strong>Jeffrey Snover</strong> has a great blog on how companies use a &#8220;playbook&#8221; of incremental benefit and pay cuts to force natural attrition and avoid the costs associated with formal layoffs. This strategy allows organizations to reduce headcount and lower the cost-per-employee without paying severance or increasing unemployment insurance taxes.</p><p><a href="https://www.jsnover.com/blog/2026/03/11/they-dont-need-to-fire-you/">https://www.jsnover.com/blog/2026/03/11/they-dont-need-to-fire-you/</a></p><div><hr></div><h1><strong><a href="https://www.google.com/search?q=https://www.linkedin.com/events/monadtomillions-celebratingjeff7425468327407321088/">Monad to Millions - Celebrating Jeffrey Snover &amp; the PowerShell Community</a></strong></h1><div id="youtube2-TumiwLblaVQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;TumiwLblaVQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/TumiwLblaVQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><strong>Heiko Brenn</strong> had a great a special live stream celebration honoring Jeffrey Snover and the global community that grew around the Monad manifesto. The stream reflects on the origins of PowerShell and features stories from community members whose careers and lives were shaped by the platform. Jeff talks about how PowerShell started with the realization that managing Windows is fundamentally different from managing Linux. While Linux is all about text files, Windows relies on APIs and objects. This led to the invention of the object based pipeline, a game changing approach that actually got stronger because of tough internal testing limits. Since the team couldn&#8217;t test every single command, they had to build a super reliable engine that could handle metadata, basically turning a technical hurdle into the platform&#8217;s biggest win.</p><p>The jump from a corporate tool to a global movement happened because of a sacred vow to users. The team promised that any time you spent learning PowerShell would pay off by making you more valuable in your career. Experts like Bruce Payette and Gail Colas talk about how this promise shifted their work away from what they call ClickOps (something I had never heard of before, or at least described that way), which is just tedious manual clicking, and into the world of automation. This didn&#8217;t just make things faster; it created a unique community where sharing a script became a way to show off your best ideas and help out people all over the world.</p><p>As the industry moves into the AI era, the community is seeing another big shift. Instead of replacing PowerShell, AI is acting like a power-up that helps people write complex code and Pester tests faster than ever. Check this one out of you haven&#8217;t already - it&#8217;s jam packed. YouTube above, Linkedin where I watched it here: </p><p><a href="https://www.google.com/search?q=https://www.linkedin.com/events/monadtomillions-celebratingjeff7425468327407321088/">https://www.linkedin.com/events/monadtomillions-celebratingjeff7425468327407321088/</a></p><div><hr></div><h1><strong><a href="https://www.cloudidentity.se/blog/creating-new-entra-id-users-the-powershell-way/">Creating New Entra ID Users the PowerShell Way</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!c2tq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!c2tq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png 424w, https://substackcdn.com/image/fetch/$s_!c2tq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png 848w, https://substackcdn.com/image/fetch/$s_!c2tq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png 1272w, https://substackcdn.com/image/fetch/$s_!c2tq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!c2tq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png" width="1456" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:191563,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/190818483?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!c2tq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png 424w, https://substackcdn.com/image/fetch/$s_!c2tq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png 848w, https://substackcdn.com/image/fetch/$s_!c2tq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png 1272w, https://substackcdn.com/image/fetch/$s_!c2tq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200da81a-fcea-4719-8cb2-d45af58f042b_2372x978.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Dennis Johansson</strong> has a great article on how to use the Microsoft Graph PowerShell SDK to automate the way you create new user accounts in Entra ID. While most people might just use the standard commands, Dennis explains how to set up the SDK and connect using interactive login or managed identities while sticking to the rule of least privilege. He walks through the prerequisites you need to get started and shares a custom function called <code>New-EntraUser</code> that makes the whole process much smoother.</p><p><a href="https://www.cloudidentity.se/blog/creating-new-entra-id-users-the-powershell-way/">https://www.cloudidentity.se/blog/creating-new-entra-id-users-the-powershell-way/</a></p><div><hr></div><h1><strong><a href="https://janbakker.tech/how-to-get-better-with-graph-api-part-one/">How to get better with Graph API - Part one</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mI-A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mI-A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png 424w, https://substackcdn.com/image/fetch/$s_!mI-A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png 848w, https://substackcdn.com/image/fetch/$s_!mI-A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png 1272w, https://substackcdn.com/image/fetch/$s_!mI-A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mI-A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png" width="1456" height="879" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:879,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:488537,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/190818483?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mI-A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png 424w, https://substackcdn.com/image/fetch/$s_!mI-A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png 848w, https://substackcdn.com/image/fetch/$s_!mI-A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png 1272w, https://substackcdn.com/image/fetch/$s_!mI-A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5086f9b1-27c1-47cc-a92b-aa31cb26cbb5_2560x1545.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Jan Bakker</strong> has a great article on how to master the Microsoft Graph API by using your browser&#8217;s developer tools to see what is happening behind the scenes. He explains that almost every action in the Entra or Microsoft 365 admin portals is actually a call to the Graph API. By opening the Network tab and filtering for web requests, you can inspect the exact data being sent and received during common tasks like creating a new user.</p><p><a href="https://janbakker.tech/how-to-get-better-with-graph-api-part-one/">https://janbakker.tech/how-to-get-better-with-graph-api-part-one/</a></p><div><hr></div><h1><strong><a href="http://www.youtube.com/watch?v=bJYlbU2p-pE">The Guy Who Invented PowerShell Is Blown Away By AI</a></strong></h1><p><strong>Doug Finke</strong> has an interesting video featuring Jeffrey Snover, the inventor of PowerShell, who shares his perspective on how AI is fundamentally changing the way we approach technology and problem-solving. Snover explains that we are entering an era where your existing knowledge can actually become your enemy, as it often limits your understanding of what is now possible. He describes his own experience being blown away by the capabilities of tools like Claude 4.6 and how they have allowed him to make progress on complex projects without needing to spend weeks learning the underlying syntax.</p><div id="youtube2-bJYlbU2p-pE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;bJYlbU2p-pE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/bJYlbU2p-pE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1><strong><a href="https://orr365.tech/super-charging-your-autopilot-testing-with-hyperpilot-autopilot-import-gui-and-a-powershell-tui-af44c7ed1bee">Super Charging your Autopilot Testing with HyperPilot, Autopilot Import GUI and a PowerShell TUI!</a></strong></h1><p><strong>Mark Orr</strong> has an interesting new article about moving away from the repetitive grind of physical device testing by using community-driven virtualization tools. He explains how testing Intune enrollment configurations, like Autopilot profiles or app deployments, can be supercharged by shifting to a purely virtual workflow using tools like HyperPilot to automate VM creation and the Autopilot Import GUI for a user-friendly registration process.</p><p><a href="https://orr365.tech/super-charging-your-autopilot-testing-with-hyperpilot-autopilot-import-gui-and-a-powershell-tui-af44c7ed1bee">https://orr365.tech/super-charging-your-autopilot-testing-with-hyperpilot-autopilot-import-gui-and-a-powershell-tui-af44c7ed1bee</a></p><div><hr></div><h1><strong><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/getting-started-with-powershell-regular/">Getting Started With PowerShell Regular Expressions</a></strong></h1><p><strong>Jeff Hicks</strong> has an interesting article on how to transition from basic wildcard comparisons to the much more powerful world of regular expressions in PowerShell. He explains that while the <code>-Like</code> operator is great for simple patterns using asterisks, the <code>-Match</code> operator opens up a granular level of string identification that can recognize complex data like Social Security numbers or email addresses. By learning the &#8220;foreign language&#8221; of regex, scripters can write significantly more efficient code and take full advantage of the <code>$matches</code> variable to extract exactly the data they need.</p><p><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/getting-started-with-powershell-regular/">https://buttondown.com/behind-the-powershell-pipeline/archive/getting-started-with-powershell-regular/</a></p><div><hr></div><h1><strong>Upcoming Events</strong></h1><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany - Call for speakers is now closed.</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[ThreatLocker Rolls Out Zero Trust Cloud & Network Access, PowerShell Headlines as Threat Vector]]></title><description><![CDATA[+Microsoft Graph Delta Query in PowerShell]]></description><link>https://www.powershell.news/p/threatlocker-rolls-out-zero-trust</link><guid isPermaLink="false">https://www.powershell.news/p/threatlocker-rolls-out-zero-trust</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 06 Mar 2026 11:31:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!j25g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>ThreatLocker Rolls Out Zero Trust Cloud Access and Zero Trust Network Access</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j25g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j25g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg 424w, https://substackcdn.com/image/fetch/$s_!j25g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg 848w, https://substackcdn.com/image/fetch/$s_!j25g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!j25g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j25g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg" width="1456" height="2180" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2180,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:564025,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/190090188?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!j25g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg 424w, https://substackcdn.com/image/fetch/$s_!j25g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg 848w, https://substackcdn.com/image/fetch/$s_!j25g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!j25g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36913812-e9f1-4332-8e9a-2d47b7bc1367_1618x2422.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">ThreatLocker CEO, Danny Jenkins with Microsoft MVP and author of PowerShell.News, Jim Tyler (me haha). Of course my badge is twisted.</figcaption></figure></div><div id="youtube2-M1pXmmlUofg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;M1pXmmlUofg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/M1pXmmlUofg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>For the past few days, I&#8217;ve had the pleasure of attending Zero Trust World, a cybersecurity conference in Florida. ThreatLocker is a zero trust EDR/MDR platform that comprehensively locks down endpoints with a variety of strategies. Full disclosure, I am not being paid to write this; I&#8217;m just a huge fan. </p><p>ThreatLocker has rolled out some fantastic new features. The star of the show was their new Zero Trust Cloud Access, which basically acts as a high-speed broker for SaaS apps like Microsoft 365 and GitHub. Instead of the usual clunky VPN that tunnels everything, this system only routes the specific protocols you need, and it ties your identity to your actual hardware. This means even if a hacker manages to phish your password and MFA code, they&#8217;re still stuck because they don&#8217;t have your physical device or your face for the biometric check.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>They also dug into Zero Trust Network Access (ZTNA), which is all about securing your local &#8220;vault&#8221; without leaving any doors open. This is a huge deal because you can now write policies that allow a specific app to talk to a database while explicitly blocking PowerShell from doing the same. It&#8217;s a clever way to stop &#8220;living off the land&#8221; attacks where intruders use your own admin tools against you. Plus, they&#8217;ve added a &#8220;Default Against Misconfigurations&#8221; (DAC) tool for Office 365 that constantly scans for security gaps, like accidental mailbox forwarding or disabled MFA, and gives you a simple score to see how you&#8217;re doing compared to everyone else. Check out the video to see how these new features work. There were many other great sessions that will published online soon.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DVGw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DVGw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png 424w, https://substackcdn.com/image/fetch/$s_!DVGw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png 848w, https://substackcdn.com/image/fetch/$s_!DVGw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png 1272w, https://substackcdn.com/image/fetch/$s_!DVGw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DVGw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png" width="1190" height="672" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:672,&quot;width&quot;:1190,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1503862,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/190090188?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DVGw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png 424w, https://substackcdn.com/image/fetch/$s_!DVGw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png 848w, https://substackcdn.com/image/fetch/$s_!DVGw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png 1272w, https://substackcdn.com/image/fetch/$s_!DVGw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5091017-f6c2-4cbf-8656-ba2eac2a54df_1190x672.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I also ran into fellow Microsoft MVP and author of <strong><a href="https://github.com/techspence/ScriptSentry">ScriptSentry</a></strong>, Spencer Alessi, who had a great Active Directory hacking lab. If you aren&#8217;t familiar with his work utilizing, check him out here: </p><p><a href="http://spenceralessi.com/">http://spenceralessi.com/</a></p><p><a href="https://github.com/techspence/ScriptSentry">https://github.com/techspence/ScriptSentry</a></p><div><hr></div><h1><strong><a href="https://www.linkedin.com/events/7425468327407321088/">Monad to Millions - Celebrating Jeffrey Snover &amp; the PowerShell Community</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V9Vb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V9Vb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!V9Vb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!V9Vb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!V9Vb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V9Vb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:128597,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/190090188?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!V9Vb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!V9Vb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!V9Vb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!V9Vb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e57346-ec14-4c20-a523-a287d3a2001d_1280x720.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Heiko Brenn will be hosting a special live-stream celebration honoring Jeffrey Snover, the creator of PowerShell, and the incredible community that turned a bold idea (Monad) into a global movement.<br><br>In this one-hour event, Jeffrey reflects on the origins of PowerShell, key moments along the journey, and what it means to see the community take ownership of the platform. Members of the PowerShell community share stories, laughs, and memorable moments, including some classic &#8220;Snover Stories&#8221; you won&#8217;t want to miss.<br><br>Whether PowerShell shaped your career, saved your weekend, or just made automation fun, this stream is about the people behind the shell, and the legacy they built together.</p><p><a href="https://www.linkedin.com/events/7425468327407321088/">https://www.linkedin.com/events/7425468327407321088/</a></p><div><hr></div><h1><strong><a href="https://powershellisfun.com/2026/02/27/over-1-000-000-views/">PowerShell is fun :) Over 1.000.000 views!</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kuEk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kuEk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp 424w, https://substackcdn.com/image/fetch/$s_!kuEk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp 848w, https://substackcdn.com/image/fetch/$s_!kuEk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp 1272w, https://substackcdn.com/image/fetch/$s_!kuEk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kuEk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp" width="1024" height="904" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:904,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:559674,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/190090188?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kuEk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp 424w, https://substackcdn.com/image/fetch/$s_!kuEk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp 848w, https://substackcdn.com/image/fetch/$s_!kuEk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp 1272w, https://substackcdn.com/image/fetch/$s_!kuEk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F210d64c3-7c1f-4154-84a5-df186f7d5fcb_1024x904.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Harm Veenstra has a great post about celebrating one million site views and reflecting on a four-year journey of sharing PowerShell passion. The article highlights the importance of community involvement, Microsoft MVP recognition, and the support of sponsors like PDQ in reaching this significant achievement.</p><p><a href="https://powershellisfun.com/2026/02/27/over-1-000-000-views/">https://powershellisfun.com/2026/02/27/over-1-000-000-views/</a></p><h1><strong><a href="https://alflokken.github.io/posts/graph-delta-queries/">Microsoft Graph Delta Query in PowerShell</a></strong></h1><p>Alf L&#248;kken has an interesting article on performing stateful, incremental synchronizations of Entra ID resources using PowerShell. This guide demonstrates how to use delta tokens to retrieve only new or updated objects, effectively moving away from inefficient full-dataset snapshots.</p><p><a href="https://alflokken.github.io/posts/graph-delta-queries/">https://alflokken.github.io/posts/graph-delta-queries/</a></p><div><hr></div><h1><strong><a href="http://www.youtube.com/watch?v=kDGRUDDNtBQ">Rename ComputerName Win32 App during Windows Autopilot</a></strong></h1><div id="youtube2-kDGRUDDNtBQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;kDGRUDDNtBQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/kDGRUDDNtBQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Manish Bangia has an interesting video about how to use a PowerShell script within a Win32 app to automatically rename computers during the Windows Autopilot process. This method bypasses the limitations of standard naming templates by using custom logic based on chassis type and serial numbers to ensure unique and descriptive hostnames.</p><div><hr></div><h1><strong><a href="http://www.youtube.com/watch?v=5dzur6ZQ-nE">Architecting Systems That Last - with Jeffery Snover</a></strong></h1><div id="youtube2-5dzur6ZQ-nE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5dzur6ZQ-nE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5dzur6ZQ-nE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Hassan Habib has a good interview about the history of PowerShell and the architectural philosophies of its creator, Jeffrey Snover. The discussion covers the personal and professional risks Snover took to bring PowerShell to life, his transition from Microsoft to Google, and his insights on how AI is reshaping the landscape of system design and automation.</p><div><hr></div><h1><strong><a href="https://www.youtube.com/watch?v=4HYCAjQS2W8">PowerShell Tools for PKI and Secure Boot. The PowerShell Podcast E216 Richard Hicks</a></strong></h1><div id="youtube2-4HYCAjQS2W8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;4HYCAjQS2W8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/4HYCAjQS2W8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Andrew Pla has an interesting interview with Microsoft MVP Richard Hicks about the complexities of ADCS security and PKI management. The discussion covers how simple certificate template mistakes can lead to full domain compromise, the upcoming expiration of crucial Microsoft UEFI certificates, and how specialized PowerShell modules like ADPrincipalCertificateKit are used by consultants to audit and secure enterprise environments.</p><div><hr></div><h1><strong><a href="https://www.jsnover.com/blog/2026/03/03/another-scary-microsoft-lawyers-incident-or-dont-be-on-the-wrong-side-of-antitrust/">Another Scary Microsoft Lawyers Incident or Don&#8217;t be on the Wrong Side of Antitrust</a></strong></h1><p>Jeffrey Snover has an interesting blog post about navigating a formal antitrust investigation triggered by a hostile competitor during the launch of PowerShell DSC. He describes how he relied on the &#8220;PerfMon pattern&#8221; to advocate for an open ecosystem and ultimately used a recording of his own technical presentation to prove his commitment to fair competition, clearing his name and highlighting Microsoft&#8217;s rigorous legal culture.</p><p><a href="https://www.jsnover.com/blog/2026/03/03/another-scary-microsoft-lawyers-incident-or-dont-be-on-the-wrong-side-of-antitrust/">https://www.jsnover.com/blog/2026/03/03/another-scary-microsoft-lawyers-incident-or-dont-be-on-the-wrong-side-of-antitrust/</a></p><div><hr></div><h1><strong><a href="http://www.youtube.com/watch?v=3-FZrM9iubY">Azure Automation Modules Are A Mess&#8230; So Let&#8217;s Automate Them!</a></strong> </h1><div id="youtube2-3-FZrM9iubY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3-FZrM9iubY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/3-FZrM9iubY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Adeel Automates has a great video about automating the management and deployment of PowerShell modules within Azure Automation Runtime Environments using REST APIs and VS Code. He demonstrates how to bypass manual portal updates by pulling modules directly from the PowerShell Gallery and storage accounts, including a clever trick for bulk-formatting large module lists for use in automation scripts.</p><div><hr></div><h1><strong><a href="https://office365itpros.com/2026/03/05/shared-mailbox-kpi/">Measuring KPIs like Response Times for Shared Mailboxes</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vJDk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc920babe-bced-47d9-8738-70323513a974_1511x954.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vJDk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc920babe-bced-47d9-8738-70323513a974_1511x954.webp 424w, https://substackcdn.com/image/fetch/$s_!vJDk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc920babe-bced-47d9-8738-70323513a974_1511x954.webp 848w, https://substackcdn.com/image/fetch/$s_!vJDk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc920babe-bced-47d9-8738-70323513a974_1511x954.webp 1272w, https://substackcdn.com/image/fetch/$s_!vJDk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc920babe-bced-47d9-8738-70323513a974_1511x954.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vJDk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc920babe-bced-47d9-8738-70323513a974_1511x954.webp" width="1456" height="919" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c920babe-bced-47d9-8738-70323513a974_1511x954.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:919,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:163758,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/190090188?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc920babe-bced-47d9-8738-70323513a974_1511x954.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vJDk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc920babe-bced-47d9-8738-70323513a974_1511x954.webp 424w, https://substackcdn.com/image/fetch/$s_!vJDk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc920babe-bced-47d9-8738-70323513a974_1511x954.webp 848w, https://substackcdn.com/image/fetch/$s_!vJDk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc920babe-bced-47d9-8738-70323513a974_1511x954.webp 1272w, https://substackcdn.com/image/fetch/$s_!vJDk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc920babe-bced-47d9-8738-70323513a974_1511x954.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Tony Redmond has an interesting article about how organizations can use Microsoft Graph and PowerShell to track responsiveness and customer interaction metrics within Exchange Online shared mailboxes. The post explores the technical challenges of identifying individual responders and measuring elapsed time between messages using conversation identifiers to gain insights into team productivity.</p><p><a href="https://office365itpros.com/2026/03/05/shared-mailbox-kpi/">https://office365itpros.com/2026/03/05/shared-mailbox-kpi/</a></p><div><hr></div><h1><strong><a href="https://www.youtube.com/watch?v=LJOMrAk8uc0">Microsoft Graph 5 - Send Email using PowerShell and Microsoft Graph</a></strong> </h1><div id="youtube2-LJOMrAk8uc0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;LJOMrAk8uc0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/LJOMrAk8uc0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>JackedProgrammer has a great video about using the Microsoft Graph SDK and PowerShell to automate sending emails, including how to handle file attachments. The tutorial demonstrates constructing the necessary JSON-like hash tables for the Graph API, converting files to Base64 strings for transmission, and provides a clear example of sending both plain text and PDF documents.</p><h1><strong><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/even-more-pwshspectreconsole-tools/">Even More PwshSpectreConsole Tools</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XehY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XehY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png 424w, https://substackcdn.com/image/fetch/$s_!XehY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png 848w, https://substackcdn.com/image/fetch/$s_!XehY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png 1272w, https://substackcdn.com/image/fetch/$s_!XehY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XehY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png" width="708" height="390" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:390,&quot;width&quot;:708,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12286,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/190090188?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XehY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png 424w, https://substackcdn.com/image/fetch/$s_!XehY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png 848w, https://substackcdn.com/image/fetch/$s_!XehY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png 1272w, https://substackcdn.com/image/fetch/$s_!XehY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5483f8c-4b98-46f9-9189-bd7dace640de_708x390.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Jeffery Hicks has a great article about creating advanced PowerShell terminal tools using the PwshSpectreConsole module to enhance data visualization. The post provides functional script examples for monitoring top processes and displaying system health data in dynamic, colorized tree and panel formats.</p><p><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/even-more-pwshspectreconsole-tools/">https://buttondown.com/behind-the-powershell-pipeline/archive/even-more-pwshspectreconsole-tools/</a></p><h1><strong>Upcoming Events</strong></h1><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany - Call for speakers is now closed.</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Mastering Intune, Registry Challenges, and Escaping Tutorial Anguish]]></title><description><![CDATA[Insights from Andrew Taylor, Jeffery Hicks, and Pablo Correchel on modernizing your IT workflow]]></description><link>https://www.powershell.news/p/mastering-intune-registry-challenges</link><guid isPermaLink="false">https://www.powershell.news/p/mastering-intune-registry-challenges</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 27 Feb 2026 11:02:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DRdK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong><a href="https://www.powershell.news/i/189276056/microsoft-intune-cookbook-by-andrew-taylor">Microsoft Intune Cookbook by Andrew Taylor</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DRdK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DRdK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png 424w, https://substackcdn.com/image/fetch/$s_!DRdK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png 848w, https://substackcdn.com/image/fetch/$s_!DRdK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png 1272w, https://substackcdn.com/image/fetch/$s_!DRdK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DRdK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png" width="768" height="949" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:949,&quot;width&quot;:768,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:386085,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/189276056?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DRdK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png 424w, https://substackcdn.com/image/fetch/$s_!DRdK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png 848w, https://substackcdn.com/image/fetch/$s_!DRdK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png 1272w, https://substackcdn.com/image/fetch/$s_!DRdK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F851a99c1-bb04-4f01-9a24-b7ec7ad0dca9_768x949.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Andrew Taylor</strong>, author of the Intune Newsletter, has a great new book about mastering cloud-connected endpoint management across multiple platforms including Windows, macOS, and Android. This second edition provides practical, recipe-based workflows for automating administration with PowerShell and leveraging AI-powered insights through Security Copilot. If you are an IT administrator looking to modernize your device management and security posture with proven, hands-on techniques, I highly recommend picking up a copy of this comprehensive guide.</p><p>I have actually read the chapter on PowerShell and it is awesome. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><a href="https://www.amazon.com/Microsoft-Intune-Cookbook-configuring-automating-ebook/dp/B0GPQFTZST/ref=sr_1_2?crid=3AAOKRVIJISOD&amp;dib=eyJ2IjoiMSJ9.xFksjeZoPHyJEe3MIEcr2VZhzMRks-xUC7J2F-e6jrVi4nbgQ0BZgqsUZibYu5AJVNvkIh_0VWX18fmOW9ob_ZU4eN_jpWI5PlKpgx98QS8.jt-VQZJzfvgpjANllHwsm9PztLAHiVDd-wmPNFAi8b4&amp;dib_tag=se&amp;keywords=intune+cookbook&amp;qid=1772130391&amp;sprefix=intune+cookboo%2Caps%2C626&amp;sr=8-2">https://www.amazon.com/Microsoft-Intune-Cookbook-configuring-automating-ebook/dp/B0GPQFTZST/</a></p><p><a href="https://andrewstaylor.com/category/newsletter/">https://andrewstaylor.com/category/newsletter/</a></p><div><hr></div><h1><strong><a href="https://powershellisfun.com/2026/02/20/using-strict-mode-in-powershell/">Using Strict Mode in PowerShell</a></strong></h1><p><strong>Harm Veenstra</strong> has an interesting new article about how using <code>Set-StrictMode</code> can help you write better code by catching common scripting mistakes like uninitialized variables or invalid array indexes. This post provides practical examples of how enabling strict mode transforms silent failures into helpful, terminating errors that make troubleshooting significantly easier.</p><p>If you want to dive deeper into mastering cloud-connected endpoint management and automation, I highly recommend buying his book, the <a href="https://www.google.com/search?q=https://www.amazon.com/Microsoft-Intune-Cookbook-configuring-automating-ebook/dp/B0GPQFTZST/">Microsoft Intune Cookbook</a>.</p><p><a href="https://powershellisfun.com/2026/02/20/using-strict-mode-in-powershell/">https://powershellisfun.com/2026/02/20/using-strict-mode-in-powershell/</a></p><div><hr></div><h1><strong><a href="http://www.youtube.com/watch?v=JXgEwLfvwkk">Escaping Tutorial Hell with Pablo Correchel. The PowerShell Podcast E215</a></strong></h1><p><strong>Pablo Correchel</strong> has an interesting video about how early-career IT professionals can accelerate their learning by moving away from passive tutorials and embracing public documentation of their progress. The episode emphasizes the power of consistent practice, the value of asking beginner questions, and how sharing your journey on platforms like LinkedIn can lead to unexpected career opportunities and community support.</p><div id="youtube2-JXgEwLfvwkk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;JXgEwLfvwkk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/JXgEwLfvwkk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1><strong><a href="https://office365itpros.com/2026/02/25/scoped-graph-permission-lists/">How to Use Scoped Graph Permissions with SharePoint Lists</a></strong></h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-d8C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-d8C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp 424w, https://substackcdn.com/image/fetch/$s_!-d8C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp 848w, https://substackcdn.com/image/fetch/$s_!-d8C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp 1272w, https://substackcdn.com/image/fetch/$s_!-d8C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-d8C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp" width="1200" height="630" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56342,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/189276056?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-d8C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp 424w, https://substackcdn.com/image/fetch/$s_!-d8C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp 848w, https://substackcdn.com/image/fetch/$s_!-d8C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp 1272w, https://substackcdn.com/image/fetch/$s_!-d8C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe8995f1-face-40c6-8f3b-d27cf76df43f_1200x630.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Tony Redmond</strong> has an interesting article about how to implement granular access control for SharePoint lists and items using scoped Microsoft Graph permissions. This approach allows administrators to restrict application access to specific data points rather than granting broad, site-wide permissions.</p><p><a href="https://office365itpros.com/2026/02/25/scoped-graph-permission-lists/">https://office365itpros.com/2026/02/25/scoped-graph-permission-lists/</a></p><div><hr></div><h1><strong><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/resolving-the-registry-challenge/">Resolving The Registry Challenge</a></strong></h1><p><strong>Jeffery Hicks</strong> has a good article on how to solve a PowerShell scripting challenge focused on querying the Windows registry for auto-run applications. The post demonstrates how to use registry PSDrives to extract application names and command lines from both machine and user-specific hives, while also showing how to create custom objects and formatted output for the results.</p><p><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/resolving-the-registry-challenge/">https://buttondown.com/behind-the-powershell-pipeline/archive/resolving-the-registry-challenge/</a></p><div><hr></div><h1><strong><a href="http://www.youtube.com/watch?v=csZAASsflj0">Why You Need to Learn PowerShell</a></strong></h1><p><strong>Adeel Automates</strong> has a great video about why mastering PowerShell is essential for any IT professional serious about moving from support roles into high-level engineering. The video explains that while manual clicking through portals doesn&#8217;t scale, PowerShell allows for the control of massive environments at machine speed, turning repetitive tasks into automated processes that run without fatigue or error.</p><div id="youtube2-csZAASsflj0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;csZAASsflj0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/csZAASsflj0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1><strong><a href="https://devblogs.microsoft.com/powershell/powershell-openssh-and-dsc-team-investments-for-2026/">PowerShell, OpenSSH, and DSC team investments for 2026</a></strong></h1><p><strong>Steve Lee</strong> has a great article about the upcoming development roadmap for PowerShell 7.7, including significant changes to user content paths and the introduction of AI-assisted scripting tools. The post also details major security enhancements and the transition to the Microsoft Artifact Registry for more reliable module management. Note that this was covered last week from the transcript, but this is straight from Microsoft.</p><p><a href="https://devblogs.microsoft.com/powershell/powershell-openssh-and-dsc-team-investments-for-2026/">https://devblogs.microsoft.com/powershell/powershell-openssh-and-dsc-team-investments-for-2026/</a></p><div><hr></div><h1><strong>Upcoming Events</strong></h1><p><strong>Zero Trust World 2026</strong> - March 4th-6th Rosen Shingle Creek, Orlando, Florida. Zero Trust conference by ThreatLocker.</p><p>https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany - Call for speakers is now closed.</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[PowerShell 7.6: The Road to LTS, February Community Call Announces Major Update]]></title><description><![CDATA[+ Enhancing the Proxy Command & Learning VIM]]></description><link>https://www.powershell.news/p/powershell-76-the-road-to-lts-february</link><guid isPermaLink="false">https://www.powershell.news/p/powershell-76-the-road-to-lts-february</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 20 Feb 2026 11:31:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hKCq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hKCq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hKCq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!hKCq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!hKCq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!hKCq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hKCq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2807098,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/188488213?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hKCq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!hKCq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!hKCq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!hKCq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1aba8a0c-1326-432b-860c-8b888da32196_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h1><strong><a href="https://github.com/PowerShell/PowerShell/releases">v7.6.0-rc.1 Release of PowerShell</a></strong></h1><div id="youtube2-WgoJnmobYMo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;WgoJnmobYMo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/WgoJnmobYMo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3><strong>PowerShell 7.6: The Road to LTS</strong></h3><p>The PowerShell team just pushed out the first Release Candidate for <strong>PowerShell 7.6 (7.6.0-rc.1)</strong>. If you&#8217;ve been following the dev cycle, you know this is a big one because it&#8217;s a Long Term Support (LTS) release. The team is clearly in &#8220;measure twice, cut once&#8221; mode here, they&#8217;re prioritizing stability over rushing to a specific date, which is exactly what you want to hear for an LTS version.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>What&#8217;s under the hood?</strong></p><p>The main heavy lifting in this update is a move to the <strong>.NET SDK 10.0.102</strong>. Beyond that, there&#8217;s a lot of &#8220;janitorial&#8221; work that makes a big difference for reliability:</p><ul><li><p>They&#8217;ve updated the <code>PSResourceGet</code> to v1.2.0-rc3.</p></li><li><p>Fixed some annoying bugs with macOS package identification.</p></li><li><p>Ironed out issues with how build info is uploaded for different release types.</p></li></ul><p>There is a 30-day evaluation window starting now. If everything stays quiet and no major showstoppers pop up, we&#8217;re likely looking at General Availability (GA) around late March or early April.</p><h3><strong>Looking Ahead: 7.7 and the 2026 Roadmap</strong></h3><p>Steve Lee and the team shared some interesting bits about what&#8217;s coming later this year. A few things caught my eye:</p><ul><li><p><strong>Moving your Profiles:</strong> This is a win for anyone dealing with OneDrive lag. They&#8217;re working on &#8220;Custom Content Locations&#8221; so you can finally move your profiles and modules out of the Documents folder if it&#8217;s causing you performance headaches.</p></li><li><p><strong>Better Aliases:</strong> They are looking into Bash-style aliases. This would let you bake in default switches (like always having your favorite flags on <code>ls</code>) without having to write a full function wrapper every time.</p></li><li><p><strong>AI &amp; Security:</strong> The team is starting work on a Model Context Protocol (MCP) server. The focus here is really on making sure that when we start using AI to help write or run code, it&#8217;s doing so within a safe, secure boundary.</p></li></ul><h3><strong>Community &amp; Anniversary Vibes</strong></h3><p>It&#8217;s actually been 20 years since the original &#8220;Monad&#8221; manifest started this whole journey. It&#8217;s pretty wild to see how far it&#8217;s come.</p><p>On the technical side of the ecosystem, the PowerShell Gallery is currently being migrated over to Azure Kubernetes Service (AKS). It&#8217;s a multi-month project, but it should finally fix those sluggish search indexes and scaling issues that have been cropping up lately.</p><p>Also, if you&#8217;re into infrastructure as code, keep an eye on the new Bicep local extension for DSC. It basically lets you use Bicep to manage local machine state with all the type-safety you&#8217;d expect, which is a pretty slick workflow.</p><p>If you want to dive into the nitty-gritty, you can check out the full <a href="https://github.com/PowerShell/PowerShell/releases">release notes on GitHub</a>.</p><p><a href="https://github.com/PowerShell/PowerShell/releases">https://github.com/PowerShell/PowerShell/releases</a></p><div><hr></div><h1><strong><a href="https://www.jsnover.com/blog/2026/02/15/scary-microsoft-lawyers-part-1/">Scary Microsoft Lawyers &#8211; Part 1</a></strong></h1><p><strong>Jeffrey Snover</strong> has a great blog post about his experience working with Microsoft&#8217;s legal team during a high-stakes technology acquisition. He describes a moment of intense &#8220;moral clarity&#8221; where a lawyer sternly warned the team against insider trading immediately following the successful signing of the deal.</p><p><a href="https://www.jsnover.com/blog/2026/02/15/scary-microsoft-lawyers-part-1/">https://www.jsnover.com/blog/2026/02/15/scary-microsoft-lawyers-part-1/</a></p><div><hr></div><h1><strong><a href="http://www.youtube.com/watch?v=ZaPoS4mGW7s">Learning PowerShell in 2026 with Tara. The PowerShell Podcast E214</a></strong></h1><p><strong>Andrew Pla with PDQ</strong> has an interesting video about transitioning from a GUI-centric IT workflow to mastering PowerShell fundamentals like objects, pipelines, and error handling. The conversation explores the importance of community support and a growth mindset in overcoming the initial intimidation of learning automation.</p><div id="youtube2-ZaPoS4mGW7s" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ZaPoS4mGW7s&quot;,&quot;startTime&quot;:&quot;1s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ZaPoS4mGW7s?start=1s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><a href="http://www.youtube.com/watch?v=ZaPoS4mGW7s">Learning PowerShell in 2026 with Tara. The PowerShell Podcast E214</a></p><div><hr></div><h1><strong><a href="https://www.thelazyadministrator.com/2026/02/09/using-dev-proxy-to-identify-excessive-microsoft-graph-permissions-in-your-powershell-scripts/">Using Dev Proxy to Identify Excessive Microsoft Graph Permissions in Your PowerShell Scripts</a></strong></h1><p><strong>Brad Wyatt</strong> has an interesting article about how to use Microsoft Dev Proxy to audit and refine permissions in your automation scripts. By leveraging the GraphMinimalPermissionsGuidance plugin, you can automatically detect over-privileged service accounts and ensure your PowerShell workflows adhere to the principle of least privilege.</p><p><a href="https://www.thelazyadministrator.com/2026/02/09/using-dev-proxy-to-identify-excessive-microsoft-graph-permissions-in-your-powershell-scripts/">https://www.thelazyadministrator.com/2026/02/09/using-dev-proxy-to-identify-excessive-microsoft-graph-permissions-in-your-powershell-scripts/</a></p><div><hr></div><h1><strong><a href="http://www.youtube.com/watch?v=mXOqccw4A6A">Microsoft Graph 3 - Create and Delete users using PowerShell and Microsoft Graph</a></strong></h1><p><strong>JackedProgrammer</strong> has a great <strong>video</strong> about automating user management in Microsoft Entra ID (Azure AD) by demonstrating how to create and delete accounts using both the Microsoft Graph PowerShell SDK and direct REST API requests. The tutorial highlights critical steps like configuring the <code>User.ReadWrite.All</code> permission and using the <code>New-MgUser</code> and <code>Remove-MgUser</code> commandlets to streamline administrative workflows.</p><div id="youtube2-mXOqccw4A6A" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;mXOqccw4A6A&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/mXOqccw4A6A?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><a href="http://www.youtube.com/watch?v=mXOqccw4A6A">Microsoft Graph 3 - Create and Delete users using PowerShell and Microsoft Graph</a></p><div><hr></div><h1><strong><a href="https://powershellisfun.com/2026/02/13/using-the-zlocation-powershell-module-to-navigate-folders/">Using the ZLocation PowerShell Module to navigate folders</a></strong></h1><p><strong>Harm Veenstra</strong> has an interesting blog post on how to use the ZLocation module to intelligently track and quickly jump between frequently used directories in PowerShell. This tool learns your navigation habits to replace long file paths with short, regex-based commands and easy-to-use aliases like &#8220;z&#8221;.</p><p><a href="https://powershellisfun.com/2026/02/13/using-the-zlocation-powershell-module-to-navigate-folders/">https://powershellisfun.com/2026/02/13/using-the-zlocation-powershell-module-to-navigate-folders/</a></p><div><hr></div><h1><strong>Microsoft Entra Agent ID Explained</strong> </h1><p>Leandro Iwase has a 10-minute explainer on the new Microsoft Entra Agent ID feature. If you are working with AI agents and identity, this is a quick primer on how Microsoft is approaching agent identity management in Entra. </p><div id="youtube2-N-B-kD28P2I" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;N-B-kD28P2I&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/N-B-kD28P2I?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1><strong><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/enhancing-the-proxy-command/">Enhancing the Proxy Command</a></strong></h1><p><strong>Jeff Hicks</strong> has an interesting article about how to extend the functionality of PowerShell proxy functions by re-introducing remoting capabilities to the Get-Service cmdlet. He demonstrates a step-by-step approach to defining custom parameters and dynamically constructing script blocks that utilize the &#8216;Using&#8217; scope modifier for seamless remote execution.</p><p><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/enhancing-the-proxy-command/">https://buttondown.com/behind-the-powershell-pipeline/archive/enhancing-the-proxy-command/</a></p><div><hr></div><h1><strong><a href="http://www.youtube.com/watch?v=qSk-WMtgbnE">Andrew Learns Vim on a Whim with Mason Moser</a></strong></h1><p><strong>Andrew Pla </strong>has a <a href="http://www.youtube.com/watch?v=qSk-WMtgbnE">great</a> <a href="http://www.youtube.com/watch?v=qSk-WMtgbnE">video</a> with Mason Moser about getting started with Vim motions to improve coding efficiency and reduce reliance on the mouse. The tutorial covers core concepts like normal vs. insert modes, basic navigation using <code>hjkl</code>, and useful shortcuts like <code>DD</code> for deleting lines and <code>ZZ</code> for centering text.</p><div id="youtube2-qSk-WMtgbnE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;qSk-WMtgbnE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/qSk-WMtgbnE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p></p><h1><strong>Upcoming Events</strong></h1><p><strong>Zero Trust World 2026</strong> - March 4th-6th Rosen Shingle Creek, Orlando, Florida. Zero Trust conference by ThreatLocker.</p><p>https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany - Call for speakers is now closed.</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why Jeffrey Snover called his boss an idiot, a new way to de-bloat Windows 11]]></title><description><![CDATA[Plus:How to flip strings effortlessly]]></description><link>https://www.powershell.news/p/why-jeffrey-snover-called-his-boss</link><guid isPermaLink="false">https://www.powershell.news/p/why-jeffrey-snover-called-his-boss</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 13 Feb 2026 11:10:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/sN6eMmB9ou4" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3><strong><a href="https://powershellisfun.com/2026/02/06/a-hidden-gem-in-powershell-format-custom/">a Hidden gem in PowerShell : Format-Custom</a></strong></h3><p><strong><a href="https://powershellisfun.com/author/veenstraharm/">Harm Veenstra</a></strong> has an interesting blog about utilizing the <code>Format-Custom</code> cmdlet to view complex object properties and nested data without the need for manual expansion. While exploring various formatting options this week, Harm discovered that this &#8220;hidden gem&#8221; provides a deep, comprehensive look into objects like Microsoft Graph users or SMB shares, making it much easier to verify all available values at once.</p><p><a href="https://powershellisfun.com/2026/02/06/a-hidden-gem-in-powershell-format-custom/">https://powershellisfun.com/2026/02/06/a-hidden-gem-in-powershell-format-custom/</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong><a href="https://www.youtube.com/watch?v=sN6eMmB9ou4">Latest updates on the Microsoft 365 Developer program</a></strong></h3><p><strong>Eeti Agarwal</strong> has a great video about the recent transition to automated onboarding for Microsoft 365 partners and the introduction of a &#8220;Copilot starter pack&#8221; designed to remove setup friction for AI developers. The session also details how Visual Studio subscribers can now maintain sandbox continuity and the upcoming shift toward commerce-enabled environments for testing paid Copilot features.</p><div id="youtube2-sN6eMmB9ou4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;sN6eMmB9ou4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/sN6eMmB9ou4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><strong><a href="https://www.rockenroll.tech/2026/02/03/windows-11-remove-built-in-apps/">Windows 11: Remove Built in Apps</a></strong></h3><p><strong><a href="https://www.google.com/search?q=https://www.rockenroll.tech/author/nicklas-ahlberg/">Nicklas Ahlberg</a></strong> has an <strong>interesting</strong> <strong>post</strong> about a more effective way to de-bloat Windows 11 using the new <em>RemoveDefaultMicrosoftStorePackages</em> policy in Intune. This approach surpasses traditional PowerShell methods by not only uninstalling built-in apps but also leveraging registry keys to prevent them from being reinstalled by users or admins.</p><p><a href="https://www.rockenroll.tech/2026/02/03/windows-11-remove-built-in-apps/">https://www.rockenroll.tech/2026/02/03/windows-11-remove-built-in-apps/</a></p><div><hr></div><h3><strong><a href="https://www.youtube.com/watch?v=Oa0GYX9_vj8">Tara Writes Her First PowerShell Script Live</a></strong></h3><p><strong><a href="https://www.youtube.com/watch?v=Oa0GYX9_vj8">Andrew Pla</a></strong> has an interesting video on the foundational steps of writing and running a PowerShell script for the first time. The session covers essential VS Code setup, using the <code>Get-Random</code> command to solve a lunch-deciding dilemma, and the initial process of preparing a GitHub repository for code management.</p><div id="youtube2-Oa0GYX9_vj8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Oa0GYX9_vj8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Oa0GYX9_vj8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><strong><a href="https://www.jsnover.com/blog/2026/02/10/the-time-i-asked-my-boss-are-you-an-idiot/">The Time I Asked My Boss: Are You An Idiot?</a></strong></h3><p><strong><a href="https://www.jsnover.com/blog/2026/02/10/the-time-i-asked-my-boss-are-you-an-idiot/">Jeffrey Snover</a></strong> has an interesting blog about a pivotal moment in PowerShell&#8217;s history when he challenged the &#8220;Theory of Success&#8221; that prioritized GUIs over CLIs. During a failed demo where Windows was thrashing and even a PhD-holding boss couldn&#8217;t diagnose the issue, Snover used a blunt confrontation to prove that a great OS requires a powerful scripting language to resolve unanticipated scenarios.</p><p><a href="https://www.jsnover.com/blog/2026/02/10/the-time-i-asked-my-boss-are-you-an-idiot/">https://www.jsnover.com/blog/2026/02/10/the-time-i-asked-my-boss-are-you-an-idiot/</a></p><div><hr></div><h3><strong><a href="https://www.youtube.com/watch?v=nf0LbfJ4mlg">New Intune Feature - Deploy an app with Powershell!</a></strong></h3><p><strong>Dean Ellerby</strong> has an interesting video about a new Microsoft Intune update that allows administrators to upload PowerShell scripts directly to Win32 app deployments without needing to re-wrap them in a <code>.intunewin</code> package. This streamlined workflow enables quick script modifications for tasks like registry tweaks and install logic while keeping the static application content separate.</p><div id="youtube2-nf0LbfJ4mlg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;nf0LbfJ4mlg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/nf0LbfJ4mlg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><strong><a href="https://sid-500.com/2026/02/06/powershell-how-to-reverse-a-string/">PowerShell: How to reverse a String</a></strong></h3><p><strong>Patrick Gruenauer</strong> has published an interesting blog post on how to efficiently flip strings using PowerShell. I don&#8217;t really want to spend my afternoon manually rearranging characters, but a little part of me loves seeing how simple arrays and the <code>-join</code> operator can make a complex task look like a salon appointment in the pocket. Getting your string manipulation right is the most important part of the scripting game.</p><p><a href="https://sid-500.com/2026/02/06/powershell-how-to-reverse-a-string/">https://sid-500.com/2026/02/06/powershell-how-to-reverse-a-string/</a></p><div><hr></div><h3><strong><a href="https://www.youtube.com/watch?v=V6kWnmrHOms">PowerShell Is Fun mkay with Harm Veenstra. The PowerShell Podcast E213</a></strong></h3><p><strong>Andrew Pla </strong>of the <strong>PowerShell Podcast</strong> has <strong>Harm Veenstra </strong>on, who has published a great video on his journey from a system administrator to a Microsoft MVP, emphasizing the importance of community involvement and refined workflows. </p><div id="youtube2-V6kWnmrHOms" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;V6kWnmrHOms&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/V6kWnmrHOms?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><strong><a href="https://www.linkedin.com/events/7425468327407321088/">Monad to Millions - Celebrating Jeffrey Snover &amp; the PowerShell Community</a></strong></h3><p><strong>Heiko Brenn</strong> has an interesting post about an upcoming live-stream event honoring Jeffrey Snover, where the creator of PowerShell will reflect on the platform&#8217;s journey from its &#8220;Monad&#8221; roots to a global automation standard. The session highlights personal stories from the community and celebrates the collective legacy built by the people behind the shell.</p><p><a href="https://www.linkedin.com/events/7425468327407321088/">https://www.linkedin.com/events/7425468327407321088/</a></p><div><hr></div><h2><strong>Upcoming Events</strong></h2><p><strong>Zero Trust World 2026</strong> - March 4th-6th Rosen Shingle Creek, Orlando, Florida. Zero Trust conference by ThreatLocker.</p><p>https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany - Call for speakers is now closed.</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Owning Your Career with Don Jones, Mastering Microsoft Graph]]></title><description><![CDATA[+Exploring PSClaudeCode agents and the critical transition away from Exchange Web Services]]></description><link>https://www.powershell.news/p/owning-your-career-with-don-jones</link><guid isPermaLink="false">https://www.powershell.news/p/owning-your-career-with-don-jones</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 06 Feb 2026 11:00:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/qpDhWrPbZ7I" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3><strong><a href="https://www.youtube.com/watch?v=qpDhWrPbZ7I">Microsoft Graph 1 - Overview and basics of Microsoft Graph with PowerShell</a></strong> </h3><div id="youtube2-qpDhWrPbZ7I" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;qpDhWrPbZ7I&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/qpDhWrPbZ7I?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><strong>JackedProgrammer</strong> has a great video about utilizing Microsoft Graph as a unified REST API endpoint to manage and access data across Microsoft 365 and Azure using consistent syntax. He demonstrates how to set up an Azure app registration, explains the critical differences between delegated and application permissions, and provides a live demo of connecting to the API using native PowerShell commands like <code>Invoke-RestMethod</code> without requiring the heavy SDK.</p><div><hr></div><h3><strong><a href="https://powershellisfun.com/2026/01/30/install-nerdfonts-using-powershell/">Install Nerdfonts using PowerShell</a></strong></h3><p><strong>Harm Veenstra</strong> has a great blog post about how to easily install NerdFonts on Windows, Linux, or macOS using a specialized PowerShell module. The guide demonstrates how to use simple commands to browse available fonts and install them individually or in bulk to enhance the visual experience of your terminal and development environment.</p><p><a href="https://powershellisfun.com/2026/01/30/install-nerdfonts-using-powershell/">https://powershellisfun.com/2026/01/30/install-nerdfonts-using-powershell/</a></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong><a href="https://www.youtube.com/watch?v=xKh8rqCqMQg">Owning Your Career and Your Time. The PowerShell Podcast E212 Don Jones</a></strong> </h3><div id="youtube2-xKh8rqCqMQg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;xKh8rqCqMQg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/xKh8rqCqMQg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><strong>Andrew Pla</strong> has a great video about the critical mindset shift of owning your career as your own personal property while your employer only owns your current job. He interviews PowerShell icon <strong>Don Jones</strong>, who explains how to stop &#8220;driving aimlessly&#8221; through your professional life by setting clear life goals and using high-level questioning to influence decisions at work.</p><div><hr></div><h3><strong><a href="https://office365itpros.com/2026/02/05/userconfiguration-api-beta/">Microsoft Previews userConfiguration Graph API</a></strong></h3><p><strong>Tony Redmond</strong> has an interesting article about the launch of the new UserConfiguration Graph API preview, which provides a modern replacement for managing hidden Folder Associated Items (FAIs) in Exchange. This update is a critical step in Microsoft&#8217;s transition away from Exchange Web Services (EWS), allowing developers to continue accessing and updating persistent application settings as the older protocol is phased out.</p><p><a href="https://office365itpros.com/2026/02/05/userconfiguration-api-beta/">https://office365itpros.com/2026/02/05/userconfiguration-api-beta/</a></p><div><hr></div><h3><strong>Building Your First PowerShell Module (Live) | Module 101 w/ Fred Weinmann</strong> </h3><div id="youtube2-ZAjtbZktL8w" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ZAjtbZktL8w&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ZAjtbZktL8w?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>On this week&#8217;s PowerShell Wednesday<strong>, Andrew Pla </strong>sits down with<strong> Fred Weinmann</strong> has an interesting video about how to transform a simple PowerShell script into a professional, redistributable module using automated templating and GitHub workflows. The session provides a &#8220;PowerShell maturity model&#8221; for learners while demonstrating live how to use the PSModuleDevelopment toolkit to automate file splitting, testing, and publishing to the PowerShell Gallery.</p><div><hr></div><h3><strong>Obsidian TaskNotes Extension</strong> </h3><p><strong><a href="https://github.com/HeyItsGilbert">HeyItsGilbert</a></strong> has an interesting repository about a PowerToys Run extension that integrates with the TaskNotes Obsidian plugin to manage tasks, track time, and run Pomodoro sessions directly from the Windows desktop. The project enables users to view, complete, and archive tasks through a rich UI with priority and due date badges.</p><p><a href="https://github.com/HeyItsGilbert/ObsidianTaskNotesExtension">https://github.com/HeyItsGilbert/ObsidianTaskNotesExtension</a></p><div><hr></div><h3><strong><a href="https://github.com/n7on/pup">n7on/pup: A PowerShell Module for Browser Automation</a></strong></h3><p><strong>n7on (Anton Lindstrom)</strong> has a great repository on a native PowerShell module designed for browser automation. It leverages PuppeteerSharp and the DevTools API to automate browsers across all PowerShell versions by targeting netstandard 2.0.</p><p><a href="https://github.com/n7on/pup">https://github.com/n7on/pup</a></p><div><hr></div><h3><strong>What&#8217;s Cooking in the AI Space &#8211; Jan 2026: Claude in Excel, PSClaudeCode Agents &amp; More</strong></h3><p><strong><a href="http://www.youtube.com/watch?v=R72JPNxFmGE">Doug Finke</a></strong> has a great video on the exploding intersection of PowerShell and Agentic AI as of early 2026. In this livestream, Doug demonstrates practical AI integrations like Claude in Excel for automated data manipulation and his own PSClaudeCode for building autonomous agents natively in PowerShell.</p><div id="youtube2-R72JPNxFmGE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;R72JPNxFmGE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/R72JPNxFmGE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><strong><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/capturing-the-registry-with-a-dotnet/">Capturing The Registry With A (dot)Net</a></strong></h3><p><strong>Jeff Hicks</strong> has a great post about going beyond the standard PowerShell Registry provider to interact directly with the Microsoft.Win32.RegistryKey .NET class. The article explains how using these underlying classes provides advanced users with more control and flexibility when opening registry hives, navigating subkeys, and accessing values.</p><p><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/capturing-the-registry-with-a-dotnet/">https://buttondown.com/behind-the-powershell-pipeline/archive/capturing-the-registry-with-a-dotnet/</a></p><div><hr></div><h2><strong>Upcoming Events</strong></h2><p><strong>Zero Trust World 2026</strong> - March 4th-6th Rosen Shingle Creek, Orlando, Florida. Zero Trust conference by ThreatLocker.</p><p>https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany - Call for speakers is now closed.</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Exploring the new Intune PowerShell script installer, mastering SSH, and staying ahead of PowerShell EOL dates]]></title><description><![CDATA[Featuring the latest from Jeff Hicks, Sam Erde, Andrew Pla, and Harm Veenstra]]></description><link>https://www.powershell.news/p/exploring-the-new-intune-powershell</link><guid isPermaLink="false">https://www.powershell.news/p/exploring-the-new-intune-powershell</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 30 Jan 2026 11:16:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/rFeoTKLerkA" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><p><strong><a href="https://powershellisfun.com/2026/01/23/intune-win32-powershell-installer-type/">Intune Win32 PowerShell Installer Type</a></strong></p><p><strong>Harm Veenstra</strong> has an interesting blog post about how Microsoft recently re-released the PowerShell installer type for Intune Win32 packages. This feature allows IT administrators to update installation and uninstallation scripts directly in the Intune portal without the need to recreate and re-upload the entire .intunewin package.</p><p><a href="https://powershellisfun.com/2026/01/23/intune-win32-powershell-installer-type/">https://powershellisfun.com/2026/01/23/intune-win32-powershell-installer-type/</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p><strong><a href="https://www.youtube.com/watch?v=rFeoTKLerkA">Stop Trying So Hard and Start Automating Smarter. The PowerShell Podcast E211 with Jake Hildreth</a></strong></p><p><strong>Andrew Pla with PDQ&#8217;s PowerShell Podcast</strong> has a great video featuring <strong>Jake Hildreth</strong> on building smarter automation and leveraging community connections to solve real-world problems. The discussion centers on the &#8220;stop trying so hard&#8221; theme, exploring how working smarter&#8212;not harder&#8212;improves both scripting outcomes and security practices.</p><div id="youtube2-rFeoTKLerkA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;rFeoTKLerkA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/rFeoTKLerkA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p><strong>Intune PowerShell Script Installer Feature Now Available</strong></p><p><strong>Peter Klapwijk</strong> at InTheCloud247 examines the new PowerShell script installer feature that became available in Microsoft Intune in January 2026. It&#8217;s now possible to upload a PowerShell script as the installer for Win32 apps, providing IT administrators with more flexibility in their deployment strategies.</p><p><a href="https://inthecloud247.com/intune-powershell-script-installer-feature/">https://inthecloud247.com/intune-powershell-script-installer-feature/</a></p><div><hr></div><p><strong>Getting Started with SSH in Windows PowerShell</strong></p><p><strong>Griff Barker</strong> has published a comprehensive guide for IT pros looking to leverage SSH within Windows PowerShell. This article covers the fundamentals of SSH configuration and usage, providing automation enthusiasts with the knowledge needed to integrate secure shell connections into their PowerShell workflows.</p><p><a href="https://griff.systems/posts/getting-started-ssh-in-windows-powershell/">https://griff.systems/posts/getting-started-ssh-in-windows-powershell/</a></p><div><hr></div><p><strong><a href="https://www.youtube.com/watch?v=c6StYRo1cnU">Tara Learns About PowerShell Output</a></strong></p><p>This <strong>PowerShell Wednesday</strong> <strong>Andrew Pla </strong>has a great video on PowerShell fundamentals where <strong>Andrew Pla</strong> helps <strong>Tara</strong> master command output and pipeline logic. They explore how to inspect objects with <code>Get-Member</code>, avoid common pitfalls with <code>Format-Table</code>, and use the <code>PassThru</code> parameter to verify service state changes in real-time.</p><div id="youtube2-c6StYRo1cnU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;c6StYRo1cnU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/c6StYRo1cnU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p><strong>PowerShell EOL 7.4 and 7.5 Updates</strong></p><p><strong>Sympraxis Consulting</strong> delivers a quick video covering when long-term support is ending for PowerShell versions 7.4 (November 2026), 7.5 (May 2026), and other versions. Essential viewing for anyone planning their PowerShell upgrade strategy.</p><p><a href="https://youtube.com/shorts/far0A6ff2Hg">https://youtube.com/shorts/far0A6ff2Hg</a></p><div><hr></div><p><strong><a href="https://day3bits.com/2026-01-26-setting-up-your-powershell-development-environment-part-1/">Setting Up Your PowerShell Development Environment: Part 1 - Folder Structure</a></strong></p><p><strong>Sam Erde</strong> has a great article about establishing a logical folder structure to cleanly separate work and personal coding projects. This setup helps prevent common mistakes like committing code with the wrong email address or accidentally pushing corporate secrets to public repositories while reducing the cognitive load of context-switching between different development environments.</p><p><a href="https://day3bits.com/2026-01-26-setting-up-your-powershell-development-environment-part-1/">https://day3bits.com/2026-01-26-setting-up-your-powershell-development-environment-part-1/</a></p><div><hr></div><p><strong><a href="http://www.youtube.com/watch?v=mJ81FSo3pa8">PowerShell Script to Install IIS, PHP &amp; Configure FastCGI | Auto PHP Setup on Windows</a></strong></p><p><strong>Techi Jack</strong> has an interesting video about a PowerShell script that automates the installation of IIS and PHP while configuring FastCGI to eliminate manual setup errors. The script handles everything from downloading multiple PHP versions to setting up default documents, ensuring a server is ready to host PHP and static sites in minutes.</p><div id="youtube2-mJ81FSo3pa8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;mJ81FSo3pa8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/mJ81FSo3pa8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p><strong><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/january-2026-powershell-roundup/">January 2026 PowerShell Roundup</a></strong></p><p><strong>Jeff Hicks</strong> has a great blog post about the latest PowerShell news and tools, including a major update to his PSIntro module and a practical guide on using Sysinternals&#8217; handle.exe to manage open file handles. The article also touches on upcoming conference planning for 2026 and reflects on the retirement of PowerShell inventor Jeffrey Snover.</p><p><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/january-2026-powershell-roundup/">https://buttondown.com/behind-the-powershell-pipeline/archive/january-2026-powershell-roundup/</a></p><div><hr></div><p><strong><a href="https://github.com/avadhoot2/Exchange">Microsoft Teams PSTN Call Report Automation</a></strong></p><p><strong>avadhoot2</strong> has an interesting project about automating the extraction of Teams PSTN call records using PowerShell and the Microsoft Graph API. This solution eliminates manual effort by generating CSV reports and delivering them via email to stakeholders for simplified auditing and billing.</p><p><a href="https://github.com/avadhoot2/Exchange">https://github.com/avadhoot2/Exchange/tree/PSTN-call-report-generation-using-Graph-API-and-send-email</a></p><div><hr></div><h2><strong>Upcoming Events</strong></h2><p><strong>Zero Trust World 2026</strong> - March 4th-6th Rosen Shingle Creek, Orlando, Florida. Zero Trust conference by ThreatLocker.</p><p>https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany - Call for speakers is now closed.</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Celebrating 20 Years of PowerShell & The Road to 7.6]]></title><description><![CDATA[+ Entra v1.2 updates, building security tools, and automating PIM]]></description><link>https://www.powershell.news/p/celebrating-20-years-of-powershell</link><guid isPermaLink="false">https://www.powershell.news/p/celebrating-20-years-of-powershell</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 23 Jan 2026 11:03:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/oVQTHrL3V0Q" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong><a href="https://github.com/PowerShell/PowerShell-RFC/blob/master/CommunityCall/notes/20260115_ChatTranscript.md">PowerShell Community Call - January 2026</a></strong></p><p><strong>Jason Helmick</strong> has an informative transcript and video of the latest community call, which celebrates the 20th anniversary of PowerShell and prepares for the upcoming 7.6 LTS release. The notes detail the roadmap for the Release Candidate, updates to PSResourceGet, and a demonstration of new Windows Update resources for Desired State Configuration (DSC).</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div id="youtube2-oVQTHrL3V0Q" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;oVQTHrL3V0Q&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/oVQTHrL3V0Q?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><a href="https://github.com/PowerShell/PowerShell-RFC/blob/master/CommunityCall/notes/20260115_ChatTranscript.md">https://github.com/PowerShell/PowerShell-RFC/blob/master/CommunityCall/notes/20260115_ChatTranscript.md</a></p><div><hr></div><p><strong><a href="https://github.com/microsoftgraph/entra-powershell/releases/tag/1.2.0">Announcing Microsoft Entra PowerShell v1.2.0</a></strong></p><p><strong>Givinalis Omachar</strong> has an informative new post about the v1.2.0 update, which introduces production-ready support for Agent Identity Blueprints and expanded application configuration features. This release streamlines automation by consolidating functionality into the main module and aligning invitation APIs with modern Microsoft Graph models.</p><p><a href="https://github.com/microsoftgraph/entra-powershell/releases/tag/1.2.0">https://devblogs.microsoft.com/entrapowershell/announcing-microsoft-entra-powershell-v1-2-0/</a></p><div><hr></div><p><strong><a href="https://www.youtube.com/watch?v=YdV6Qecn9v0">Turning PowerShell Snippets into Enterprise-Grade Security Tooling</a></strong></p><p><strong>Jake Hildreth</strong> joined <strong>Andrew Pla</strong> for a compelling new video on evolving ad-hoc PowerShell snippets into &#8220;Locksmith,&#8221; a comprehensive security tool for detecting misconfigurations in Active Directory Certificate Services (ADCS). He details the project&#8217;s journey from a monolithic script to a robust, community-supported module, illustrating how iterative refactoring and CI/CD integration can transform simple administrative tasks into essential enterprise-grade software.</p><div id="youtube2-YdV6Qecn9v0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;YdV6Qecn9v0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/YdV6Qecn9v0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p><strong><a href="https://blog.mindcore.dk/2026/01/entra-id-pim-for-groups-automating-pim-group-activation-in-entra-id-with-powershell/">Entra ID &#8211; PIM for Groups &#8211; Automating PIM Group Activation in Entra ID with PowerShell</a></strong></p><p><strong>Michael Morten Sonne</strong> has a comprehensive new post on leveraging PowerShell and Microsoft Graph to automate Privileged Identity Management (PIM) group activation in Entra ID. The article demonstrates how to bypass the manual portal process with a script that handles eligibility validation and justification, ensuring secure, auditable just-in-time access for administrative tasks.</p><p><a href="https://blog.mindcore.dk/2026/01/entra-id-pim-for-groups-automating-pim-group-activation-in-entra-id-with-powershell/">https://blog.mindcore.dk/2026/01/entra-id-pim-for-groups-automating-pim-group-activation-in-entra-id-with-powershell/</a></p><div><hr></div><p><strong><a href="https://www.youtube.com/watch?v=iBfdN_BY0zc">Fix WAM Sign In Error in Microsoft Graph | PowerShell &amp; Intune</a></strong></p><p><strong>Chander Mani Pandey</strong> has a helpful new video on resolving the &#8220;Sign in by Web Account Manager is enabled by default&#8221; warning when connecting to Microsoft Graph via PowerShell. He demonstrates two solutions: modifying the <code>MSAL_FORCE_WAM</code> environment variable to disable the hidden window behavior, or using the <code>-UseDeviceAuthentication</code> parameter to authenticate via a browser code.</p><div id="youtube2-iBfdN_BY0zc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;iBfdN_BY0zc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/iBfdN_BY0zc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p><strong><a href="https://powershellisfun.com/2026/01/16/test-ssl-tls-protocols-using-powershell/">Test SSL/TLS Protocols using PowerShell</a></strong></p><p><strong>Harm Veenstra</strong> has a great post on using the <code>Test-TlsProtocols</code> module to audit server security by verifying enabled SSL/TLS versions and inspecting certificates directly from the command line. The article walks through installation and key parameters for customizing output, handling specific ports, and exporting certificate data for deeper analysis.</p><p><a href="https://powershellisfun.com/2026/01/16/test-ssl-tls-protocols-using-powershell/">https://powershellisfun.com/2026/01/16/test-ssl-tls-protocols-using-powershell/</a></p><div><hr></div><p><strong><a href="https://www.youtube.com/watch?v=Y03EJYpZczo">From SharePoint to Security with David Sass The PowerShell Podcast E210</a></strong></p><p><strong>Andrew Pla</strong> sits down with Microsoft MVP <strong>David Sass</strong> to discuss his transition into security and the power of PowerShell notebooks. He details how these notebooks can serve as accessible &#8220;click-to-run&#8221; interfaces for teams, allowing them to safely execute automation without needing deep command-line knowledge.</p><div id="youtube2-Y03EJYpZczo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Y03EJYpZczo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Y03EJYpZczo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p></p><div><hr></div><p><strong><a href="https://office365itpros.com/2026/01/22/automating-microsoft-365-20/">Automating Microsoft 365 with PowerShell Update 20</a></strong></p><p><strong>Tony Redmond</strong> has a detailed new post regarding Update #20 for the &#8220;Automating Microsoft 365 with PowerShell&#8221; eBook, which prepares subscribers for the upcoming February 2026 edition of <em>Office 365 for IT Pros</em>. The update covers practical workarounds for Teams channel meetings, the limitations of the new Create Site Graph API, and important technical observations on the latest Microsoft Graph SDK V2.34 and Exchange Online module V3.9.2 releases.</p><p><a href="https://office365itpros.com/2026/01/22/automating-microsoft-365-20/">https://office365itpros.com/2026/01/22/automating-microsoft-365-20/</a></p><div><hr></div><p><strong><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/streaming-file-history/">Streaming File History</a></strong></p><p><strong>Jeff Hicks</strong> has an inventive article on using NTFS Alternate Data Streams to maintain a file&#8217;s history directly within the file itself. He demonstrates how to script a self-contained version control system by serializing the file&#8217;s content and timestamp into a hidden &#8220;history&#8221; stream every time it changes, allowing you to review and restore previous versions without needing external tools like Git.</p><p><a href="https://buttondown.com/behind-the-powershell-pipeline/archive/streaming-file-history/">https://buttondown.com/behind-the-powershell-pipeline/archive/streaming-file-history/</a></p><div><hr></div><p><strong><a href="https://www.nickydewestelinck.be/2026/01/21/windows-autopilot-device-preparation-faster-simpler-provisioning/">Windows Autopilot Device Preparation: Faster, Simpler Provisioning</a></strong></p><p>Nicky De Westelinck provides a comprehensive guide on implementing and using Windows Autopilot Device Preparation. The article covers the differences from traditional Autopilot, the PowerShell cmdlets involved in configuration, and best practices for streamlining device provisioning in enterprise environments. This newer approach promises faster device setup times and simpler administration.</p><p><a href="https://www.nickydewestelinck.be/2026/01/21/windows-autopilot-device-preparation-faster-simpler-provisioning/">https://www.nickydewestelinck.be/2026/01/21/windows-autopilot-device-preparation-faster-simpler-provisioning/</a></p><div><hr></div><h2><strong>Upcoming Events</strong></h2><p><strong>Zero Trust World 2026</strong> - March 4th-6th Rosen Shingle Creek, Orlando, Florida. Zero Trust conference by ThreatLocker. </p><p><a href="https://ztw.com/">https://ztw.com/</a></p><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany - Call for speakers is now closed.</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Restoring deleted users, hooking .NET methods, and mastering CmdletBinding]]></title><description><![CDATA[Graph SDK workarounds, WSL coding setups]]></description><link>https://www.powershell.news/p/restoring-deleted-users-hooking-net</link><guid isPermaLink="false">https://www.powershell.news/p/restoring-deleted-users-hooking-net</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 16 Jan 2026 11:03:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/ELOQJJBd5Gs" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3><strong><a href="https://office365itpros.com/2026/01/16/restore-deleted-user-account-sdk/">Restore Deleted User Accounts with Invoke-MgGraphRequest</a></strong></h3><p><strong>Tony Redmond</strong> has an insightful post regarding a recent issue in the Microsoft Graph PowerShell SDK where missing body parameters prevent restoring deleted users with new User Principal Names. He explains why the <code>Restore-MgBetaDirectoryDeletedItem</code> cmdlet fails and provides a straightforward workaround script using <code>Invoke-MgGraphRequest</code> to successfully post the request body.</p><p><a href="https://office365itpros.com/2026/01/16/restore-deleted-user-account-sdk/">https://office365itpros.com/2026/01/16/restore-deleted-user-account-sdk/</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><strong><a href="https://www.youtube.com/watch?v=ELOQJJBd5Gs">Watch Tara Learn PowerShell (From Scratch)</a></strong> </h3><p><strong>Andrew Pla</strong>, on PDQ&#8217;s PowerShell Wednesday, has a livestream recording that follows Tara on her first day of learning PowerShell, guided by Andrew Pla and the community. It documents her journey from the very beginning as she tackles her resolution to master the language with help from the chat. </p><div id="youtube2-ELOQJJBd5Gs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ELOQJJBd5Gs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ELOQJJBd5Gs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><strong><a href="https://powershellisfun.com/2026/01/09/powershell-coding-in-wsl-using-vscode/">PowerShell coding in WSL using VSCode</a></strong> </h3><p><strong>Harm Veenstra</strong> has a practical blog post on configuring a development environment for PowerShell using the Windows Subsystem for Linux (WSL) and Visual Studio Code. He walks through the installation and setup process to help developers bypass company device restrictions and enjoy a faster, smoother coding experience. </p><p><a href="https://powershellisfun.com/2026/01/09/powershell-coding-in-wsl-using-vscode/">https://powershellisfun.com/2026/01/09/powershell-coding-in-wsl-using-vscode/</a></p><div><hr></div><h3><strong><a href="https://www.youtube.com/watch?v=vkOLsjsPvYo">Reliability Through Planning with Matthew Gill. The PowerShell Podcast E209</a></strong> </h3><p><strong>Andrew Pla</strong> also has an insightful podcast episode on Site Reliability Engineering (SRE) where Matthew Gill explains how applying development principles like SLAs and SLOs to operations can improve automation and problem solving. </p><div id="youtube2-vkOLsjsPvYo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;vkOLsjsPvYo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/vkOLsjsPvYo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>PowerShell: Select-String Deep Dive with Practical Examples</h3><p>Patrick Gruenauer at SID-500.com provides a thorough exploration of the Select-String cmdlet with practical examples you can use immediately. Whether you&#8217;re searching log files, parsing configuration data, or hunting through code repositories, Select-String is one of PowerShell&#8217;s most versatile tools. Patrick&#8217;s examples cover common scenarios and advanced techniques to make your text-searching scripts more effective.</p><p><a href="https://sid-500.com/2026/01/09/powershell-select-string-examples/">https://sid-500.com/2026/01/09/powershell-select-string-examples/</a></p><div><hr></div><h3><strong><a href="https://www.youtube.com/shorts/Eyq7d6-UHac">PoshBytes: CmdletBinding The Secret Sauce for Advanced Functions</a></strong></h3><p><strong>Matthew Dowst</strong> has a great video explaining how the <code>[CmdletBinding()]</code> attribute acts as the &#8220;secret sauce&#8221; to upgrade basic PowerShell functions into advanced ones. He demonstrates how this simple addition unlocks powerful features like <code>-Verbose</code>, <code>-WhatIf</code>, and parameter sets, ensuring your scripts behave professionally and safely.</p><div id="youtube2-Eyq7d6-UHac" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Eyq7d6-UHac&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Eyq7d6-UHac?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><strong><a href="https://www.systanddeploy.com/2026/01/disk-size-usage-dashboard-understand.html">Disk size usage dashboard: understand what&#8217;s taking up space and remediate disk size issues on Intune devices</a></strong></h3><p><strong>Damien Van Robaeys</strong> has a great post on a new Log Analytics Workbook that helps IT administrators monitor disk usage on Intune devices, detailing how to identify whether system or user data is consuming space and how to deploy remediation scripts to clean it up.</p><p><a href="https://www.systanddeploy.com/2026/01/disk-size-usage-dashboard-understand.html">https://www.systanddeploy.com/2026/01/disk-size-usage-dashboard-understand.html</a></p><div><hr></div><h3><strong><a href="https://www.youtube.com/shorts/Vw7EYcQhv6E">Zero Trust Explained in 60 Seconds | SC-900 Exam Prep</a></strong></h3><p>I have a great video summarizing the three core principles of Zero Trust, Verify Explicitly, Least Privilege Access, and Assume Breach, as part of a rapid prep guide for the SC-900 exam.</p><div id="youtube2-Vw7EYcQhv6E" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Vw7EYcQhv6E&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Vw7EYcQhv6E?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>PSNetDetour &#8211; Hook Any .NET Method with PowerShell</h3><p>Jordan Borean has released PSNetDetour, a PowerShell module that allows you to hook virtually any .NET method and have it run your ScriptBlock instead. This opens up incredible possibilities for experimentation, debugging, and testing scenarios where you need to intercept and modify .NET behavior at runtime. While there are caveats, this tool is invaluable for advanced PowerShell developers working on complex automation or troubleshooting stubborn .NET integration issues.</p><p><a href="https://github.com/jborean93/PSNetDetour">https://github.com/jborean93/PSNetDetour</a></p><div><hr></div><h3><strong><a href="https://www.youtube.com/watch?v=3ny-HVWwCgQ">Custom Exchange Portal | Mailbox Creation &amp; Enable Mailbox Demo</a></strong></h3><p><strong>Techi Jack</strong> has a great video demonstrating how to use a custom Exchange web portal to simplify the process of creating new user mailboxes and enabling mailboxes for existing Active Directory users.</p><div id="youtube2-3ny-HVWwCgQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3ny-HVWwCgQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/3ny-HVWwCgQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2><strong>Upcoming Events</strong></h2><p><strong>PowerShell + DevOps Global Summit 2026</strong> April 13-17, 2026 in Bellevue, WA - The premier PowerShell community event returns this spring!</p><p>https://www.powershellsummit.org/</p><p><strong>PSConfEU 2026</strong> June 1-4, 2026 in Wiesbaden, Germany - Call for speakers is now closed.</p><p>https://psconf.eu/</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.powershell.news/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading PowerShell.News! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>