<?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, 23 Aug 2026 22:07:39 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[Inside the PoshCVE Module, Typosquatting Attempts in PSGallery]]></title><description><![CDATA[+ Introducing the Github Roundup]]></description><link>https://www.powershell.news/p/inside-the-poshcve-module-typosquatting</link><guid isPermaLink="false">https://www.powershell.news/p/inside-the-poshcve-module-typosquatting</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 21 Aug 2026 10:40:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/eu5NsVIOSoE" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>August 2026 PowerShell Community Call </h1><div id="youtube2-eu5NsVIOSoE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;eu5NsVIOSoE&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/eu5NsVIOSoE?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 discussion walks through accelerated release cadences, DSC version 3.4 planning, community stewardship initiatives for abandoned modules, and documentation updates detailing version 7 UUID support in PowerShell 7.7. Live demos showcase relocatable user scoped module paths using Get-PSContentPath, machine wide configuration fixes for MSIX installations in ProgramData, and dramatic concurrency speed improvements when resolving dependencies in PSResourceGet. The call wraps with a critical security alert regarding recent typosquatting attempts discovered across PowerShell Gallery and advice on how engineers can avoid malicious packages.</p><p>&#128073; <a href="https://github.com/PowerShell/PowerShell-RFC/blob/master/CommunityCall/notes/20260820_ChatTranscript.md">https://github.com/PowerShell/PowerShell-RFC/blob/master/CommunityCall/notes/20260820_ChatTranscript.md</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>Query CVE Information Using the PoshCVE Module</h1><p>Harm Veenstra, Microsoft MVP and author of the PowerShellisFun.com blog, walks through the PoshCVE module by Dan Hough, a tool designed to streamline searching and reporting on public security flaws directly from the console. </p><p>&#128073; <a href="https://powershellisfun.com/2026/08/20/query-cve-information-using-the-powershell-poshcve-module/">https://powershellisfun.com/2026/08/20/query-cve-information-using-the-powershell-poshcve-module/</a></p><h1>What PowerShell Taught TJ Turner About IT</h1><div id="youtube2-ce9vxdkzDbo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ce9vxdkzDbo&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/ce9vxdkzDbo?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 recently joined the PowerShell Podcast at Microsoft&#8217;s TechMentor conference in Redmond, Washington, to sit down with TJ Turner for a wide ranging discussion on career growth and systems administration. The episode traces TJ&#8217;s professional journey from early infrastructure work through the education, finance, and retail sectors to his current role as a Cloud Evangelist at TD SYNNEX. Along the way, the conversation explores the human side of technology and the critical lessons that never appear in standard product documentation.</p><h1>Building Help Documents with Microsoft.PowerShell.Platyps</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!96eZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!96eZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.png 424w, https://substackcdn.com/image/fetch/$s_!96eZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.png 848w, https://substackcdn.com/image/fetch/$s_!96eZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.png 1272w, https://substackcdn.com/image/fetch/$s_!96eZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!96eZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.png" width="1154" height="514" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:514,&quot;width&quot;:1154,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:120503,&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/211595983?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.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_!96eZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.png 424w, https://substackcdn.com/image/fetch/$s_!96eZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.png 848w, https://substackcdn.com/image/fetch/$s_!96eZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.png 1272w, https://substackcdn.com/image/fetch/$s_!96eZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7cbf743e-20c0-4e5e-9401-3ca0d7f562ee_1154x514.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 aria-hidden="true" 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><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 recently published a guide in Behind the PowerShell Pipeline exploring how to build new module documentation using the modern Microsoft.PowerShell.Platyps module. The post walks through establishing a dedicated documentation folder structure and generating initial Markdown help files with New-MarkdownCommandHelp while sharing a script to elegantly handle path resolution quirks. Jeffery details how engineers can leverage inline updating with New-CommandHelp to dynamically inject custom notes, format code examples, and append alias information before converting the updated command help objects into standard Markdown files ready for online publishing.</p><p>&#128073; <a href="https://buttondown.com/behind-the-powershell-pipeline/archive/module-documentation-with/">https://buttondown.com/behind-the-powershell-pipeline/archive/module-documentation-with/</a></p><h1><strong>Ten Years of the PowerShell Curl Alias</strong></h1><p>Daniel Stenberg, creator of curl, reflected on LinkedIn about the decade-long persistence of the PowerShell aliases mapping <code>curl</code> and <code>wget</code> to Invoke-WebRequest. He revisits his 2016 pull request to remove the shortcuts shortly after PowerShell went open source on GitHub, a PR that maintainers closed within 34 minutes, citing backward compatibility for existing scripts. The aliases were later dropped from PowerShell Core 6.0, and Windows has shipped a real curl.exe since 2018. But Windows PowerShell 5.1 remains the default <code>powershell.exe</code> on every Windows machine, so developers are still tripping over the shadowed commands ten years later. Quick fixes: call <code>curl.exe</code> explicitly, remove the alias in your profile, or switch to PowerShell 7.</p><p>&#128073; <a href="https://lnkd.in/dtEApF7r">View Daniel Stenberg&#8217;s LinkedIn Post</a></p><h1>How We Enabled PSReadLine for Screen Reader Accessibility</h1><div id="youtube2-la3BWsR7b4M" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;la3BWsR7b4M&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/la3BWsR7b4M?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>Andy Jordan presented at PowerShell Conference Europe to detail the engineering journey of fixing screen reader accessibility within the PSReadLine module. The session walks through the historical challenge where PSReadLine would invisibly rerender entire terminal buffers while typing, resulting in a broken audio loop for engineers relying on tools like NVDA or Narrator. Andy explained how a feature request from the Visual Studio Code team prompted a renewed focus on the issue, leading the group to discard a messy control character prototype in favor of a clean common prefix diff algorithm that only writes new buffer changes to the screen. The presentation wraps up by highlighting how direct requirements from partner product teams and a willingness to prototype can effectively push long standing accessibility bugs to resolution.</p><h1>What to Expect at PowerShell Summit 2027</h1><p>The Sessionize Call for Papers outlines the upcoming PowerShell Summit 2027 scheduled for April 5 to 8, 2027, at the Lake Buena Vista Sheraton Hotel in Orlando, Florida. The event brings together technologists and automators for four days of deep technical content, hands on labs, and community collaboration spanning automation, cloud computing, and security topics. The submission window runs through August 31, 2026, welcoming diverse session formats ranging from 25 minute fast focus talks to four hour interactive labs.</p><p>&#128073; <a href="https://sessionize.com/pshsummit27">https://sessionize.com/pshsummit27</a></p><h1>Hybrid Identity Protection Conference 2026</h1><p>Semperis announced the upcoming Hybrid Identity Protection Conference scheduled for September 8 to 10, 2026, at the Embassy Suites by Hilton Nashville Downtown in Nashville, Tennessee. The event brings together identity security practitioners and Active Directory experts for three days of practical insights, crisis management strategies, and real world discussions on defending hybrid infrastructure. The program features dedicated tracks covering CISO leadership, identity masterclasses, and emerging AI defense challenges to help organizations prepare for complex threat landscapes.</p><p>&#128073; <a href="https://semperis.swoogo.com/hipconf26/11386703?utm_source=linkedin&amp;utm_medium=social&amp;utm_campaign&amp;utm_content=ap_jnxrx6qemk">Hybrid Identity Protection Conference 2026</a></p><h1><strong>Github Roundup</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_!EQJT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd89c71-a1db-412c-b56f-fc3085a86bdd_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EQJT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd89c71-a1db-412c-b56f-fc3085a86bdd_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!EQJT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd89c71-a1db-412c-b56f-fc3085a86bdd_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!EQJT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd89c71-a1db-412c-b56f-fc3085a86bdd_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!EQJT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd89c71-a1db-412c-b56f-fc3085a86bdd_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EQJT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd89c71-a1db-412c-b56f-fc3085a86bdd_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0fd89c71-a1db-412c-b56f-fc3085a86bdd_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;:2466592,&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/211595983?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd89c71-a1db-412c-b56f-fc3085a86bdd_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_!EQJT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd89c71-a1db-412c-b56f-fc3085a86bdd_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!EQJT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd89c71-a1db-412c-b56f-fc3085a86bdd_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!EQJT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd89c71-a1db-412c-b56f-fc3085a86bdd_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!EQJT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0fd89c71-a1db-412c-b56f-fc3085a86bdd_1672x941.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 aria-hidden="true" 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><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>Nathan McNulty shipped azd-risk-based-ca v1.0.0</strong> this morning. He&#8217;d been building toward it all week, pushing on azd-emergency-access, azd-maester, azd-entra-health-monitoring, and research-passkeys, and the <code>azd-</code> prefix everywhere is the tell. He&#8217;s building out a family of Azure Developer CLI templates for Entra security patterns, and a v1.0.0 is a real &#8220;this is done enough to use&#8221; moment. &#128073; <a href="https://github.com/nathanmcnulty/azd-risk-based-ca/releases/tag/v1.0.0">https://github.com/nathanmcnulty/azd-risk-based-ca/releases/tag/v1.0.0</a></p><ul><li><p><strong>Fabien Tschanz cut Microsoft365DSC 1.26.819.1</strong> on Wednesday after a marathon push day. If anyone in your world does Microsoft 365 desired state work, that&#8217;s the update to grab. &#128073; <a href="https://github.com/Microsoft365DSC/Microsoft365DSC/releases/tag/1.26.819.1">https://github.com/Microsoft365DSC/Microsoft365DSC/releases/tag/1.26.819.1</a></p></li><li><p><strong>Doug Finke released psaisuite v0.8.5</strong> on Tuesday. That&#8217;s four psaisuite point releases in two weeks, and the AI provider abstraction module is clearly his current center of gravity, not PSPandas. &#128073; <a href="https://github.com/dfinke/psaisuite/releases/tag/v0.8.5">https://github.com/dfinke/psaisuite/releases/tag/v0.8.5</a></p></li><li><p><strong>Mark Orr released VM-Pilot v0.7.1</strong> Monday with a follow up push Tuesday. &#128073; <a href="https://github.com/markorr321/VM-Pilot/releases/tag/v0.7.1">https://github.com/markorr321/VM-Pilot/releases/tag/v0.7.1</a></p></li><li><p><strong>Simon W&#229;hlin released PSBicep v3.0.2.</strong> &#128073; <a href="https://github.com/PSBicep/PSBicep/releases/tag/v3.0.2">https://github.com/PSBicep/PSBicep/releases/tag/v3.0.2</a></p></li><li><p><strong>Jorge Suarez released WinGet-Manifest-Fetcher v1.6.0</strong> on Saturday. &#128073; <a href="https://github.com/jorgeasaurus/WinGet-Manifest-Fetcher/releases/tag/v1.6.0">https://github.com/jorgeasaurus/WinGet-Manifest-Fetcher/releases/tag/v1.6.0</a></p></li></ul><p>Away from the release notes:</p><ul><li><p><strong>Chrissy LeMaire had a giant dbatools Tuesday</strong> with five pushes in the span of a few hours on 8/20. Something&#8217;s brewing. &#128073; <a href="https://github.com/dataplat/dbatools">https://github.com/dataplat/dbatools</a></p></li><li><p><strong>Steve Lee, Sean Wheeler, and Emanuel Palm all had heads down Wednesday work days</strong>, Steve on PowerShell/DSC, Sean grinding PowerShell-Docs with real substantive PRs, Emanuel deep in AzBobbyTables. Three Microsoft and adjacent folks with actual engineering days on the same date is worth watching for a coordinated announcement. &#128073; <a href="https://github.com/PowerShell/DSC">https://github.com/PowerShell/DSC</a></p></li><li><p><strong>Justin Grote forked something interesting called TaskCmdlet</strong> from <code>jborean93/PwshAsync</code>. Async and Task based PowerShell cmdlets from Justin is worth a bookmark. &#128073; <a href="https://github.com/JustinGrote/TaskCmdlet">https://github.com/JustinGrote/TaskCmdlet</a></p></li><li><p><strong>Micha&#322; Machniak had another big DSC v3 weekend on ADSGroupPolicyDSCv3</strong> and then went quiet mid week, which is his consistent pattern. He sprints on weekends. &#128073; <a href="https://github.com/mimachniak/ADSGroupPolicyDSCv3">https://github.com/mimachniak/ADSGroupPolicyDSCv3</a></p></li><li><p><strong>Sam Erde</strong> was in his VS Code extension pack on 8/17. &#128073; <a href="https://github.com/SamErde/PSPreworkout-VSCode-Extension-Pack">https://github.com/SamErde/PSPreworkout-VSCode-Extension-Pack</a></p></li><li><p><strong>Tony Redmond</strong> did his usual Office365itpros push streak on 8/15 and 8/16. He commits like he blogs, constant. &#128073; <a href="https://github.com/12Knocksinna/Office365itpros">https://github.com/12Knocksinna/Office365itpros</a></p></li><li><p><strong>David Sass</strong> is still hammering the ATS scanner and started contributing to <code>killed-by-microsoft</code>, the graveyard site of deprecated Microsoft products. Delightful side quest. &#128073; <a href="https://github.com/fabianoriccardi/killed-by-microsoft">https://github.com/fabianoriccardi/killed-by-microsoft</a></p></li></ul><h1><strong>Events</strong></h1><p><strong>MMS Midway</strong><span> | October 25 to 28, 2026 | San Diego, California<br><br>The classic endpoint management and PowerShell conference moves to San Diego this fall.</span></p><p>&#128073; https://mmsmoa.com/</p><p><strong>SpiceWorld 2026</strong><span> | November 12 to 13, 2026 | Austin, Texas<br><br>Jeff Hicks is returning to Austin this fall to talk PowerShell at the annual Spiceworks community event.</span></p><p><span>&#128073; </span><a href="https://www.spiceworks.com/spiceworld/">https://www.spiceworks.com/spiceworld/</a></p><p><strong>Zero Trust World 2027</strong><span> | February 17 to 19, 2027 | Orlando, Florida</span></p><p>&#128073; https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2027</strong><span> | April 5 to 8, 2027 | Orlando, Florida<br><br>The flagship US PowerShell event moves to the Sheraton Lake Buena Vista in Orlando.</span></p><p>&#128073; https://powershellsummit.org/</p><p><strong>PSConfEU 2027</strong><span> | Dates and location to be announced SynEdgy is organizing the eleventh edition of PowerShell Conference<br><br>&#128073; https://psconf.eu/</span></p><p><strong>Live dbatools AMA Webinar with the Core Team</strong><span> |</span><strong> </strong><span>Wednesday, October 7 at 12:00 pm GMT</span></p><p><span>An open Ask Me Anything with the people behind dbatools, the open source PowerShell toolkit for SQL Server administration, migration, and automation. Whether you already lean on dbatools every day or are still on the fence about getting started, this is the format where you get to put your specific questions in front of the people who wrote the answers. Speakers include Rob Sewell, Jess Pomfret, Chrissy LeMaire, Andreas Jordan, and Cl&#225;udio Silva.</span><br><span>When: Wednesday, October 7 at 12:00 pm GMT</span><br><span>Where: Online, see the link for details</span><br><br><span>&#128073; </span><a href="https://shorturl.at/N53tz">https://shorturl.at/N53tz</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>]]></content:encoded></item><item><title><![CDATA[PowerShell 7.6.5 Servicing Release Drops, Microsoft AI Unveils MAI Thinking 1]]></title><description><![CDATA[+Microsoft.PowerShell.Archive Version 1.2.6 Rolls Out]]></description><link>https://www.powershell.news/p/powershell-765-servicing-release</link><guid isPermaLink="false">https://www.powershell.news/p/powershell-765-servicing-release</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 14 Aug 2026 17:43:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Wxrz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>PowerShell 7.6.5 Servicing Release</h1><p>J. Shigetomi published the version 7.6.5 release of PowerShell on the official GitHub repository to deliver a targeted servicing update for the engine. The patch resolves a specific dot sourcing behavior issue encountered when executing advanced function scripts using the <code>pwsh -file</code> command. The release also ships with several build and packaging improvements including an update to the .NET SDK 10.0.302 along with targeted fixes for deployment pipelines and minimum package sizes for arm64 architectures.</p><p>&#128073; <a href="https://github.com/PowerShell/PowerShell/releases/tag/v7.6.5">v7.6.5 Release of PowerShell</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>Microsoft AI Unveils MAI Thinking 1</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wxrz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wxrz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp 424w, https://substackcdn.com/image/fetch/$s_!Wxrz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp 848w, https://substackcdn.com/image/fetch/$s_!Wxrz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp 1272w, https://substackcdn.com/image/fetch/$s_!Wxrz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wxrz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp" width="1440" height="787" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:787,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:93660,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/210464805?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.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_!Wxrz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp 424w, https://substackcdn.com/image/fetch/$s_!Wxrz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp 848w, https://substackcdn.com/image/fetch/$s_!Wxrz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp 1272w, https://substackcdn.com/image/fetch/$s_!Wxrz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd04aa203-8322-4e4a-9e9b-7b438f75fdd1_1440x787.webp 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 aria-hidden="true" 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><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>Microsoft AI introduced MAI Thinking 1 as a new medium sized reasoning model designed to handle intensive enterprise workflows and complex problem solving. The sparse mixture of experts model features 35 billion active parameters within a one trillion total parameter architecture and includes a 256k token context window. Microsoft highlights that the model achieves competitive scores on software engineering benchmarks and advanced mathematical evaluations while utilizing clean and traceable training data.</p><p>&#128073;<a href="https://microsoft.ai/news/introducing-mai-thinking-1/">https://microsoft.ai/news/introducing-mai-thinking-1/</a></p><h1>I Finally Built the Impossible Windows App</h1><div id="youtube2-a3rXKlgKHGU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;a3rXKlgKHGU&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/a3rXKlgKHGU?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>Chris Titus in his latest YouTube video shared the release of a completely rewritten, native .NET version of his popular Windows Utility while maintaining full compatibility with open source WinUtil configurations. Instead of executing PowerShell behind the scenes to apply tweaks, the new application translates those configurations directly into native .NET implementations to deliver faster execution, automated updates, system detection, and an integrated Windows 11 ISO creator.</p><h1>Why Active Directory Alone Is No Longer Enough</h1><p>Jorge Lopez on the Microsoft Entra Blog outlined five core signs that organizations have outgrown legacy on premises Active Directory in favor of modern cloud identity platforms. The discussion highlights the shifting realities of modern business infrastructure where cloud applications, diverse workforces, and AI agents demand flexible security models that extend beyond traditional network perimeters. </p><p>&#128073; <a href="https://techcommunity.microsoft.com/blog/microsoft-entra-blog/why-active-directory-alone-is-no-longer-enough/4546402">Why Active Directory alone is no longer enough</a></p><h1>PowerShell Scripting Hidden Secrets at PSConf EU</h1><div id="youtube2-tA3Xw4as3LE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;tA3Xw4as3LE&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/tA3Xw4as3LE?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 recently presented at the PowerShell Conference Europe to share a collection of less commonly used scripting techniques and console shortcuts designed to improve administrative efficiency. The session walks through practical command line workflows and advanced features that many engineers overlook during daily automation tasks. Jeffery balanced the presentation by covering both interactive console tips and deeper scripting capabilities to help practitioners get more out of their tooling.</p><h1>Updating Help with the Modern Platyps Module</h1><p>Jeff Hicks in Behind the PowerShell Pipeline continues his deep dive into the rewritten Microsoft.PowerShell.Platyps module designed for modern help documentation. The guide focuses on maintaining documentation for an updated stand alone function, demonstrating how the Update-MarkdownCommandHelp cmdlet syncs parameter and output changes directly into markdown. Jeff walks through automatic backup file creation, previewing help, exporting to MAML format, and highlights where the new tooling still struggles to detect defined command aliases.</p><p>&#128073; <a href="https://buttondown.com/behind-the-powershell-pipeline/archive/more-platyps-production/">More Platyps Production</a></p><h1>RBAC for PowerShell and IT Operations</h1><div id="youtube2-q3hd4VRorK0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;q3hd4VRorK0&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/q3hd4VRorK0?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>ScriptRunner recently shared a video focused on role based access control for PowerShell and IT operations to help organizations manage permissions and secure automation workflows. This is more of a product promo-ish short one, but I thought it would be worth sharing :) </p><h1>Microsoft.PowerShell.Archive Version 1.2.6 Rolls Out</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2eU6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2eU6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.webp 424w, https://substackcdn.com/image/fetch/$s_!2eU6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.webp 848w, https://substackcdn.com/image/fetch/$s_!2eU6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.webp 1272w, https://substackcdn.com/image/fetch/$s_!2eU6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2eU6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.webp" width="1000" height="989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:989,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:121994,&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/210464805?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.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_!2eU6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.webp 424w, https://substackcdn.com/image/fetch/$s_!2eU6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.webp 848w, https://substackcdn.com/image/fetch/$s_!2eU6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.webp 1272w, https://substackcdn.com/image/fetch/$s_!2eU6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f43de5a-2fb1-4e88-adb4-614ca4a09944_1000x989.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 aria-hidden="true" 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><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>MVP Andres Bohren at the Icewolf blog highlights the recent release of the Microsoft.PowerShell.Archive module version 1.2.6 from the PowerShell Team. </p><p>&#128073; <a href="https://blog.icewolf.ch/archive/2026/08/08/Microsoft-PowerShell-Archive-1-2-6-released/">https://blog.icewolf.ch/archive/2026/08/08/Microsoft-PowerShell-Archive-1-2-6-released/</a></p><h1>PowerShell Framework Collective with Fred Weinmann</h1><div id="youtube2-sZQdgBZM75Y" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;sZQdgBZM75Y&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/sZQdgBZM75Y?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>Fred Weinmann recently joined the PowerShell Podcast to walk through the PowerShell Framework Collective and share his personal approach to building the tools that build automation scripts. The discussion centers on investing in robust scaffolding around code to make automation faster, cleaner, and more consistent across enterprise environments. Fred breaks down four core architectural wins from his framework stack, highlighting friendly error handling and structured development practices.</p><h1>Expanding Purview DLP and Information Protection to Foreign Platforms</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!07r_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!07r_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.webp 424w, https://substackcdn.com/image/fetch/$s_!07r_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.webp 848w, https://substackcdn.com/image/fetch/$s_!07r_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.webp 1272w, https://substackcdn.com/image/fetch/$s_!07r_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!07r_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.webp" width="1024" height="606" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:606,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:24736,&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/210464805?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.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_!07r_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.webp 424w, https://substackcdn.com/image/fetch/$s_!07r_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.webp 848w, https://substackcdn.com/image/fetch/$s_!07r_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.webp 1272w, https://substackcdn.com/image/fetch/$s_!07r_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F298d9f07-8256-4df1-bb6a-6895f2bd20e7_1024x606.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 aria-hidden="true" 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><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 on Office 365 for IT Pros examined the recent Microsoft Purview update expanding data loss prevention and information protection auto labeling to external platforms like Google Workspace and Box. The rollout relies on Microsoft Defender for Cloud Apps connectors to process external files, requiring careful coordination with tenant administrators and security teams. </p><p>&#128073; <a href="https://office365itpros.com/2026/08/14/external-services-dlp/">Control External Services Data with Purview</a></p><h1><strong>Events</strong></h1><p><strong>MMS Midway</strong><span> | October 25 to 28, 2026 | San Diego, California<br><br>The classic endpoint management and PowerShell conference moves to San Diego this fall.</span></p><p>&#128073; https://mmsmoa.com/</p><p><strong>SpiceWorld 2026</strong><span> | November 12 to 13, 2026 | Austin, Texas<br><br>Jeff Hicks is returning to Austin this fall to talk PowerShell at the annual Spiceworks community event.</span></p><p><span>&#128073; </span><a href="https://www.spiceworks.com/spiceworld/">https://www.spiceworks.com/spiceworld/</a></p><p><strong>Zero Trust World 2027</strong><span> | February 17 to 19, 2027 | Orlando, Florida</span></p><p>&#128073; https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2027</strong><span> | April 5 to 8, 2027 | Orlando, Florida<br><br>The flagship US PowerShell event moves to the Sheraton Lake Buena Vista in Orlando.</span></p><p>&#128073; https://powershellsummit.org/</p><p><strong>PSConfEU 2027</strong><span> | Dates and location to be announced SynEdgy is organizing the eleventh edition of PowerShell Conference<br><br>&#128073; https://psconf.eu/</span></p><p><strong>Live dbatools AMA Webinar with the Core Team</strong><span> |</span><strong> </strong><span>Wednesday, October 7 at 12:00 pm GMT</span></p><p><span>An open Ask Me Anything with the people behind dbatools, the open source PowerShell toolkit for SQL Server administration, migration, and automation. Whether you already lean on dbatools every day or are still on the fence about getting started, this is the format where you get to put your specific questions in front of the people who wrote the answers. Speakers include Rob Sewell, Jess Pomfret, Chrissy LeMaire, Andreas Jordan, and Cl&#225;udio Silva.</span><br><span>When: </span>Wednesday, October 7 at 12:00 pm GMT<br><span>Where: Online, see the link for details</span><br><br><span>&#128073; </span><a href="https://shorturl.at/N53tz">https://shorturl.at/N53tz</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>]]></content:encoded></item><item><title><![CDATA[Introducing PSEng a PowerShell AI Model, Microsoft.Graph PowerShell Modules 2.39.0 Released]]></title><description><![CDATA[+Locksmith 2 Gains Richer Formatting and Triage Options]]></description><link>https://www.powershell.news/p/introducing-pseng-a-powershell-ai</link><guid isPermaLink="false">https://www.powershell.news/p/introducing-pseng-a-powershell-ai</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 07 Aug 2026 10:42:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/JconZN-Jfmw" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div id="youtube2-JconZN-Jfmw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;JconZN-Jfmw&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/JconZN-Jfmw?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>Yesterday, I released a new video on my PowerShell Engineer channel introducing the PowerShell Engineer Standard and a specialized small language model named PSEng that makes amazing PowerShell directly on your computer for just the cost of your own electricity. <br><br>Watch the video, and check out my post: </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 class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;1fd3e416-0394-4123-a4f3-fa1446257e33&quot;,&quot;caption&quot;:&quot;Ask any AI assistant for a script that disables stale Active Directory accounts. You&#8217;ll get something that looks right. Comment-based help, a param() block, maybe even a -WhatIf. It reads like code a competent engineer wrote.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Introducing the PowerShell Engineer Standard and PSEng, a Phi-4 14B Small Model Trained On It&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-08-06T23:13:33.241Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!LNL3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.powershell.news/p/introducing-the-powershell-engineer&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:210081173,&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><p>.</p><h1>Transfer Meeting Ownership with Invoke-ChangeMeetingOrganizer</h1><p>Tony Redmond over at Office 365 for IT Pros breaks down the new Invoke-ChangeMeetingOrganizer Exchange Online PowerShell cmdlet designed to solve the headache of transferring meetings when employees leave a company. The guide explains how administrators can use the tool to switch organizers and push calendar updates to attendees automatically while stressing that reliable transfers require using Microsoft Graph to retrieve specific event identifiers. Tony ultimately highlights a major oversight with the current release by warning that the cmdlet fails to update the underlying Teams join data and forces new organizers to manually generate a replacement online meeting space.</p><p>&#128073; <a href="https://office365itpros.com/2026/08/06/invoke-changemeetingorganizer/">https://office365itpros.com/2026/08/06/invoke-changemeetingorganizer/</a></p><h1>Securing Active Directory from the Ground Up</h1><div id="youtube2-EQb7H6vBOtg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;EQb7H6vBOtg&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/EQb7H6vBOtg?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> Evgenij Smirnov recently joined Andrew Pla on the PowerShell Podcast to discuss his thirty years of experience in Active Directory and security consulting. The conversation explores common escalation paths attackers use to compromise organizations and digs into what actually gets real world AD environments popped. Evgenij highlights critical vulnerabilities like over permissioned accounts and exposed certificate authorities while explaining how to engineer systems so security is never an afterthought. He also warns listeners about the severe risks of keeping unencrypted domain controller backups and shares practical advice for locking down infrastructure before an incident occurs.</p><h2>Microsoft.Graph PowerShell Modules 2.39.0 Released</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ptY8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6dc806-4a57-4254-8d9f-505aff509968_600x400.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ptY8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6dc806-4a57-4254-8d9f-505aff509968_600x400.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ptY8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6dc806-4a57-4254-8d9f-505aff509968_600x400.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ptY8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6dc806-4a57-4254-8d9f-505aff509968_600x400.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ptY8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6dc806-4a57-4254-8d9f-505aff509968_600x400.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ptY8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6dc806-4a57-4254-8d9f-505aff509968_600x400.jpeg" width="600" height="400" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b6dc806-4a57-4254-8d9f-505aff509968_600x400.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:24718,&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/210159758?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6dc806-4a57-4254-8d9f-505aff509968_600x400.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_!ptY8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6dc806-4a57-4254-8d9f-505aff509968_600x400.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ptY8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6dc806-4a57-4254-8d9f-505aff509968_600x400.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ptY8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6dc806-4a57-4254-8d9f-505aff509968_600x400.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ptY8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b6dc806-4a57-4254-8d9f-505aff509968_600x400.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 aria-hidden="true" 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><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>Andres Bohren has the practical rundown on the Microsoft.Graph and Microsoft.Graph.Beta 2.39.0 modules that Microsoft dropped in the PowerShell Gallery. Release notes were not published at the time of writing, which is annoying but not unusual, so Andres does what Andres does and gives you the exact PSResourceGet commands to check installed versions, uninstall the old set cleanly, and pull the new modules from the gallery. He also includes the reminder most people forget until Azure Automation starts complaining, which is that you also need to push the update to your Azure Automation runtime environments if you are running scripts that authenticate against Graph on a schedule. Short, direct, and ready to paste into your terminal.<br><br>&#128073; <a href="https://blog.icewolf.ch/archive/2026/08/04/microsoft-graph-powershell-modules-2-39-0-released/">https://blog.icewolf.ch/archive/2026/08/04/microsoft-graph-powershell-modules-2-39-0-released/</a></p><h1>Test Your Console Muscle Memory with PwshTyper</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZD0o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZD0o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.webp 424w, https://substackcdn.com/image/fetch/$s_!ZD0o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.webp 848w, https://substackcdn.com/image/fetch/$s_!ZD0o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.webp 1272w, https://substackcdn.com/image/fetch/$s_!ZD0o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZD0o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.webp" width="1456" height="1253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1253,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50148,&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/210159758?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.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_!ZD0o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.webp 424w, https://substackcdn.com/image/fetch/$s_!ZD0o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.webp 848w, https://substackcdn.com/image/fetch/$s_!ZD0o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.webp 1272w, https://substackcdn.com/image/fetch/$s_!ZD0o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97fd3250-c665-4963-96f3-85846b7c636c_1977x1701.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 aria-hidden="true" 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><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 over at the PowerShell is fun blog showcases a unique way to test your console muscle memory using Shaun Lawrie&#8217;s PwshTyper module. The tool requires PowerShell 7.4 or higher and leverages PwshSpectreConsole to bring a fully featured typing speed tester directly into the terminal window. Users can launch the test using the Invoke-PwshTyper cmdlet and choose between standard word categories like commandlets or jump into specialized finger isolation modes to really challenge their daily typing habits.</p><p>&#128073; <a href="https://powershellisfun.com/2026/08/05/powershell-typing-speed-tester/">https://powershellisfun.com/2026/08/05/powershell-typing-speed-tester/</a></p><p></p><h1>Locksmith 2 Gains Richer Formatting and Triage Options</h1><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!764Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!764Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.png 424w, https://substackcdn.com/image/fetch/$s_!764Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.png 848w, https://substackcdn.com/image/fetch/$s_!764Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.png 1272w, https://substackcdn.com/image/fetch/$s_!764Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!764Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.png" width="1456" height="214" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:214,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:33082,&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/210159758?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.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_!764Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.png 424w, https://substackcdn.com/image/fetch/$s_!764Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.png 848w, https://substackcdn.com/image/fetch/$s_!764Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.png 1272w, https://substackcdn.com/image/fetch/$s_!764Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d53cb59-07ac-4f40-85f3-4fc79e0d43ad_3400x500.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Jake Hildreth recently updated the open source Locksmith 2 Active Directory Certificate Services toolkit with a suite of presentation enhancements across multiple pull requests, alongside a community contribution from Mason Moser. The changes focus heavily on output structure rather than new detections, introducing default formatting views for findings and a detailed per technique system like ESC8Detailed. Additionally, results are now severity sorted with custom banners and risk metrics to transform raw terminal dumps into prioritized security reports.</p><p>&#128073; <a href="https://github.com/jakehildreth/Locksmith2">https://github.com/jakehildreth/Locksmith2</a></p><p></p><h1>Tagging PowerShell Functions with the AST</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sneD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sneD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.png 424w, https://substackcdn.com/image/fetch/$s_!sneD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.png 848w, https://substackcdn.com/image/fetch/$s_!sneD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.png 1272w, https://substackcdn.com/image/fetch/$s_!sneD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sneD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.png" width="1180" height="596" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:596,&quot;width&quot;:1180,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:69473,&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/210159758?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.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_!sneD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.png 424w, https://substackcdn.com/image/fetch/$s_!sneD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.png 848w, https://substackcdn.com/image/fetch/$s_!sneD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.png 1272w, https://substackcdn.com/image/fetch/$s_!sneD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F777f526d-ddaf-4fdf-a202-171c6eb5f542_1180x596.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 aria-hidden="true" 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><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 at Behind the PowerShell Pipeline shares a new approach to tagging PowerShell functions using the Abstract Syntax Tree. Moving away from alternate data streams that risk data loss across storage drives, this method parses code tokens directly from a loaded script block to extract custom metadata. The walkthrough demonstrates how to initialize token variables and run the ParseInput method to target specific comment labels like #cmdTags inside a function definition. It concludes by showing how these extracted tags were integrated into the PSScriptTools module to create custom views and filter commands by category.</p><p>&#128073; <a href="https://buttondown.com/behind-the-powershell-pipeline/archive/another-script-tagging-technique/">https://buttondown.com/behind-the-powershell-pipeline/archive/another-script-tagging-technique/</a></p><h2>Entra News #160 with Merill and Joshua Fernando</h2><p>Merill and Joshua&#8217;s August 2 edition is dense with SMS and voice retirement news and a lot of quieter architectural work worth catching. Highlights include the new device sync capability for Entra Cloud Sync in public preview, the beta Graph procedure for opting out of the SMS to passkey automatic migration where you set optOutSettings.passkeyDynamicMigration to true for a September through February exclusion, guidance on hardening GitHub and GitLab federated credentials by moving off mutable subject identifiers, and a fresh tenant estate architecture series with seven new articles covering primary tenants, isolated critical system tenants, business partner isolation, and hybrid identity. The Maester 2.2 release is also flagged, along with a batch of PoShaKucha talks from PSConf EU 2026 that are worth your time.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:209230109,&quot;url&quot;:&quot;https://entra.news/p/entra-news-160-this-week-in-microsoft&quot;,&quot;publication_id&quot;:1804560,&quot;embedding_publication_id&quot;:338382,&quot;publication_name&quot;:&quot;Entra.News - Your weekly dose of Microsoft Entra&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!4mCy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b3b3378-703b-4f6a-ab4d-10470336b06f_1280x1280.png&quot;,&quot;title&quot;:&quot;Entra &#127380; News #160 &#8594; This week in Microsoft Entra&quot;,&quot;truncated_body_text&quot;:&quot;&#128075; Hi, Merill and Joshua here with this week&#8217;s roundup of the latest news on Microsoft Entra from around the globe &#127757;.&quot;,&quot;date&quot;:&quot;2026-08-02T12:27:46.421Z&quot;,&quot;like_count&quot;:62,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:251224736,&quot;name&quot;:&quot;Joshua Fernando&quot;,&quot;handle&quot;:&quot;joshuafdo&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8663d14-90a9-4821-a237-2ed9fbeb289b_800x800.png&quot;,&quot;bio&quot;:&quot; Co-Founder, Jozra | Cybersecurity &amp; Tech Enthusiast | IT Student @ RMIT&quot;,&quot;profile_set_up_at&quot;:&quot;2024-07-07T06:59:34.138Z&quot;,&quot;reader_installed_at&quot;:null,&quot;publicationUsers&quot;:[{&quot;id&quot;:2810305,&quot;user_id&quot;:251224736,&quot;publication_id&quot;:1804560,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:1804560,&quot;name&quot;:&quot;Entra.News - Your weekly dose of Microsoft Entra&quot;,&quot;subdomain&quot;:&quot;entranews&quot;,&quot;custom_domain&quot;:&quot;entra.news&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Entra.News is the go-to newsletter for the latest updates &amp; expert insights on Microsoft Entra. Curated from top sources like Microsoft &amp; MVPs, it's trusted by IT Pros &amp; enterprise security teams worldwide to stay ahead in identity &amp; access management.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b3b3378-703b-4f6a-ab4d-10470336b06f_1280x1280.png&quot;,&quot;author_id&quot;:13653245,&quot;primary_user_id&quot;:13653245,&quot;theme_var_background_pop&quot;:&quot;#BAA049&quot;,&quot;created_at&quot;:&quot;2023-07-15T12:29:13.450Z&quot;,&quot;email_from_name&quot;:&quot;Merill &amp; Joshua Fernando&quot;,&quot;copyright&quot;:&quot;Merill &amp; Joshua Fernando&quot;,&quot;founding_plan_name&quot;:&quot;Founding Member&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:null}},{&quot;id&quot;:9042044,&quot;user_id&quot;:251224736,&quot;publication_id&quot;:8812981,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:8812981,&quot;name&quot;:&quot;Merill's weekly Microsoft AI roundup&quot;,&quot;subdomain&quot;:&quot;msainews&quot;,&quot;custom_domain&quot;:&quot;msai.ms&quot;,&quot;custom_domain_optional&quot;:false,&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;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08de2b8c-c37a-4f51-9139-cefe183b0016_1254x1254.png&quot;,&quot;author_id&quot;:13653245,&quot;primary_user_id&quot;:null,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2026-04-26T10:55:58.129Z&quot;,&quot;email_from_name&quot;:&quot;Merill &amp; Joshua Fernando&quot;,&quot;copyright&quot;:&quot;Merill Fernando&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ccc4c3e8-46b1-47be-9e0c-e1274725b78f_1344x256.png&quot;}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100,&quot;status&quot;:{&quot;bestsellerTier&quot;:100,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:100},&quot;subscriber&quot;:null}},{&quot;id&quot;:13653245,&quot;name&quot;:&quot;Merill Fernando&quot;,&quot;handle&quot;:&quot;merill&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67a42318-1b15-490d-a0bf-a68f9ea04f79_400x400.jpeg&quot;,&quot;bio&quot;:&quot;Product Manager &#8226; Microsoft Entra | Creator of cmd.ms &#8226; idPowerToys.merill.net &#8226; Graph X-Ray &#8226; &#127462;&#127482; &#8226; &#127473;&#127472; &#8226; Posts are my own&quot;,&quot;profile_set_up_at&quot;:&quot;2023-04-14T21:18:57.935Z&quot;,&quot;reader_installed_at&quot;:&quot;2023-04-14T21:19:48.373Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:1788747,&quot;user_id&quot;:13653245,&quot;publication_id&quot;:1804560,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:1804560,&quot;name&quot;:&quot;Entra.News - Your weekly dose of Microsoft Entra&quot;,&quot;subdomain&quot;:&quot;entranews&quot;,&quot;custom_domain&quot;:&quot;entra.news&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Entra.News is the go-to newsletter for the latest updates &amp; expert insights on Microsoft Entra. Curated from top sources like Microsoft &amp; MVPs, it's trusted by IT Pros &amp; enterprise security teams worldwide to stay ahead in identity &amp; access management.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b3b3378-703b-4f6a-ab4d-10470336b06f_1280x1280.png&quot;,&quot;author_id&quot;:13653245,&quot;primary_user_id&quot;:13653245,&quot;theme_var_background_pop&quot;:&quot;#BAA049&quot;,&quot;created_at&quot;:&quot;2023-07-15T12:29:13.450Z&quot;,&quot;email_from_name&quot;:&quot;Merill &amp; Joshua Fernando&quot;,&quot;copyright&quot;:&quot;Merill &amp; Joshua Fernando&quot;,&quot;founding_plan_name&quot;:&quot;Founding Member&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:null}},{&quot;id&quot;:9031661,&quot;user_id&quot;:13653245,&quot;publication_id&quot;:8812981,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:8812981,&quot;name&quot;:&quot;Merill's weekly Microsoft AI roundup&quot;,&quot;subdomain&quot;:&quot;msainews&quot;,&quot;custom_domain&quot;:&quot;msai.ms&quot;,&quot;custom_domain_optional&quot;:false,&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;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08de2b8c-c37a-4f51-9139-cefe183b0016_1254x1254.png&quot;,&quot;author_id&quot;:13653245,&quot;primary_user_id&quot;:null,&quot;theme_var_background_pop&quot;:&quot;#FF6719&quot;,&quot;created_at&quot;:&quot;2026-04-26T10:55:58.129Z&quot;,&quot;email_from_name&quot;:&quot;Merill &amp; Joshua Fernando&quot;,&quot;copyright&quot;:&quot;Merill Fernando&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ccc4c3e8-46b1-47be-9e0c-e1274725b78f_1344x256.png&quot;}}],&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100,&quot;status&quot;:{&quot;bestsellerTier&quot;:100,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:100},&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://entra.news/p/entra-news-160-this-week-in-microsoft?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web&amp;embedding_publication_id=338382"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!4mCy!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b3b3378-703b-4f6a-ab4d-10470336b06f_1280x1280.png" loading="lazy"><span class="embedded-post-publication-name">Entra.News - Your weekly dose of Microsoft Entra</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Entra &#127380; News #160 &#8594; This week in Microsoft Entra</div></div><div class="embedded-post-body">&#128075; Hi, Merill and Joshua here with this week&#8217;s roundup of the latest news on Microsoft Entra from around the globe &#127757;&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">21 days ago &#183; 62 likes &#183; Joshua Fernando and Merill Fernando</div></a></div><h1><strong>Events</strong></h1><p><strong>MMS Midway</strong><span> | October 25 to 28, 2026 | San Diego, California<br><br>The classic endpoint management and PowerShell conference moves to San Diego this fall.</span></p><p>&#128073; https://mmsmoa.com/</p><p><strong>SpiceWorld 2026</strong><span> | November 12 to 13, 2026 | Austin, Texas<br><br>Jeff Hicks is returning to Austin this fall to talk PowerShell at the annual Spiceworks community event.</span></p><p><span>&#128073; </span><a href="https://www.spiceworks.com/spiceworld/">https://www.spiceworks.com/spiceworld/</a></p><p><strong>Zero Trust World 2027</strong><span> | February 17 to 19, 2027 | Orlando, Florida</span></p><p>&#128073; https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2027</strong><span> | April 5 to 8, 2027 | Orlando, Florida<br><br>The flagship US PowerShell event moves to the Sheraton Lake Buena Vista in Orlando.</span></p><p>&#128073; https://powershellsummit.org/</p><p><strong>PSConfEU 2027</strong><span> | Dates and location to be announced SynEdgy is organizing the eleventh edition of PowerShell Conference<br><br>&#128073; https://psconf.eu/</span></p><p><strong>Live dbatools AMA Webinar with the Core Team</strong> |<strong> </strong>Wednesday, October 7 at 12:00 pm GMT</p><p>An open Ask Me Anything with the people behind dbatools, the open source PowerShell toolkit for SQL Server administration, migration, and automation. Whether you already lean on dbatools every day or are still on the fence about getting started, this is the format where you get to put your specific questions in front of the people who wrote the answers. Speakers include Rob Sewell, Jess Pomfret, Chrissy LeMaire, Andreas Jordan, and Cl&#225;udio Silva.<br>When: <br>Where: Online, see the link for details<br><br>&#128073; <a href="https://shorturl.at/N53tz">https://shorturl.at/N53tz</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>]]></content:encoded></item><item><title><![CDATA[Introducing the PowerShell Engineer Standard and PSEng, a Phi-4 14B Small Model Trained On It]]></title><description><![CDATA[Why I wrote a PowerShell standard for machines, built many ways to deliver it, and then trained a model to memorize it.]]></description><link>https://www.powershell.news/p/introducing-the-powershell-engineer</link><guid isPermaLink="false">https://www.powershell.news/p/introducing-the-powershell-engineer</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Thu, 06 Aug 2026 23:13:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!LNL3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif" 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_!LNL3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LNL3!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif 424w, https://substackcdn.com/image/fetch/$s_!LNL3!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif 848w, https://substackcdn.com/image/fetch/$s_!LNL3!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!LNL3!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LNL3!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif" width="578" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:578,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8753419,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/210081173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LNL3!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif 424w, https://substackcdn.com/image/fetch/$s_!LNL3!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif 848w, https://substackcdn.com/image/fetch/$s_!LNL3!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!LNL3!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7d30915-c37f-4c23-9678-f7e3ee32c788_578x480.gif 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 aria-hidden="true" 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><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>Ask any AI assistant for a script that disables stale Active Directory accounts. You&#8217;ll get something that looks right. Comment-based help, a <code>param()</code> block, maybe even a <code>-WhatIf</code>. It reads like code a competent engineer wrote.</p><p>Then you run it, and it dies on <code>Get-ADUser -IncludeDisabled</code>, because there is no such parameter and there never was.</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>That&#8217;s the defect that matters, and it isn&#8217;t a style problem. Ugly code announces itself. An invented parameter reads perfectly, survives review, and fails at 2am in front of the person who inherited your script. It&#8217;s worse than bad code because nothing about it looks wrong.</p><p>I&#8217;ve been collecting these for a while. <code>New-ScheduledTaskTrigger -StartBoundary</code>, <code>-StartDate</code>, <code>-Monthly</code>: an entire coherent family of parameters that do not exist, invented by a model that had clearly absorbed the <em>shape</em> of what scheduled-task parameters look like. <code>Add-DnsServerRecursionScope -Forwarders</code>, where the real parameter is <code>-Forwarder</code>, singular. <code>Get-GPO -Identity</code>, twelve times, where the real ones are <code>-Name</code>, <code>-Guid</code>, and <code>-All</code>.</p><h4 style="text-align: center;">Check out the video demo of some of these tools here: </h4><div id="youtube2-JconZN-Jfmw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;JconZN-Jfmw&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/JconZN-Jfmw?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><h2>The drive back from the Ozarks</h2><p>The idea showed up on a highway last month.</p><p>We were driving back from the Ozarks, my wife and daughter and son in the car, crossing rural Missouri and then rural Illinois on the way to Springfield. There&#8217;s a long stretch of that drive where there&#8217;s nothing to do but think, and what I kept turning over was the list. Not a list of things AI gets wrong, exactly. A list of things I&#8217;d want in writing before I let any assistant, or any junior engineer, hand me a script I was going to run against production. Like, a PowerShell list that&#8217;s similar to what I do with my <strong><a href="https://teachermagic.com">TeacherMagic</a></strong> tool. </p><p>Not style preferences. The non-negotiables. The things that, if they&#8217;re missing, I don&#8217;t care how clean the formatting is.</p><p>By the time we hit the hotel I had most of it in my head. My wife and daughter went down to the pool. I sat in the room with my son while he played Fortnite, opened the laptop, and wrote the first version of what became <code>AGENTS.md</code>. Then, because a standard nobody applies is just a blog post, I built the first working demo of the Chrome extension in the same sitting.</p><p>That was the whole origin. A drive, a hotel room, and a kid with a headset on.</p><h2>The research says it&#8217;s not just me</h2><p>A study by Zhang et al. (<a href="https://arxiv.org/abs/2601.06419">arXiv:2601.06419</a>) found that more than 60% of PowerShell generated by GPT-4o and o3-mini is insecure without structured guidance, and that two thirds of GPT-4o&#8217;s PowerShell violates a PSScriptAnalyzer rule.</p><p>The number I keep coming back to is this one: GPT-4o scores <strong>3%</strong> at noticing when a function that changes system state is missing <code>ShouldProcess</code>.</p><p>Models are reasonable judges of what&#8217;s present. They&#8217;re close to blind about what&#8217;s absent. A linter can only find what&#8217;s there. Something else has to say what should have been.</p><h2>The non-negotiables</h2><p>The PowerShell Engineer Standard is a single markdown file. Twenty-one sections, about 1,100 lines: naming, parameters and validation, splatting, pipeline output, error handling, <code>ShouldProcess</code>, help quality, Pester v5, module structure, performance, security, cross-platform, classes, accessibility, localization, style, GUIs, prose voice, and file formats.</p><p>Section 0 is the part I wrote first, on the drive. Thirteen items. Every function has to satisfy all of them, and if it can&#8217;t, the model is supposed to stop and say so rather than ship something that looks finished.</p><p>Here they are, one at a time. Each of these gets its own deep dive later, as will every other section of the Standard. This is the tour, not the manual.</p><p>Advanced function: <code>[CmdletBinding()]</code> plus a <code>param()</code> block. Without it you don&#8217;t get <code>-Verbose</code>, <code>-ErrorAction</code>, or any of the other common parameters &#8212; and without <code>SupportsShouldProcess</code> on top of it, no <code>-WhatIf</code>. A script that skips this isn&#8217;t a command, it&#8217;s a text file that runs.</p><p>Approved verb, singular noun, prefix applied in module context. <code>Get-Verb</code> is the whole list. Singular nouns because <code>Get-PSEUsers</code> implies it can&#8217;t return one. The prefix is what keeps your <code>Get-Config</code> from colliding with everyone else&#8217;s.</p><p><code>[OutputType()]</code> declared. It costs one line and it&#8217;s the cheapest way to tell tooling, and the next reader, what comes out without executing anything.</p><p>Emits objects, never formatted strings. A <code>[pscustomobject]</code> or a class. The moment a function returns pretty text, it stops being composable and the next person has to parse your output back into data.</p><p>Validation expressed as parameter attributes, not <code>if</code> blocks. <code>[ValidateSet]</code> gets you tab completion and accepted values in <code>Get-Help</code> for free; <code>[ValidateRange]</code> and <code>[ValidateScript]</code> at least put the constraint somewhere discoverable. Bury it in an <code>if</code> and nobody finds it until it throws.</p><p>Comment-based help with a runnable <code>.EXAMPLE</code>. Runnable meaning copy, paste, press enter, no edits. If the example needs fixing before it works, it&#8217;s decoration.</p><p><code>SupportsShouldProcess</code> on anything that changes state. This is the one models are worst at, because supplying it means noticing that something required is <em>absent</em> rather than that something present is wrong. Declare it, gate the mutation only, and <code>-WhatIf</code> becomes an audit of the run instead of a promise you made in the help text.</p><p>Terminating errors are catchable, non-terminating errors don&#8217;t masquerade as success. If you have to catch it, pass <code>-ErrorAction Stop</code> on that call. <code>catch { }</code> with nothing in it is a defect, not a style choice.</p><p>No secret reaches an output stream, a native-command argument, or source control. Module logging records bound parameter values and transcription captures the verbose stream, so <code>Write-Verbose "pass: $plain"</code> writes the password to the log on every endpoint that runs it. Native command arguments are visible in the process table &#8212; to any local user on Linux and macOS, and to anyone with sufficient rights to query <code>Win32_Process</code> on Windows.</p><p>PSScriptAnalyzer clean against the project settings file. Not &#8220;clean-ish.&#8221; Not &#8220;warnings suppressed.&#8221; Clean, or suppressed with an inline comment saying why.</p><p>Comments and help written in the voice of section 19, not in marketing register. No &#8220;leverage.&#8221; No &#8220;robust.&#8221; No &#8220;In today&#8217;s fast-paced world.&#8221; Prose ships with the module and it&#8217;s where generated work gives itself away fastest.</p><p>No invented cmdlets, parameters, modules, or properties. Section 0.1, and the reason the whole document exists. More on this in a second.</p><p>Full cmdlet names and named parameters. No aliases, no positional arguments. <code>Where-Object</code>, not <code>?</code>. You wrote it once and someone will read it fifty times at three in the morning.</p><h3>Section 0.1 does the real work</h3><p>The one that earns its place is <strong>Do not invent API surface.</strong></p><p>It doesn&#8217;t ask a model to guess better. Guessing better isn&#8217;t a thing you can instruct. It asks the model to say when it&#8217;s unsure, in the code, where you&#8217;ll actually see it:</p><pre><code><code># VERIFY: confirm -IncludeDisabled exists in your module version
Get-Command Get-ADUser -Syntax
(Get-Command Get-ADUser).Parameters.Keys
</code></code></pre><p>The same rule covers .NET surface, which gets invented just as often and checked far less. A constructor overload that was never there, a static method that sounds right, an enum value that fits the pattern. All of it reads fine and throws on the first run.</p><p>Stating uncertainty costs you five seconds. An invented parameter costs you a debugging session, and costs the model your trust in everything else in the file.</p><p>None of this is a new opinion, and the Lineage section says so outright. Roughly a third of the document is already mechanically enforced by rules shipping in PSScriptAnalyzer. Most of sections 2 through 7 come from Microsoft&#8217;s own cmdlet development guidelines. PoshCode&#8217;s Practice and Style guide got there first on formatting. The parts that are genuinely new, security and accessibility and localization and writing for <em>generation</em> rather than for reading, are named explicitly, with a note that this is where to aim criticism.</p><p>The whole thing is MIT. Take it, fork it, bend it to your house rules.</p><h2>Start here: drop <code>AGENTS.md</code> in the repo</h2><p>If you take one thing from this article, take this one, because it&#8217;s free and it&#8217;s permanent.</p><p><code>AGENTS.md</code> is the emerging convention for repo-level agent instructions, and it&#8217;s the delivery channel with the least friction by a wide margin. You put the file in the root of your repository. That&#8217;s the install.</p><p>From then on, most agents that read repository context pick it up: Codex, Cursor, Copilot&#8217;s agent mode, and a growing list of others. There&#8217;s no extension to install, no API key, no per-request token cost you&#8217;re paying out of pocket, and nothing for your teammates to configure. They clone the repo and the standard comes with it.</p><p>Claude Code is the exception worth knowing about. It reads <code>CLAUDE.md</code> and ignores <code>AGENTS.md</code> entirely. No warning, no error. It just runs with no project instructions and you wonder why the output got worse. Don&#8217;t rename the file, or you&#8217;ve solved it for Claude Code and broken it for everything else. Add a <code>CLAUDE.md</code> alongside it that pulls the real file in: <code>@AGENTS.md</code> on a single line, or <code>ln -s AGENTS.md CLAUDE.md</code> if your team is fine with symlinks in git. One source of truth, two filenames.</p><p>That last part is the reason I&#8217;d start here even if you plan to use everything else. A standard that lives in one engineer&#8217;s browser extension is that engineer&#8217;s preference. A standard that lives in the repo is the project&#8217;s, and every agent that touches the project is conformant by default.</p><p>The <code>/adopt</code> command writes the whole set for you: <code>AGENTS.md</code>, the <code>CLAUDE.md</code> shim, Copilot instructions, Cursor rules, <code>PSScriptAnalyzerSettings.psd1</code>, and a CI workflow. Or you can copy the one file by hand and be done in ten seconds.</p><h2>The Chrome extension</h2><p>This was the second thing built in that hotel room.</p><p>It&#8217;s a side panel that sits next to ChatGPT, Claude, Gemini, or Copilot in the browser. You describe what you want. It builds the prompt, carrying the relevant slices of the Standard, and hands it to whichever assistant you&#8217;re already paying for. No new subscription, no API key, no data going anywhere except to the assistant you chose.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D0On!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D0On!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif 424w, https://substackcdn.com/image/fetch/$s_!D0On!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif 848w, https://substackcdn.com/image/fetch/$s_!D0On!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!D0On!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D0On!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif" width="742" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:742,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:11324114,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/210081173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!D0On!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif 424w, https://substackcdn.com/image/fetch/$s_!D0On!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif 848w, https://substackcdn.com/image/fetch/$s_!D0On!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!D0On!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d535b0d-4828-486f-8f18-f38b9d02d5c2_742x480.gif 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 aria-hidden="true" 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><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 style="text-align: center;"><em><strong><a href="https://chromewebstore.google.com/detail/powershell-engineer/mgholigjappgklcmiamhogkmnkhekola">Download the Extension Now</a></strong></em></p><p>The word &#8220;relevant&#8221; is doing work in that paragraph, and it&#8217;s a correction I had to make early. You should almost never inject the whole Standard. Twelve thousand tokens of rules for a request that needed four of them is waste, and worse, it buries the sections that mattered under the ones that didn&#8217;t. So the assembler picks a baseline plus whatever the task and your workspace imply. Mention a PowerShell 5.1 target and the cross-platform section comes along quietly, because that&#8217;s where the ternary operator and <code>ForEach-Object -Parallel</code> warnings live.</p><p>The Firefox version is published and works the same way. The Edge version is built and sitting in review, which is its own kind of character-building experience.</p><h2>The custom GPT, back from the dead</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w-C6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w-C6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif 424w, https://substackcdn.com/image/fetch/$s_!w-C6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif 848w, https://substackcdn.com/image/fetch/$s_!w-C6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!w-C6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w-C6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif" width="674" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:674,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3302692,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/210081173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!w-C6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif 424w, https://substackcdn.com/image/fetch/$s_!w-C6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif 848w, https://substackcdn.com/image/fetch/$s_!w-C6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!w-C6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee99ae5d-df7d-46ef-88b0-7e095cbd9883_674x480.gif 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 aria-hidden="true" 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><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 built <strong><a href="https://www.powershellengineer.com/custom-gpt">a custom GPT</a></strong> years ago, back when custom GPTs were the new thing. It was trained on my book, <em><strong><a href="http://PowerShell for Systems Engineers">PowerShell for Systems Engineers</a></strong></em>, and it was reasonably good at what the book covered.</p><p>Then I stopped touching it, the way you do.</p><p>It&#8217;s now been rebuilt on the PowerShell Engineer Standard. Same place, same link, entirely different behavior. It still has the book&#8217;s material underneath, which turns out to matter, because the book explains <em>why</em> the practices exist and the Standard only tells you what they are. The combination answers better than either does alone.</p><p>If you already live in ChatGPT and don&#8217;t want another extension, this is your path in.</p><h2>VS Code, and Open VSX</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3rCP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3rCP!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif 424w, https://substackcdn.com/image/fetch/$s_!3rCP!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif 848w, https://substackcdn.com/image/fetch/$s_!3rCP!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!3rCP!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3rCP!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif" width="806" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:806,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12030588,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/210081173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3rCP!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif 424w, https://substackcdn.com/image/fetch/$s_!3rCP!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif 848w, https://substackcdn.com/image/fetch/$s_!3rCP!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!3rCP!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0e5c164-99d2-43ea-9485-24bd5b4cc7ab_806x480.gif 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 aria-hidden="true" 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><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>The VS Code extension is where the loop actually closes, and it&#8217;s the one I&#8217;d point a working engineer at after <code>AGENTS.md</code>.</p><p>It&#8217;s published on both the <strong><a href="https://marketplace.visualstudio.com/items?itemName=JimTyler.powershell-engineer">Visual Studio Marketplace</a></strong> and <strong><a href="https://open-vsx.org/extension/jimtyler/powershell-engineer">Open VSX</a></strong>, so it works in VS Code, VSCodium, Cursor, Windsurf, and anything else building on the open registry.</p><p>Two ways to use it. The first is <code>@pse</code> in Copilot Chat, which is the conversational path: ask, get an answer built against the Standard. The second is the one that matters more. The extension registers its tools globally, so Copilot&#8217;s agent mode can call them on its own, without you remembering to ask. The agent decides it&#8217;s writing PowerShell, reaches for the Standard, and applies it.</p><p>The advantage this has over the browser extension is context it can actually read. It sees your module manifest. It sees the function names that already exist in your project. So it knows your prefix without being told, it knows which of your own commands it can call, and it stops inventing a helper function you never wrote.</p><h3>The PSScriptAnalyzer piece, and what it doesn&#8217;t mean</h3><p>The extension runs PSScriptAnalyzer against the Standard&#8217;s settings file, inline, as you work. That part&#8217;s straightforward.</p><p>What I keep having to say out loud is what happens when it comes back clean.</p><p><strong>No rule fired. That is a floor, not proof of correctness.</strong></p><p>That exact framing is in the VS Code output, in the MCP server&#8217;s response, in the GitHub Action&#8217;s job summary, and, deliberately, in the tool description that Copilot&#8217;s agent mode reads before it decides how much to trust the result. If a tool doesn&#8217;t tell a model what its output <em>doesn&#8217;t</em> mean, the model will happily overclaim on its behalf. A clean analyzer run says no rule matched. It says nothing at all about whether <code>Get-ADUser -IncludeDisabled</code> exists.</p><p>There&#8217;s a matching rule about execution, and it lives in a separate file so the distinction can&#8217;t erode by accident. Static analysis parses without running anything, so it runs automatically. Pester <em>executes the code under test</em>, so it never runs unless you say yes, per invocation, every time.</p><h2>PSEng, built on Phi</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fmt6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fmt6!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif 424w, https://substackcdn.com/image/fetch/$s_!Fmt6!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif 848w, https://substackcdn.com/image/fetch/$s_!Fmt6!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!Fmt6!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fmt6!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif" width="744" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:744,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12367452,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/210081173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Fmt6!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif 424w, https://substackcdn.com/image/fetch/$s_!Fmt6!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif 848w, https://substackcdn.com/image/fetch/$s_!Fmt6!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!Fmt6!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a2653a7-bfc7-48a8-b75b-2ec25b9217f9_744x480.gif 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 aria-hidden="true" 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><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>If the Standard costs twelve thousand tokens to carry in context, the obvious question is whether a model can just learn it instead.</p><h3><span>Why Phi</span></h3><p><span>Phi is Microsoft Research&#8217;s family of small language models, and the thesis behind it is the reason it&#8217;s the right base for this.</span></p><p><span>The original Phi paper was titled </span><strong><a href="https://arxiv.org/abs/2306.11644"><span>Textbooks Are All You Need</span></a></strong><span>. The argument was that data quality beats data quantity by a wider margin than anyone expected, and that a small model trained on carefully curated, textbook-grade material can hold its own against models many times its size. Phi-4 is the 14-billion-parameter result of running that thesis for several generations, and Microsoft released it under the MIT license, weights and all.</span></p><p><span>Which means: a Microsoft-built small model, trained on the premise that a good textbook beats a big pile of scraped text, released under a license that lets you fine-tune it, and pointed at a standard for writing Microsoft&#8217;s own shell language. Small enough to train on hardware you already own. Every piece of that lined up.</span></p><h2><span>What comes out the other side</span></h2><p><span>The first version was trained on a different open-weight base, before Phi. The method is the same either way. The training set is PowerShell that scores 100/100 against a frozen rubric, generated and scored entirely on a laptop, with no hosted API anywhere in the pipeline.</span></p><p><span>The useful way to describe the result isn&#8217;t a score. It&#8217;s what changes in the code.</span></p><p><span>Ask a general purpose assistant for an account-cleanup function and you tend to get output with a specific set of holes. It reports progress with Write-Host, so nothing it tells you can be captured, piped, or exported. You get a screen of green text and no audit trail. It calls the mutating cmdlet without -ErrorAction Stop inside its try, so a non-terminating failure sails past the catch and it prints a success message for an account it didn&#8217;t actually disable. It catches errors generically, flattens them to a string, and throws away the error record. It emits nothing at all, so you can&#8217;t pipe the results into Export-Csv to hand your auditor.</span></p><p><span>Every one of those is something I&#8217;ve watched a frontier model do this month.</span></p><p><span>The tuned model produces the other shape by default: SupportsShouldProcess with ConfirmImpact set, a typed catch on the specific exception the AD module actually throws, Get-ADUser splatted rather than run off the edge of the screen, and one [pscustomobject] per account </span><em><span>evaluated</span></em><span> rather than per account changed, so a -WhatIf run is a report you can file.</span></p><p><span>That last detail is the one I&#8217;d point at. Nobody asked for it. It&#8217;s an engineering judgment about what the person running this at 2am will need afterwards, and it&#8217;s in the Standard because that&#8217;s the kind of thing a standard is for.</span></p><p><span>What it does not fix is the invented parameter. That&#8217;s still where nearly all of its remaining errors live, and it&#8217;s the honest limit of this approach. Fine-tuning is good at teaching behaviour and bad at storing facts. A model trained on Get-Help dumps absorbs the general shape of parameter names and produces fluent, plausible, wrong code. So the surface information is used as a filter instead. Every candidate is checked against real installed modules before it can enter the training set, and anything invented is thrown out rather than learned.</span></p><p><span>Conformance is solved. Hallucination isn&#8217;t, and I&#8217;d rather say that than let you find out yourself.</span></p><h2><span>The part your security team cares about</span></h2><p><span>Here&#8217;s where a local model stops being a technical curiosity.</span></p><p><span>Look at what&#8217;s actually </span><em><span>in</span></em><span> the script you&#8217;d paste into a chat window. Server names. OU distinguished names. Service account names. Your naming conventions, your network topology, which security groups gate what. A stale-account cleanup script is a small map of how your directory is organised, and the error message you paste back to ask &#8220;why doesn&#8217;t this work?&#8221; is usually more revealing than the script was.</span></p><p><span>That&#8217;s not a hypothetical objection. It&#8217;s the reason the answer is no.</span></p><p><span>PSEng runs on the machine in front of you. Not &#8220;encrypted in transit.&#8221; Not &#8220;we don&#8217;t train on your data.&#8221; </span><strong><span>Nothing is transmitted, because there is nothing to transmit.</span></strong><span> No API key, no account, no network call, no vendor.</span></p><p><span>What that buys, concretely:</span></p><ul><li><p><strong><span>It works air-gapped.</span></strong><span> Isolated networks, classified environments, OT and manufacturing segments, anywhere with no route to the internet by design. Most AI tooling can&#8217;t be deployed there at all. This can.</span></p></li><li><p><strong><span>Procurement has nothing to review.</span></strong><span> No data-processing agreement, no sub-processor list, no retention policy, no data-residency question. The review that normally takes a quarter doesn&#8217;t apply to software that never phones home.</span></p></li><li><p><strong><span>It doesn&#8217;t have outages.</span></strong><span> When a provider goes down, and they do, your scripting assistant is still sitting on your laptop.</span></p></li><li><p><strong><span>The cost doesn&#8217;t scale with use.</span></strong><span> No per-token billing, no seat count, no awkward invoice conversation when the team starts using it properly.</span></p></li></ul><p><span>There&#8217;s a second, quieter benefit that only shows up once you&#8217;re using it. A model that knows the Standard doesn&#8217;t need to be told the Standard, which means the entire context window is available for </span><em><span>your</span></em><span> code. Twelve thousand tokens of rules is most of a small model&#8217;s working memory. Hand the prompted version a 500 line script to refactor and it doesn&#8217;t fit. Hand it to this one and it does.</span></p><p><span>The trade is real and worth stating plainly. A small local model is not as generally capable as a frontier model. It writes PowerShell to a standard. It won&#8217;t help you with your Terraform.</span></p><p><span>But for the specific job of &#8220;write me a function that follows our rules and doesn&#8217;t invent cmdlets,&#8221; the gap is much narrower than you&#8217;d expect. And in a regulated environment, the model you&#8217;re actually allowed to use beats the one you aren&#8217;t.</span></p><h2><span>Get it</span></h2><p><span>The preview is up on Hugging Face: </span><strong><a href="https://huggingface.co/jimtyler/pseng-14b-preview"><span>huggingface.co/jimtyler/pseng-14b-preview</span></a></strong></p><p><span>It&#8217;s a LoRA adapter, about 213 MB, MIT licensed. The model card has the exact commands, including the one that builds the quantized Phi-4 base it expects.</span></p><p><strong><span>It runs on Apple Silicon only.</span></strong><span> The training and the runtime both use MLX, Apple&#8217;s array framework, so a Mac with an M-series chip is the requirement. I am working on one good enough for Windows, but I am working with the hardware I have, and it&#8217;s worth being blunt about rather than letting you find out after the download. The reason is prosaic: MLX is what made training a 14 billion parameter model on a laptop practical in the first place, and the laptop I had was a Mac. A GGUF build would open this up to Windows through Ollama or LM Studio, and it&#8217;s on the list.</span></p><p><span>Call it what it is: a preview. It was trained on 517 examples, stopped early on a noisy validation curve, and it has not yet been scored against the frozen benchmark. It still invents a parameter now and then, which is the whole reason section 0.1 exists and the reason you check anything you don&#8217;t recognize before you run it. I&#8217;ve got work to do!</span></p><h2>What&#8217;s on the horizon</h2><p>Several of these are built and queued rather than theoretical, and I&#8217;ve kept them out of this article mostly for space.</p><p>An MCP server, so any MCP-speaking client carries the Standard without an extension. A GitHub Copilot extension and an M365 Copilot agent, each shaped for the context its host expects. A Claude Skill. A GitHub Action at the other end of the loop, running PSScriptAnalyzer against the Standard&#8217;s settings and annotating your pull requests. Actually, a lot of these things are done and maybe not published. </p><p>One rule holds all of it together, and it&#8217;s the reason adding channels doesn&#8217;t multiply the maintenance: a single <code>core/</code> package owns the assembler, the Standard payload, the file templates, and the verification engine. Every channel derives from it, and the test suite fails if any of them drift.</p><p>Then there are the deep dives. Every section of the Standard gets its own article, starting with the thirteen non-negotiables above, because a checklist tells you what and I&#8217;d rather you knew why.</p><p>And in the meantime, if you hit a cmdlet or a parameter you don&#8217;t recognize in generated code, whoever generated it, check it before you run it. That habit is worth more than every tool on this list. Let&#8217;s go, fellow PowerShell Engineers!</p><div><hr></div><p><em>The PowerShell Engineer Standard is MIT-licensed and lives at <a href="https://www.powershellengineer.com/standard">powershellengineer.com/standard</a>. Not affiliated with or endorsed by Microsoft. PowerShell is a trademark of Microsoft Corporation.</em></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[Jake Hildreth Brings The Elm Architecture to PowerShell with PSTea, A Native Test Model for Maester 3.0]]></title><description><![CDATA[+Mark Orr Rebuilds the Autopilot Import GUI for v1 and v2]]></description><link>https://www.powershell.news/p/jake-hildreth-brings-the-elm-architecture</link><guid isPermaLink="false">https://www.powershell.news/p/jake-hildreth-brings-the-elm-architecture</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 31 Jul 2026 13:09:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OaSw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>A Native Test Model for Maester 3.0</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OaSw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OaSw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.png 424w, https://substackcdn.com/image/fetch/$s_!OaSw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.png 848w, https://substackcdn.com/image/fetch/$s_!OaSw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.png 1272w, https://substackcdn.com/image/fetch/$s_!OaSw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OaSw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.png" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:417435,&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/209194913?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.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_!OaSw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.png 424w, https://substackcdn.com/image/fetch/$s_!OaSw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.png 848w, https://substackcdn.com/image/fetch/$s_!OaSw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.png 1272w, https://substackcdn.com/image/fetch/$s_!OaSw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fbb08b4-880c-44f8-b615-8e2c27777f48_1500x999.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 aria-hidden="true" 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><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>Merill Fernando opened a request for comments on the Maester GitHub repository proposing a major architectural shift for the upcoming release. The team plans to move built in checks away from Pester wrappers and into a native test model so the engine can fully manage the complete lifecycle of each security assessment. Under the new design every check will consist of a PowerShell script and a Markdown file with execution metadata declared directly on the test function. This structured approach allows the core engine to centrally handle prerequisites like verifying active connections and licenses while maintaining backward compatibility for organizations running existing custom Pester tests. Seems kind of similar to what I&#8217;m doing with <strong><a href="https://guerrilla.army">Guerrilla</a></strong>. </p><p>&#128073; <a href="https://github.com/maester365/maester/discussions/2050">https://github.com/maester365/maester/discussions/2050</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><h1><strong>Active Directory Meets Source Control with Fred Weinmann</strong> </h1><div id="youtube2-8SlIqUKP3hY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;8SlIqUKP3hY&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/8SlIqUKP3hY?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> Fred Weinmann recently joined Andrew on The PowerShell Podcast to kick off a multi episode series exploring his extensive open source module portfolio. This initial installment focuses exclusively on the Active Directory Management Framework which is a configuration driven system Fred originally built while working as a Microsoft field engineer for a massive enterprise customer. </p><p></p><h2>Jake Hildreth Brings The Elm Architecture to PowerShell with PSTea</h2><p>Jake Hildreth has released PSTea, an open source PowerShell module that implements The Elm Architecture, the Model-View-Update pattern, for building interactive terminal user interfaces. The clever part is portability. The same application code that runs as a TUI in your console will also serve to a browser over WebSocket and xterm.js without changing a single line, so one app runs in two places. Jake cites BubbleTea, LipGloss, and Textual as influences, along with the Commodore 64 and DOS for good measure, and the module gives you a clean Init, Update, and View loop driven by keypress messages. It has been in development quietly for months and just surfaced publicly, making it the framework worth watching underneath his growing collection of terminal tools.<br><br>&#128073; <a href="https://github.com/jakehildreth/PSTea">https://github.com/jakehildreth/PSTea</a></p><p></p><h2>Mark Orr Rebuilds the Autopilot Import GUI for v1 and v2</h2><p>Mark Orr has published Get-WindowsAutopilotImportCommunity, a graphical front end for Andrew S. Taylor&#8217;s community Autopilot script that finally handles both enrollment generations in one place. It is a ground up rewrite of Ugur Ko&#231;&#8217;s original import GUI, which wrapped Michael Niehaus&#8217; Get-WindowsAutoPilotInfo and therefore only ever spoke Autopilot v1 with its hardware hash. Mark&#8217;s version runs on the community script and supports Autopilot v1 hardware hashes alongside Autopilot v2 Device Preparation identifiers, so the tool keeps working as tenants move to the newer model. He also traded the old fixed size window for a resizable, grid based layout with sidebar navigation, and the code ties into <strong><a href="http://orr365.tools">orr365.tools</a></strong>, the new home he stood up for his tooling this week.<br><br>&#128073; <a href="https://github.com/markorr321/Get-WindowsAutopilotImportCommunity">https://github.com/markorr321/Get-WindowsAutopilotImportCommunity</a></p><p></p><h1>Exchange Online PowerShell 3.10.1 Fixes CBA Bug</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!svNf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6626fced-ddeb-4425-8869-637037355266_1081x452.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!svNf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6626fced-ddeb-4425-8869-637037355266_1081x452.webp 424w, https://substackcdn.com/image/fetch/$s_!svNf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6626fced-ddeb-4425-8869-637037355266_1081x452.webp 848w, https://substackcdn.com/image/fetch/$s_!svNf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6626fced-ddeb-4425-8869-637037355266_1081x452.webp 1272w, https://substackcdn.com/image/fetch/$s_!svNf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6626fced-ddeb-4425-8869-637037355266_1081x452.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!svNf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6626fced-ddeb-4425-8869-637037355266_1081x452.webp" width="1081" height="452" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6626fced-ddeb-4425-8869-637037355266_1081x452.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:452,&quot;width&quot;:1081,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:39328,&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/209194913?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6626fced-ddeb-4425-8869-637037355266_1081x452.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_!svNf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6626fced-ddeb-4425-8869-637037355266_1081x452.webp 424w, https://substackcdn.com/image/fetch/$s_!svNf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6626fced-ddeb-4425-8869-637037355266_1081x452.webp 848w, https://substackcdn.com/image/fetch/$s_!svNf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6626fced-ddeb-4425-8869-637037355266_1081x452.webp 1272w, https://substackcdn.com/image/fetch/$s_!svNf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6626fced-ddeb-4425-8869-637037355266_1081x452.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 aria-hidden="true" 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><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 explores the recent release of Exchange Online Management version 3.10.1 and its fix for a breaking certificate based authentication flow bug. Tony details his troubleshooting experience after automation scripts suddenly began throwing 401 forbidden errors on REST based cmdlets despite successfully establishing a session. </p><p>&#128073; <a href="https://office365itpros.com/2026/07/27/exchange-online-management-3-10-1/">Exchange Online Management 3.10.1 Update</a></p><p></p><h1>Hijacking the Windows Lock Screen with PowerShell</h1><div id="youtube2-DLbntL-Yzo8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;DLbntL-Yzo8&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/DLbntL-Yzo8?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>Frank Lindenblatt recently took the stage at the PowerShell Conference Europe to deliver a fast paced presentation on engineering a reliable custom lock screen slideshow. He explained that the default Windows personalization settings and classic screen savers proved too inconsistent for reliably displaying informational slides to corporate users.</p><p></p><h1>PSScriptTools Adds Console Formatting Commands</h1><p>Jeffery Hicks recently took to LinkedIn to announce a new release of his PSScriptTools module for the PowerShell Gallery. The update introduces several new commands that allow engineers to examine enums, generate formatted boxes, and visualize process trees directly in the terminal. He also highlighted the addition of horizontal rule lines for clearer output structuring and noted that administrators can run Open-PSScriptToolsHelp to pull up the complete module documentation.</p><p>&#128073; <a href="https://www.linkedin.com/feed/update/urn:li:activity:7488612147288014848/">https://www.linkedin.com/feed/update/urn:li:activity:7488612147288014848/</a></p><p>&#128073; <a href="https://github.com/jdhitsolutions/PSScriptTools">https://github.com/jdhitsolutions/PSScriptTools</a></p><p></p><h1>Visualizing Nested Properties with DumPS</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tjk4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tjk4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.webp 424w, https://substackcdn.com/image/fetch/$s_!Tjk4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.webp 848w, https://substackcdn.com/image/fetch/$s_!Tjk4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.webp 1272w, https://substackcdn.com/image/fetch/$s_!Tjk4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tjk4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.webp" width="1456" height="1757" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1757,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:40196,&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/209194913?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.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_!Tjk4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.webp 424w, https://substackcdn.com/image/fetch/$s_!Tjk4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.webp 848w, https://substackcdn.com/image/fetch/$s_!Tjk4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.webp 1272w, https://substackcdn.com/image/fetch/$s_!Tjk4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32e7991e-f122-4ec5-8631-bf9c754e1092_1666x2010.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 aria-hidden="true" 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><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 recently published a new guide on his PowerShell is fun blog detailing how to leverage the dumPS module to simplify debugging directly in the terminal. The tool solves the common frustration of reading deeply nested object properties when you are working outside of Visual Studio Code. Harm demonstrates how to install the package and pipe standard commands into the Out-Dump cmdlet to generate color coded and structured output while easily preserving the original objects in the pipeline.</p><p>&#128073; <a href="https://powershellisfun.com/2026/07/24/using-dumps-in-powershell-for-easy-reading-of-all-properties/">https://powershellisfun.com/2026/07/24/using-dumps-in-powershell-for-easy-reading-of-all-properties/</a></p><h1>Navigating IT Chaos in Game Development</h1><div id="youtube2-B38xalCScSI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;B38xalCScSI&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/B38xalCScSI?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 Adams recently joined Brock on the PDQ Patch Notes series to unpack his two decades of horizontal career growth across various tech sectors. The conversation explores the unique challenges of managing infrastructure for a remote game development studio where maintaining peak performance hardware and surviving production crunches require significant operational agility. </p><p></p><h1><strong>Events</strong></h1><p><strong>MMS Midway</strong><span> | October 25 to 28, 2026 | San Diego, California<br><br>The classic endpoint management and PowerShell conference moves to San Diego this fall.</span></p><p>&#128073; https://mmsmoa.com/</p><p></p><p><strong>SpiceWorld 2026</strong><span> | November 12 to 13, 2026 | Austin, Texas<br><br>Jeff Hicks is returning to Austin this fall to talk PowerShell at the annual Spiceworks community event.</span></p><p><span>&#128073; </span><a href="https://www.spiceworks.com/spiceworld/">https://www.spiceworks.com/spiceworld/</a></p><p></p><p><strong>Zero Trust World 2027</strong><span> | February 17 to 19, 2027 | Orlando, Florida</span></p><p>&#128073; https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2027</strong><span> | April 5 to 8, 2027 | Orlando, Florida<br><br>The flagship US PowerShell event moves to the Sheraton Lake Buena Vista in Orlando.</span></p><p>&#128073; https://powershellsummit.org/</p><p></p><p><strong>PSConfEU 2027</strong><span> | Dates and location to be announced SynEdgy is organizing the eleventh edition of PowerShell Conference<br><br>&#128073; https://psconf.eu/</span></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 Preview 3 Brings Time Sortable UUIDs, Jorge Suarez Publishes Terminal Slides ]]></title><description><![CDATA[+Mark Orr turned a click heavy portal chore into one command]]></description><link>https://www.powershell.news/p/powershell-77-preview-3-brings-time</link><guid isPermaLink="false">https://www.powershell.news/p/powershell-77-preview-3-brings-time</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 24 Jul 2026 13:11:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rTiW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Happy Friday, everyone! I&#8217;m still down here with my family in Osage Beach, Missouri after keynoting the <strong><a href="https://www.midwesttechtalk.com">Midwest Tech Talk</a></strong>, a K12 technology conference that was truly amazing, both in execution and in the overall awesomeness of everyone who attended. Seriously, this was very reminiscent of the <strong><a href="https://maeds.org">MAEDS</a></strong> conference I have the pleasure of attending annually in Michigan. Shout out to Chris Warden, the event organizer, and every other person that made this very important sharing of ideas possible. I was glad to play a small part in it!</p><h1>PowerShell 7.7 Preview 3 Brings Time Sortable UUIDs</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rTiW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rTiW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.png 424w, https://substackcdn.com/image/fetch/$s_!rTiW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.png 848w, https://substackcdn.com/image/fetch/$s_!rTiW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.png 1272w, https://substackcdn.com/image/fetch/$s_!rTiW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rTiW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.png" width="1060" height="1484" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1484,&quot;width&quot;:1060,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2547302,&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/208274574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.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_!rTiW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.png 424w, https://substackcdn.com/image/fetch/$s_!rTiW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.png 848w, https://substackcdn.com/image/fetch/$s_!rTiW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.png 1272w, https://substackcdn.com/image/fetch/$s_!rTiW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e2afa8d-11a8-4e60-84d2-bd40da0787b3_1060x1484.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 aria-hidden="true" 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><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>PowerShell version 7.7 preview 3 is now available and running on the .NET 11 preview 6 framework. The biggest change updates the New Guid cmdlet to generate version 7 time sortable UUIDs by default. Scripts requiring purely random output must now call the system guid class directly. The team also fixed progress bar rendering for double width unicode characters and optimized packaging to deliver a minimum size payload for arm64 deployments.</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>&#128073; <a href="https://github.com/PowerShell/PowerShell/releases/tag/v7.7.0-preview.3">v7.7.0-preview.3 Release of PowerShell</a></p><h1>July 2026 PowerShell Community Call and Platform Updates</h1><div id="youtube2-E4FAsyK9LhY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;E4FAsyK9LhY&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/E4FAsyK9LhY?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 July 2026 PowerShell Community Call highlighted several important milestones. The team announced that PowerShell versions 7.4 and 7.5 will reach end of life in November. A preview for PowerShell 7.7 featuring .NET 11 integration is arriving soon. The team also released Platypus version 1.0.2 to resolve structural issues with MAML formatting. Furthermore the intermittent Lucene search indexing issue on the PowerShell Gallery has been successfully resolved. </p><p>&#128073; <a href="https://github.com/PowerShell/PowerShell-RFC/blob/master/CommunityCall/notes/20260716_ChatTranscript.md">July 2026 Community Call Transcript</a></p><h1>Jake Hildreth on PSConf EU and Stepper Updates</h1><div id="youtube2-Rqkuaeps_jM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Rqkuaeps_jM&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/Rqkuaeps_jM?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>Jake Hildreth recently joined the PowerShell Podcast to discuss his experiences presenting at the PowerShell Conference Europe and to highlight new updates to his open source Stepper module. The tool allows engineers to build resumable step by step scripts that eliminate the need to restart long running automation tasks if a failure occurs. Jake detailed recent additions including automatic logging and named steps before shifting the conversation to strongly advocate for taking dedicated time away from the keyboard to prevent industry burnout.</p><p>&#128073; <a href="https://www.youtube.com/watch?v=Rqkuaeps_jM">The PowerShell Podcast E238</a></p><h1>Jorge Suarez Put an Entire Slide Deck Inside Your Terminal </h1><p>Jorge Suarez shipped a cross-platform PowerShell module that builds and delivers ANSI-rendered slide decks without ever leaving the console. <code>Install-Module TerminalSlides</code>, PowerShell 7.4+, MIT.</p><p>The slide DSL covers text, bullets, code, charts, diagrams, tables, quotes, boxes, notes, and images, driven by a fluent deck-building API. Eight built in themes ship out of the boxwith custom theme authoring if none of those fit. Interactive mode gives you keyboard navigation and a progress bar; non-interactive export targets CI and doc pipelines. Import and export runs through PSD1, JSON, Markdown, HTML, ANSI, and plain text.</p><p>&#128073; <a href="https://github.com/jorgeasaurus/TerminalSlides">GitHub</a> &#183; <a href="https://jorgeasaurus.github.io/TerminalSlides/">Docs</a> &#183; <a href="https://www.powershellgallery.com/packages/TerminalSlides">PSGallery</a></p><h1>David Sass Built a Resume Scanner That Never Phones Home</h1><p><strong>ATSScannerButWithPrivacy</strong> </p><p>Every &#8220;free ATS resume checker&#8221; on the web wants your resume uploaded to their server. David Sass built the version that doesn&#8217;t. ATS Scanner runs locally, parses your <code>.pdf</code> or <code>.docx</code>, and reports how it will fare against real applicant tracking systems, with your document staying on your machine the entire time. Check it out below. </p><p>&#128073; <a href="https://github.com/sassdawe/ATSScannerButWithPrivacy">GitHub</a></p><h1><strong>Enums for Everyone</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_!XnNs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XnNs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.png 424w, https://substackcdn.com/image/fetch/$s_!XnNs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.png 848w, https://substackcdn.com/image/fetch/$s_!XnNs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.png 1272w, https://substackcdn.com/image/fetch/$s_!XnNs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XnNs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.png" width="1228" height="634" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:634,&quot;width&quot;:1228,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:82505,&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/208274574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.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_!XnNs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.png 424w, https://substackcdn.com/image/fetch/$s_!XnNs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.png 848w, https://substackcdn.com/image/fetch/$s_!XnNs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.png 1272w, https://substackcdn.com/image/fetch/$s_!XnNs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3c111c6-ad58-435d-97e0-b54c666790d9_1228x634.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 aria-hidden="true" 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><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 explores how to properly use enums in your scripting projects. It clarifies the subtle distinction between standard .NET properties and true enumeration classes. You can also easily build custom enums directly from the console using a simple one line command to improve your coding efficiency.</p><p>&#128073; <a href="https://buttondown.com/behind-the-powershell-pipeline/archive/enums-for-everyone/">Enums for Everyone</a></p><h1><strong>Teams PowerShell 7.9 Adds WAM and Federated Chat Controls</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_!1O11!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1O11!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.webp 424w, https://substackcdn.com/image/fetch/$s_!1O11!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.webp 848w, https://substackcdn.com/image/fetch/$s_!1O11!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.webp 1272w, https://substackcdn.com/image/fetch/$s_!1O11!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1O11!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.webp" width="1113" height="626" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:626,&quot;width&quot;:1113,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83830,&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/208274574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.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_!1O11!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.webp 424w, https://substackcdn.com/image/fetch/$s_!1O11!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.webp 848w, https://substackcdn.com/image/fetch/$s_!1O11!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.webp 1272w, https://substackcdn.com/image/fetch/$s_!1O11!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F799aabd7-06e9-4ed9-8388-2c4e54b66310_1113x626.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 aria-hidden="true" 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><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 breaks down what shipped in the July 19 release of the Microsoft Teams PowerShell module. Two things matter here. First, Connect MicrosoftTeams now runs through Windows Account Manager for authentication, joining the Graph SDK and Exchange Online modules on that path, and yes, that means new fun with the ongoing assembly clash issue. Second, and more usefully, the module now exposes Set CsTenantFederationConfiguration options to lock down federated group chats through EnableExternalAccessRestrictionsForChatParticipants and EnableMutualFederationForChatParticipants. If federation control has been on your list, this is the release that gives it to you.<br><br>&#128073; <a href="https://office365itpros.com/2026/07/24/federated-chat-controls/">https://office365itpros.com/2026/07/24/federated-chat-controls/</a></p><h1><strong>Mark Orr turned a click heavy portal chore into one command</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_!wcXN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wcXN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.webp 424w, https://substackcdn.com/image/fetch/$s_!wcXN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.webp 848w, https://substackcdn.com/image/fetch/$s_!wcXN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.webp 1272w, https://substackcdn.com/image/fetch/$s_!wcXN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wcXN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.webp" width="1400" height="784" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:784,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23516,&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/208274574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.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_!wcXN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.webp 424w, https://substackcdn.com/image/fetch/$s_!wcXN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.webp 848w, https://substackcdn.com/image/fetch/$s_!wcXN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.webp 1272w, https://substackcdn.com/image/fetch/$s_!wcXN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8b77f75-9009-430f-8b7e-e54e5105df8b_1400x784.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 aria-hidden="true" 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><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 href="https://github.com/markorr321/Access-Packages-on-Demand">Access-Package-OnDemand</a> handles the Entra ID Entitlement Management workflow the portal is worst at: granting access to someone you already know needs it. <code>Start-AccessPackageOnDemand</code> gives you sign-in, package picker, batch email entry, and canned justifications in one pass. Best part is inline resolution: every address is checked against the directory and existing assignments and color-labeled before you submit, so typos and already-provisioned users surface first. Auto end-dates, stuck-request recovery, cross-platform MSAL auth. PowerShell 7 required. Delivery is async and takes three to six minutes, which is Microsoft's clock, not his. </p><p>&#128073; <a href="https://orr365.tech/access-packages-on-demand-assignment-from-powershell-3fdcfacd803e">Access Packages On-Demand with PowerShell</a></p><h1><strong>Permissions Creep Can Kill Your Graph SDK Session</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_!tChV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tChV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.webp 424w, https://substackcdn.com/image/fetch/$s_!tChV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.webp 848w, https://substackcdn.com/image/fetch/$s_!tChV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.webp 1272w, https://substackcdn.com/image/fetch/$s_!tChV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tChV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.webp" width="652" height="633" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:633,&quot;width&quot;:652,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31816,&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/208274574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.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_!tChV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.webp 424w, https://substackcdn.com/image/fetch/$s_!tChV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.webp 848w, https://substackcdn.com/image/fetch/$s_!tChV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.webp 1272w, https://substackcdn.com/image/fetch/$s_!tChV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa280ef3b-171e-4a77-a005-12f4c9a66df8_652x633.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 aria-hidden="true" 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><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 hit a wall running Connect MgGraph with the Scopes parameter and traced it to something every long running tenant is heading toward. The Microsoft Graph Command Line Tools app collects delegated permissions every time someone consents to a new scope, and there is an undocumented ceiling somewhere around 140 permissions. <br><br>&#128073; <a href="https://office365itpros.com/2026/07/23/permissions-creep-sdk/">https://office365itpros.com/2026/07/23/permissions-creep-sdk/</a></p><h1><strong>Events</strong></h1><p><strong>MMS Midway</strong><span> | October 25 to 28, 2026 | San Diego, California<br><br>The classic endpoint management and PowerShell conference moves to San Diego this fall.</span></p><p>&#128073; https://mmsmoa.com/</p><p><strong>SpiceWorld 2026</strong><span> | November 12 to 13, 2026 | Austin, Texas<br><br>Jeff Hicks is returning to Austin this fall to talk PowerShell at the annual Spiceworks community event.</span></p><p><span>&#128073; </span><a href="https://www.spiceworks.com/spiceworld/">https://www.spiceworks.com/spiceworld/</a></p><p><strong>Zero Trust World 2027</strong><span> | February 17 to 19, 2027 | Orlando, Florida</span></p><p>&#128073; https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2027</strong><span> | April 5 to 8, 2027 | Orlando, Florida<br><br>The flagship US PowerShell event moves to the Sheraton Lake Buena Vista in Orlando.</span></p><p>&#128073; https://powershellsummit.org/</p><p><strong>PSConfEU 2027</strong><span> | Dates and location to be announced SynEdgy is organizing the eleventh edition of PowerShell Conference<br><br>&#128073; https://psconf.eu/</span></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[Microsoft Ships a Record 570 CVEs and Three Zero Days in One Patch Tuesday, PSGuerrilla is Now Guerrilla]]></title><description><![CDATA[+Microsoft.Graph PowerShell SDK 2.38.1 Released]]></description><link>https://www.powershell.news/p/microsoft-ships-a-record-570-cves</link><guid isPermaLink="false">https://www.powershell.news/p/microsoft-ships-a-record-570-cves</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 17 Jul 2026 11:36:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KnBo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Congrats to all of the renewed MVPs this week! I was also renewed myself :) As I said on LinkedIn, it is a privilege to be a part of this community. I do fundamentally believe PowerShell is a force for good in the world. Thanks to <a href="https://jakehildreth.com">Jake Hildreth</a>, <a href="https://day3bits.com">Sam Erde</a>, <a href="https://github.com/alexandair">Aleksandar Nikoli&#263;</a>, <a href="https://diecknet.de">Andreas Dieckmann</a>, Andreas, <a href="https://andrewpla.tech">Andrew Pla</a>, <a href="https://4bes.nl">Barbara Forbes</a>, <a href="https://bartpasmans.tech">Bart Pasmans</a>, <a href="https://baswijdenes.com">Bas Wijdenes</a>, <a href="https://powers-hell.com">Ben Reader</a>, <a href="https://bjompen.com">Bj&#246;rn Sundling</a>, <a href="https://www.thelazyadministrator.com">Brad Wyatt</a>, <a href="https://github.com/bergmeister">Chris Bergmeister</a>, <a href="https://blog.netnerds.net">Chrissy LeMaire</a>, <a href="https://github.com/HCRitter">Christian Ritter</a>, <a href="https://www.clatent.com">Clayton Tyger</a>, <a href="https://blog.danskingdom.com">Daniel Schroeder</a>, <a href="https://github.com/sassdawe">David Sass</a>, <a href="https://pipe.how">Emanuel Palm</a>, <a href="https://blog.graa.dev">Erik Graa</a>, <a href="https://cloudbrothers.info">Fabian Bader</a>, <a href="https://github.com/FabienTschanz">Fabien Tschanz</a>, <a href="https://github.com/franklesniak">Frank Lesniak</a>, <a href="https://gilbertsanchez.com">Gilbert Sanchez</a>, <a href="https://www.allwayshype.com">Hailey Phillips</a>, <a href="https://powershellisfun.com">Harm Veenstra</a>, <a href="https://powershell.org">James Petty</a>, <a href="https://jdhitsolutions.com/blog">Jeff Hicks</a>, <a href="https://www.jorgeasaur.us">Jorge Suarez</a>, <a href="https://www.joshooaj.com">Josh Hendricks</a>, Justin, <a href="https://awakecoding.com">Marc-Andr&#233; Moreau</a>, <a href="https://orr365.tech">Mark Orr</a>, <a href="https://dowst.dev">Matthew Dowst</a>, <a href="https://robsewell.com">Rob Sewell</a>, <a href="https://blog.simonw.se">Simon W&#229;hlin</a>, <a href="https://steviecoaster.dev">Stephen Valdinger</a>, and <a href="https://github.com/stevenjudd">Steven Judd</a> for the blogs, the modules, the podcasts, the conference talks, and the willingness to answer questions. Going together goes farther. Also, sorry if I missed you on that list :) </p><h1>PSGuerrilla is Now Guerrilla</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KnBo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KnBo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.png 424w, https://substackcdn.com/image/fetch/$s_!KnBo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.png 848w, https://substackcdn.com/image/fetch/$s_!KnBo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.png 1272w, https://substackcdn.com/image/fetch/$s_!KnBo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KnBo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.png" width="1186" height="765" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:765,&quot;width&quot;:1186,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:178949,&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/207325821?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.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_!KnBo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.png 424w, https://substackcdn.com/image/fetch/$s_!KnBo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.png 848w, https://substackcdn.com/image/fetch/$s_!KnBo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.png 1272w, https://substackcdn.com/image/fetch/$s_!KnBo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff405bb87-8bc0-4c89-9198-c617bf6afd78_1186x765.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 aria-hidden="true" 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><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>PSGuerrilla is now Guerrilla. If you have it installed, that&#8217;s the part that affects you: the PSGallery package name changed, so it&#8217;s <code>Install-PSResource Guerrilla</code> now. The old PSGuerrilla listing stays up pointing at the new one, but it won&#8217;t get updates. Gallery names are permanent and there&#8217;s no redirect, so this is a one time move I had to make by hand. </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>Why drop the PS? Because the prefix names the implementation language, not the job. That&#8217;s the right call for a utility library (PSReadLine really is PowerShell plumbing) and the wrong call for something trying to be a tool in its own right. Pester didn&#8217;t need it. dbatools didn&#8217;t need it. The tell was that everything around the project had already dropped it without asking me: the domain has been guerrilla.army for a while, the philosophy has always been Guerrilla Zero Trust, and the module manifest was the last thing still introducing itself by its shell. The rename is the small story. </p><p>The bigger one is that I deleted about half the module. Guerrilla had sprawled into monitors, alert channels, schedulers, and threat feeds. That&#8217;s detection, which is a job other platforms do full time and better. I really wanted to do some monitoring piece to this project, but they are two different things that I feel like had to be separated. The exported surface went from 67 commands to 34, and everything that survived serves one loop: assess, score, compare, report. Deleting code you wrote is harder than writing it (like scary in a way, but also I hate scoping something back because I always want to go big). It was still the right call, and the module is better for being smaller. </p><p>What&#8217;s left, honestly stated: 636 checks across Active Directory, Entra ID / M365, and Google Workspace, mapped to CISA SCuBA, EIDSCA, CIS, NIST SP 800-53, and MITRE ATT&amp;CK. 1,829 golden fixtures gate every release, because a check that renders a verdict nobody tested is just an opinion with a color attached (this is how I&#8217;m checking things that I can&#8217;t yet validate in a production environment because I don&#8217;t have it in a production environment). When a check cannot assess something, it says Not Assessed and stays out of the score. Absence of evidence is never a pass.  I&#8217;ll be talking through the whole philosophy behind it next week at Midwest Tech Talk.<br><br>That said, I could really use your help! I would love to add more contributors to Guerrilla to make useful for everyone around the world. Check out the repo here: <a href="https://github.com/jimrtyler/guerrilla">https://github.com/jimrtyler/guerrilla</a></p><h1><strong>Microsoft Ships a Record 570 CVEs and Three Zero Days in One Patch Tuesday</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_!QAoq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QAoq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.webp 424w, https://substackcdn.com/image/fetch/$s_!QAoq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.webp 848w, https://substackcdn.com/image/fetch/$s_!QAoq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.webp 1272w, https://substackcdn.com/image/fetch/$s_!QAoq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QAoq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.webp&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;:269336,&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/207325821?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.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_!QAoq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.webp 424w, https://substackcdn.com/image/fetch/$s_!QAoq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.webp 848w, https://substackcdn.com/image/fetch/$s_!QAoq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.webp 1272w, https://substackcdn.com/image/fetch/$s_!QAoq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f912faa-da5e-4695-955b-eef0531f1e60_2200x1238.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 aria-hidden="true" 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><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>Tuesday&#8217;s Patch Tuesday came in at 570 vulnerabilities across Windows, SharePoint Server, Office, .NET, Visual Studio, SQL Server, and the rest of the Microsoft catalog. That is roughly triple last month and easily the largest single release on record. Three of them are zero days. Two are being actively exploited: CVE-2026-56155, an AD FS elevation of privilege bug that Microsoft&#8217;s own DART team discovered while investigating live incidents, and a SharePoint Server on premise flaw. The third is a publicly disclosed BitLocker bypass. If you run AD FS or on premise SharePoint, patch this weekend. Microsoft also confirmed the volume is partly the output of their AI assisted vulnerability discovery pipeline, so this is likely the new normal. </p><p>&#128073; <a href="https://www.bleepingcomputer.com/news/microsoft/microsoft-july-2026-patch-tuesday-fixes-massive-570-flaws-3-zero-days/">https://www.bleepingcomputer.com/news/microsoft/microsoft-july-2026-patch-tuesday-fixes-massive-570-flaws-3-zero-days/</a></p><div><hr></div><h1><strong>Huntress Catches a Threat Actor Deploying AI Generated PowerShell Against Active Directory</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_!dEcO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dEcO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dEcO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dEcO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dEcO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dEcO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.jpeg" width="900" height="470" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:470,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:166850,&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/207325821?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.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_!dEcO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.jpeg 424w, https://substackcdn.com/image/fetch/$s_!dEcO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.jpeg 848w, https://substackcdn.com/image/fetch/$s_!dEcO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!dEcO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9b6e699-7ac7-4fd7-895a-1148c92d75c5_900x470.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 aria-hidden="true" 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><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>This one deserves your full attention. Huntress recovered a PowerShell script called Untitled1.ps1 from a real intrusion in early June, and Jevon Ang and Dray Agha published the full breakdown this week. The script is a textbook Active Directory enumeration tool, complete with a cascading five step fallback for locating the domain controller, and it is almost certainly AI generated. The tells include an unedited placeholder server name the attacker never bothered to change and an internal title that reads &#8220;100% Working AD Information Gathering Script - FULLY FIXED.&#8221; </p><p>&#128073; <a href="https://thehackernews.com/2026/07/attacker-uses-suspected-ai-generated.html">https://thehackernews.com/2026/07/attacker-uses-suspected-ai-generated.html</a></p><div><hr></div><h1><strong>Write the Test First: Robert Pr&#252;st on Pester, PSConf, and Learning in Public</strong> </h1><div id="youtube2-7Z2Pk0y2Xss" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;7Z2Pk0y2Xss&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/7Z2Pk0y2Xss?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 and Robert Pr&#252;st spend an hour on Pester and why testing is the essential safety net for AI generated PowerShell. Given the Huntress story this week, the timing is uncomfortably good. &#128073; </p><h1><strong>Tony Redmond on Identifying Obsolete SharePoint Sites with PowerShell</strong></h1><p>Tony wrote up a Reddit question about identifying obsolete SharePoint Online sites and turned it into a full walkthrough for scanning a tenant with PowerShell. He pulls usage data from the Graph, cross references it against basic site properties from SharePoint, and lands on a report an admin can act on. The example filters for sites owned by inactive users with less than a gigabyte of data and no modifications since 2024, but the pattern is the useful part. Get-MgSite, Entra ID app registration, application permissions, hash table processing. Practical. </p><p>&#128073; <a href="https://office365itpros.com/2026/07/13/find-obsolete-sites/">https://office365itpros.com/2026/07/13/find-obsolete-sites/</a></p><p></p><h1><strong>Entra Connect Sync 2.6.84 Fixes What 2.6.79 Broke</strong></h1><p>A few weeks ago Microsoft released Entra Connect Sync 2.6.79, discovered a bug, and pulled it. Version 2.6.84 shipped Tuesday as the corrected release. If you deferred the last update cycle because of the pulled build, this is your green light. Andres has the release notes and installer link. </p><p>&#128073; <a href="https://blog.icewolf.ch/archive/2026/07/14/entra-connect-sync-2-6-84-released/">https://blog.icewolf.ch/archive/2026/07/14/entra-connect-sync-2-6-84-released/</a></p><h1><strong>Fred Weinmann Wraps Seven Years of Work on the Active Directory Management Framework</strong></h1><div id="youtube2-3lokn0WbPvs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3lokn0WbPvs&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/3lokn0WbPvs?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>Friedrich Weinmann from Microsoft Security Automation took over PowerShell Wednesday this week to walk through Active Directory Management Framework, the configuration as code project he has been building for seven and a half years. This week&#8217;s milestone ships the last major security piece the framework needed, and Fred rebuilt the website at admf.one in the same push. The pitch is straightforward. Put your entire AD topology, group policies, access rules, schema extensions, and delegations into source control, generate a diff between the plan and what is actually in your domain, then decide which changes you want to apply. This is where ADMF beats Desired State Configuration for real world AD work. DSC is all or nothing. ADMF lets you accept the seven changes you can push today and defer the three that depend on another team. Works for a single forest or for hundreds of them, runs locally or from a remote machine without a trust required, and Fred demoed the whole loop live against a real domain. </p><h1><strong>Microsoft.Graph PowerShell SDK 2.38.1 Released</strong></h1><p>A point release addressing issues in 2.38.0 shipped Monday. Andres notes both the Microsoft.Graph and Microsoft.Graph.Beta modules are updated. Given how many admins run into odd behaviors after the 2.38 line dropped in June, this is worth pulling into your baseline. </p><p>&#128073; <a href="https://blog.icewolf.ch/archive/2026/07/13/microsoft-graph-powershell-modules-2-38-1-released/">https://blog.icewolf.ch/archive/2026/07/13/microsoft-graph-powershell-modules-2-38-1-released/</a></p><h1><strong>Harm Veenstra Renewed as Microsoft MVP for 2026-2027</strong></h1><p>Great community news to close on. Harm Veenstra, who runs PowerShellIsFun.com and produces some of the most consistently useful practical PowerShell writing anywhere, was renewed as a Microsoft MVP for another year on Wednesday (yes, I noted above already, but he has a blog post on it haha). Harm has been publishing weekly on his blog for years, and his consistency is a big part of what makes him a community anchor. Congratulations. </p><p>&#128073; <a href="https://powershellisfun.com/2026/07/16/microsoft-powershell-mvp-2026-2027/">https://powershellisfun.com/2026/07/16/microsoft-powershell-mvp-2026-2027/</a></p><h1><strong>Events</strong></h1><p><strong>Midwest Tech Talk 2026</strong><span> | July 19 to 21, 2026 | Lake of the Ozarks, Missouri I am speaking at this one - actually keynoting :)</span></p><p>&#128073; https://www.midwesttechtalk.com/</p><p><strong>MMS Midway</strong><span> | October 25 to 28, 2026 | San Diego, California <br>The classic endpoint management and PowerShell conference moves to San Diego this fall. </span></p><p>&#128073; https://mmsmoa.com/</p><p><strong>SpiceWorld 2026</strong><span> | November 12 to 13, 2026 | Austin, Texas <br>Jeff Hicks is returning to Austin this fall to talk PowerShell at the annual Spiceworks community event. </span></p><p><span>&#128073; </span><a href="https://www.spiceworks.com/spiceworld/">https://www.spiceworks.com/spiceworld/</a></p><p><strong>Zero Trust World 2027</strong><span> | February 17 to 19, 2027 | Orlando, Florida </span></p><p>&#128073; https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2027</strong><span> | April 5 to 8, 2027 | Orlando, Florida <br>The flagship US PowerShell event moves to the Sheraton Lake Buena Vista in Orlando. </span></p><p>&#128073; https://powershellsummit.org/</p><p><strong>PSConfEU 2027</strong><span> | Dates and location to be announced SynEdgy is organizing the eleventh edition of PowerShell Conference <br></span>&#128073; 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[Merill Fernando Goes Full Time on Maester, PowerShell + Proxmox: Open Source Virtualization Unleashed ]]></title><description><![CDATA[+How to use Azure Functions to run PowerShell scripts in Entra ID Governance]]></description><link>https://www.powershell.news/p/merill-fernando-goes-full-time-on</link><guid isPermaLink="false">https://www.powershell.news/p/merill-fernando-goes-full-time-on</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 10 Jul 2026 10:03:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gD63!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong>Merill Fernando Goes Full Time on Maester</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_!gD63!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gD63!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gD63!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gD63!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gD63!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gD63!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.jpeg" width="1456" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:209526,&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/206333871?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.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_!gD63!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gD63!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gD63!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gD63!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99829a37-f5f3-45e7-a584-4817ea2782c8_2048x1406.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 aria-hidden="true" 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><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>Merill Fernando left Microsoft to focus entirely on Maester and ensure the open source tool continues evolving alongside Microsoft 365 security. To help fund the core project, his team just launched Maester Cloud as a portal companion that lets administrators track tenant results over time. Organizations can now sponsor the effort while gaining a multi tenant dashboard for their daily monitoring tasks. </p><p>&#128073; https://maester.cloud</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><strong>PowerShell + Proxmox: Open Source Virtualization Unleashed</strong> </h1><div id="youtube2-hA4G8NcRBi8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;hA4G8NcRBi8&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/hA4G8NcRBi8?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>Raimund Andree details how the German army uses the Dagger project to manage their mobile data centers. Following a major move away from VMware, this session demonstrates how they adapt the DSC workshop blueprint to fully automate Proxmox environments.</p><h1><strong>Hunting Down Inactive Distribution Lists</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_!g4GB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9986be6e-380a-4314-88d1-b0210a8201db_1422x720.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g4GB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9986be6e-380a-4314-88d1-b0210a8201db_1422x720.webp 424w, https://substackcdn.com/image/fetch/$s_!g4GB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9986be6e-380a-4314-88d1-b0210a8201db_1422x720.webp 848w, https://substackcdn.com/image/fetch/$s_!g4GB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9986be6e-380a-4314-88d1-b0210a8201db_1422x720.webp 1272w, https://substackcdn.com/image/fetch/$s_!g4GB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9986be6e-380a-4314-88d1-b0210a8201db_1422x720.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g4GB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9986be6e-380a-4314-88d1-b0210a8201db_1422x720.webp" width="1422" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9986be6e-380a-4314-88d1-b0210a8201db_1422x720.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1422,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:116214,&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/206333871?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9986be6e-380a-4314-88d1-b0210a8201db_1422x720.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_!g4GB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9986be6e-380a-4314-88d1-b0210a8201db_1422x720.webp 424w, https://substackcdn.com/image/fetch/$s_!g4GB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9986be6e-380a-4314-88d1-b0210a8201db_1422x720.webp 848w, https://substackcdn.com/image/fetch/$s_!g4GB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9986be6e-380a-4314-88d1-b0210a8201db_1422x720.webp 1272w, https://substackcdn.com/image/fetch/$s_!g4GB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9986be6e-380a-4314-88d1-b0210a8201db_1422x720.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 aria-hidden="true" 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><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 updated his script for finding inactive distribution lists to use the newer Get-MessageTraceV2 cmdlet. Because the cmdlet restricts queries to ten day windows, the revised code loops through nine separate chunks to build a full ninety day history of group expansion events. The script then compares your existing groups against that compiled history to help you safely clean up stale objects. </p><p>&#128073; <a href="https://office365itpros.com/2026/07/09/inactive-distribution-list-2026/">https://office365itpros.com/2026/07/09/inactive-distribution-list-2026/</a></p><p></p><h1><strong>Building Better SharePoint with PowerShell with Dan Adams</strong> | The PowerShell Podcast</h1><div id="youtube2-OLsTaKC9GmM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;OLsTaKC9GmM&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/OLsTaKC9GmM?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 Pla sits down with Microsoft 365 veteran Dan Adams to discuss the often misunderstood world of SharePoint and the shift toward Microsoft Graph. They dive into a custom PowerShell module Dan built for assessing and benchmarking tenant environments, proving that the bad reputation of SharePoint is usually about the builder instead of the platform itself.</p><p></p><h1><strong>Delivering a PowerShell Mail Solution</strong></h1><p>Jeff Hicks wraps up his recent scripting challenge by finalizing his custom PowerShell mail delivery tool. The latest installment covers handling file attachments using native .NET classes and managing SMTP configuration data. He reminds readers that the process of building the module teaches more than the final code itself. </p><p>&#128073; <a href="https://buttondown.com/behind-the-powershell-pipeline/archive/delivering-a-powershell-mail-solution/">https://buttondown.com/behind-the-powershell-pipeline/archive/delivering-a-powershell-mail-solution/</a></p><p></p><h1><strong>Microsoft Graph with PowerShell 101</strong></h1><div id="youtube2-6fOeQLGBo18" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6fOeQLGBo18&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/6fOeQLGBo18?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>Jan-Hendrik Peters delivers an essential primer on navigating Microsoft Graph using PowerShell. This session breaks down the fundamentals of authentication and querying to help administrators transition away from legacy modules.</p><p></p><h1><strong>Using the PowerShell Webserver Module</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_!F9lv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F9lv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.webp 424w, https://substackcdn.com/image/fetch/$s_!F9lv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.webp 848w, https://substackcdn.com/image/fetch/$s_!F9lv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.webp 1272w, https://substackcdn.com/image/fetch/$s_!F9lv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F9lv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.webp" width="1059" height="460" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:460,&quot;width&quot;:1059,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:24888,&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/206333871?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.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_!F9lv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.webp 424w, https://substackcdn.com/image/fetch/$s_!F9lv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.webp 848w, https://substackcdn.com/image/fetch/$s_!F9lv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.webp 1272w, https://substackcdn.com/image/fetch/$s_!F9lv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2550e1-e730-4ddd-ba07-e508352bedad_1059x460.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 aria-hidden="true" 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><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>Microsoft MVP Harm Veenstra highlights a community module that lets you spin up a local web server without installing IIS. The tool leverages native .NET classes to provide a quick interface for remote command execution, script execution, and file transfers. While not meant for production environments, it offers a fantastic lightweight option for home labs and quick testing.</p><p>&#128073; <a href="https://powershellisfun.com/2026/07/03/using-the-powershell-webserver-module/">https://powershellisfun.com/2026/07/03/using-the-powershell-webserver-module/</a></p><p></p><h1><strong>How to use Azure Functions to run PowerShell scripts in Entra ID Governance</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_!xjPl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xjPl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif 424w, https://substackcdn.com/image/fetch/$s_!xjPl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif 848w, https://substackcdn.com/image/fetch/$s_!xjPl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif 1272w, https://substackcdn.com/image/fetch/$s_!xjPl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xjPl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif" width="937" height="711" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:711,&quot;width&quot;:937,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:65764,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/206333871?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xjPl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif 424w, https://substackcdn.com/image/fetch/$s_!xjPl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif 848w, https://substackcdn.com/image/fetch/$s_!xjPl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif 1272w, https://substackcdn.com/image/fetch/$s_!xjPl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b5bd855-5fd7-43ce-86ac-21068772f1a2_937x711.avif 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 aria-hidden="true" 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><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>Christian Frohn explains how to replace an Azure Automation account with an Azure Function for Lifecycle Workflows. The guide covers adapting existing PowerShell scripts to accept HTTP requests and return proper status codes instead of standard exit commands. You will also find steps for deploying the setup through Azure DevOps pipelines and configuring Logic Apps to handle the final task result. </p><p>&#128073; <a href="https://www.christianfrohn.dk/2026/07/01/how-to-use-azure-functions-to-run-powershell-scripts-in-entra-id-governance/">https://www.christianfrohn.dk/2026/07/01/how-to-use-azure-functions-to-run-powershell-scripts-in-entra-id-governance/</a></p><p></p><h1><strong>Events</strong></h1><p><strong>Midwest Tech Talk 2026</strong><span> | July 19 to 21, 2026 | Lake of the Ozarks, Missouri I am speaking at this one in just over two weeks. Kickoff event Sunday July 19, main conference Monday and Tuesday at The Resort at Lake of the Ozarks, with an evening event Monday hosted by Provision Data Solutions. Two day K12 technology and security symposium built by folks who actually run school district tech departments, doubling as the K12TechPro Regional Meetup for the Midwest. If you are in K12 IT anywhere in the region, this is the one to make this summer.</span></p><p>&#128073; https://www.midwesttechtalk.com/</p><p><strong>MMS Midway</strong><span> | October 25 to 28, 2026 | San Diego, California The classic endpoint management and PowerShell conference moves to San Diego this fall. Strong K12 IT representation if you are looking for peers in that space.</span></p><p>&#128073; https://mmsmoa.com/</p><p><strong>SpiceWorld 2026</strong><span> | November 12 to 13, 2026 | Austin, Texas Jeff Hicks is returning to Austin this fall to talk PowerShell at the annual Spiceworks community event. The pricing is genuinely reasonable for the caliber of content, and if you have a hybrid IT day job the tracks tend to hit the practical stuff you can use Monday morning.</span></p><p><span>&#128073; </span><a href="https://www.spiceworks.com/spiceworld/">https://www.spiceworks.com/spiceworld/</a></p><p><strong>Zero Trust World 2027</strong><span> | February 17 to 19, 2027 | Orlando, Florida ThreatLocker&#8217;s seventh annual cybersecurity training event lands at Rosen Shingle Creek in Orlando. Three days of hands on training, real attack technique walkthroughs, hacking labs, and Cyber Hero Certification exam sessions every morning. If you defend an environment for a living, this one is built for you.</span></p><p>&#128073; https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2027</strong><span> | April 5 to 8, 2027 | Orlando, Florida The flagship US PowerShell event moves to the Sheraton Lake Buena Vista in Orlando. Call for papers opened Wednesday and runs through the summer, and early bird registration is open now. The OnRamp program for newcomers runs alongside the main track.</span></p><p>&#128073; https://powershellsummit.org/</p><p><strong>PSConfEU 2027</strong><span> | Dates and location to be announced SynEdgy is organizing the eleventh edition of PowerShell Conference Europe after this year&#8217;s tenth anniversary run in Wiesbaden. Watch psconf.eu for the announcement, which typically lands toward the end of summer.</span></p><p>&#128073; 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[Andres Bohren Ran the Module Release Board All Week, Defender Alerts Come to Graph]]></title><description><![CDATA[+Jeff Hicks Says Goodbye to the Lonely Administrator Blog]]></description><link>https://www.powershell.news/p/andres-bohren-ran-the-module-release</link><guid isPermaLink="false">https://www.powershell.news/p/andres-bohren-ran-the-module-release</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 03 Jul 2026 13:30:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YIjv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>Two days ago, on Wednesday, the Microsoft 365 ecosystem hit its yearly reset button. License prices went up across the catalog, Intune Suite features folded into E3 and E5, AutoRest retired from active support, and Tony Redmond shipped the biggest edition change to his flagship book in a decade. The 2027 edition of what has been Office 365 for IT Pros for eleven years is now Microsoft 365 for IT Pros, split across four separate books totaling more than 1,700 pages. If you have not opened your renewal code yet, that is the reason to do it this weekend.</span></p><p><span>Elsewhere the community kept moving. Andres Bohren posted through the holiday week with module release notes, Tony followed up his book launch with practical pieces on Teams and Copilot, and Jeff Hicks used his June potluck to say goodbye to the Lonely Administrator blog. </span></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><span>I have had numerous serious udpateds to my PSGuerrilla module (Install-Module PSGuerrilla) - </span><a href="https://github.com/jimrtyler/PSGuerrilla">https://github.com/jimrtyler/PSGuerrilla</a> - Any feedback would be greatly appreciated! We are now sitting at v2.38.0. </p><p><span>Congrats to all of the new Microsoft MVPs that were welcomed to the program this week!</span></p><h1><strong>Build Your Own PowerShell AI Terminal Copilot</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_!YIjv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YIjv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!YIjv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!YIjv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!YIjv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YIjv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87fed79a-d20e-4061-b978-2ccde32aee24_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;:1841173,&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/204906783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_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_!YIjv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!YIjv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!YIjv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!YIjv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fed79a-d20e-4061-b978-2ccde32aee24_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 aria-hidden="true" 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><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 demonstrates how to construct a custom AI terminal assistant using PowerShell and Azure OpenAI. His two script solution takes natural language requests and generates the exact commands needed alongside a built in risk assessment system to prevent accidental infrastructure damage. This approach provides a highly customizable alternative to commercial tools by letting administrators control execution safety directly from the shell.</p><p>&#128073; <a href="https://bartpasmans.tech/powershell-ai-terminal-copilot/">https://bartpasmans.tech/powershell-ai-terminal-copilot/</a></p><div><hr></div><h1><strong><span>Microsoft 365 for IT Pros 2027 Edition Ships as a Four Book Bundle</span></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_!ONqA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd90378e3-44d2-4572-857e-9d3849035b84_1680x595.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ONqA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd90378e3-44d2-4572-857e-9d3849035b84_1680x595.webp 424w, https://substackcdn.com/image/fetch/$s_!ONqA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd90378e3-44d2-4572-857e-9d3849035b84_1680x595.webp 848w, https://substackcdn.com/image/fetch/$s_!ONqA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd90378e3-44d2-4572-857e-9d3849035b84_1680x595.webp 1272w, https://substackcdn.com/image/fetch/$s_!ONqA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd90378e3-44d2-4572-857e-9d3849035b84_1680x595.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ONqA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd90378e3-44d2-4572-857e-9d3849035b84_1680x595.webp" width="1456" height="516" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d90378e3-44d2-4572-857e-9d3849035b84_1680x595.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:516,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:644230,&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/204906783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd90378e3-44d2-4572-857e-9d3849035b84_1680x595.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_!ONqA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd90378e3-44d2-4572-857e-9d3849035b84_1680x595.webp 424w, https://substackcdn.com/image/fetch/$s_!ONqA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd90378e3-44d2-4572-857e-9d3849035b84_1680x595.webp 848w, https://substackcdn.com/image/fetch/$s_!ONqA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd90378e3-44d2-4572-857e-9d3849035b84_1680x595.webp 1272w, https://substackcdn.com/image/fetch/$s_!ONqA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd90378e3-44d2-4572-857e-9d3849035b84_1680x595.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 aria-hidden="true" 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><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><span>Tony Redmond and the Office 365 for IT Pros team published the 2027 edition on Wednesday, and the rename to Microsoft 365 for IT Pros is only the headline change. The bundle now consists of four separate books. The main Microsoft 365 for IT Pros volume sits at just over 900 pages after being trimmed from the roughly 1,300 pages the 2026 edition carried. The 431 page Automating Microsoft 365 with PowerShell third edition that Tony launched last week is book two. The Microsoft Purview for IT Pros and Power Platform for IT Pros volumes are new standalone books built from four chapters lifted out of the main volume. The main book carries a new Managing AI and Agents chapter covering Microsoft 365 Copilot, Agent 365, and Work IQ. If you subscribed to the 2026 edition, the renewal code landed in your inbox on Wednesday morning. </span></p><p><span>&#128073; </span><a href="https://office365itpros.com/2026/07/01/microsoft-365-for-it-pros/"><span>https://office365itpros.com/2026/07/01/microsoft-365-for-it-pros/</span></a></p><p></p><h1><strong>Jeff Hicks June Potluck Marks the End of The Lonely Administrator</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_!l9Sb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l9Sb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.png 424w, https://substackcdn.com/image/fetch/$s_!l9Sb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.png 848w, https://substackcdn.com/image/fetch/$s_!l9Sb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.png 1272w, https://substackcdn.com/image/fetch/$s_!l9Sb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l9Sb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.png" width="1250" height="604" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:604,&quot;width&quot;:1250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97114,&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/204906783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.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_!l9Sb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.png 424w, https://substackcdn.com/image/fetch/$s_!l9Sb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.png 848w, https://substackcdn.com/image/fetch/$s_!l9Sb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.png 1272w, https://substackcdn.com/image/fetch/$s_!l9Sb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51659c14-fcd6-4a62-93fc-178b3b3e575d_1250x604.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 aria-hidden="true" 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><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 used his June potluck for the news on the SecretManagement archive and the Summit 2027 CFP opening, plus a run through the PSReadline CopyScreen key handler that lets you select terminal output with the shift arrow keys and copy it to the clipboard on Enter. He also drops a recommendation for The Microsoft DSC Handbook on Leanpub covering DSC v3, announces his return to SpiceWorld in Austin on November 12 and 13, and closes with the news that he is deprecating his long running WordPress blog The Lonely Administrator later this year. If you have posts from there you have relied on over the years, grab them now while they are still online. The scripting challenge this month is a VHD backup tool that pushes on both PowerShell and storage fundamentals. </p><p>&#128073; <a href="https://buttondown.com/behind-the-powershell-pipeline/archive/">https://buttondown.com/behind-the-powershell-pipeline/archive/</a></p><p></p><h1><strong><span>Andres Bohren Ran the Module Release Board All Week</span></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_!LQZC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LQZC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.webp 424w, https://substackcdn.com/image/fetch/$s_!LQZC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.webp 848w, https://substackcdn.com/image/fetch/$s_!LQZC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.webp 1272w, https://substackcdn.com/image/fetch/$s_!LQZC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LQZC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.webp" width="754" height="1023" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1023,&quot;width&quot;:754,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:54368,&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/204906783?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.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_!LQZC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.webp 424w, https://substackcdn.com/image/fetch/$s_!LQZC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.webp 848w, https://substackcdn.com/image/fetch/$s_!LQZC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.webp 1272w, https://substackcdn.com/image/fetch/$s_!LQZC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43ca7404-d24d-4b27-8780-3e9554f8346c_754x1023.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 aria-hidden="true" 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><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><span>Andres Bohren kept his usual pace through the holiday week and shipped four module release notes worth pulling. Microsoft published a new version of the MicrosoftPlaces PowerShell module on both June 30 and July 3, so you probably want the July 3 build if you have not updated recently. Microsoft.Online.SharePoint.PowerShell 16.0.27424.12000 landed on June 30 with the usual mix of authentication and provisioning refinements. Microsoft shipped a new PowerToys build this week that Andres notes on July 3 for anyone running the utility suite. And Git ticked up to 2.55.0 on July 1, which Andres covers with his usual install walkthrough using winget. If you follow one blog for Microsoft module release notes, Andres is still the one to read. </span></p><p><span>&#128073; </span><a href="https://blog.icewolf.ch/">https://blog.icewolf.ch/</a></p><p></p><h1><strong>Teaching Tara: PowerShell Script Breakdown</strong> </h1><div id="youtube2-WCJMiEhKRG0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;WCJMiEhKRG0&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/WCJMiEhKRG0?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 and Tara Sinquefield sit down together and read through scripts as a team. Tara asks the beginner questions the rest of us stopped asking a long time ago, and Andrew explains variables, param blocks, sub expressions, calculated properties, and the pipeline at the pace of someone just starting to learn. If you have anyone on your team who is trying to pick up PowerShell, this is the episode to send them. Bonus AI discussion at the end on where Claude and ChatGPT actually help learners versus lead them into bad habits. </p><h1><strong>Morten Mynster Kristensen Spots New Graph Beta Permissions for Creating Defender Alerts</strong></h1><p>Fellow PowerShell MVP and LeastPrivilegedMSGraph author Morten Mynster Kristensen flagged this week that Microsoft quietly landed two new Beta permissions on Microsoft Graph, SecurityAlert.Create.All in both delegated and application forms. The endpoint at /security/alerts_v2 now accepts POST, which means you can create your own alerts in Microsoft Defender XDR from PowerShell rather than only reading them. For anyone who has built detection logic in a script and had to route the output to email, a Teams webhook, or a Sentinel ingestion pipeline, the ability to write directly into the Defender queue is a meaningful architectural shift. I plan to get support for this into my PSGuerrilla module. <br><br>&#128073; <a href="https://www.linkedin.com/posts/mortenmynster_powershell-msgraph-automation-activity-7345854938947694593">https://www.linkedin.com/posts/mortenmynster_powershell-msgraph-automation-activity-7345854938947694593</a></p><h1><strong><span>Tony Redmond on the Small Window for Incoming Teams Calls</span></strong></h1><p><span>Tony Redmond writes that a recent Microsoft Teams improvement is buried deep enough in settings that most users will never find it. Incoming Teams calls can now be answered in a small window rather than the full application view, and for people who take a lot of calls the difference is real. You can keep working in your primary application while the call runs in a small overlay rather than losing your context every time somebody rings. Tony&#8217;s frustration with the discoverability of the feature is fair. If you are a busy person on Teams, this is worth changing this weekend so it is on the next time you need it. </span></p><p><span>&#128073; </span><a href="https://office365itpros.com/2026/06/30/teams-small-window/"><span>https://office365itpros.com/2026/06/30/teams-small-window/</span></a></p><p></p><h1><strong>PowerShell with Buttons</strong> </h1><div id="youtube2-yzc6jnZXEYM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;yzc6jnZXEYM&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/yzc6jnZXEYM?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 and Stephen Valdinger at PSConfEU 2026 The PSConfEU 2026 session recording landed this week and it is a full ninety minute hands on walkthrough of PowerShell Universal from the two of them. Stephen Valdinger from Chocolatey Software leads the technical demo, Andrew Pla plays the perfect stand in for anyone getting reintroduced to PSU after a break, and the pair walk through turning a real PowerShell module into a full web application with a REST API layer, a SQLite back end, forms, dashboards, Pester unit tests, PSPlayright UI tests, and a new plaster template that scaffolds a full PSU app module for you in one command. This is the practical content that sends you straight to Adam Driscoll&#8217;s docs Sunday afternoon.  </p><p></p><h1><strong><span>Windows 11 26H2 Prep Time Starts Now</span></strong></h1><p><span>Microsoft published the initial 26H2 announcement in late June and the message from the community is start testing. Jason Leznek&#8217;s Windows IT Pro Blog piece covers the upgrade paths, the Autopatch pilot to production strategy, and the tracking mechanisms available to walk your fleet through a controlled rollout. For K12 shops with student devices in the field, summer is the window to get the pilot ring stood up before the school year starts. The changes are not disruptive on the surface but the Autopatch story continues to mature and the discipline of running the pilot correctly compounds over years. </span></p><p><span>&#128073; </span><a href="https://techcommunity.microsoft.com/t5/windows-it-pro-blog/get-ready-for-windows-11-version-26h2/ba-p/4529367"><span>https://techcommunity.microsoft.com/t5/windows-it-pro-blog/get-ready-for-windows-11-version-26h2/ba-p/4529367</span></a></p><p></p><h1><strong>Encore: Lessons in Leadership from PowerShell Pioneers Jeffrey Snover and Don Jones</strong> </h1><div id="youtube2-51w_lWFIfqU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;51w_lWFIfqU&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/51w_lWFIfqU?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 encore of the April 28, 2025 conversation recorded live at the PowerShell + DevOps Global Summit dropped fresh this week. Snover walks through the origin story of PowerShell and the pivotal moment his path crossed with Don&#8217;s, Don brings his usual thoughtful reflection on the shift from individual contributor to leader, and the throughline is that vulnerability, repetition, and kindness are core to any real career. </p><h1><strong>PSConfEU 2026 Session Archive</strong> </h1><p>The rest of the PSConfEU 2026 sessions from Wiesbaden continue to upload on the SynEdgy channel through the summer. I shared Andrew&#8217;s above, but I could frankly load the newsletter if I wanted to. Deep technical content across PowerShell, DSC, PSU, security, and community sessions from the tenth anniversary edition of the conference. </p><p>&#128073; <a href="https://www.youtube.com/@synedgy">https://www.youtube.com/@synedgy</a></p><p></p><h3>Events</h3><p><strong>Midwest Tech Talk 2026</strong> | July 19 to 21, 2026 | Lake of the Ozarks, Missouri I am speaking at this one in just over two weeks. Kickoff event Sunday July 19, main conference Monday and Tuesday at The Resort at Lake of the Ozarks, with an evening event Monday hosted by Provision Data Solutions. Two day K12 technology and security symposium built by folks who actually run school district tech departments, doubling as the K12TechPro Regional Meetup for the Midwest. If you are in K12 IT anywhere in the region, this is the one to make this summer. </p><p>&#128073; https://www.midwesttechtalk.com/</p><p><strong>MMS Midway</strong> | October 25 to 28, 2026 | San Diego, California The classic endpoint management and PowerShell conference moves to San Diego this fall. Strong K12 IT representation if you are looking for peers in that space. </p><p>&#128073; https://mmsmoa.com/</p><p><strong>SpiceWorld 2026</strong> | November 12 to 13, 2026 | Austin, Texas Jeff Hicks is returning to Austin this fall to talk PowerShell at the annual Spiceworks community event. The pricing is genuinely reasonable for the caliber of content, and if you have a hybrid IT day job the tracks tend to hit the practical stuff you can use Monday morning. </p><p>&#128073; <a href="https://www.spiceworks.com/spiceworld/">https://www.spiceworks.com/spiceworld/</a></p><p><strong>Zero Trust World 2027</strong> | February 17 to 19, 2027 | Orlando, Florida ThreatLocker&#8217;s seventh annual cybersecurity training event lands at Rosen Shingle Creek in Orlando. Three days of hands on training, real attack technique walkthroughs, hacking labs, and Cyber Hero Certification exam sessions every morning. If you defend an environment for a living, this one is built for you. </p><p>&#128073; https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2027</strong> | April 5 to 8, 2027 | Orlando, Florida The flagship US PowerShell event moves to the Sheraton Lake Buena Vista in Orlando. Call for papers opened Wednesday and runs through the summer, and early bird registration is open now. The OnRamp program for newcomers runs alongside the main track. </p><p>&#128073; https://powershellsummit.org/</p><p><strong>PSConfEU 2027</strong> | Dates and location to be announced SynEdgy is organizing the eleventh edition of PowerShell Conference Europe after this year&#8217;s tenth anniversary run in Wiesbaden. Watch psconf.eu for the announcement, which typically lands toward the end of summer. </p><p>&#128073; 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[Tenant Graph for Visualizing Intune and Entra Relationships]]></title><description><![CDATA[+ 3 Big Demos from the PS Community Call]]></description><link>https://www.powershell.news/p/tenant-graph-for-visualizing-intune</link><guid isPermaLink="false">https://www.powershell.news/p/tenant-graph-for-visualizing-intune</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 26 Jun 2026 17:30:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1O94!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong>Microsoft Ships DSC 3.3.0, Jorge Suarez Ships Tenant Graph for Visualizing Intune and Entra Relationships</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_!1O94!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1O94!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif 424w, https://substackcdn.com/image/fetch/$s_!1O94!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif 848w, https://substackcdn.com/image/fetch/$s_!1O94!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!1O94!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1O94!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif" width="900" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:22747078,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/203618769?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1O94!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif 424w, https://substackcdn.com/image/fetch/$s_!1O94!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif 848w, https://substackcdn.com/image/fetch/$s_!1O94!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!1O94!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd17806f8-07f0-4b31-8bee-9cb40f71c81e_900x480.gif 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 aria-hidden="true" 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><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>Fellow PowerShell MVP Jorge Suarez of IntuneHydrationKit fame shipped Tenant Graph, a free open source web app that renders Intune and Entra ID assignments as an interactive Three.js topology. Sign in with Microsoft Entra to search across users, devices, groups, apps, policies, and Conditional Access, with a Readable Mode that explains relationships in plain language and an admin impact panel for blast radius. The sample tenant at tenantgraph.com lands you in a Lumon themed demo with no auth required, so you can poke around before granting delegated Graph scopes against production.<br>&#128073;<a href="https://github.com/jorgeasaurus/TenantGraph">https://github.com/jorgeasaurus/TenantGraph</a></p><h1>Three big demos from the June PowerShell Community Call</h1><div id="youtube2-D068G5HfXxU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;D068G5HfXxU&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/D068G5HfXxU?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>Jason Helmick called the June PowerShell Community Call the summer edition, and what showed up was about as loaded a single hour as the call has run in a while. The PSConfEU recap took a few minutes. The servicing updates and a real warning about Azure AD Graph traffic took a few more. The Az PowerShell team showed off a login flow improvement that quietly fixes a problem every enterprise administrator has hit. And then three demos landed back to back to back, each of which would have been a headline in any other month. If you only have time to watch one segment of the recording, watch the demos. If you have time for the whole thing, the housekeeping is genuinely worth it this time.</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><strong>Microsoft Ships DSC 3.3.0-preview.3 with New Windows Resources and Server Mode</strong></h1><p>Steve Lee dropped DSC 3.3.0-preview.3 on Wednesday with a handful of changes worth your attention. The build adds a Microsoft.Windows/WindowsFeatureList resource from Gijs Reijn for managing optional Windows features through DSC, plus a new Registry Adapter and Microsoft.Windows/Personalization resource that lets you target the registry for personalization configuration without writing a custom resource. Steve also renamed the previous MCP mode to Server mode, which is a cleaner name now that the protocol has settled into the broader tooling ecosystem. PSAdapter got two notable fixes from Steve, one for stream event tracing and one for modules with ScriptsToProcess that used to break. If you are testing DSC v3 in production, this is the preview to pull this weekend. </p><p> &#128073;<a href="https://github.com/PowerShell/DSC/releases/tag/v3.3.0-preview.3">https://github.com/PowerShell/DSC/releases/tag/v3.3.0-preview.3</a></p><h1><strong>Andrew Pla and Leo D&#8217;Arcy Make the Case for Code Signing in CI/CD</strong></h1><div id="youtube2-BidUaXtwUNM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;BidUaXtwUNM&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/BidUaXtwUNM?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 Pla sat down with UK based cloud solutions architect Leo D&#8217;Arcy on The PowerShell Podcast for a candid conversation on Active Directory Certificate Services, code signing, and why so many organizations get PKI spectacularly wrong. The practical takeaway is the argument for adding a code signing step to your CI/CD pipeline as a scalable alternative to constrained language mode, which gives you cryptographic proof that scripts have not been tampered with without giving up flexibility. Leo runs the Remote Access User Group community on Discord and is a repeat PSConfEU speaker, so the conversation also ranges into the developer mindset taking over IT and why being able to talk networking with network engineers and business outcomes with leadership is the real career multiplier.<br></p><h1><strong>Automating Microsoft 365 with PowerShell 3rd Edition Ships</strong></h1><p>Tony Redmond and the Office 365 for IT Pros team published the third edition of Automating Microsoft 365 with PowerShell on Tuesday. The new edition runs 431 pages across eight chapters and is available now in EPUB and PDF from Gumroad, with the paperback landing on Amazon July 1. Coverage spans the base Microsoft 365 workloads, the Graph PowerShell SDK, Entra ID administration, workload automation, and the management APIs for sign in logs and audit data. The book comes bundled with the Microsoft 365 for IT Pros 2027 edition that also drops July 1, and current subscribers have already received the renewal code. If you write PowerShell for Microsoft 365 every day, this is the one to have on your desk. </p><p>&#128073; <a href="https://office365itpros.com/2026/06/23/automating-microsoft-365-3rd/">https://office365itpros.com/2026/06/23/automating-microsoft-365-3rd/</a></p><h1><strong>Microsoft Graph SDK V2.38 and Exchange Online Module Refuse to Get Along</strong></h1><p>Tony Redmond writes that the newest Microsoft Graph PowerShell SDK at V2.38 and the latest Exchange Online Management module are not playing nicely together, and the situation is getting worse rather than better. Loading both into the same session leads to assembly version conflicts that break authentication or cmdlet behavior in ways that are not always obvious until your script halts mid run. Tony goes through the workarounds, including running the two modules in separate sessions, and uses the post to highlight two cmdlets he discovered along the way that most administrators have probably never used. Worth a read before you trust a hybrid script in production. </p><p>&#128073; <a href="https://office365itpros.com/2026/06/22/powershell-woes-and-cmdlets/">https://office365itpros.com/2026/06/22/powershell-woes-and-cmdlets/</a></p><h1><strong>Find Inactive Teams Channels with Graph PowerShell</strong></h1><p>Tenants accumulate inactive Teams channels the same way garages accumulate cardboard. Tony Redmond walks through a PowerShell approach for finding channels that nobody has touched in months using the Microsoft Graph PowerShell SDK. The script pulls channel metadata, checks the last activity date, and gives you a sorted list of candidates to either archive or remove. What you do with the output is your call, but having a defensible list before the next governance review is a good start. Pair this with Tony&#8217;s deleted Teams chat threads piece from last week for a fuller Teams hygiene toolkit. </p><p>&#128073; <a href="https://office365itpros.com/2026/06/24/find-inactive-channels/">https://office365itpros.com/2026/06/24/find-inactive-channels/</a></p><h1><strong>Andres Bohren Ships M365 Service Monitor PowerShell 1.7</strong></h1><p>Andres Bohren updated his M365 Service Monitor script to version 1.7 this week with two practical fixes worth picking up. The June 17 patch fixed the modern HTML rendering for Outlook classic, which was breaking the dashboard for anyone still on the legacy client. The June 14 patch fixed path issues that tripped scheduled runs and added the date to the HTML output so you can see at a glance when the report last ran. The script polls the Service Communications API and produces a clean status dashboard you can drop into a SharePoint page or email out on a schedule. The GitHub repo has the full update notes and the latest module. </p><p>&#128073; <a href="https://blog.icewolf.ch/archive/2026/06/24/basic-M365-monitoring-with-powershell-1-7/">https://blog.icewolf.ch/archive/2026/06/24/basic-M365-monitoring-with-powershell-1-7/</a></p><h1><strong>What Do You Really Get with Intune Suite in E3 and E5</strong></h1><p>Andrew Taylor wrote the Intune Suite breakdown you want to read before July 1. Starting next Wednesday, Intune Suite features fold into Microsoft 365 E3 and E5 instead of requiring a separate add on, and Andrew walks through what each component does and how much of it you will actually use. He covers Endpoint Privilege Management, Remote Help with unattended access, Advanced Analytics with Device Query and Multi Device Query, Microsoft Tunnel for mobile app access to on premise resources, and Cloud PKI. If you have been paying for the Intune Suite add on separately, you may be about to free up budget. If you have not, you may be about to get capabilities you did not know you had. </p><p>&#128073; <a href="https://andrewstaylor.com/2026/06/24/what-do-i-really-get-with-intune-suite/">https://andrewstaylor.com/2026/06/24/what-do-i-really-get-with-intune-suite/</a></p><h1><strong>Events</strong></h1><blockquote><p><strong>Midwest Tech Talk 2026</strong><span> | July 19 to 21, 2026 | Lake of the Ozarks, Missouri I am speaking at this one. Kickoff event Sunday July 19, main conference Monday and Tuesday at The Resort at Lake of the Ozarks, with an evening event Monday hosted by Provision Data Solutions. Two day K12 technology and security symposium built by folks who actually run school district tech departments, doubling as the K12TechPro Regional Meetup for the Midwest. If you are in K12 IT anywhere in the region, this is the one to make this summer.</span></p><p>https://www.midwesttechtalk.com/</p><p><strong>MMS Midway</strong><span> | October 25 to 28, 2026 | San Diego, California The classic endpoint management and PowerShell conference moves to San Diego this fall. Strong K12 IT representation if you are looking for peers in that space.</span></p><p>https://mmsmoa.com/</p><p><strong>Zero Trust World 2027</strong><span> | February 17 to 19, 2027 | Orlando, Florida ThreatLocker&#8217;s seventh annual cybersecurity training event lands in Orlando. Three days of hands on training, real attack technique walkthroughs, hacking labs, and Cyber Hero Certification exam sessions every morning. It was a blast this year - I&#8217;d recommend you check it out. It&#8217;s not very expensive.</span></p><p>https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2027</strong><span> | April 26 to 29, 2027 | Bellevue, Washington The flagship US PowerShell event. Registration tends to fill early, and the call for speakers usually opens in late summer if you are thinking about submitting.</span></p><p>https://powershellsummit.org/</p><p><strong>PSConfEU 2027</strong><span> | Dates and location to be announced SynEdgy is organizing the eleventh edition of PowerShell Conference Europe after this year&#8217;s tenth anniversary run in Wiesbaden. Watch psconf.eu for the announcement, which typically lands toward the end of summer.</span></p><p>https://psconf.eu/</p></blockquote><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 v7.6.3 Drops, PSGuerrilla v2.10.7 Releases with GUI and Numerous Bug Fixes]]></title><description><![CDATA[+Conference Videos for PowerShell Summit and PSConfEU Drop]]></description><link>https://www.powershell.news/p/powershell-v763-drops-psguerrilla</link><guid isPermaLink="false">https://www.powershell.news/p/powershell-v763-drops-psguerrilla</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 19 Jun 2026 13:11:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vjvc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I am happy to announce the release of PSGuerrilla v2.10.7, a tremendous improvement of the previous version that now has a fancy WPF GUI. As a reminder, PSGuerrilla is a robust security auditing platform that has over 400 different audits for Active Directory, Entra/Azure/M365, and Google Workspace. You can read more about what it specifically does at https://guerrilla.army<br><br>It is incredibly easy to install, it&#8217;s now in PSGallery, so you just need to run:</p><p><code>Install-Module PSGuerrilla</code></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vjvc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vjvc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif 424w, https://substackcdn.com/image/fetch/$s_!vjvc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif 848w, https://substackcdn.com/image/fetch/$s_!vjvc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!vjvc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vjvc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif" width="920" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:920,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2069717,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/202710278?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vjvc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif 424w, https://substackcdn.com/image/fetch/$s_!vjvc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif 848w, https://substackcdn.com/image/fetch/$s_!vjvc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!vjvc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefee88a9-24d8-4c8c-a528-3f7f828c6ac4_920x480.gif 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 aria-hidden="true" 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><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>Then, you can now launch the GUI with</p><p><code>Show-Guerrilla</code></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wSCE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wSCE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif 424w, https://substackcdn.com/image/fetch/$s_!wSCE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif 848w, https://substackcdn.com/image/fetch/$s_!wSCE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!wSCE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wSCE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif" width="730" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:730,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3150143,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.powershell.news/i/202710278?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wSCE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif 424w, https://substackcdn.com/image/fetch/$s_!wSCE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif 848w, https://substackcdn.com/image/fetch/$s_!wSCE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!wSCE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00599285-5bd4-4e3c-9a04-0426c7837f6b_730x480.gif 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 aria-hidden="true" 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><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>And get a nice fancy report like this one, though hopefully not this failed :)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6hkP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6hkP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.png 424w, https://substackcdn.com/image/fetch/$s_!6hkP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.png 848w, https://substackcdn.com/image/fetch/$s_!6hkP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.png 1272w, https://substackcdn.com/image/fetch/$s_!6hkP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6hkP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.png" width="1040" height="896" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:896,&quot;width&quot;:1040,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45178,&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/202710278?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.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_!6hkP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.png 424w, https://substackcdn.com/image/fetch/$s_!6hkP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.png 848w, https://substackcdn.com/image/fetch/$s_!6hkP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.png 1272w, https://substackcdn.com/image/fetch/$s_!6hkP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F374ea761-0ae7-4c21-9f35-977e5f285b00_1040x896.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 aria-hidden="true" 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><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><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><strong>Videos, Videos, Videos!!!</strong></h1><p>The PowerShell Global DevOps Summit videos are now LIVE! They began dropping videos earlier this week. Here is the entire playlist.  </p><div id="youtube2-60k9-AEpF8o" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;60k9-AEpF8o&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/60k9-AEpF8o?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 Same for PSConfEU! Everything is live on here on this playlist: </p><div id="youtube2-N2wsewjgEHA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;N2wsewjgEHA&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/N2wsewjgEHA?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><h1><strong>How Much Will July 2026 License Increases Cost Your Tenant</strong></h1><p>July 1, 2026, is the day Microsoft starts charging tenants more for nearly every license in the M365 catalog. Tony Redmond serves up a PowerShell script that retrieves the licenses assigned across your users, applies the published increase rates for each affected product, and returns the real monthly impact for your tenant. The increase rates vary by SKU and the script handles the variation cleanly. If you have not already had this conversation with your finance team, this is the read for this weekend. Pair it with last week&#8217;s piece on stale accounts and you have a complete pre July audit kit. </p><p><a href="https://office365itpros.com/2026/06/16/monthly-license-increase-july-2026/">https://office365itpros.com/2026/06/16/monthly-license-increase-july-2026/</a></p><h1><strong>PowerShell 7.6.3 Released as Current LTS</strong></h1><p>Microsoft shipped PowerShell 7.6.3 on Tuesday and Andres Bohren has the install walkthrough on his blog. The build sits on the .NET 10.0.9 runtime, and the headline shift for Mac shops is that the macOS PKG package is now notarized and signed by Microsoft, closing a long standing gap for production deployments on Apple silicon. 7.6.3 is the current LTS, while the previous LTS at 7.4.17 still has support through November 10, 2026, so the upgrade can be planned rather than scrambled. Worth dropping into your test ring this weekend. </p><p><a href="https://blog.icewolf.ch/archive/2026/06/16/powershell-7-6-3-released/">https://blog.icewolf.ch/archive/2026/06/16/powershell-7-6-3-released/</a></p><h1><strong>Microsoft.Graph PowerShell SDK 2.38.0 Ships</strong></h1><p>Same Tuesday, Microsoft also pushed version 2.38.0 of both the Microsoft.Graph and Microsoft.Graph.Beta modules to the PowerShell Gallery. Andres notes that Microsoft did not publish release notes for this one, but the comparing changes view on GitHub fills the gap if you want to know exactly what shifted between 2.37 and 2.38. Andres continues to install through PSResourceGet with the Microsoft Artifact Registry rather than the older PowerShellGet workflow, which mirrors where Microsoft is steering everyone for first party module installation. If you have not switched over yet, this is the release to do it on. <a href="https://blog.icewolf.ch/archive/2026/06/16/microsoft-graph-powershell-modules-2-38-0-released/">https://blog.icewolf.ch/archive/2026/06/16/microsoft-graph-powershell-modules-2-38-0-released/</a></p><h1><strong>Microsoft Tightens Self Service Password Reset in September</strong></h1><p>Tony Redmond writes that Microsoft is closing a soft spot in Self Service Password Reset starting September 6, 2026. Today, SSPR can fall back on directory attributes to verify a user, which is a risk because those attributes can be modified by an attacker who has already compromised an account. The new behavior requires every user to register at least one authentication method through their Security Info page, and SSPR verifies identity only through that registered method. Microsoft kicks off a registration campaign on July 6 to push users and administrators to register before enforcement. Get your registration reporting in place now so the campaign does not surprise you. </p><p><a href="https://office365itpros.com/2026/06/17/sspr-authentication-methods/">https://office365itpros.com/2026/06/17/sspr-authentication-methods/</a></p><h1><strong>Removing Problematic Teams Chat Threads with Graph PowerShell</strong></h1><p>Sometimes a user posts something to Teams that has to come down, and the standard admin experience does not make that easy. Tony Redmond walks through the Microsoft Graph PowerShell SDK cmdlets to find chat threads, scan thread messages for the targeted content, and remove the offending threads. The script can run interactively for one off cleanup, or get wrapped into a tenant maintenance routine if this is something you handle regularly. If you have ever scrambled to pull a bad chat thread out of Teams in the middle of an incident, this one is worth a bookmark. <a href="https://office365itpros.com/2026/06/15/delete-teams-chat-threads/">https://office365itpros.com/2026/06/15/delete-teams-chat-threads/</a></p><h1><strong>Andres Bohren Marks 3000 Blog Posts</strong></h1><p>Andres Bohren hit a milestone this week with his 3000th blog post, written 19 years after his first post in November 2007. He calculated the average using New TimeSpan in PowerShell, naturally, and worked out that he has published a blog post roughly every other day for almost two decades. The archive spans Exchange, Outlook, ESX, SQL, Active Directory, and of course PowerShell, and the consistency is what got him recognized as a Microsoft MVP. If you want a single example of what consistent community contribution looks like over a career, his archive is the model. </p><p><a href="https://blog.icewolf.ch/archive/2026/06/18/celebrating-3000-blog-articles/">https://blog.icewolf.ch/archive/2026/06/18/celebrating-3000-blog-articles/</a></p><h1><strong>PowerShell Universal, Community, and the Magic of Showing Up with Adriano Carollo</strong></h1><div id="youtube2-qLYqUF9gD9s" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;qLYqUF9gD9s&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/qLYqUF9gD9s?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 Pla and Berlin sysadmin Adriano Carollo on city swings then over dinner at PSConfEU 2026. Adriano covers how PowerShell Universal pulled him into web app territory through React and JavaScript, why he built an open source personal assistant in PowerShell, and what it took to pay his own way to the conference after Andrew's podcast convinced him to show up. Andrew shares his own origin story for the first time on the show.<br></p><h1><strong>Microsoft Artifact Registry Hits Its Stride with the 2.38 Release</strong></h1><p>The Microsoft.Graph 2.38 release this week is another data point in the steady migration that Microsoft is running to shift first party PowerShell modules from the community PowerShell Gallery to the Microsoft Artifact Registry. Andres Bohren installs every Microsoft module through MAR using PSResourceGet, and his M365PSProfile module wraps the workflow if you want a turnkey way to keep your tenant tools current. The pitch is straightforward. MAR is a Microsoft controlled feed with stronger provenance and ownership guarantees than the community gallery, which has had its share of compromised module incidents. If your environment still pulls Microsoft modules from PSGallery by default, this is the year to swap. </p><p><a href="https://blog.icewolf.ch/archive/2026/06/16/microsoft-graph-powershell-modules-2-38-0-released/">https://blog.icewolf.ch/archive/2026/06/16/microsoft-graph-powershell-modules-2-38-0-released/</a></p><h1>Events</h1><p><strong>Midwest Tech Talk 2026</strong> | July 19 to 21, 2026 | Lake of the Ozarks, Missouri I am speaking at this one. Kickoff event Sunday July 19, main conference Monday and Tuesday at The Resort at Lake of the Ozarks, with an evening event Monday hosted by Provision Data Solutions. Two day K12 technology and security symposium built by folks who actually run school district tech departments, doubling as the K12TechPro Regional Meetup for the Midwest. If you are in K12 IT anywhere in the region, this is the one to make this summer. </p><p>https://www.midwesttechtalk.com/</p><p><strong>MMS Midway</strong> | October 25 to 28, 2026 | San Diego, California The classic endpoint management and PowerShell conference moves to San Diego this fall. Strong K12 IT representation if you are looking for peers in that space. </p><p>https://mmsmoa.com/</p><p><strong>Zero Trust World 2027</strong> | February 17 to 19, 2027 | Orlando, Florida ThreatLocker&#8217;s seventh annual cybersecurity training event lands in Orlando. Three days of hands on training, real attack technique walkthroughs, hacking labs, and Cyber Hero Certification exam sessions every morning. It was a blast this year - I&#8217;d recommend you check it out. It&#8217;s not very expensive.</p><p>https://ztw.com/</p><p><strong>PowerShell + DevOps Global Summit 2027</strong> | April 26 to 29, 2027 | Bellevue, Washington The flagship US PowerShell event. Registration tends to fill early, and the call for speakers usually opens in late summer if you are thinking about submitting. </p><p>https://powershellsummit.org/</p><p><strong>PSConfEU 2027</strong> | Dates and location to be announced SynEdgy is organizing the eleventh edition of PowerShell Conference Europe after this year&#8217;s tenth anniversary run in Wiesbaden. Watch psconf.eu for the announcement, which typically lands toward the end of summer. </p><p>https://psconf.eu/</p><h1></h1><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[June Patch Tuesday drops 200 vulnerabilities, Tony Redmond on sensitivity labels and stale accounts]]></title><description><![CDATA[+ExchangeOnlineManagement 3.10 ships, and PSConfEU 2026 recaps roll in from Adam Driscoll and Miriam Wiesner]]></description><link>https://www.powershell.news/p/june-patch-tuesday-drops-200-vulnerabilities</link><guid isPermaLink="false">https://www.powershell.news/p/june-patch-tuesday-drops-200-vulnerabilities</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 12 Jun 2026 11:02:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/IAC7w4XfQO8" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A quieter week after the PSConfEU and Build double feature, but only because everyone is catching their breath. Tony Redmond was on fire with five new posts, Andres Bohren kept the module release flag flying at Icewolf, June Patch Tuesday landed with a heavy load, and the first wave of PSConfEU 2026 recaps started rolling in. Plenty to read this weekend.</p><div><hr></div><h1><strong>Mastering PowerShell Parameters with Jeff Hicks at PowerShell + DevOps Global Summit 2026</strong></h1><div id="youtube2-IAC7w4XfQO8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;IAC7w4XfQO8&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/IAC7w4XfQO8?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 delivered a session packed with demos on advanced parameter design at this year&#8217;s PowerShell + DevOps Global Summit in Bellevue, and Confreaks has the recording up on YouTube. He walks through advanced validation methods, leveraging types for greater efficiency, dynamic parameters, experimental features, and the techniques introduced in PowerShell 7 that make your function parameters do real work. If you write functions you ship to other people, this is the kind of session worth a weekend hour.</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>Microsoft to Delete Unlicensed OneDrive for Business Accounts</strong></h1><p>Tony Redmond at Office 365 for IT Pros wrote up Microsoft&#8217;s decision to start deleting unlicensed OneDrive for Business accounts that have not been paid to be archived, with the change taking effect after July 2026. Up until now those accounts could linger in Microsoft 365 Archive until retention policies and holds expired, but going forward tenants will have to decide which accounts to keep and pay for, and the rest will be removed regardless of retention or eDiscovery holds. This is a meaningful policy shift that anyone with messy offboarding hygiene needs to read before next month rolls around.</p><p><a href="https://office365itpros.com/2026/06/12/unlicensed-onedrive-for-business-2/">https://office365itpros.com/2026/06/12/unlicensed-onedrive-for-business-2/</a></p><div><hr></div><h1><strong>Cookie Monsters and Defender Live Response with Miriam Wiesner on The PowerShell Podcast</strong></h1><div id="youtube2-zxJOqcEwgWE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;zxJOqcEwgWE&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/zxJOqcEwgWE?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 Pla, sat down with Miriam Wiesner at PSConfEU 2026 in Wiesbaden for a wide ranging conversation on cookie theft attacks, Defender live response, and the state of PowerShell security. Miriam, a security research PM at Microsoft working on Defender and Sentinel research, walked through her Return of the Cookie Monsters session where she demonstrated extracting Teams cookies to hijack chats, SharePoint sites, and OneDrive content from a single compromised endpoint. She also recapped the live response session she delivered with Stefan Fanulik on using Defender to investigate and remediate compromised devices without enabling RDP or PowerShell remoting. The conversation closes with a frank discussion of why PowerShell security features make life harder for sophisticated threat actors and why visibility through script block logging matters more than ever.</p><div><hr></div><h1><strong>Adam Driscoll Recaps PSConfEU 2026 and Demos PowerShell Universal AI Tooling</strong></h1><p>Adam Driscoll posted his PSConfEU 2026 recap over at the Devolutions blog, sharing both the personal experience and the technical headline from his two sessions at the conference. The news from his sessions is PowerShell Universal 2026.2 with new AI tooling focused on MCP tools and agents, where Adam demonstrated building modules, APIs, and web apps using GitHub Copilot connected directly to a PowerShell Universal instance and generating real solutions from simple prompts. Devolutions stepped up as the key sponsor of the conference this year, and the recap is worth a read if you want to understand what has shipped in PowerShell Universal since the acquisition.</p><p><a href="https://devolutions.net/blog/psconfeu-celebrating-ten-years-of-powershell-community/">https://devolutions.net/blog/psconfeu-celebrating-ten-years-of-powershell-community/</a></p><div><hr></div><h1><strong>Setting Up Least Privileged MS Graph on PowerShell Wednesday with Morten Mynster and Jake Hildreth</strong></h1><div id="youtube2-oDbxkeRfn5c" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;oDbxkeRfn5c&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/oDbxkeRfn5c?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 Morten Mynster and Jake Hildreth on PowerShell Wednesday this week for a walkthrough of the prerequisites to use Morten&#8217;s Least Privileged MS Graph module, the open source tool Morten built for auditing and reducing permission exposure across Microsoft Graph applications. Jake plays the friendly guinea pig live on his own tenant while Morten walks him through creating the Azure resource group, log analytics workspace, diagnostic settings for Microsoft Graph Activity Logs, the app registration, and the right API permissions. The session ran as part one of two, with next week&#8217;s installment digging into what the module actually reports once the logs roll in.</p><div><hr></div><h1><strong>Tony Redmond Primers Sensitivity Labels with PowerShell</strong></h1><p>Tony Redmond put together a primer on the three different cmdlets available for fetching sensitivity labels with PowerShell, one in the Exchange Online module and two powered by Graph APIs. The differences come down to scope, properties returned, and whether you get the full set of available labels or just a slice. Worth bookmarking if you have ever stared at the output of one of these cmdlets and wondered why it does not match what you see in the Purview admin center.</p><p><a href="https://office365itpros.com/2026/06/11/sensitivity-label-ps/">https://office365itpros.com/2026/06/11/sensitivity-label-ps/</a></p><div><hr></div><h1><strong>PowerToys v0.100.0 Released</strong></h1><p>Andres Bohren over at Icewolf marked the release of PowerToys v0.100.0, the round number milestone version of Microsoft&#8217;s open source utility suite for Windows power users. Andres includes his usual install walkthrough using winget along with notes on where to find the release artifacts on GitHub. If PowerToys has earned a spot on your daily driver, this is the version to install this weekend.</p><p><a href="https://blog.icewolf.ch/archive/2026/06/11/powertoys-v0-100-0-released/">https://blog.icewolf.ch/archive/2026/06/11/powertoys-v0-100-0-released/</a></p><div><hr></div><h1><strong>ExchangeOnlineManagement PowerShell Module 3.10.0 Released</strong></h1><p>Andres Bohren also covered Microsoft pushing version 3.10.0 of the ExchangeOnlineManagement PowerShell module to the gallery. The headline change is that the minimum required version of PowerShell 7 is now 7.6, while Windows PowerShell 5.1 remains unaffected. The release also fixes an issue where certificate authentication failed in Connect-IPPSSession when using the EnableSearchOnlySession switch, which is worth knowing if you script against Exchange Online in production.</p><p><a href="https://blog.icewolf.ch/archive/2026/06/10/exchangeonlinemanagement-3-10-0-released/">https://blog.icewolf.ch/archive/2026/06/10/exchangeonlinemanagement-3-10-0-released/</a></p><div><hr></div><h1><strong>PDQ Breaks Down June 2026 Patch Tuesday</strong></h1><p>The PDQ team is back with their monthly Patch Tuesday recap, and June is one of the larger releases in recent memory. Microsoft published patches for roughly 200 vulnerabilities including three actively exploited zero days, with critical remote code execution issues in core Windows infrastructure components and elevation of privilege bugs across the stack. If you handle patching for your fleet, this is your reading material before you start deploying.</p><p><a href="https://www.pdq.com/blog/patch-tuesday-june-2026/">https://www.pdq.com/blog/patch-tuesday-june-2026/</a></p><div><hr></div><h1><strong>Tony Redmond on Finding Inactive User Accounts</strong></h1><p>Tony Redmond covers how to find inactive user accounts in Microsoft 365 tenants, with extra urgency given the Microsoft 365 license price increases coming into effect on July 1, 2026. He walks through two approaches: the Microsoft 365 Licensing Report for a quick view, and a PowerShell script that assesses inactivity based on sign in dates and refresh token baselines for more nuanced results. The point is that inactive accounts soak up licenses that suddenly cost more, and there has never been a better time to clean house.</p><p><a href="https://office365itpros.com/2026/06/09/find-inactive-accounts/">https://office365itpros.com/2026/06/09/find-inactive-accounts/</a></p><div><hr></div><h1><strong>Exchange Server SE Cumulative Update SU7 Available</strong></h1><p>Andres Bohren ran through Microsoft&#8217;s release of the SU7 update for Exchange Server Subscription Edition, including the post installation reboot requirement and his usual reminder to check for pending reboots before kicking off the installer. The KB number is 5094139 and the security update is available for direct download from Microsoft. For shops still running Exchange on premise or in a hybrid configuration, this is on the list of things to schedule for the next maintenance window.</p><p><a href="https://blog.icewolf.ch/archive/2026/06/09/exchange-server-SE-SU7-has-been-released/">https://blog.icewolf.ch/archive/2026/06/09/exchange-server-SE-SU7-has-been-released/</a></p><div><hr></div><h1><strong>Andres Bohren Checks Azure VM Extension Versions</strong></h1><p>Andres Bohren circled back to his earlier Icewolf article on activating VM Automatic Extension Upgrade and added some practical guidance on checking the current extension version on running Azure VMs. The walkthrough uses PowerShell to inspect what version is deployed and confirms whether the automatic upgrade has run. Useful if you manage a fleet of Azure VMs and want to make sure they are not falling behind on agent and extension updates.</p><p><a href="https://blog.icewolf.ch/archive/2026/06/08/check-azure-vm-extension-version/">https://blog.icewolf.ch/archive/2026/06/08/check-azure-vm-extension-version/</a></p><div><hr></div><h1><strong>Andrew Taylor&#8217;s Intune Newsletter Lands from Experts Live UK</strong></h1><p>Andrew Taylor published this week&#8217;s Intune Newsletter live from Experts Live UK in London, with content put together between trains, hotel rooms, and conference rooms. Highlights include a guide from Andrei Shchetkin on converting any Azure VM into a Windows 365 image using only Graph commands, and a script from T-Bone on modern drive and printer mapping for cloud native Windows with Intune and PowerShell. The full newsletter is worth your time if you manage endpoints.</p><p><a href="https://andrewstaylor.com/2026/06/12/intune-newsletter-12th-june-2026/">https://andrewstaylor.com/2026/06/12/intune-newsletter-12th-june-2026/</a></p><div><hr></div><h1>PSConfEU Session Recordings</h1><div id="youtube2-_GWo9drWx5s" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;_GWo9drWx5s&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/_GWo9drWx5s?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>PSConfEU session recordings are starting to land on the SynEdgy YouTube channel following the conference wrap in Wiesbaden, and the 2026 lineup includes deep technical sessions from Steven Bucher on the state of the shell, Thorsten Butz on AI in PowerShell workflows, and Adam Driscoll on what is new in PowerShell Universal 2026.2. Sessions get uploaded over the coming weeks, so subscribing keeps you current.</p><p>Slides, scripts, and session materials from PSConfEU 2026 are collected at the conference GitHub repository, where speakers continue to drop their decks and demo code through June. This is the companion resource to the YouTube recordings.</p><p><a href="https://github.com/psconfeu/2026">https://github.com/psconfeu/2026</a></p><div><hr></div><h2>Upcoming Events</h2><p>Experts Live UK wraps up today in London after two full days of sessions across Microsoft 365, Azure, AI, security, and the modern workplace. Recordings and recap content typically land in the weeks following the event from attendees and speakers, so keep an eye on the schedule page and social posts from the Intune and SCCM crowd.</p><p>https://eluk26.expertslive.co.uk/</p><p>The PowerShell + DevOps Global Summit returns to Bellevue, Washington in April 2027, the premier community event hosted by The DevOps Collective. Early bird registration usually opens late summer, so worth bookmarking now if you are planning ahead.</p><p>https://powershellsummit.org/</p><p>Looking further out, MMS Midway Edition heads to San Diego October 25 through 28, the smaller West Coast sibling of the main Midwest Management Summit.</p><p>https://mmsmoa.com/</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[Microsoft Build 2026 Lands in San Francisco, PowerShell Conference Europe 2026 Wraps Up in Wiesbaden]]></title><description><![CDATA[+ Tony Redmond on Container Management Labels for Security Groups]]></description><link>https://www.powershell.news/p/microsoft-build-2026-lands-in-san</link><guid isPermaLink="false">https://www.powershell.news/p/microsoft-build-2026-lands-in-san</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 05 Jun 2026 12:48:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/gw0HBKJlX-w" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong>Microsoft Build 2026 Lands in San Francisco</strong></h1><div id="youtube2-gw0HBKJlX-w" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;gw0HBKJlX-w&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/gw0HBKJlX-w?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>Build returned outside Seattle for the first time since 2016, with Satya Nadella opening at Fort Mason on Tuesday morning to about 2,500 developers in the room. The framing this year was AI agents finally maturing from demo to deployment, and the announcement list reflects that shift. GitHub Copilot now has a native desktop app with agentic workflows in preview, Project Rayfin offers a managed backend on Microsoft Fabric using workflows defined in GitHub, the Surface RTX Spark Dev Box puts one petaflop of compute and 128 gigabytes of unified memory on a developer&#8217;s desk for running 120 billion parameter models locally, and Microsoft introduced seven new MAI models including MAI-Thinking-1 for reasoning and MAI-Code-1 tuned for GitHub and VS Code. Foundry Local reached general availability, Azure AI Foundry can now route across models per task, Agent 365 expanded its enterprise governance footprint, and GPT-5.5 arrived with Tier 5 and 6 quota. A lot to digest.</p><p>https://build.microsoft.com/</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>PowerShell Conference Europe 2026 Wraps Up in Wiesbaden</strong></h1><div id="youtube2-F13_0maOy-g" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;F13_0maOy-g&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/F13_0maOy-g?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 tenth edition of PSConfEU ran June 1 through June 4 at the Dorint Pallas Hotel in Wiesbaden, drawing more than 300 attendees, around 40 speakers, and roughly 70 sessions across four packed days. SynEdgy pulled off another solid year with deep technical content from the usual heavyweights, the return of PoshaKucha at twenty slides by twenty seconds each, and the Monday bike tour winding 30 kilometers along the Rhine to Eltville. Steven Bucher delivered three sessions including State of the Shell, Thorsten Butz took the stage with another fresh AI talk, and the broader Devolutions team showcased work on PowerShell Universal that included the first public demo of their AI integration since acquiring the platform. Ten years in, the community still feels like the heart of why this event matters.</p><p>https://psconf.eu/</p><div><hr></div><h1><strong>Argument Completers, Dynamic Parameters, and More from Ben Reader at PSConfEU 2026</strong></h1><div id="youtube2-hYWCus5qPLc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;hYWCus5qPLc&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/hYWCus5qPLc?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>Ben Reader, the pipeline daddy at Patch My PC, walked through how to build better PowerShell functions in his PSConfEU 2026 session, framed around a database access problem that he kept needing to extend across four revisions of the same script. He starts with the basics that most of us already use like validate set, validate range, and validate pattern, then moves into the more advanced ground of custom validate classes, registered argument completers, inline completers, dynamic parameters, and finally his preferred approach of building completers as their own .NET classes that the function parameter references through a clean attribute. The walkthrough is the kind of thing you can drop right into your next module, and the recording landed alongside the rest of the PSConfEU 2026 sessions this week.</p><div><hr></div><h1><strong>Devolutions Brings AI to PowerShell Universal at PSConfEU</strong></h1><p>Adam Driscoll took the stage at PSConfEU to walk through what has shipped in PowerShell Universal since the Devolutions acquisition, and the headline was the first public demonstration of AI capabilities integrated into the platform. Marc-Andr&#233; Moreau followed with a separate session on implementing PSRemoting at Devolutions covering PowerShell SDK limitations, WinRM quirks, TrustedHosts behavior, and the practical realities of NTLM and Kerberos authentication in production software. The booth ran live demos throughout the conference, and if you missed Adam&#8217;s session in person it should land in the public recording archive in the coming weeks.</p><p><a href="https://devolutions.net/blog/devolutions-at-psconf-eu-2026-unveiling-ai-in-powershell-universal-in-wiesbaden/">https://devolutions.net/blog/devolutions-at-psconf-eu-2026-unveiling-ai-in-powershell-universal-in-wiesbaden/</a></p><div><hr></div><h1><strong>Foundry Local Reaches General Availability at Build</strong></h1><p>Among the busy slate of Build announcements, Foundry Local stepping into general availability stood out for anyone running model inference closer to the user. The runtime now ships as a supported product rather than a preview, and pairs naturally with the new Surface RTX Spark Dev Box for developers who want to actually run models that previously had to live in the cloud. Together with the seven new MAI models and Azure AI Foundry&#8217;s new ability to route across models, the story Microsoft is telling is one of choice across local and cloud and across providers, which is a welcome shift.</p><p><a href="https://www.tomsguide.com/news/live/microsoft-build-2026">https://www.tomsguide.com/news/live/microsoft-build-2026</a></p><div><hr></div><h1><strong>Tony Redmond on Container Management Labels for Security Groups</strong></h1><p>Tony Redmond walks through Microsoft&#8217;s new preview that brings container management labels to Entra ID security groups. The scope is currently narrow with just one control available, the AllowToAddGuests setting that determines whether guest accounts can be members. Tony makes the case that even this single lever is meaningful because guest access to sensitive security groups has long been a quiet risk that nobody had a clean way to prevent.</p><p><a href="https://office365itpros.com/2026/06/03/security-groups-labels/">https://office365itpros.com/2026/06/03/security-groups-labels/</a></p><div><hr></div><h1><strong>Tracking Distribution List Changes with PowerShell</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_!X6Gd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X6Gd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.webp 424w, https://substackcdn.com/image/fetch/$s_!X6Gd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.webp 848w, https://substackcdn.com/image/fetch/$s_!X6Gd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.webp 1272w, https://substackcdn.com/image/fetch/$s_!X6Gd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X6Gd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.webp" width="1125" height="955" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:955,&quot;width&quot;:1125,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:63906,&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/200755471?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.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_!X6Gd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.webp 424w, https://substackcdn.com/image/fetch/$s_!X6Gd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.webp 848w, https://substackcdn.com/image/fetch/$s_!X6Gd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.webp 1272w, https://substackcdn.com/image/fetch/$s_!X6Gd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcf25948-c04a-4299-8ceb-51a402cfffa3_1125x955.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 aria-hidden="true" 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><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 reader question about reporting distribution list changes prompted Tony Redmond to walk through how to do it properly given that distribution lists are Exchange Online objects rather than Entra ID groups. The same general PowerShell structure used for Microsoft 365 group change reporting applies, but the audit records and the actual code look quite different. Worth a read if you have ever opened a ticket asking who removed a manager from a critical list.</p><p><a href="https://office365itpros.com/2026/06/02/distribution-list-changes/">https://office365itpros.com/2026/06/02/distribution-list-changes/</a></p><div><hr></div><h1><strong>MicrosoftPlaces PowerShell Module Hits 2.1.9</strong></h1><p>Andres Bohren posted at Icewolf about Microsoft pushing version 2.1.9 of the MicrosoftPlaces PowerShell module to the gallery. The release notes are thin since 2.1.8, but the headline is that the Object reference not set to an instance of an Object error that plagued 2.1.7 and 2.1.8 has been fixed. If you skipped the last two releases for that reason, this is the version to install.</p><p><a href="https://blog.icewolf.ch/archive/2026/06/02/microsoftplaces-powershell-module-2-1-9-has-been-released/">https://blog.icewolf.ch/archive/2026/06/02/microsoftplaces-powershell-module-2-1-9-has-been-released/</a></p><div><hr></div><h1><strong>What&#8217;s New in Microsoft Entra June 2026</strong></h1><p>The Entra team published their June roundup with a handful of items that admins will want to track. Passkey policies now get their own dedicated 20 kilobyte allocation in the authentication methods policy rather than sharing a single bucket with everything else, and the maximum number of passkey profiles per tenant goes from three to ten. There is also a reminder that the MFA enforcement for passwordless credential registration completes rollout by July 13, 2026, so if you have not finished your conditional access work for that, the clock is real.</p><p><a href="https://techcommunity.microsoft.com/blog/microsoft-entra-blog/whats-new-in-microsoft-entra-june-2026/4517885">https://techcommunity.microsoft.com/blog/microsoft-entra-blog/whats-new-in-microsoft-entra-june-2026/4517885</a></p><div><hr></div><h1><strong>Handling Loop Workspaces for Departed Users</strong></h1><p>Tony Redmond covers Microsoft finally rolling out a workflow to deal with personal Loop workspaces left behind when employees leave a tenant. The process is unfortunately manual with limited automation possible, but at least the framework now exists to review and preserve workspace content rather than losing it. Two years from announcement to rollout is not fast, but it is finally here.</p><p><a href="https://office365itpros.com/2026/06/04/user-owned-loop-workspaces/">https://office365itpros.com/2026/06/04/user-owned-loop-workspaces/</a></p><div><hr></div><h1><strong>Office 365 for IT Pros June 2026 Update and 2027 Plans</strong></h1><p>The 132nd monthly update for the Office 365 for IT Pros eBook is now available for subscribers, and Tony Redmond used the post to share what is coming for the 2027 edition. The book is being renamed, a new chapter on Copilot and agents is being added, and two topics are being split out into their own books covering Microsoft Purview and the Power Platform. If you have been wondering when the ecosystem would finally outgrow a single volume, the answer is now.</p><p><a href="https://office365itpros.com/2026/06/01/office-365-for-it-pros-132/">https://office365itpros.com/2026/06/01/office-365-for-it-pros-132/</a></p><div><hr></div><h2>Upcoming Events</h2><p><strong>Experts Live UK</strong> (formerly Workplace Ninjas UK, rebranded for 2026) June 11-12, 2026 at CodeNode, London. That&#8217;s next week, not late summer. </p><p>https://eluk26.expertslive.co.uk/</p><p><strong>MMS Midway Edition 2026</strong> October 25-28, 2026 in San Diego. That&#8217;s fall, not late summer. </p><p>https://mmsmoa.com/</p><p> <a href="https://patchmypc.com/events/mms-2026-midway-edition/">https://patchmypc.com/events/mms-2026-midway-edition/</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>]]></content:encoded></item><item><title><![CDATA[PowerShell 7.7-preview.2 Released, and the MSI Installer Is Gone, Jeff Hicks Ships PSIntro]]></title><description><![CDATA[+A 10 script toolkit this week aimed at the practical endpoint questions you actually field every day]]></description><link>https://www.powershell.news/p/powershell-77-preview2-released-and</link><guid isPermaLink="false">https://www.powershell.news/p/powershell-77-preview2-released-and</guid><dc:creator><![CDATA[Jim Tyler]]></dc:creator><pubDate>Fri, 29 May 2026 18:01:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1wxY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><strong>PowerShell 7.7-preview.2 Released, and the MSI Installer Is Gone</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_!1wxY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1wxY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!1wxY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!1wxY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!1wxY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1wxY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94633838-a619-430a-8f58-422b824f1818_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8617045,&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/199753441?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.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_!1wxY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!1wxY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!1wxY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!1wxY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94633838-a619-430a-8f58-422b824f1818_2816x1536.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 aria-hidden="true" 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><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>Microsoft shipped PowerShell 7.7.0-preview.2 this week, and Tony Schultz over at the Icewolf blog flagged the change that matters most for anyone managing PowerShell on Windows at scale. Starting with 7.7-preview, there is no more MSI installer. The MSIX package becomes the primary install method on Windows, MSI continues for 7.6 but not future releases. Tony walks through running the new preview without and with the M365PSProfile module from his download of the ZIP. If you push PowerShell with Intune, ConfigMgr, or your own deployment plumbing, your packaging for 7.7 and beyond needs a rethink before this hits stable.</p><p><a href="https://blog.icewolf.ch/archive/2026/05/28/powershell-v7-7-0-preview2-has-been-released/">https://blog.icewolf.ch/archive/2026/05/28/powershell-v7-7-0-preview2-has-been-released/</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>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 for a PowerShell Wednesday on the common parameters baked into every advanced function and cmdlet. Lucas walks through what an advanced function actually is, how CmdletBinding or a decorated parameter unlocks the full set, and why the six output streams exist as separate channels for success, error, warning, verbose, debug, and information. He also covers the action parameters and preference variables that change how your code reacts to traffic on those streams, including capturing stream output to a variable using InformationVariable. Part one of two. Lucas comes back next week for the more interesting ones including WhatIf and Confirm.</p><div><hr></div><h1><strong>Microsoft Entra Tenant Governance: Find Configuration Drift</strong></h1><p>Microsoft Mechanics published a deep walkthrough this week on capturing your tenant configuration as code across more than 200 resource types spanning Entra, Intune, Exchange Online, Teams, Defender, and Purview, then turning that snapshot into an ongoing drift monitor. If you have ever wished you could diff your tenant the way you diff source control, this is exactly that workflow. The angle that should land hardest for our crowd is treating configuration as a versioned artifact, which finally gives PowerShell-driven environments a story for change management that does not depend on screenshots and prayer.</p><p><a href="https://techcommunity.microsoft.com/blog/microsoftmechanicsblog/microsoft-entra-tenant-governance--find-configuration-drift/4523358">https://techcommunity.microsoft.com/blog/microsoftmechanicsblog/microsoft-entra-tenant-governance--find-configuration-drift/4523358</a></p><div><hr></div><h1><strong>Useful PowerShell Scripts for Windows Admin Tasks</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_!1oNZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1oNZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.png 424w, https://substackcdn.com/image/fetch/$s_!1oNZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.png 848w, https://substackcdn.com/image/fetch/$s_!1oNZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!1oNZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1oNZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7730041,&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/199753441?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.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_!1oNZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.png 424w, https://substackcdn.com/image/fetch/$s_!1oNZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.png 848w, https://substackcdn.com/image/fetch/$s_!1oNZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!1oNZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4861d2d-8210-44dd-92c9-83bba34bd867_2048x2048.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 aria-hidden="true" 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><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>Andrew Pla at PDQ dropped a ten-script toolkit this week aimed at the practical endpoint questions you actually field every day, like which critical errors showed up in event logs, which scheduled tasks look suspicious, are certificates valid, is BitLocker enabled, what shape are the batteries in, what is mapped where, what browser and VS Code extensions are installed, do my config baselines hold, is Defender healthy, and is Secure Boot ready for the UEFI 2023 certificate changes. The scheduled task auditor is the standout for me. It flags hidden tasks, encoded commands, execution policy bypasses, user writable paths, web downloads, and known LOLBins in one pass. Worth lifting straight into your PowerShell Scanner library.</p><p><a href="https://www.pdq.com/blog/useful-powershell-scripts-for-windows-admin-tasks/">https://www.pdq.com/blog/useful-powershell-scripts-for-windows-admin-tasks/</a></p><div><hr></div><h1><strong>Jeff Hicks Ships PSIntro, a Welcome Screen and Tutorial Set for PowerShell Beginners</strong></h1><p>Jeff Hicks built PSIntro, an educational module that grew out of conversations with Jason Helmick about giving brand new users a friendlier front door into PowerShell. It puts a splash style welcome screen in front of beginners when they start a session, complete with clickable links in Windows Terminal, and it ships a set of short interactive tutorials on core concepts like Get-Command, with live output pulled from the user&#8217;s own session so the lesson matches their real environment. There are also helper commands for the things beginners stumble on early, like checking whether key modules need updating with Get-ModuleStatus, reporting on where profile scripts live, and creating one with New-PSProfile. It runs on both Windows PowerShell and PowerShell 7 across Windows, Linux, and macOS, and it is localized for English, French, and German. If you mentor anyone just getting started, or you run a user group with newcomers, this is a thoughtful thing to point them at.</p><p><a href="https://github.com/jdhitsolutions/PSIntro">https://github.com/jdhitsolutions/PSIntro</a></p><div><hr></div><h1><strong>Automate Platform SSO Setup During macOS Enrollment</strong></h1><p>Cindy Crane on the Microsoft Entra Blog has a nice walkthrough this week on automating Platform SSO setup as part of macOS enrollment in Intune. The shape of the win is the usual modern endpoint story, less user friction during onboarding and fewer of those tickets that are really just a confused first sign in. If you are pulling Mac users into a Microsoft first stack, this is the cleanest path to a single sign in experience that I have seen documented end to end.</p><p><a href="https://techcommunity.microsoft.com/category/microsoft-entra/blog/microsoft-entra-blog">https://techcommunity.microsoft.com/category/microsoft-entra/blog/microsoft-entra-blog</a></p><h1><strong>Harm Veenstra on the PSBoundParameters vs IsPresent Question</strong></h1><p>Harm Veenstra dropped a fresh post this morning that started from a conversation with a colleague over which approach is right for checking whether a switch or parameter was actually used in a script or function. He breaks down what each does, PSBoundParameters being the automatic hashtable that fills in with whatever parameter names and values were passed on the command line, IsPresent being the simpler true or false check on a switch. The walkthrough uses his own Update-Modules function as the example and shows the same Install-PSResource call written both ways so you can see them next to each other. The honest answer to which is better is the IT classic of it depends, but Harm makes the practical case for IsPresent on plain switch logic and PSBoundParameters when you want the full picture of what the caller actually specified, with the caveat that defaults set inline never show up in the hashtable. He also signed off with a tease that next week&#8217;s post will be his PSConfEU recap.</p><p><a href="https://powershellisfun.com/2026/05/29/using-psboundparameters-or-ispresent-when-checking-powershell-switch-or-parameters-usage/">https://powershellisfun.com/2026/05/29/using-psboundparameters-or-ispresent-when-checking-powershell-switch-or-parameters-usage/</a></p><div><hr></div><h1><strong>Daniel Bradley Publishes 1,400 Plus Microsoft Architecture Icons at msicons.com</strong></h1><p>Daniel Bradley collated more than 1,400 Microsoft architecture icons and put them all in one easy to search spot at msicons.com. For every icon you can grab the scalable SVG, pull a PNG at whatever size you need, or embed it straight into a website or markdown file, and you can flip between light, dark, and transparent backgrounds depending on where it is headed. There is a compare view for putting icons side by side and a favoriting feature so you can bulk download a whole set at once. I am flagging this one specifically because if you build visual PowerShell apps with something like WPF, WinForms, or a web front end, having a consistent and official looking icon set on hand makes a real difference for style consistency, and this is the cleanest place I have seen to pull them.</p><p>https://msicons.com/</p><div><hr></div><h1><strong>Solving Problems at the Root with Mark Littlefield. The PowerShell Podcast E230</strong></h1><div id="youtube2-fo2V5LC-EZo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;fo2V5LC-EZo&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/fo2V5LC-EZo?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>Sending a Welcome Message to New Employees Part 2</strong></h1><p>Tony Redmond is back with a follow up to his welcome email project, and this one is the PowerShell heavy half. Instead of attaching ICS files, this version uses Get-MgUserCalendarView and Update-MgUserEvent in the Microsoft Graph PowerShell SDK to find existing corporate calendar events, then quietly add new employees to the participant list so the meetings land on their calendars automatically. It is a cleaner pattern than building ICS bytes by hand, and the code is small enough to drop into an existing onboarding runbook without much surgery.</p><p><a href="https://office365itpros.com/2026/05/27/new-employee-email2/">https://office365itpros.com/2026/05/27/new-employee-email2/</a></p><p></p><div><hr></div><h1><strong>Reporting Usage Patterns for Room Mailboxes</strong></h1><p>Also from Tony this week, a practical look at finding out whether your room mailboxes are actually being used. The article weighs two paths, the classic Exchange Online PowerShell module versus the newer Graph Places API, and is honest about the permissions and ongoing run mechanics each one demands. The right answer probably depends on what else lives in your reporting pipeline, but the side-by-side here is exactly the comparison you want before you commit to one approach for a recurring report.</p><p><a href="https://office365itpros.com/2026/05/26/room-mailboxes-usage/">https://office365itpros.com/2026/05/26/room-mailboxes-usage/</a></p><div><hr></div><h1><strong>What&#8217;s New in Microsoft Intune, May 2026</strong></h1><p>Scott Sawyer&#8217;s monthly Intune roundup updated this week with the May changes worth knowing, focused on Android, macOS, and certificate management refinements across the service. It is the post I always tell our team to read first when they want to know what changed without grinding through the message center one card at a time. If you are responsible for the Intune side of an environment, this is the cheapest five minutes you will spend on staying current.</p><p><a href="https://techcommunity.microsoft.com/blog/microsoftintuneblog/what%E2%80%99s-new-in-microsoft-intune-%E2%80%93-may/4491984">https://techcommunity.microsoft.com/blog/microsoftintuneblog/what%E2%80%99s-new-in-microsoft-intune-%E2%80%93-may/4491984</a></p><div><hr></div><h1><strong>Midwest Management Summit 2026</strong></h1><p>Kevin Levart shared his recap of MMS, and if you have somehow never made it, this is one of the most respected systems and endpoint management conferences in the country. The Mall of America edition wrapped up earlier this month in Bloomington, Minnesota, with the deep ConfigMgr, Intune, Azure, and PowerShell sessions it is known for, the attendance cap that keeps it small and personal, and the community energy regulars will not stop talking about. If you missed this one, the second 2026 edition heads to the Manchester Grand Hyatt in San Diego later in the year, so there is still a chance to get your MMS fix in 2026.</p><p><a href="https://www.linkedin.com/pulse/midwest-management-summit-2026-kevin-levart-yq36c/">https://www.linkedin.com/pulse/midwest-management-summit-2026-kevin-levart-yq36c/</a></p><div><hr></div><h1><strong>I Let Claude Take FULL Control of a Fresh Windows 11 PC (Debloat + Setup)</strong></h1><div id="youtube2-nrRRhShPKtc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;nrRRhShPKtc&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/nrRRhShPKtc?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>Memory gave Claude Code one prompt to set up a fresh Windows 11 install and let it run the PowerShell commands itself to remove bloat, install his apps, and lock down privacy in a VM. Cool watch and interesting concept; honestly the future of some development and testing. <br></p><h1>Events</h1><p><strong>Microsoft Build 2026</strong></p><p>Microsoft&#8217;s flagship developer conference runs June 2 to 3 this year, moving to San Francisco and online after its long run in Seattle. The focus is squarely on building and scaling AI, with the product teams going deep on real code and real systems. If you cannot make the trip, the online option is free and worth blocking off given how much of the year&#8217;s Azure, Microsoft 365, and developer tooling news tends to land at Build.</p><p>https://build.microsoft.com/</p><p></p><p><strong>PowerShell Conference Europe 2026</strong></p><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><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[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 aria-hidden="true" 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><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;showDescription&quot;:true,&quot;showImage&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 aria-hidden="true" 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><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;embedding_publication_id&quot;:null,&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 aria-hidden="true" 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><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 aria-hidden="true" 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><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 aria-hidden="true" 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><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 aria-hidden="true" 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><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 aria-hidden="true" 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><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 aria-hidden="true" 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><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 aria-hidden="true" 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><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></channel></rss>