&lt;?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Articles from July 2019 on PowerShell.org - Welcome Automaters!</title><link>https://powershell.org/articles/2019/07/</link><description>Recent content in Articles from July 2019 on PowerShell.org - Welcome Automaters!</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://powershell.org/articles/2019/07/index.xml" rel="self" type="application/rss+xml"/><item><title>ICYMI: PowerShell Week of 26-July-2019</title><link>https://powershell.org/articles/2019-07-26-icymi-powershell-week-of-26-july-2019/</link><guid>https://powershell.org/articles/2019-07-26-icymi-powershell-week-of-26-july-2019/</guid><pubDate>Fri, 26 Jul 2019 15:00:09 +0000</pubDate><description>&lt;p&gt;Topics include an in-depth tutorial, extending PS with Rust, mail archives, and Pester reports.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include an in-depth tutorial, extending PS with Rust, mail archives, and Pester reports.</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, and Mark Roloff.</p><h6 id="powershell-tutorial-mini-course-building-a-server-inventory-script" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190726.md#powershell-tutorial-mini-course-building-a-server-inventory-script"/><a href="https://adamtheautomator.com/powershell-tutorial-mini-course/"><em>PowerShell Tutorial Mini-Course: Building a Server Inventory Script</em></a><a class="ps-heading-anchor" href="#powershell-tutorial-mini-course-building-a-server-inventory-script" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Adam Bertram on July 22nd</p><p>Stepping from one-liners to a full script can be a daunting threshold. Fortunately, Adam has a great tutorial that walks you through his thought-process behind piecing together a reusable tool.</p><h6 id="extending-powershell-with-rust" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190726.md#extending-powershell-with-rust"/><a href="https://dfinke.github.io/powershell/2019/07/21/Extending-PowerShell-with-Rust.html"><em>Extending PowerShell with Rust</em></a><a class="ps-heading-anchor" href="#extending-powershell-with-rust" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Doug Finke on July 21st</p><p>Need to squeeze more performance out of your PowerShell but the thought of writing C# isn&rsquo;t sitting well with you? Well, how about Rust?</p><h6 id="mission-impossible-code-part-2-extreme-multilingual-iac-via-standard-code-for-preflight-tcp-connect-testing-a-list-of-endpoints-in-both-bash-and-powershell" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190726.md#mission-impossible-code-part-2-extreme-multilingual-iac-via-standard-code-for-preflight-tcp-connect-testing-a-list-of-endpoints-in-both-bash-and-powershell"/><a href="https://cloudywindows.io/post/mission-impossible-code-part-2-extreme-multilingual-iac-via-standard-code-for-preflight-tcp-connect-testing-a-list-of-endpoints-in-both-bash-and-powershell/"><em>Mission Impossible Code Part 2: Extreme Multilingual IaC (via Standard Code for Preflight TCP Connect Testing a List of Endpoints in Both Bash and PowerShell)</em></a><a class="ps-heading-anchor" href="#mission-impossible-code-part-2-extreme-multilingual-iac-via-standard-code-for-preflight-tcp-connect-testing-a-list-of-endpoints-in-both-bash-and-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Darwin Sanoy on July 23rd</p><p>Join Darwin&rsquo;s trip down the rabbit hole of working out a xplat method for validating critical network connectivity before onboarding new systems.</p><h6 id="disconnect-migrate-and-reconnect-your-pst-with-powershell" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190726.md#disconnect-migrate-and-reconnect-your-pst-with-powershell"/><a href="http://www.systanddeploy.com/2019/07/disconnect-migrate-and-reconnect-your.html"><em>Disconnect, migrate and reconnect your PST with PowerShell</em></a><a class="ps-heading-anchor" href="#disconnect-migrate-and-reconnect-your-pst-with-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Damien Van Robaeys on July 23rd</p><p>I&rsquo;ve long believed that PSTs are the handiwork of Satan but they&rsquo;re often a necessary evil that we endure. Fortunately, locating and migrating them is a snap with Damien&rsquo;s script.</p><h6 id="pester-result-reporting-with-suggestions-and-xsl-support" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190726.md#pester-result-reporting-with-suggestions-and-xsl-support"/><a href="https://www.powershellmagazine.com/2019/07/25/pester-result-reporting-with-suggestions-and-xsl-support/"><em>Pester Result Reporting With Suggestions And XSL Support</em></a><a class="ps-heading-anchor" href="#pester-result-reporting-with-suggestions-and-xsl-support" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Prasoon Karunan V on July 25rd</p><p>Desiring nicer looking test results, Prasoon extends Pester, allowing it to generate browser-friendly reports.</p><h6 id="tweet-of-the-week" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190726.md#tweet-of-the-week"/><a href="https://twitter.com/MiladMSFT/status/1152222809747329024?s=20"><em>Tweet of the Week</em></a><a class="ps-heading-anchor" href="#tweet-of-the-week" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>It&rsquo;s always cool to see what new PowerShell tools the InfoSec community comes up with. ThreatHunt simulates attack methods by raising alerts for you to practice hunting down.</p><h6 id="youtube-powershell-and-selenium" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190726.md#youtube-powershell-and-selenium"/><a href="https://www.youtube.com/watch?v=A6ZKzLN2CDs"><em>Youtube: Powershell and Selenium</em></a><a class="ps-heading-anchor" href="#youtube-powershell-and-selenium" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Presenting at the St. Louis User Group, Ken Maglio covers everything you need to know to start automating Chrome with the help of Selenium.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 17-July-2019</title><link>https://powershell.org/articles/2019-07-19-icymi-powershell-week-of-17-july-2019/</link><guid>https://powershell.org/articles/2019-07-19-icymi-powershell-week-of-17-july-2019/</guid><pubDate>Fri, 19 Jul 2019 16:22:40 +0000</pubDate><description>&lt;p&gt;Topics include PowerShell 7, Ubiquiti APIs, Chocolatey, and DSC.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include PowerShell 7, Ubiquiti APIs, Chocolatey, and DSC.</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, and Mark Roloff.</p><h6 id="accessing-your-ubiquiti-unifi-network-configuration-with-powershell" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190719.md#accessing-your-ubiquiti-unifi-network-configuration-with-powershell"/><a href="https://blog.darrenjrobinson.com/accessing-your-ubiquiti-unifi-network-configuration-with-powershell/"><em>Accessing your Ubiquiti Unifi network configuration with PowerShell</em></a><a class="ps-heading-anchor" href="#accessing-your-ubiquiti-unifi-network-configuration-with-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Darren Robinson on July 15th</p><p>Ubiquiti is a popular choice for budget-conscious techies and Darren demonstrates how you can start pulling useful information out of your network with their REST API.</p><h6 id="powershell-scripting-techniques-and-gems--part-1" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190719.md#powershell-scripting-techniques-and-gems--part-1"/><a href="https://www.tech-savvy.nl/2019/07/16/powershell-scripting-techniques-and-gems-part-1/"><em>PowerShell Scripting Techniques and Gems – Part 1</em></a><a class="ps-heading-anchor" href="#powershell-scripting-techniques-and-gems--part-1" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Martijn van Geffen on July 16th</p><p>Are you familiar with the</p><p><code>Where</code>method? It&rsquo;s a feature of collections that not many people are aware of, and Martijn does a nice dive into its usage and performance.</p><h6 id="introducing-the-chocolatey-remote-management-powershell-gui" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190719.md#introducing-the-chocolatey-remote-management-powershell-gui"/><a href="https://winsysblog.com/2019/07/introducing-the-chocolatey-remote-management-powershell-gui.html"><em>Introducing the Chocolatey Remote Management PowerShell GUI</em></a><a class="ps-heading-anchor" href="#introducing-the-chocolatey-remote-management-powershell-gui" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Dan Franciscus on July 16th</p><p>Dan shows a handy GUI tool that his helpdesk can use for assistance in remote Chocolatey management. Code available on GitHub.</p><h6 id="how-to-create-archive-with-powershell" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190719.md#how-to-create-archive-with-powershell"/><a href="http://blog.senktas.net/2019/07/15/how-to-create-archive-with-powershell/"><em>How to create archive with PowerShell?</em></a><a class="ps-heading-anchor" href="#how-to-create-archive-with-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Robert Senktas on July 15th</p><p>Robert explores the relative performance of</p><p><code>Compress-Archive</code>versus directly calling .NET.</p><h6 id="diagnosing-common-windows-problems-with-powershell-troubleshooting-packs" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190719.md#diagnosing-common-windows-problems-with-powershell-troubleshooting-packs"/><a href="http://techgenix.com/powershell-troubleshooting-packs/"><em>Diagnosing Common Windows Problems With PowerShell Troubleshooting Packs</em></a><a class="ps-heading-anchor" href="#diagnosing-common-windows-problems-with-powershell-troubleshooting-packs" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Brien Posey on July 15th</p><p>It never hurts to have an extra tool in your bag of tricks, so if you&rsquo;re supporting Windows 10 you could give these troubleshooting packs a whirl with PowerShell.</p><h6 id="desired-state-configuration-dsc--configuration-data" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190719.md#desired-state-configuration-dsc--configuration-data"/><a href="https://nedimmehic.org/2019/07/18/desired-state-configuration-dsc-configuration-data/"><em>Desired State Configuration (DSC) – Configuration Data</em></a><a class="ps-heading-anchor" href="#desired-state-configuration-dsc--configuration-data" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Nedim Mehic on July 18th</p><p>In part 3 of this series, Nedim takes a deep dive into DSC configuration data, covering some less obvious details and pointing out pitfalls to avoid.</p><h6 id="powershell-7-preview-2" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190719.md#powershell-7-preview-2"/><a href="https://github.com/PowerShell/PowerShell/releases/tag/v7.0.0-preview.2"><em>PowerShell 7 Preview 2</em></a><a class="ps-heading-anchor" href="#powershell-7-preview-2" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Preview 2 of PS v7 has been released. Get it. Play with it. Break it. Send feedback.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 12-July-2019</title><link>https://powershell.org/articles/2019-07-12-icymi-powershell-week-of-12-july-2019/</link><guid>https://powershell.org/articles/2019-07-12-icymi-powershell-week-of-12-july-2019/</guid><pubDate>Fri, 12 Jul 2019 15:00:20 +0000</pubDate><description>&lt;p&gt;Topics include WPF GUIs, BitLocker and LAPS reporting, more APIs, and tips from a consultant.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include WPF GUIs, BitLocker and LAPS reporting, more APIs, and tips from a consultant.</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, and Mark Roloff.</p><h6 id="heading" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190712.md#tutorial-creating-extensive-powershell-gui-applications--part-1"/><a href="https://domruggeri.com/2019/07/06/creating-extensive-powershell-gui-applications-part-1/"><em>[Tutorial] Creating Extensive PowerShell GUI Applications – PART 1</em></a><a class="ps-heading-anchor" href="#heading" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Dom Ruggeri on July 6th</p><p>For those interested in dipping their toes into creating GUIs with PowerShell, Dom has started a great series covering his approach to keeping the GUI elements organized and wiring them up to some code.</p><h6 id="managing-the-ghost-api-with-powershell-oh-the-possibilities" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190712.md#managing-the-ghost-api-with-powershell-oh-the-possibilities"/><a href="https://adamtheautomator.com/psghost-automate-your-ghost-blog-with-powershell/"><em>Managing the Ghost API with PowerShell: Oh the Possibilities!</em></a><a class="ps-heading-anchor" href="#managing-the-ghost-api-with-powershell-oh-the-possibilities" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Adam Bertram on July 11th</p><p>Perhaps to celebrate migrating his blog to the Ghost platform, Adam explores how to work with the service&rsquo;s REST API via PowerShell.</p><h6 id="getting-bitlocker-and-laps-summary-report-with-powershell" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190712.md#getting-bitlocker-and-laps-summary-report-with-powershell"/><a href="https://evotec.xyz/getting-bitlocker-and-laps-summary-report-with-powershell/"><em>Getting Bitlocker and LAPS summary report with PowerShell</em></a><a class="ps-heading-anchor" href="#getting-bitlocker-and-laps-summary-report-with-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Przemyslaw Klys on July 11th</p><p>Need a presentable report for management? This fun script will put one in your hands. Or, take some time to poke at it and learn some cool new tricks with collecting data.</p><h6 id="3-ways-to-create-custom-typenames-on-powershell-objects" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190712.md#3-ways-to-create-custom-typenames-on-powershell-objects"/><a href="https://ridicurious.com/2019/07/11/3-ways-to-create-custom-typenames-in-powershell/"><em>3 Ways to Create Custom TypeNames on PowerShell Objects</em></a><a class="ps-heading-anchor" href="#3-ways-to-create-custom-typenames-on-powershell-objects" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Prateek Singh on July 11th</p><p>If you&rsquo;re using the</p><p><code>types.ps1xml</code>to format how your objects are displayed, here are a few different ways to define your object typename.</p><h6 id="quantum-computing-with" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190712.md#quantum-computing-with-powershell"/><a href="https://github.com/microsoft/Quantum/tree/master/Chemistry/GetGateCount"><em>Quantum Computing with&hellip; PowerShell?</em></a><a class="ps-heading-anchor" href="#quantum-computing-with" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Quantum chemistry your thing? We stumbled across a portion of MS&rsquo;s Quantum Development Kit that integrates a little functionality with our favorite language.</p><h6 id="youtube-lessons-from-the-field-how-an-it-consultant-uses-powershell-to-get-the-job-done-with-david-stein" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190712.md#youtube-lessons-from-the-field-how-an-it-consultant-uses-powershell-to-get-the-job-done-with-david-stein"/><a href="https://www.youtube.com/watch?v=vAcQzjKcfrM"><em>Youtube: Lessons from the field: How an IT consultant uses PowerShell to get the job done with David Stein</em></a><a class="ps-heading-anchor" href="#youtube-lessons-from-the-field-how-an-it-consultant-uses-powershell-to-get-the-job-done-with-david-stein" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Presenting to the Research Triangle PowerShell User Group, David gives a glimpse into how PS has changed the landscape of his job as a consultant.</p>]]></content:encoded></item><item><title>Quick ProTip: Negotiate TLS Connections In Powershell With A Minimum TLS Version Requirement</title><link>https://powershell.org/articles/2019-07-08-quick-protip-negotiate-tls-connections-in-powershell-with-a-minimum-tls-version-requirement/</link><guid>https://powershell.org/articles/2019-07-08-quick-protip-negotiate-tls-connections-in-powershell-with-a-minimum-tls-version-requirement/</guid><pubDate>Mon, 08 Jul 2019 21:28:23 +0000</pubDate><description>&lt;h2 id="synopsis.wp-block-heading" class="ps-heading"&gt;Synopsis&lt;a class="ps-heading-anchor" href="#synopsis.wp-block-heading" aria-label="Link to this section" title="Link to this section"&gt;&lt;i class="fas fa-link" aria-hidden="true"&gt;&lt;/i&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;This is a quick post to highlight the nuances of Powershell and protocol management in regard to TLS connections. If you&amp;rsquo;ve ever attempted to make a secure connection (for example, an API request) to a service with certain net security requirements, you might have run into this problem.&lt;/p&gt;
&lt;p&gt;While TLS is negotiated at the highest level existing on both the server and the client, the minimum protocols defined by Powershell may include ones that you explicitly do not want. While explicitly declaring an enumerated protocol list is easy enough, what happens when Tls13 becomes more common, and we want to start utilizing it when it&amp;rsquo;s available? Then Tls14, and beyond?&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<h2 id="synopsis.wp-block-heading" class="ps-heading">Synopsis<a class="ps-heading-anchor" href="#synopsis.wp-block-heading" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>This is a quick post to highlight the nuances of Powershell and protocol management in regard to TLS connections. If you&rsquo;ve ever attempted to make a secure connection (for example, an API request) to a service with certain net security requirements, you might have run into this problem.</p><p>While TLS is negotiated at the highest level existing on both the server and the client, the minimum protocols defined by Powershell may include ones that you explicitly do not want. While explicitly declaring an enumerated protocol list is easy enough, what happens when Tls13 becomes more common, and we want to start utilizing it when it&rsquo;s available? Then Tls14, and beyond?</p><p>Surely there&rsquo;s a way to give both a minimum version and account for newer protocols once they become available.</p><h2 id="retrieving-and-configuring-tls.wp-block-heading" class="ps-heading">Retrieving and Configuring TLS<a class="ps-heading-anchor" href="#retrieving-and-configuring-tls.wp-block-heading" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>The first thing we&rsquo;ll want to do is figure out what the default security protocol for our system is, and what all versions are supported. To do this, we leverage the .NET method</p><p><code>[Net.ServicePointManager]::SecurityProtocol</code>.</p><p><code>PS&gt; [Net.ServicePointManager]::SecurityProtocol SystemDefault</code>On my Windows 10 system with Powershell v5.1, this returns a value of</p><p><code>SystemDefault</code>. This value was introduced in .NET 4.7 (prior versions of .NET return no default value, only an enumerated list), and allows your operating system to pick the protocol to best negotiate the connection with. Under normal circumstances, this would be the best option to use, as defaults change based on the current security landscape.</p><p>However, </p><p><code>SystemDefault</code>might be a bit too lenient in it&rsquo;s declared available protocols. SSLv3?! - yeah, </p><p><a href="https://disablessl3.com/">no thanks</a>.</p><p>We can see the default available protocols with the following:</p><p><code>PS&gt; [enum]::GetValues('Net.SecurityProtocolType') SystemDefault Ssl3 Tls Tls11 Tls12 Tls13</code>Changing the protocol list is a fairly straight forward command:</p><p><code>[System.Net.ServicePointManager]::SecurityProtocol = 'Tls11, Tls12'</code>This would declare Tls 1.1 and 1.2 all valid protocols to use. As long as those are present on your computer, this works perfectly fine, and I&rsquo;ve seen this method used a lot. This will accomplish our goal of setting a minimum required security protocol.</p><p>Herein lies the nuance of what we&rsquo;re trying to accomplish. While TLS is negotiated at the highest level existing on both the server and the client, the minimum protocols defined in</p><p><code>SystenDefault</code>may include ones that you explicitly do not want. If Tls protocols are explicitly defined, we&rsquo;d need to update our code whenever a new protocol became available. This might be preferable in certain circumstances where you need exact control over how your application communicates, but for my use case, I want this to be a dynamic declaration.</p><p>It turns out that adding support for newer available protocols on a client machine is fairly easy to implement.</p><p><code>PS&gt; $CurrentVersionTls = [Net.ServicePointManager]::SecurityProtocol PS&gt; $AvailableTls = [enum]::GetValues('Net.SecurityProtocolType') | Where-Object { $_ -ge 'Tls12' } PS&gt; $AvailableTls.ForEach({ [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor $_ }) PS&gt; [Net.ServicePointManager]::SecurityProtocol Tls12, Tls13</code>What we&rsquo;ve done here is enumerated all available protocols on our computer and declared everything above Tls12 as fit for negotiation. This allows us to be able to both specify a minimum, and include newer protocols once they are available - effectively leveraging the best of</p><p><code>SystemDefault</code>and explicit declarations.</p><p>As a courtesy to your users, I would recommend setting the security protocol back to the way it was once your connection or request is finished.</p><p><code># Be nice and set session security protocols back to how we found them. [Net.ServicePointManager]::SecurityProtocol = $currentVersionTls</code>Happy (secure) shelling!</p><p>Note: This is a cross-post of my original blog post here:</p><p><a href="https://www.natelab.us/quick-protip-negotiate-tls-in-powershell/">https://www.natelab.us/quick-protip-negotiate-tls-in-powershell/</a></p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 5-July-2019</title><link>https://powershell.org/articles/2019-07-05-icymi-powershell-week-of-5-july-2019/</link><guid>https://powershell.org/articles/2019-07-05-icymi-powershell-week-of-5-july-2019/</guid><pubDate>Fri, 05 Jul 2019 15:00:08 +0000</pubDate><description>&lt;p&gt;Topics include pop-ups, dbatools, unit testing galore, and chatops.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include pop-ups, dbatools, unit testing galore, and chatops.</p><p>Curated by Robin Dadswell, Prasoon Karunan V, and Mark Roloff.</p><h6 id="get-pwshupdates-check-if-there-is-a-powershell-update-available-and-install-it" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190705.md#get-pwshupdates-check-if-there-is-a-powershell-update-available-and-install-it"/><a href="https://4bes.nl/2019/06/30/get-pwshupdates-check-if-there-is-a-powershell-update-available-and-install-it/"><em>Get-PwshUpdates: Check if there is a PowerShell update available and install it</em></a><a class="ps-heading-anchor" href="#get-pwshupdates-check-if-there-is-a-powershell-update-available-and-install-it" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Barbara Forbes on June 30th</p><p>Life happening and you forgot that there&rsquo;s an update for PS Core? Thankfully, Barbara has put together a module to remind you of when there&rsquo;s a new version available for download and lets you install it with a click.</p><h6 id="how-to-show-a-pop-up-or-balloon-tip-notification-from-powershell" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190705.md#how-to-show-a-pop-up-or-balloon-tip-notification-from-powershell"/><a href="http://woshub.com/popup-notification-powershell/"><em>How to Show a Pop-Up or Balloon Tip Notification from PowerShell?</em></a><a class="ps-heading-anchor" href="#how-to-show-a-pop-up-or-balloon-tip-notification-from-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>July 2nd</p><p>If you need a way to notify your end users when a script completes or otherwise quickly communicate to their desktop, this post runs you through a couple of methods to achieve the task.</p><h6 id="unit-testing-in-powershell-introduction-to-pester" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190705.md#unit-testing-in-powershell-introduction-to-pester"/><a href="https://dev.to/omiossec/unit-testing-in-powershell-introduction-to-pester-1de7"><em>Unit testing in PowerShell, introduction to Pester</em></a><a class="ps-heading-anchor" href="#unit-testing-in-powershell-introduction-to-pester" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Olivier Miossec on July 2nd</p><p>The foundations of Pester laid bare, Olivier brings everyone a great first step into the world of unit testing.</p><h6 id="hiding-warnings-in-dbatools" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190705.md#hiding-warnings-in-dbatools"/><a href="https://nocolumnname.blog/2019/06/28/hiding-warnings-in-dbatools/"><em>Hiding Warnings in dbatools</em></a><a class="ps-heading-anchor" href="#hiding-warnings-in-dbatools" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Shane O’Neill on June 28th</p><p>Error handling is a great notch to have on your belt but if you&rsquo;re working with dbatools, there are a few special considerations that are worth knowing.</p><h6 id="youtube-chatops-and-bots-with-powershell" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190705.md#youtube-chatops-and-bots-with-powershell"/><a href="https://www.youtube.com/watch?v=8a4kAe766F4"><em>Youtube: ChatOps and Bots with PowerShell!</em></a><a class="ps-heading-anchor" href="#youtube-chatops-and-bots-with-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>From PSConfEU, Steve Lee runs you through the benefits of ChatOps and demonstrates how to build your first PowerShell chat bot.</p><h6 id="twitch-powershell-101-with-michael-and-christian---part-13_" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20190705.md#twitch-powershell-101-with-michael-and-christian---part-13_"/><a href="https://www.twitch.tv/videos/447586518">Twitch: PowerShell 101 with Michael and Christian - Part 13_</a><a class="ps-heading-anchor" href="#twitch-powershell-101-with-michael-and-christian---part-13_" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>From the Brisbane user group, Michael continues a learning series with some work in PS Core.</p>]]></content:encoded></item><item><title>A Farewell, and a Bunch of Hellos</title><link>https://powershell.org/articles/2019-07-01-a-farewell-and-a-bunch-of-hellos/</link><guid>https://powershell.org/articles/2019-07-01-a-farewell-and-a-bunch-of-hellos/</guid><pubDate>Mon, 01 Jul 2019 13:55:37 +0000</pubDate><description>&lt;p&gt;As many of you know, The DevOps Collective recently concluded its 7th US event, PowerShell + DevOps Global Summit 2019 in Bellevue, WA. Head to the &lt;a href="http://youtube.com/powershellorg"&gt;organization&amp;rsquo;s YouTube page&lt;/a&gt; for the breakout session recordings, which are live.&lt;/p&gt;
&lt;p&gt;I mentioned going into it that this Summit would be bittersweet for me, as it&amp;rsquo;s the last one I&amp;rsquo;ll be directly involved with. My career&amp;rsquo;s simply taking me in a new direction, and it&amp;rsquo;s much less connected to the day-to-day of technology and more connected with business leadership and strategy. I&amp;rsquo;ll also be stepping back from my involvement with PowerShell.org, and I will not receive a Microsoft MVP Award for this cycle (I&amp;rsquo;m proud to be one of the few who earned 15 consecutive awards, so I&amp;rsquo;ve zero complaints, and this is entirely in line with my expectations). I&amp;rsquo;m stepping back from the &amp;ldquo;Month of Lunches&amp;rdquo; and other technical books as well, although I&amp;rsquo;ve still got plenty of writing in me (many of my &lt;a href="http://leanpub.com/u/donjones"&gt;Leanpub books&lt;/a&gt; are &amp;ldquo;pay what you think they&amp;rsquo;re worth and remember I&amp;rsquo;ve got a mortgage&amp;rdquo;). I&amp;rsquo;m going to remain titular President for the DevOps Collective for a year or so while we get all the legal stuff lined up, but I won&amp;rsquo;t be involved in day-to-day activities. I’ll drop a note later this week on &lt;a href="http://donjones.com"&gt;DonJones.com&lt;/a&gt; about what’s happening with all “my” stuff.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>As many of you know, The DevOps Collective recently concluded its 7th US event, PowerShell + DevOps Global Summit 2019 in Bellevue, WA. Head to the<a href="http://youtube.com/powershellorg">organization&rsquo;s YouTube page</a> for the breakout session recordings, which are live.</p><p>I mentioned going into it that this Summit would be bittersweet for me, as it&rsquo;s the last one I&rsquo;ll be directly involved with. My career&rsquo;s simply taking me in a new direction, and it&rsquo;s much less connected to the day-to-day of technology and more connected with business leadership and strategy. I&rsquo;ll also be stepping back from my involvement with PowerShell.org, and I will not receive a Microsoft MVP Award for this cycle (I&rsquo;m proud to be one of the few who earned 15 consecutive awards, so I&rsquo;ve zero complaints, and this is entirely in line with my expectations). I&rsquo;m stepping back from the &ldquo;Month of Lunches&rdquo; and other technical books as well, although I&rsquo;ve still got plenty of writing in me (many of my<a href="http://leanpub.com/u/donjones">Leanpub books</a> are &ldquo;pay what you think they&rsquo;re worth and remember I&rsquo;ve got a mortgage&rdquo;). I&rsquo;m going to remain titular President for the DevOps Collective for a year or so while we get all the legal stuff lined up, but I won&rsquo;t be involved in day-to-day activities. I’ll drop a note later this week on<a href="http://donjones.com">DonJones.com</a> about what’s happening with all “my” stuff.</p><p>It&rsquo;s worth noting that the<em>entire</em> original team for PowerShell.org has now stepped back from daily management of the organization, with only one person remaining active via our new Board. I take that as a huge compliment, and it&rsquo;s something I&rsquo;m proud of - we all wanted to build something we could hand off, and that a &ldquo;next generation&rdquo; could do even better with. And they are. The new team is amazing. They ran the 2019 Summit essentially on their own, just asking a question now and then - something they&rsquo;ll still be welcome to do as they move forward.</p><p>So with that in mind, let&rsquo;s meet them.</p><h2 id="the-board" class="ps-heading wp-block-heading">The Board<a class="ps-heading-anchor" href="#the-board" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>The main point of the Board is to provide a semiannual sounding board for the CEO of the organization, and that requires broad, diverse perspectives. They&rsquo;re also the legal backstop for the organization, and can replace corporate officers. They can expand or contract the Board size as needed (within legal guardrails) and confirm their own members. I think we&rsquo;ve lined up a great group of volunteers:</p><p>**Michael Bender<br>
** Michael&rsquo;s run The Krewe event at TechEd/Ignite for years, and been a huge community supporter. His experience will provide an invaluable perspective to the incoming officers.</p><p>**Jeffrey Hicks<br>
** Jeff&rsquo;s been a collaborator of mine since the VBScript days, and was one of the original PowerShell.org founders.</p><p>**Melissa Jones<br>
** Melissa joined us for our first OnRamp track, and she&rsquo;ll be a voice for the entry-level folks we&rsquo;re trying to offer support to. She&rsquo;s a database administrator, introverted multipotentialite, and avid reader who likes solving problems and figuring out how things work.</p><p><strong>Paula Kingsley</strong><br>
Paula has been with Summit pretty much since the beginning, and recently co-starred as an Iron Scripter judge. She&rsquo;s a long-running PowerShell enthusiast and a real IT expert.</p><p>**Rob Reynolds<br>
** Rob runs Chocolatey, and he&rsquo;s been a big Summit supporter for years. His perspective as a business in our space will be a truly valuable one as we try to further engage a broader community.</p><p>**Bonnie Runimas<br>
** Bonnie&rsquo;s been with Summit since Year 1, and helps run a successful user group in Chicago. She&rsquo;ll provide valuable input on how the organization can help groups like hers across the world.</p><h2 id="the-team" class="ps-heading wp-block-heading">The Team<a class="ps-heading-anchor" href="#the-team" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>These volunteers run the organization&rsquo;s day-to-day functions:</p><p><strong>Jeffrey Bernt</strong> runs logistics for events, including Summit and DevOps Camp.</p><p><strong>Missy Januszko &amp; Warren Frame</strong> will once again be our co-directors of content for both PowerShell + DevOps Summit as well at our new DevOps + Automation Summit in Nashville TN.</p><p><strong>Mike Kanakos</strong> will be joining the team as our Director of Community Engagement. He will mainly be focusing on engaging with PowerShell user groups and helping with PowerShell / Automation Saturdays.</p><p><strong>Tim Warner</strong> is heading up the new OnRamp program, handling all the entry-level education at PowerShell + DevOps Global Summit.</p><p><strong>Rob Pleau</strong> is running the Scholarship aspect of OnRamp, and will coordinate the process of getting new blood into the community.</p><p><strong>Mark Roloff , Robin Dadswell,</strong> and<strong>Prasoon Karunan V</strong> continue to run the &ldquo;<a href="https://powershell.org/category/powershell-admins/">In Case You Missed It</a>&rdquo; (ICYMI) weekly posts.</p><p>Our Forums continue to be moderated by<strong>James Ruskin, Alexander Wittig, Prasoon Karunan V</strong>, and<strong>Wes Stahler</strong>.</p><p><strong>Harjit Dhaliwal</strong> runs the organization&rsquo;s Social Media accounts, including<a href="https://twitter.com/pshorg">@PshOrg</a> ,<a href="https://twitter.com/pshsummit">@PSHSummit</a> , and<a href="https://twitter.com/devopsorg">@DevOpsOrg</a></p><p><strong>Tommy Maynard</strong> will also continue to be a contributing writer to PowerShell.org.</p><h2 id="the-officers" class="ps-heading wp-block-heading"><strong>The Officers</strong><a class="ps-heading-anchor" href="#the-officers" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>Finally, these are the people who are legally accountable for the organization. As I&rsquo;ve mentioned, I&rsquo;ll remain as President for some time as we work through the legal paperwork. Also, for the first time, we&rsquo;ll have a paid CEO. As the organization launches new events (Automation + DevOps Summit 2020 in Nashville, new Automation Saturday events, and more), this is just a full-time job, and having someone in that role gives the organization both flexibility and stability.</p><p><strong>James Petty</strong> will be that CEO, also formally serving as Vice-President and Treasurer. I anticipate James formally stepping into the President role in the future, and we&rsquo;ll need to replace both the Vice-President and Treasurer roles to make that happen. Those will remain volunteer, with the Treasurer&rsquo;s primary job being interfacing with our professional accounting firm.</p><p><strong>Warren Frame</strong> will step in as Secretary, our fourth legally mandated corporate officer (Nevada permits the Vice-President to hold a dual role, which is what James will do for now).</p><h2 id="so-thats-all-folks" class="ps-heading wp-block-heading">So That&rsquo;s All, Folks<a class="ps-heading-anchor" href="#so-thats-all-folks" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>So that&rsquo;s the new team. I strongly encourage you to connect with them on Twitter and GitHub, and lend them your help whenever you can.</p><p>In closing, I just want to tell you what an awesome, amazing, kind, supportive group of people you all are. I&rsquo;ve been doing the PowerShell &rsquo;thang&rsquo; for 13+ years, and my career as an IT Ops guy goes back to the mid-1990s. For much of that time, you&rsquo;ve supported me by buying books, coming to conferences, signing up for classes, and (and this really is the bit that helped) just telling me &ldquo;thank you.&rdquo; Well, thank<em>you,</em> because it&rsquo;s been amazing. I&rsquo;m looking forward to the next chapter in my career, and I hope I&rsquo;ll still run into some of you from time to time. If they ask, I&rsquo;ll definitely come up with a session for Summit, if for no other reason than so Chris and I can come hang out with you and all of our other friends for a day or two.</p><p>Again, thank you.</p>
]]></content:encoded></item></channel></rss>