<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Azure Centric · PowerShell</title><description>Posts, a podcast and video series about Microsoft Azure by Marcos Nogueira.</description><link>https://azurecentric.com/</link><item><title>Separate configuration, execution and reporting in PowerShell</title><link>https://azurecentric.com/posts/separate-configuration-execution-and-reporting-in-powershell/</link><guid isPermaLink="true">https://azurecentric.com/posts/separate-configuration-execution-and-reporting-in-powershell/</guid><description>Structure PowerShell scripts to separate configuration, execution, and reporting for better performance and maintainability.</description><pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>performance</category></item><item><title>Export a small Azure resource inventory with PowerShell</title><link>https://azurecentric.com/posts/export-a-small-azure-resource-inventory-with-powershell/</link><guid isPermaLink="true">https://azurecentric.com/posts/export-a-small-azure-resource-inventory-with-powershell/</guid><description>Export Azure Policy definitions, initiatives, and assignments to JSON using PowerShell for backup or policy-as-code workflows.</description><pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>export</category><category>azure-policy</category><category>backup</category><category>policy-as-code</category></item><item><title>Build an automation script that can resume after a failure</title><link>https://azurecentric.com/posts/build-an-automation-script-that-can-resume-after-a-failure/</link><guid isPermaLink="true">https://azurecentric.com/posts/build-an-automation-script-that-can-resume-after-a-failure/</guid><description>Resume PowerShell automation using typed exception handling, efficient state tracking, and resource cleanup.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>automation</category><category>error-handling</category></item><item><title>Investigate a scheduled script that works interactively</title><link>https://azurecentric.com/posts/investigate-a-scheduled-script-that-works-interactively/</link><guid isPermaLink="true">https://azurecentric.com/posts/investigate-a-scheduled-script-that-works-interactively/</guid><description>Troubleshoot a PowerShell 7.6 scheduled script that fails silently by checking profile isolation and error handling.</description><pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate><category>powershell</category><category>troubleshooting</category><category>powershell</category><category>error-handling</category></item><item><title>Pin module versions for a repeatable automation job</title><link>https://azurecentric.com/posts/pin-module-versions-for-a-repeatable-automation-job/</link><guid isPermaLink="true">https://azurecentric.com/posts/pin-module-versions-for-a-repeatable-automation-job/</guid><description>Pin PowerShell module versions in automation to ensure predictable execution and avoid breaking changes from silent updates.</description><pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>automation</category></item><item><title>PowerShell 7.6 LTS: prepare an automation compatibility check</title><link>https://azurecentric.com/posts/powershell-7-6-lts-prepare-an-automation-compatibility-check/</link><guid isPermaLink="true">https://azurecentric.com/posts/powershell-7-6-lts-prepare-an-automation-compatibility-check/</guid><description>Audit PowerShell 7.6 LTS compatibility: check ThreadJob rename, Join-Path changes, and .NET 10 dependencies before production deployment.</description><pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>automation</category><category>compatibility</category><category>lts</category><category>breaking-changes</category></item><item><title>Use ShouldProcess for an infrastructure change function</title><link>https://azurecentric.com/posts/use-shouldprocess-for-an-infrastructure-change-function/</link><guid isPermaLink="true">https://azurecentric.com/posts/use-shouldprocess-for-an-infrastructure-change-function/</guid><description>Implement ShouldProcess in PowerShell functions to safely manage infrastructure changes with WhatIf and Confirm support.</description><pubDate>Sun, 25 Jan 2026 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>shouldprocess</category><category>cmdletbinding</category></item><item><title>Test a reusable function with Pester</title><link>https://azurecentric.com/posts/test-a-reusable-function-with-pester/</link><guid isPermaLink="true">https://azurecentric.com/posts/test-a-reusable-function-with-pester/</guid><description>Test a PowerShell function with Pester by packaging it as a module for predictable scoping and isolation.</description><pubDate>Tue, 02 Dec 2025 00:00:00 GMT</pubDate><category>powershell</category><category>pester</category><category>powershell</category><category>modules</category><category>testing</category></item><item><title>Decide when parallel execution improves a script</title><link>https://azurecentric.com/posts/decide-when-parallel-execution-improves-a-script/</link><guid isPermaLink="true">https://azurecentric.com/posts/decide-when-parallel-execution-improves-a-script/</guid><description>Decide when parallel execution improves a script using PowerShell 7.5 performance data.</description><pubDate>Fri, 10 Oct 2025 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category></item><item><title>Check native command exit codes in an automation script</title><link>https://azurecentric.com/posts/check-native-command-exit-codes-in-an-automation-script/</link><guid isPermaLink="true">https://azurecentric.com/posts/check-native-command-exit-codes-in-an-automation-script/</guid><description>Native commands in PowerShell only set $LASTEXITCODE. Use a wrapper to trigger try/catch.</description><pubDate>Mon, 18 Aug 2025 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>exit-codes</category><category>error-handling</category><category>native-commands</category><category>troubleshooting</category></item><item><title>Read and validate JSON configuration in PowerShell</title><link>https://azurecentric.com/posts/read-and-validate-json-configuration-in-powershell/</link><guid isPermaLink="true">https://azurecentric.com/posts/read-and-validate-json-configuration-in-powershell/</guid><description>Read and validate JSON configuration in PowerShell using native cmdlets, with explicit scope and verification steps.</description><pubDate>Mon, 23 Jun 2025 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>configuration</category><category>json</category><category>error-handling</category><category>troubleshooting</category></item><item><title>Use remoting to inspect several Windows servers</title><link>https://azurecentric.com/posts/use-remoting-to-inspect-several-windows-servers/</link><guid isPermaLink="true">https://azurecentric.com/posts/use-remoting-to-inspect-several-windows-servers/</guid><description>Inspect multiple Windows servers using PowerShell remoting, distinguishing WSMan configuration from simple cmdlet parameters.</description><pubDate>Wed, 30 Apr 2025 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>windows-server</category><category>remoting</category><category>windows</category><category>invoke-command</category><category>pssession</category></item><item><title>Choose a safe approach to PowerShell credential handling</title><link>https://azurecentric.com/posts/choose-a-safe-approach-to-powershell-credential-handling/</link><guid isPermaLink="true">https://azurecentric.com/posts/choose-a-safe-approach-to-powershell-credential-handling/</guid><description>Define robust PowerShell credential parameters, handle legacy cmdlet constraints, and prevent injection without relying on Invoke-Expression.</description><pubDate>Mon, 03 Mar 2025 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>credential-handling</category><category>script-injection</category></item><item><title>PowerShell 7.5 is available: review compatibility before upgrading automation</title><link>https://azurecentric.com/posts/powershell-7-5-is-available-review-compatibility-before-upgrading-automation/</link><guid isPermaLink="true">https://azurecentric.com/posts/powershell-7-5-is-available-review-compatibility-before-upgrading-automation/</guid><description>Review PowerShell 7.5 compatibility before upgrading automation, focusing on .NET 9 changes and module support.</description><pubDate>Sat, 15 Feb 2025 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>compatibility</category><category>azure-automation</category><category>net-9</category><category>upgrade</category><category>linux</category></item><item><title>Add structured logging to an infrastructure script</title><link>https://azurecentric.com/posts/add-structured-logging-to-an-infrastructure-script/</link><guid isPermaLink="true">https://azurecentric.com/posts/add-structured-logging-to-an-infrastructure-script/</guid><description>Replace unreliable PowerShell transcripts with structured logging to ensure consistent, parseable infrastructure logs.</description><pubDate>Mon, 06 Jan 2025 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>structured-logging</category><category>transcripts</category><category>troubleshooting</category></item><item><title>Investigate a module that loads in one shell but not another</title><link>https://azurecentric.com/posts/investigate-a-module-that-loads-in-one-shell-but-not-another/</link><guid isPermaLink="true">https://azurecentric.com/posts/investigate-a-module-that-loads-in-one-shell-but-not-another/</guid><description>Troubleshoot a PowerShell module that loads in one shell but not another by comparing PSModulePath, profiles, and session state.</description><pubDate>Mon, 11 Nov 2024 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>troubleshooting</category><category>modules</category><category>profiles</category><category>psmodulepath</category></item><item><title>Export an Azure inventory without losing object structure</title><link>https://azurecentric.com/posts/export-an-azure-inventory-without-losing-object-structure/</link><guid isPermaLink="true">https://azurecentric.com/posts/export-an-azure-inventory-without-losing-object-structure/</guid><description>Export Azure VM inventory with nested network data using PowerShell and typed objects.</description><pubDate>Fri, 13 Sep 2024 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>inventory</category><category>select-object</category><category>azure-virtual-machines</category></item><item><title>Handle script failures using try, catch and ErrorAction</title><link>https://azurecentric.com/posts/handle-script-failures-using-try-catch-and-erroraction/</link><guid isPermaLink="true">https://azurecentric.com/posts/handle-script-failures-using-try-catch-and-erroraction/</guid><description>Use try/catch and ErrorAction Stop to handle script failures predictably in PowerShell 7.4.</description><pubDate>Fri, 19 Jul 2024 00:00:00 GMT</pubDate><category>powershell</category><category>error-handling</category><category>powershell</category><category>try-catch</category><category>troubleshooting</category></item><item><title>Choose objects rather than formatted text for script output</title><link>https://azurecentric.com/posts/choose-objects-rather-than-formatted-text-for-script-output/</link><guid isPermaLink="true">https://azurecentric.com/posts/choose-objects-rather-than-formatted-text-for-script-output/</guid><description>Why PowerShell scripts should handle objects, not text, and how to use Get-Member to verify pipeline data.</description><pubDate>Mon, 27 May 2024 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>objects</category><category>get-member</category><category>pipeline</category></item><item><title>Write a reusable function with clear parameters</title><link>https://azurecentric.com/posts/write-a-reusable-function-with-clear-parameters/</link><guid isPermaLink="true">https://azurecentric.com/posts/write-a-reusable-function-with-clear-parameters/</guid><description>Write reusable PowerShell functions with clear parameters, validation, and help.</description><pubDate>Mon, 01 Apr 2024 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>parameters</category><category>functions</category><category>help</category><category>validation</category></item><item><title>Install PowerShell 7.4 alongside Windows PowerShell</title><link>https://azurecentric.com/posts/install-powershell-7-4-alongside-windows-powershell/</link><guid isPermaLink="true">https://azurecentric.com/posts/install-powershell-7-4-alongside-windows-powershell/</guid><description>Install PowerShell 7.4 alongside Windows PowerShell 5.1 using MSI or ZIP, managing remoting endpoints and module paths.</description><pubDate>Wed, 07 Feb 2024 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>side-by-side</category><category>windows</category><category>installation</category><category>remoting</category></item><item><title>Auto shutdown an Azure VM with PowerShell</title><link>https://azurecentric.com/posts/auto-shutdown-an-azure-vm-with-powershell/</link><guid isPermaLink="true">https://azurecentric.com/posts/auto-shutdown-an-azure-vm-with-powershell/</guid><description>At one of my costumers, after starting the process of Azure Governance, it come to my attention the following scenario, the majority of the Virtual Machines on the DevTest Labs…</description><pubDate>Tue, 29 Jan 2019 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>azure-virtual-machines</category><category>devtest-labs</category></item><item><title>How to overwrite Tags on an Azure Resource</title><link>https://azurecentric.com/posts/how-to-overwrite-tags-on-an-azure-resource/</link><guid isPermaLink="true">https://azurecentric.com/posts/how-to-overwrite-tags-on-an-azure-resource/</guid><description>With the limitation of 15 Tags per resource, you will reach a point that you need to intervene and either remove some of the tags or reuse them. On my previous post (How to…</description><pubDate>Tue, 10 Jul 2018 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>resource-tags</category></item><item><title>How to get Tags for all the resources on the same Resource Group</title><link>https://azurecentric.com/posts/how-to-get-tags-for-all-the-resources-on-the-same-resource-group/</link><guid isPermaLink="true">https://azurecentric.com/posts/how-to-get-tags-for-all-the-resources-on-the-same-resource-group/</guid><description>When you heavily use Tags on your Azure Resources, is very easy to reach the limits of the Tags that Azure allow to use on each resource. On the other hand, to be consistent on…</description><pubDate>Wed, 04 Jul 2018 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>resource-tags</category><category>resource-groups</category><category>azure-automation</category></item><item><title>Azure Resource Manager PowerShell Module</title><link>https://azurecentric.com/posts/azure-resource-manager-powershell-module/</link><guid isPermaLink="true">https://azurecentric.com/posts/azure-resource-manager-powershell-module/</guid><description>If you are like me that like to have all the tools on your desktop/laptop, special the Azure PowerShell module, now your live is way easier. Not long time ago, you had to…</description><pubDate>Fri, 15 Sep 2017 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>azure-resource-manager</category><category>azure-powershell</category></item><item><title>Using PowerShell on Azure Cloud Shell</title><link>https://azurecentric.com/posts/using-powershell-on-azure-cloud-shell/</link><guid isPermaLink="true">https://azurecentric.com/posts/using-powershell-on-azure-cloud-shell/</guid><description>On the past May 10th, during the keynote of the Microsoft Build 2017 Conference in Seattle (WA), Microsoft announce the Azure Cloud Shell (see post here). Although on the May…</description><pubDate>Wed, 24 May 2017 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>azure-cloud-shell</category></item><item><title>Using PowerShell to create VMs in Azure</title><link>https://azurecentric.com/posts/using-powershell-to-create-vms-in-azure/</link><guid isPermaLink="true">https://azurecentric.com/posts/using-powershell-to-create-vms-in-azure/</guid><description>There are several methods to deploy virtual machines on Azure. One of my favorite is using PowerShell. Using PowerShell to deploy VMs, gives you the ability to automate the…</description><pubDate>Wed, 01 Mar 2017 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category></item><item><title>Azure PowerShell to manage Azure Subscriptions</title><link>https://azurecentric.com/posts/azure-powershell-to-manage-azure-subscriptions/</link><guid isPermaLink="true">https://azurecentric.com/posts/azure-powershell-to-manage-azure-subscriptions/</guid><description>After you install the Azure PowerShell modules, you can connect the Azure PowerShell session to the Azure subscriptions that you want to manage. To establish this connection,…</description><pubDate>Fri, 05 Aug 2016 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>azure-powershell</category><category>azure-subscriptions</category></item><item><title>Azure PowerShell - Overview</title><link>https://azurecentric.com/posts/azure-powershell-overview/</link><guid isPermaLink="true">https://azurecentric.com/posts/azure-powershell-overview/</guid><description>On Windows Server 2008, Microsoft introduces us back to the world of the command line with PowerShell. At the beginning, I must admit, at that time I was a bit reluctant to…</description><pubDate>Tue, 26 Jul 2016 00:00:00 GMT</pubDate><category>powershell</category><category>powershell</category><category>azure-powershell</category><category>windows-server</category><category>microsoft-entra-id</category></item></channel></rss>