Day 3 Bits Notes about enterprise IT with a focus on automation, design, security, user experience. Sam's primary goal is to promote the growth of operational maturity (not just modernization) through intentional growth and continuous improvement. Frequent technical topics will cover the Microsoft ecosystem, but not will not exclusively be about Active Directory, Defender XDR, Entra ID, Intune, Microsoft 365, PowerShell, and Windows Server. https://day3bits.com/ Setting Up Your PowerShell Development Environment: Part 1 - Folder Structure Create a clean separation between work and personal projects with an organized directory structure - Hey, friend! Have you ever accidentally committed code to GitHub with your work email address? Pushed personal project code to your work repository? Or found yourself constantly switching between different settings and configurations for each project you open? 🤦‍♂️ I’ve been there, and yes, it’s a pain. This post is... Mon, 26 Jan 2026 18:00:00 -0500 https://day3bits.com/2026-01-26-setting-up-your-powershell-development-environment-part-1/ https://day3bits.com/2026-01-26-setting-up-your-powershell-development-environment-part-1/ Issues with Windows Update KB5066835 Cause Problems with Authentication Flows Security update breaks localhost listeners that are used to connect to Microsoft 365 services with PowerShell and affect other 3rd party applications such as Cisco Duo. - This Wednesday, October 15th, I encountered an unpleasant surprise when I began connecting to Microsoft 365 services to test the latest prerelease version of Maester: I could not connect to Microsoft Teams using PowerShell! Import-Module Maester Connect-Maester -Service All -TenantId $MyTenantId Connect-MicrosoftTeams: ~\Documents\PowerShell\Modules\Maester\1.3.90\public\Connect-Maester.ps1:284 Line | 284 | Connect-MicrosoftTeams > $null... Thu, 16 Oct 2025 22:00:00 -0400 https://day3bits.com/2025-10-16-windows-update-kb5066835-authentication-problems/ https://day3bits.com/2025-10-16-windows-update-kb5066835-authentication-problems/ Installing PowerShell with the .NET Tool The .NET Tool (dotnet) can be used to easily install the LTS or STS version of PowerShell without local admin rights, but it does have some limitations. - There are a surprising number of ways that you can install PowerShell on a system. Today we’ll look at how to install it as a “.NET tool.” This approach is not necessary or ideal for everyday use, but it does have some valid use cases and conveniently does not require... Wed, 09 Jul 2025 08:00:00 -0400 https://day3bits.com/2025-07-09-installing-powershell-with-the-dotnet-tool/ https://day3bits.com/2025-07-09-installing-powershell-with-the-dotnet-tool/ Using the Microsoft Artifact Registry (MAR) with PowerShell A trusted and secure source for PowerShell modules, packages, and other application components. - The PowerShell Gallery has long been the “official” public source for PowerShell modules. It is convenient, but some organizations require more strictly vetted and approved software repositories for their environments. This can be achieved by maintaining a private repository in Azure DevOps, a NuGet-based web server, or even a file... Fri, 20 Jun 2025 17:00:00 -0400 https://day3bits.com/2025-06-20-using-mar-as-a-secure-repository/ https://day3bits.com/2025-06-20-using-mar-as-a-secure-repository/ Using Obsolete Parameters in PowerShell How to deprecate a parameter in your PowerShell functions without breaking existing scripts. - When you maintain PowerShell code for long enough, you may eventually want to stop using one of your original parameters in a function. It may have been used to provide a switch that is no longer needed or an input that is no longer supported. However, you do not want... Mon, 17 Feb 2025 06:00:00 -0500 https://day3bits.com/2025-02-17-using-obsolete-parameters-in-powershell/ https://day3bits.com/2025-02-17-using-obsolete-parameters-in-powershell/ Creating an IT Systems Management User Group for Charlotte I am looking for colleagues who share this vision for a new tech community in CLT that focuses on cybersecurity, Microsoft 365, on-premises and cloud infrastructure, PowerShell, and personal growth! - As IT professionals, we thrive on learning new things, tackling challenges, and growing our skills. While this is work inherently satisfying, we can only find real meaning in our work when we understand why we do it, when we are able to contribute value to the community, and when we... Mon, 30 Dec 2024 09:00:00 -0500 https://day3bits.com/2024-12-30-creating-an-it-systems-management-user-group-for-charlotte/ https://day3bits.com/2024-12-30-creating-an-it-systems-management-user-group-for-charlotte/ Revisiting Join-Path in PowerShell Tips for using Join-Path in backwards-compatible and cross-platform PowerShell scripts. - Many people have already written about the benefits of using PowerShell’s Join-Path cmdlet. Instead of repeating the details, let’s review some of the less common tricks, and then look at the differences between Windows PowerShell 5.1 and newer versions of PowerShell. The syntax in Windows PowerShell is pretty basic. You... Mon, 09 Dec 2024 05:45:00 -0500 https://day3bits.com/2024-12-09-Revisiting-Join-Path-in-PowerShell/ https://day3bits.com/2024-12-09-Revisiting-Join-Path-in-PowerShell/ How to Get Active Directory Trust Details in PowerShell In which .NET inspires an answer to a question I had for years. - Through most of the past 20 years of working with Active Directory, I have supported and worked in multi-forest environments. This work has involved one forest being split into 3 forests, a cross-forest migration of Exchange Server (I was spared the first one), and multiple forest consolidation projects. At various... Wed, 20 Nov 2024 12:00:00 -0500 https://day3bits.com/2024-11-20-how-to-get-active-directory-trust-details-in-powershell/ https://day3bits.com/2024-11-20-how-to-get-active-directory-trust-details-in-powershell/ The Benefits of Removing the Az and Microsoft.Graph PowerShell Modules Save time and simplify your workspace by removing all unused PowerShell modules. - The Microsoft Graph SDK v2.23.0 was released today, and with it, the updated Microsoft Graph PowerShell module. You can use Update-Module or Update-PSResource to update this module, or you can try out my new PSPReworkout module’s Update-AllTheThings function. Update-AllTheThings was built to update all installed PowerShell modules and scripts, PowerShell... Thu, 05 Sep 2024 09:00:00 -0400 https://day3bits.com/2024-09-05-benefits-of-removing-the-az-and-microsoft-graph-powershell-modules/ https://day3bits.com/2024-09-05-benefits-of-removing-the-az-and-microsoft-graph-powershell-modules/ Services Included with Microsoft 365 E5 Developer Subscriptions What is currently included when you sign up for a Microsoft 365 E5 developer subscription? - Welcome back! Here’s a quick hit that falls into the “make notes and share them” category. During the first quarter of 2024, Microsoft announced some unfortunate changes to the developer program. There have been many posts about how far fewer people will have access to this amazing learning and developing... Thu, 21 Mar 2024 10:00:00 -0400 https://day3bits.com/2024-03-21-services-included-in-microsoft-365-e5-developer-plan/ https://day3bits.com/2024-03-21-services-included-in-microsoft-365-e5-developer-plan/ Return Multiple Objects from a PowerShell Function Hash tables are back with another slick use case! - One of the things that makes PowerShell so fun is the endless opportunities to learn new and better ways to do things. We all began learning it by trying out useful cmdlets and following tutorials to write basic functions. However, nothing sinks in as well as when we work on... Fri, 08 Dec 2023 09:00:00 -0500 https://day3bits.com/2023-12-08-return-multiple-objects-from-a-powershell-function/ https://day3bits.com/2023-12-08-return-multiple-objects-from-a-powershell-function/