<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xx="tags" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>PowerShell - Ken Muse</title><atom:link href="https://www.kenmuse.com/tags/powershell/rss/" rel="self" type="application/rss+xml"/><link>https://www.kenmuse.com/tags/powershell/</link><description>Discover Azure, DevOps, and development insights with Ken Muse, a DevOps Architect at GitHub and 4x Microsoft Azure MVP</description><language>en-us</language><sy:updatePeriod>weekly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><image><title>PowerShell - Ken Muse</title><link>https://www.kenmuse.com/tags/powershell/</link><width>32</width><url>https://www.kenmuse.com/tags/powershell/favicon/favicon-32x32.png</url><height>32</height></image><atom:link href="https://www.kenmuse.com/tags/powershell/rss/index.xml" rel="self" type="application/rss+xml"/><item><title>Automating Azure OIDC Application Federation</title><link>https://www.kenmuse.com/blog/automating-azure-oidc-application-federation/</link><pubDate>Mon, 22 Jan 2024 00:00:00 -0500</pubDate><guid isPermaLink="false">automating-azure-oidc-application-federation</guid><category>Azure</category><category>DevOps</category><category>GitHub</category><category>Security</category><description>&lt;p&gt;I was recently asked if I knew how to automate creating Azure Entra ID (formerly Active Directory) applications. More specifically, they wanted to know if they could use PowerShell to automate creating the OIDC federation between Azure AD and GitHub. To do this, we just need to use a few PowerShell modules that save us the trouble of crafting several REST calls. These modules work with PowerShell 5.x and 7.x.&lt;/p&gt;</description><enclosure type="image/jpeg" url="https://www.kenmuse.com/blog/automating-azure-oidc-application-federation/images/banner.jpg"/></item><item><title>Coloring Consoles in ANSI</title><link>https://www.kenmuse.com/blog/coloring-in-ansi/</link><pubDate>Wed, 13 Jul 2022 00:00:00 -0400</pubDate><guid isPermaLink="false">coloring-in-ansi</guid><category>Programming</category><description>Explore how to use ANSI escape sequences to force PowerShell (and other tools) to colorize console outputs.</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/coloring-in-ansi/images/banner.png"/></item><item><title>Restricting Azure App Services to Azure Front Door</title><link>https://www.kenmuse.com/blog/restricting-azure-app-service-access-to-azure-front-door/</link><pubDate>Fri, 28 Aug 2020 00:00:00 -0400</pubDate><guid isPermaLink="false">restricting-azure-app-service-access-to-azure-front-door</guid><category>Azure</category><description>&lt;p&gt;Securing an Azure App Service is a common requirement. If you&amp;rsquo;re not familiar with Front Door, it combines a web application firewall (WAF), content distribution network (CDN), traffic manager, and routing rules into a single service. This makes it a perfect choice for protecting a web site. In using this, we want to ensure that traffic only arrives from Front Door rather than directly accessing the App Service. While most parts of setting up Front Door are deliberately easy, limiting the network traffic currently requires manual effort.&lt;/p&gt;</description><enclosure type="image/jpeg" url="https://www.kenmuse.com/blog/restricting-azure-app-service-access-to-azure-front-door/images/banner.jpg"/></item><item><title>Restoring Azure Tests for SonarQube</title><link>https://www.kenmuse.com/blog/restoring-azure-tests-sonarqube/</link><pubDate>Wed, 25 Sep 2019 00:00:00 -0400</pubDate><guid isPermaLink="false">restoring-azure-tests-sonarqube</guid><category>Azure DevOps</category><category>DevOps</category><description>&lt;p&gt;Continuing from the
&lt;a class="" href="https://www.kenmuse.com/blog/azure-devops-missing-tests/" target="_self"&gt;previous post&lt;/a&gt;, SonarQube expects a certain set of files to be present in &lt;code&gt;$(Common.TestResultsDirectory)&lt;/code&gt;. When it doesn&amp;rsquo;t find the files in the folder, it can prevent it from reporting the results correctly. Because of changes to the &lt;strong&gt;vstest&lt;/strong&gt; task, that folder is cleaned up once the tests results are uploaded, meaning that the files may not exist when SonarQube looks for them. We have a few options for resolving this issue.&lt;/p&gt;</description><enclosure type="image/jpeg" url="https://www.kenmuse.com/blog/restoring-azure-tests-sonarqube/images/banner.jpg"/></item><item><title>DevOps and Creating Documentation</title><link>https://www.kenmuse.com/blog/devops-and-documentation/</link><pubDate>Mon, 05 Nov 2018 00:00:00 -0500</pubDate><guid isPermaLink="false">devops-and-documentation</guid><category>Azure DevOps</category><description>&lt;p&gt;Just because your software iterations are fast and lean doesn&amp;rsquo;t mean that you shouldn&amp;rsquo;t have good documentation. In fact, with shorter release cycles documentation becomes even more important. Consequently, it&amp;rsquo;s important to have a a process that makes rapid updates possible.&lt;/p&gt;
&lt;p&gt;I was faced with just such a situation the other day. I had to assist with some documentation which were authored as
&lt;a class="external-link" href="https://docs.microsoft.com/en-us/contribute/how-to-write-use-markdown" arial-label="The Markdown link opens in a new tab" target="_blank"&gt;Markdown&lt;span class="fa-solid fa-up-right-from-square" &gt;&lt;/span&gt;&lt;/a&gt; and stored in source control. The documents were manually published by converting them to HTML using a Python 3 package called
&lt;a class="external-link" href="https://github.com/joeyespo/grip" arial-label="The Grip link opens in a new tab" target="_blank"&gt;&lt;strong&gt;Grip&lt;/strong&gt;&lt;span class="fa-solid fa-up-right-from-square" &gt;&lt;/span&gt;&lt;/a&gt;. This formatted the documents and gave them an appearance based on Github&amp;rsquo;s look and feel. The results were packaged in a ZIP file for distribution. A repetitive process like this seems like a great excuse to automate!&lt;/p&gt;</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/devops-and-documentation/images/DevOps-Docs-1429x375.png"/></item><item><title>Enabling Release Annotations in VSTS</title><link>https://www.kenmuse.com/blog/enabling-release-annotations-vsts/</link><pubDate>Mon, 11 Jun 2018 00:00:00 -0400</pubDate><guid isPermaLink="false">enabling-release-annotations-vsts</guid><category>Azure DevOps</category><category>Azure</category><description>&lt;p&gt;Application Insights is a powerful component of Azure. It provides us with real-time logging about the performance of our application, the reliability of the site, and any exceptions that might arise. It&amp;rsquo;s an important and often overlooked part of the DevOps lifecycle &amp;mdash; monitoring the application in production.&lt;/p&gt;
&lt;p&gt;New releases can introduce new issues. Whether its a new bug being exposed as part of the release or simply some latency issues during the rollout, it&amp;rsquo;s important to understand the relationship. Today&amp;rsquo;s post will explore how we can use VSTS to automatically add annotations to our Application Insights environment.&lt;/p&gt;</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/enabling-release-annotations-vsts/images/2018-05-30-Release-Annotationsannotation-01.png"/></item><item><title>Handling “Open File – Security Warning”</title><link>https://www.kenmuse.com/blog/handling-open-file-security-warning/</link><pubDate>Wed, 31 Jan 2018 00:00:00 -0500</pubDate><guid isPermaLink="false">handling-open-file-security-warning</guid><category>DevOps</category><description>&lt;p&gt;It seems like a simple enough task. Use an Azure File share to store an executable and use a PowerShell script to execute the application on a new virtual machines. In practice, however, you might find that the executable is quietly failing to run. Running the executable on the server manually, the problem becomes apparent as a dialog box appears with the title:&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Open File &amp;ndash; Security Warning&amp;rdquo;&lt;/p&gt;
&lt;img
src="https://www.kenmuse.com/blog/handling-open-file-security-warning/images/OpenFileSecurityWarningofsw_hu_3be5282a21fdb9e0.webp"
alt=""
class=""
loading="lazy"
width="464"
height="323"
/&gt;&lt;p&gt;This issue typically occurs when executing files that originated from the internet. In this case, the cause is different: the UNC path is treated as part of the Internet Zone, restricting the permissions.&lt;/p&gt;</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/handling-open-file-security-warning/images/banner.png"/></item></channel></rss>