&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 2020 on PowerShell.org - Welcome Automaters!</title><link>https://powershell.org/articles/2020/</link><description>Recent content in Articles from 2020 on PowerShell.org - Welcome Automaters!</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://powershell.org/articles/2020/index.xml" rel="self" type="application/rss+xml"/><item><title>PowerShell + DevOps Global Summit 2021: Calling All Speakers!</title><link>https://powershell.org/articles/2020-12-20-pshsummit2021-call-for-speakers/</link><guid>https://powershell.org/articles/2020-12-20-pshsummit2021-call-for-speakers/</guid><pubDate>Sun, 20 Dec 2020 16:00:47 +0000</pubDate><description>&lt;p&gt;Hello PowerShell and Automation family!&lt;/p&gt;
&lt;p&gt;I hope you’re getting excited for the PowerShell + DevOps Global Summit 2021! I can’t wait to get back to seeing fantastic demos, exploring new topics and learning from others. I have written in the past about how the Summit 2021 event will be a little different because of it being a virtual event. But even though we won’t be together in person, there is one thing about Summit you expect over the years: AWESOME DEMOS!&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Hello PowerShell and Automation family!</p><p>I hope you’re getting excited for the PowerShell + DevOps Global Summit 2021! I can’t wait to get back to seeing fantastic demos, exploring new topics and learning from others. I have written in the past about how the Summit 2021 event will be a little different because of it being a virtual event. But even though we won’t be together in person, there is one thing about Summit you expect over the years: AWESOME DEMOS!</p><p>The speakers that present at the Summit are some of the best and brightest minds in the community, and Summit 2021 will be no different. PowerShell Summit has always been known for having expert-level content, and Summit 2021 will continue that tradition.<strong>We’re looking to fill about 35 speaking slots</strong> and we’re looking for interesting and thought-provoking submissions.</p><p>If you would like to be a presenter at PowerShell + DevOps Global Summit 2021, then you need to submit a proposal for your topic. Details about the submission process can be found at<a href="https://www.papercall.io/pshsummit2021">https://www.papercall.io/pshsummit2021</a>, but let me give you a quick idea of what the process is like. The<strong>submission period has already begun and continues through January 15th, 2021.</strong> Once the period closes, we’ll review the submissions, pick our speakers, and notify them shortly after the close of the submission process.<strong>Speakers will have until March 15th to submit their first draft of their Summit talk, and then final versions will be due by April 15th.</strong></p><p>So what kinds of topics are we looking for?</p><p><strong>We’re looking for unique topics that talk about real-world problems and solutions.</strong> We want engaging content that grabs people and makes them want to come see your session! A general rule of thumb is that Summit sessions are demo heavy with lots of audience interaction but also light on the PowerPoint slides. Our attendees want to see the code and see it in action! Also Summit topics aren’t the same old, everyday topics you see elsewhere. We want unique, creative content that is exciting!</p><p><strong>All sessions for PowerShell + DevOps Global Summit 2021 will be 45 minutes and will be pre-recorded.</strong> The presenters will host their sessions live and interact with attendees via chat, but the content they share will be pre-recorded.<strong>When you submit a topic, it is expected that you understand you will be able to record your content and edit it as necessary.</strong> We understand that not everyone is sure if their topic is the right fit for the Summit. If you would like to ask Summit organizers questions about the submissions process or want input on your idea for a topic, please contact us via<a href="mailto:content@powershell.org">content@powershell.org</a> . We’re happy to discuss proposed sessions and offer some feedback. You can also reach Summit organizers on the #conferences channel inside the PowerShell Slack and Discord forums.</p><p>There’s plenty more detail at <a href="https://www.papercall.io/pshsummit2021">https://www.papercall.io/pshsummit2021</a> , so make sure you stop by and read up on all the details.<strong>The deadline for submitting your proposal ends January 15th! Get those submissions submitted ASAP and start getting ready to build your outstanding demos!</strong></p><p>Good luck and and I am looking forward to seeing all the amazing content at Summit!</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 18-December-2020</title><link>https://powershell.org/articles/2020-12-18-icymi-powershell-week-of-18-december-2020/</link><guid>https://powershell.org/articles/2020-12-18-icymi-powershell-week-of-18-december-2020/</guid><pubDate>Fri, 18 Dec 2020 15:00:37 +0000</pubDate><description>&lt;p&gt;Topics include NuGet feeds, Azure, OpenSSH, PowerShell 7.2 and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include NuGet feeds, Azure, OpenSSH, PowerShell 7.2 and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="hosting-and-protecting-your-own-nuget-feed-with-proget" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201218-functiondraft.md#hosting-and-protecting-your-own-nuget-feed-with-proget"/><a href="https://adamcook.io/p/hosting-and-protecting-your-own-nuget-feed-with-proget/"><em>Hosting and Protecting Your Own NuGet Feed with ProGet</em></a><a class="ps-heading-anchor" href="#hosting-and-protecting-your-own-nuget-feed-with-proget" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Adam Cook on 13th December<br>
In this post, Adam will show us how to install Inedo’s ProGet to host your own NuGet feed (effectively your own PowerShell Gallery).</p><h6 id="how-to-deploy-an-azure-vm-to-availability-zone-powershell-guide" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201218-functiondraft.md#how-to-deploy-an-azure-vm-to-availability-zone-powershell-guide"/><a href="https://www.rebeladmin.com/2020/12/how-to-deploy-an-azure-vm-to-availability-zone-powershell-guide/"><em>How to Deploy an Azure VM to Availability Zone? (PowerShell Guide)</em></a><a class="ps-heading-anchor" href="#how-to-deploy-an-azure-vm-to-availability-zone-powershell-guide" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Dishan Francis on 14th December<br>
Dishan walks us through how we can deploy Azure Windows Virtual Machine to Azure Availability Zone by using Azure PowerShell.</p><h6 id="media-sync-organize-your-photos-and-videos-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201218-functiondraft.md#media-sync-organize-your-photos-and-videos-with-powershell"/><a href="https://spiderzebra.com/2020/12/16/media-sync-organize-your-pictures-and-videos-with-powershell/"><em>Media Sync: Organize Your Photos and Videos with PowerShell</em></a><a class="ps-heading-anchor" href="#media-sync-organize-your-photos-and-videos-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 Nick Richardson on 16th December<br>
In this post, Nick walks us through how to organize your media (photos and videos) using PowerShell</p><h6 id="deploy-openssh-server-to-windows-10" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201218-functiondraft.md#deploy-openssh-server-to-windows-10"/><a href="https://jdhitsolutions.com/blog/powershell-7/7969/deploy-openssh-server-to-windows-10/"><em>Deploy OpenSSH Server to Windows 10</em></a><a class="ps-heading-anchor" href="#deploy-openssh-server-to-windows-10" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Jeffery Hicks on 16th December<br>
Jeff Hicks walks us through how to setup OpenSSH server and SSH remoting in PowerShell on Windows 10.</p><h6 id="how-to-copy-active-directory-groups-from-one-user-to-another-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201218-functiondraft.md#how-to-copy-active-directory-groups-from-one-user-to-another-with-powershell"/><a href="https://petri.com/how-to-copy-active-directory-groups-from-one-user-to-another-with-powershell"><em>How to Copy Active Directory Groups from One User to Another with PowerShell</em></a><a class="ps-heading-anchor" href="#how-to-copy-active-directory-groups-from-one-user-to-another-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 Russell Smith on 17th December<br>
Ever needed to copy a user&rsquo;s group membership in AD - find out how to do it here.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201218-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/kci2ma/josh_duffney_interview_josh_discusses_the/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Josh discusses the importance of learning PowerShell and how he started coding.</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201218-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/Steve_MSFT/status/1338999597478207488"><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>#PowerShell | PowerShell 7.2 Preview 2 release</p><h6 id="youtube-run-tasks-on-timers-in-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201218-functiondraft.md#youtube-run-tasks-on-timers-in-powershell"/><a href="https://www.youtube.com/watch?v=8dZbdl3wzW8"><em>Youtube: Run Tasks on Timers in PowerShell</em></a><a class="ps-heading-anchor" href="#youtube-run-tasks-on-timers-in-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Instead of using your operating system&rsquo;s task scheduler (ie. systemd on Linux, MacOS, or Windows Task Scheduler), you can use PowerShell to create a Timer.</p>]]></content:encoded></item><item><title>Media Sync: Organize Your Photos and Videos with PowerShell</title><link>https://powershell.org/articles/2020-12-16-media-sync-organize-your-photos-and-videos-with-powershell/</link><guid>https://powershell.org/articles/2020-12-16-media-sync-organize-your-photos-and-videos-with-powershell/</guid><pubDate>Wed, 16 Dec 2020 22:34:38 +0000</pubDate><description>&lt;p&gt;Do you have photos and videos that you have taken over the years that are scattered all over the place? Do you want to have all your photos and videos organized? Do you want all your photos and videos to have a standardized naming scheme? If you answered YES to these questions, then this is the post for you. In this post, I will provide you with the PowerShell code and examples for how to use the Media Sync script. The Media Sync script utilizes the Shell.Application COM object to gather file metadata. Only files that have a picture or video metadata type will be processed. The script uses the date taken for pictures and the media created metadata fields to organize the photos and videos. If there is no date taken or media created available for a given file, the script will use the modify date instead. The script also ensures that you won&amp;rsquo;t have any duplicate files by checking the file hashes of the two files in question. If the script detects duplicate files, it will only keep one copy of the file. There are also tools included to help you cleanup unwanted files or folders, delete empty directories and find duplicate files. The script has a simple menu driven PowerShell GUI similar to what I did in a previous &lt;a href="https://spiderzebra.com/2020/05/21/how-to-create-a-simple-powershell-gui/"&gt;
post
&lt;/a&gt;. The Media Sync PowerShell script provides the following features:&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Do you have photos and videos that you have taken over the years that are scattered all over the place? Do you want to have all your photos and videos organized? Do you want all your photos and videos to have a standardized naming scheme? If you answered YES to these questions, then this is the post for you. In this post, I will provide you with the PowerShell code and examples for how to use the Media Sync script. The Media Sync script utilizes the Shell.Application COM object to gather file metadata. Only files that have a picture or video metadata type will be processed. The script uses the date taken for pictures and the media created metadata fields to organize the photos and videos. If there is no date taken or media created available for a given file, the script will use the modify date instead. The script also ensures that you won&rsquo;t have any duplicate files by checking the file hashes of the two files in question. If the script detects duplicate files, it will only keep one copy of the file. There are also tools included to help you cleanup unwanted files or folders, delete empty directories and find duplicate files. The script has a simple menu driven PowerShell GUI similar to what I did in a previous<a href="https://spiderzebra.com/2020/05/21/how-to-create-a-simple-powershell-gui/">
post</a>. The Media Sync PowerShell script provides the following features:</p><ul><li><p>COPY all photos and videos in a given folder structure (maintains original file in original location).</p></li><li><p>MOVE all photos and videos in a given folder structure (original file is renamed and moved).</p></li><li><p>Rename the photo or video based on the date the photo or video was taken.</p></li><li><p>Directory structure organized by year and month the photo or video was taken.</p></li><li><p>Ability to delete any empty folders in a given path, this will help with the cleanup process after you have moved photos and videos from the original location.</p></li><li><p>Remove all files based off a given file extension, this will help with the cleanup process after you have moved photos and videos from the original location.</p></li><li><p>Utilize Out-GridView to highlight and delete files or folders, this can be used to cleanup files of any file extension.</p></li><li><p>Find duplicate files in a given directory.</p></li><li><p>View files in a given directory via Out-GridView.</p></li></ul><p>Take a look for yourself at my site:</p><p><a href="https://spiderzebra.com/2020/12/16/media-sync-organize-your-pictures-and-videos-with-powershell/">SpiderZebra.com</a><strong>Nick Richardson (@ChiefNSR)</strong></p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 11-December-2020</title><link>https://powershell.org/articles/2020-12-11-icymi-powershell-week-of-11-december-2020/</link><guid>https://powershell.org/articles/2020-12-11-icymi-powershell-week-of-11-december-2020/</guid><pubDate>Fri, 11 Dec 2020 15:00:57 +0000</pubDate><description>&lt;p&gt;Topics include Graph, DateTimes, JSON, Crescendo and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Graph, DateTimes, JSON, Crescendo and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="announcing-powershell-crescendo-preview1" class="ps-heading"><a href="https://devblogs.microsoft.com/powershell/announcing-powershell-crescendo-preview-1/"><em>Announcing PowerShell Crescendo Preview.1</em></a><a class="ps-heading-anchor" href="#announcing-powershell-crescendo-preview1" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Jason Helmick on 8th December<br>
Crescendo provides the tools to easily wrap a native command to gain the benefits of PowerShell cmdlets. Wrapping native commands into Crescendo cmdlets can provide parameter handling like prompting for mandatory parameters and tab-completion for parameter values. Crescendo cmdlets can take the text output from the native application and parse it into objects. The output objects allow you to take advantage of all the post processing tools such as Sort-Object, Where-Object, etc.</p><h6 id="demystifying-powershell-dates-datetime-and-formatting" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201211-functiondraft.md#demystifying-powershell-dates-datetime-and-formatting"/><a href="https://adamtheautomator.com/demystifying-powershell-dates-datetime-and-formatting/"><em>Demystifying PowerShell Dates, DateTime and Formatting</em></a><a class="ps-heading-anchor" href="#demystifying-powershell-dates-datetime-and-formatting" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Vignesh Mudliar on 8th December<br>
In this article, you’re going to learn all about dates and PowerShell!</p><h6 id="creating-powershell-property-names" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201211-functiondraft.md#creating-powershell-property-names"/><a href="https://jdhitsolutions.com/blog/powershell/7937/creating-powershell-property-names/"><em>Creating PowerShell Property Names</em></a><a class="ps-heading-anchor" href="#creating-powershell-property-names" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Jeff Hicks on 8th December<br>
An useful tip from Jeff Hicks on how to convert property names more meaningful</p><h6 id="wrangling-rest-apis-and-json-with-powershell-four-demos" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201211-functiondraft.md#wrangling-rest-apis-and-json-with-powershell-four-demos"/><a href="https://adamtheautomator.com/rest-apis-json-powershell/"><em>Wrangling REST APIs and JSON with PowerShell (Four Demos!)</em></a><a class="ps-heading-anchor" href="#wrangling-rest-apis-and-json-with-powershell-four-demos" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Christopher Bisset on 10th December<br>
In this article, you will discover the basics behind JSON and PowerShell. You’ll learn how to use PowerShell to speak directly to a REST API and translate the data into something useful! You’ll also learn how to build a couple of handy ways to use JSON in your everyday PowerShell scripts too!</p><h6 id="you-should-be-customizing-your-powershell-prompt-with-psreadline" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201211-functiondraft.md#you-should-be-customizing-your-powershell-prompt-with-psreadline"/><a href="https://www.thetechplatform.com/post/you-should-be-customizing-your-powershell-prompt-with-psreadline"><em>You should be customizing your PowerShell Prompt with PSReadLine</em></a><a class="ps-heading-anchor" href="#you-should-be-customizing-your-powershell-prompt-with-psreadline" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by TheTechPlatform on 11th December<br>
This article shows how to customize PowerShell port with PSReadLine.</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201211-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/chris_noring/status/1336108042207760389"><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>If you want to learn #powershell here we begin from scratch.</p><h6 id="youtube-microsoft-graph--powershell-script-from-scratch" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201211-functiondraft.md#youtube-microsoft-graph--powershell-script-from-scratch"/><a href="https://www.youtube.com/watch?v=yw5Cz5rO6_Y"><em>Youtube: Microsoft Graph | Powershell Script from Scratch</em></a><a class="ps-heading-anchor" href="#youtube-microsoft-graph--powershell-script-from-scratch" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>PowerShell script from scratch to query Microsoft Graph API</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 27-November-2020 &amp; 04-December-2020</title><link>https://powershell.org/articles/2020-12-04-icymi-powershell-week-of-27-november-2020-04-december-2020/</link><guid>https://powershell.org/articles/2020-12-04-icymi-powershell-week-of-27-november-2020-04-december-2020/</guid><pubDate>Fri, 04 Dec 2020 19:09:00 +0000</pubDate><description>&lt;p&gt;Topics include Secret Santa, Microsoft Graph, NAS devices and more..&lt;br&gt;
Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.&lt;/p&gt;
&lt;h6 id="powershell-secret-santa-sent-via-android-sms" class="ps-heading"&gt;&lt;a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201204-functiondraft.md#powershell-secret-santa-sent-via-android-sms"&gt;&lt;/a&gt;&lt;a href="https://jackmallender.com/2020/11/25/powershell-secret-santa-sent-via-android-sms/"&gt;&lt;em&gt;Powershell Secret Santa, sent via Android SMS&lt;/em&gt;&lt;/a&gt;&lt;a class="ps-heading-anchor" href="#powershell-secret-santa-sent-via-android-sms" 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;/h6&gt;
&lt;p&gt;by Jack Mallender on 25th November&lt;br&gt;
Sending SMS via Android using Powershell.&lt;/p&gt;
&lt;h6 id="microsoft-graph-api-powershell-azuread-app" class="ps-heading"&gt;&lt;a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201204-functiondraft.md#microsoft-graph-api-powershell-azuread-app"&gt;&lt;/a&gt;&lt;a href="https://itfordummies.net/2020/11/29/microsoft-graph-api-powershell-azuread-app/"&gt;&lt;em&gt;Microsoft Graph API PowerShell AzureAD App&lt;/em&gt;&lt;/a&gt;&lt;a class="ps-heading-anchor" href="#microsoft-graph-api-powershell-azuread-app" 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;/h6&gt;
&lt;p&gt;by edemilliere on 29th November&lt;br&gt;
Today we’ll talk about the Microsoft Graph API, PowerShell &amp;amp; AzureAD application. As you may know, the Microsoft Graph API is the data source where you can find everything about Office 365 and everything that’s interacting with it.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Secret Santa, Microsoft Graph, NAS devices and more..<br>
Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="powershell-secret-santa-sent-via-android-sms" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201204-functiondraft.md#powershell-secret-santa-sent-via-android-sms"/><a href="https://jackmallender.com/2020/11/25/powershell-secret-santa-sent-via-android-sms/"><em>Powershell Secret Santa, sent via Android SMS</em></a><a class="ps-heading-anchor" href="#powershell-secret-santa-sent-via-android-sms" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Jack Mallender on 25th November<br>
Sending SMS via Android using Powershell.</p><h6 id="microsoft-graph-api-powershell-azuread-app" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201204-functiondraft.md#microsoft-graph-api-powershell-azuread-app"/><a href="https://itfordummies.net/2020/11/29/microsoft-graph-api-powershell-azuread-app/"><em>Microsoft Graph API PowerShell AzureAD App</em></a><a class="ps-heading-anchor" href="#microsoft-graph-api-powershell-azuread-app" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by edemilliere on 29th November<br>
Today we’ll talk about the Microsoft Graph API, PowerShell &amp; AzureAD application. As you may know, the Microsoft Graph API is the data source where you can find everything about Office 365 and everything that’s interacting with it.</p><h6 id="monitoring-with-powershell-monitoring-nas-devices" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201204-functiondraft.md#monitoring-with-powershell-monitoring-nas-devices"/><a href="https://www.cyberdrain.com/monitoring-with-powershell-monitoring-nas-devices/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=monitoring-with-powershell-monitoring-nas-devices"><em>Monitoring with PowerShell: Monitoring NAS devices</em></a><a class="ps-heading-anchor" href="#monitoring-with-powershell-monitoring-nas-devices" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Kelvin Tegelaar on 1st December<br>
A quick overview of using SSH to monitor NAS (and other SSH compatible) devices.</p><h6 id="secrets-management-with-azure-key-vault-and-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201204-functiondraft.md#secrets-management-with-azure-key-vault-and-powershell"/><a href="https://www.scriptinglibrary.com/languages/powershell/secrets-management-with-azure-keyvault-and-powershell/"><em>Secrets management with Azure Key Vault and Powershell</em></a><a class="ps-heading-anchor" href="#secrets-management-with-azure-key-vault-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 Paolo Frigo on 2nd December<br>
A short but useful post on using Azure Key Vault to store secrets.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201204-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/k4kk6d/want_to_practice_your_skills_advent_of_code_2020/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Join other Redditors and sharpen your PowerShell skills with the 2020 advent of code.</p><h6 id="youtube-powershell-lightning-talk-advanced-toast-notifications-in-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201204-functiondraft.md#youtube-powershell-lightning-talk-advanced-toast-notifications-in-powershell"/><a href="https://www.youtube.com/watch?v=boNaJv206Tw"><em>Youtube: PowerShell Lightning Talk: Advanced Toast Notifications in PowerShell</em></a><a class="ps-heading-anchor" href="#youtube-powershell-lightning-talk-advanced-toast-notifications-in-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Join Josh King as he does a fast paced lightning talk for RTPSUG showing you how to use Toast notifications.</p>
]]></content:encoded></item><item><title>Update: 2021 PowerShell + DevOps Global Summit</title><link>https://powershell.org/articles/2020-11-29-update-2021-powershell-devops-global-summit/</link><guid>https://powershell.org/articles/2020-11-29-update-2021-powershell-devops-global-summit/</guid><pubDate>Sun, 29 Nov 2020 18:00:38 +0000</pubDate><description>&lt;p&gt;Hello PowerShell and Automation family!&lt;/p&gt;
&lt;p&gt;It’s time to get excited for the PowerShell + DevOps Global Summit, which is 
returning April 27-29, 2021
as a virtual event&lt;/p&gt;
&lt;p&gt;. I’m here to share with you some details we have planned for this year’s event. The upcoming summit will differ from years past, since
this event will be 100% virtual
. You may wonder what a virtual event would be like, and is it worth it to attend?&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Hello PowerShell and Automation family!</p><p>It’s time to get excited for the PowerShell + DevOps Global Summit, which is 
returning April 27-29, 2021
as a virtual event</p><p>. I’m here to share with you some details we have planned for this year’s event. The upcoming summit will differ from years past, since
this event will be 100% virtual
. You may wonder what a virtual event would be like, and is it worth it to attend?</p><p>**What is the PowerShell and DevOps Global Summit?
**PowerShell and DevOps experts from all over the world, including members from the PowerShell team, will join to discuss and learn about maximizing PowerShell in the workplace in 20+ fast-paced, knowledge-packed presentations. The Summit is also the place to explore and further your knowledge of DevOps principles and practices in a cross-platform environment. We will help you make new connections, learn new techniques, and offer something to your peers and colleagues when you return.</p><p><strong>When is the event?</strong></p><p>The event takes place</p><p>online from April 27-29, 2021</p><p>.</p><p>**Is this a free event?
**No,
it is not a free event
. The PowerShell Summit has always been a paid event, and this year is no different. The event will be online, but you will need to purchase a ticket to attend the sessions.
Tickets for past events have been approximately $1700 dollars each
.</p><p>The tickets for this year’s virtual event will be significantly less.</p><p>We’ll announce official ticket pricing at the end of December</p><p>.</p><p><strong>What will the tickets cost, and when can I buy them?
**
Tickets will go on sale Friday, January 15, 2021.
We will announce detailed ticket information at the end of December. The latest information can always can be found at our official event website:</strong><a href="https://events.devopscollective.org/event/powershell-devops-global-summit-2021/">PowerShellSummit.org</a>** .</p><p>**What is planned for the 2021 PowerShell and DevOps Global Summit?
**The PowerShell + Devops Global Summit has always been the premiere event of the year to meet people, share ideas and learn new concepts, and the next conference will be no different. We plan to have the same amazing opportunities for attendees to who attend this virtual PowerShell + Devops Global Summit.</p><p>The event this year will be three days long
and will feature some of the brightest minds in the community and from Microsoft. We strive to bring the best content to attendees each year, and this year will be no different.
Our event will have a minimum of 8 speaker led sessions each day for attendees to take part in
. Each session will have opportunities to talk with other attendees and ask the presenters questions. However, this will not be the same as attending an online meeting. The conferencing software will provide for a unique experience that will allow much greater participation than if you were attending a meeting with Teams or Zoom.</p><p>There will be keynote sessions
from prominent industry leaders and some deep-dive sessions from vendors who have generously supported our event.
We will also continue our tradition of presenting lightning demos
that are rapid fire, short 5 to 8 minute demos. Presenting the lightning demos in the past has always been a challenge of trying to fit in all the content in the limited time we had in a live event.
This year we will have more options for presenting lightning demos
and we expect to have more demos to share.</p><p>Besides the three-day event,
all sessions will be available on-demand for Summit attendees for an additional 12 months
; that includes keynotes, speaker &amp; vendor led sessions, and lightning demos. All content from the live event will be available on-demand, plus some additional content that won’t make it into the live event.</p><p>**What else is offered? **</p><p>Each attendee will have access to the recorded sessions after the Summit end for an additional 12 months. There will be some swag for attendees and opportunities to win additional swag from vendors.</p><p>**Who will be speaking at the PowerShell and DevOps Global Summit 2021?
**Great question! As always, our speakers are from and represent the community.
We will open our speaker submission process on Nov 30th
. Anyone can submit, but we’re
looking for the best of the best
. We are looking for a minimum of 30 speaker sessions, of which 24 will make it to the Summit live event. All accepted submissions will be available after the Summit ends via our Summit Archive catalog.
Anyone looking to submit a lightning demo can also start submitting on Nov 30th
. We’ll have a separate announcement about the submission process and the details involved in that process later in the week.</p><p>Our submission process will continue until Jan 15th, 2021<strong>.</strong> Once the submission process ends, we will announce the lineup for speakers publicly. Besides our community speakers,</p><p>members of the Microsoft PowerShell team will perform community demos and share product announcements</p><p>.</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 20-November-2020</title><link>https://powershell.org/articles/2020-11-20-icymi-powershell-week-of-20-november-2020/</link><guid>https://powershell.org/articles/2020-11-20-icymi-powershell-week-of-20-november-2020/</guid><pubDate>Fri, 20 Nov 2020 20:00:25 +0000</pubDate><description>&lt;p&gt;Topics include Splatting, Print Servers, Active Directory and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Splatting, Print Servers, Active Directory and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="using-the-powershell-formatting-system-to-your-advantage" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201120-functiondraft.md#using-the-powershell-formatting-system-to-your-advantage"/><a href="https://joskw.gitbook.io/blog/object_formatting"><em>Using the PowerShell formatting system to your advantage</em></a><a class="ps-heading-anchor" href="#using-the-powershell-formatting-system-to-your-advantage" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Jos Koelewijn on 15th November<br>
A nice walkthrough of how PowerShell displays output.</p><h6 id="answering-the-powershell-registered-user-challenge" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201120-functiondraft.md#answering-the-powershell-registered-user-challenge"/><a href="https://jdhitsolutions.com/blog/powershell/7881/answering-the-powershell-registered-user-challenge/"><em>Answering the PowerShell Registered User Challenge</em></a><a class="ps-heading-anchor" href="#answering-the-powershell-registered-user-challenge" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Jeff Hicks on 16th November<br>
Take a look at Jeff&rsquo;s solution for the recent Iron Scripter Challenge around a computer&rsquo;s registered user.</p><h6 id="documenting-with-powershell-documenting-print-servers" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201120-functiondraft.md#documenting-with-powershell-documenting-print-servers"/><a href="https://www.cyberdrain.com/documenting-with-powershell-documenting-print-servers/%7Chttps://www.cyberdrain.com/documenting-with-powershell-documenting-print-servers/"><em>Documenting with PowerShell: Documenting Print Servers</em></a><a class="ps-heading-anchor" href="#documenting-with-powershell-documenting-print-servers" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Kelvin Tegelaar on 17th November<br>
Before I start on this; I agree. Printers are the bane of our existence in IT and I am hoping for a paperless environment each day. Unfortunately we’re not at that future just yet, so we have to document print servers and their settings.</p><h6 id="powershell-splatting-what-is-it-and-how-does-it-work" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201120-functiondraft.md#powershell-splatting-what-is-it-and-how-does-it-work"/><a href="https://adamtheautomator.com/powershell-splatting-what-is-it-and-how-does-it-work/"><em>PowerShell Splatting: What is it and How Does it Work?</em></a><a class="ps-heading-anchor" href="#powershell-splatting-what-is-it-and-how-does-it-work" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Adam Listek on 18th November<br>
In this article, you’ll learn how best to use PowerShell splatting to enhance your scripts and code!</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201120-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/juolpi/whats_the_last_really_useful_powershell_technique/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Reddit users share recent PowerShell tips they have learned.</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201120-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/joeyaiello/status/1328836828124745730"><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>If you&rsquo;re already bored of the #PowerShell 7.1 GA, don&rsquo;t fret! The first PowerShell 7.2 preview is already live</p><h6 id="youtube-active-directory-automation-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201120-functiondraft.md#youtube-active-directory-automation-with-powershell"/><a href="https://www.youtube.com/watch?v=3k9xcPtE7Cs"><em>Youtube: Active Directory automation with PowerShell</em></a><a class="ps-heading-anchor" href="#youtube-active-directory-automation-with-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Live stream showing off using PowerShell for working in Active Directory.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 13-November-2020</title><link>https://powershell.org/articles/2020-11-13-icymi-powershell-week-of-13-november-2020/</link><guid>https://powershell.org/articles/2020-11-13-icymi-powershell-week-of-13-november-2020/</guid><pubDate>Fri, 13 Nov 2020 15:00:28 +0000</pubDate><description>&lt;p&gt;Topics include Teams, Azure, Tic-Tac-Toe and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Teams, Azure, Tic-Tac-Toe and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="introducing-psteams-20--support-for-adaptive-cards-hero-cards-list-cards-and-thumbnail-cards" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201113-functiondraft.md#introducing-psteams-20--support-for-adaptive-cards-hero-cards-list-cards-and-thumbnail-cards"/><a href="https://evotec.xyz/introducing-psteams-2-0-support-for-adaptive-cards-hero-cards-list-cards-and-thumbnail-cards/"><em>Introducing PSTeams 2.0 – Support for Adaptive Cards, Hero Cards, List Cards and Thumbnail Cards</em></a><a class="ps-heading-anchor" href="#introducing-psteams-20--support-for-adaptive-cards-hero-cards-list-cards-and-thumbnail-cards" 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 9th November<br>
Let&rsquo;s look at enhancements in the Teams PS module about what type of cards that can now be sent via PowerShell.</p><h6 id="how-to-survive-refactoring-a-powershell-script-from-hell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201113-functiondraft.md#how-to-survive-refactoring-a-powershell-script-from-hell"/><a href="https://adamtheautomator.com/how-to-survive-refactoring-a-powershell-script-from-hell/"><em>How to Survive Refactoring a PowerShell Script from Hell.</em></a><a class="ps-heading-anchor" href="#how-to-survive-refactoring-a-powershell-script-from-hell" 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 10th November<br>
If you’ve ever inherited a script or set of PowerShell scripts, you probably know the frustration. You have a specific way of coding honed over years and years of experience and you come across a… let’s say monstrosity.</p><h6 id="announcing-psreadline-21-with-predictive-intellisense" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201113-functiondraft.md#announcing-psreadline-21-with-predictive-intellisense"/><a href="https://devblogs.microsoft.com/powershell/announcing-psreadline-2-1-with-predictive-intellisense/"><em>Announcing PSReadLine 2.1+ with Predictive IntelliSense</em></a><a class="ps-heading-anchor" href="#announcing-psreadline-21-with-predictive-intellisense" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Jason Helmick on 10th November<br>
With the latest release of PowerShell and PSReadLine Beta version, Jason walks us through how to enable and make use of predictive IntelliSense.</p><h6 id="announcing-az-predictor" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201113-functiondraft.md#announcing-az-predictor"/><a href="https://techcommunity.microsoft.com/t5/azure-tools/announcing-az-predictor/ba-p/1873104"><em>Announcing Az Predictor.</em></a><a class="ps-heading-anchor" href="#announcing-az-predictor" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Damien Caro on 11th November<br>
The Azure PowerShell modules expose over 4,000 cmdlets and, on average, ten parameters per cmdlet. Experienced PowerShell users will find the right cmdlet and parameter to achieve their goal but this can be more complicated for casual users.</p><h6 id="better-performance-counters-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201113-functiondraft.md#better-performance-counters-with-powershell"/><a href="https://jdhitsolutions.com/blog/powershell/7872/better-performance-counters-with-powershell/"><em>Better Performance Counters with PowerShell</em></a><a class="ps-heading-anchor" href="#better-performance-counters-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 Jeff Hicks on 12th November<br>
Jeff Hicks show us a new addition to the latest release of PSScriptTools around Performance Counters.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201113-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/jprdli/tictactoe_in_powershell"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>u/Fireburd55 made tic-tac-toe in PowerShell and wanted to share it with the community.</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201113-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/joeyaiello/status/1326666733000650752"><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>Whether you&rsquo;re a #PowerShell 7.0 user or a Windows PowerShell diehard, make sure to check out latest GA release of PowerShell 7.1!</p><h6 id="youtube-catch-me-if-you-can-powershell-red-vs-blue" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201113-functiondraft.md#youtube-catch-me-if-you-can-powershell-red-vs-blue"/><a href="https://www.youtube.com/watch?v=anFe9PZn3eg"><em>Youtube: Catch Me If You Can: PowerShell Red vs Blue</em></a><a class="ps-heading-anchor" href="#youtube-catch-me-if-you-can-powershell-red-vs-blue" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>A talk about how security and PowerShell interact and in some cases cause problems for each other.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 06-November-2020</title><link>https://powershell.org/articles/2020-11-06-icymi-powershell-week-of-06-november-2020/</link><guid>https://powershell.org/articles/2020-11-06-icymi-powershell-week-of-06-november-2020/</guid><pubDate>Fri, 06 Nov 2020 15:00:57 +0000</pubDate><description>&lt;p&gt;Topics include Containers, Microsoft Teams, AMSI and more&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Containers, Microsoft Teams, AMSI and more</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.techlila.com/powershell-vs-cmd/"><em>Windows PowerShell vs CMD – What’s the Difference</em></a></p><p>by Ankush Das on 2nd November</p><p>Most of you must have used the command prompt at some point in time – whether just for the sake of trying out an experiment or fixing an issue like recovering the data after getting affected by a shortcut virus. But, what about PowerShell which came into existence later? What is the difference between PowerShell and cmd?</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.phillipsj.net/posts/powershell-and-containers/"><em>PowerShell and Containers</em></a></p><p>by Jamie Phillips on 2nd November</p><p>Jamie demonstrates how to run PowerShell scripts inside the containers.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/back-to-basics-how-to-manage-windows-services-with-powershell/"><em>Back to Basics: How to Manage Windows Services with PowerShell</em></a></p><p>by Adam Bertram on 3rd November</p><p>Learn how to get, start, stop, and restart services with Adam Bertram.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="http://www.blogabout.cloud/2020/11/1930"><em>Quick Tips: How do I restore a deleted Microsoft Teams Team using PowerShell.</em></a></p><p>by Andrew Price on 5th November</p><p>When the team is deleted, it is held in the “recycle bin” for 30 days until it is permanently deleted. The following is the process of restoring a deleted team in Microsoft Teams.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://medium.com/bugbountywriteup/bypass-amsi-in-powershell-a-nice-case-study-f3c0c7bed24d"><em>Bypass AMSI in PowerShell — A Nice Case Study</em></a></p><p>by Aidin Naserifard on 5th November</p><p>Bypass AMSI in PowerShell — A Nice Case Study</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/joiabt/selectstring_with_regex/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>working with select-string cmdlet.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/Steve_MSFT/status/1323408339078946816"><em>Tweet of the Week</em></a></p><p>PSReadLine 2.1.0 GA has been published!</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=E8zJyr_OZJ0&amp;feature=emb_logo"><em>Youtube: How to hide the analyzer false positives?</em></a></p><p>How to hide the analyzer false positives?</p>]]></content:encoded></item><item><title>Writing Your Own PowerShell Functions / Cmdlets</title><link>https://powershell.org/articles/2020-11-05-writing-your-own-powershell-functions-cmdlets/</link><guid>https://powershell.org/articles/2020-11-05-writing-your-own-powershell-functions-cmdlets/</guid><pubDate>Thu, 05 Nov 2020 18:53:35 +0000</pubDate><description>&lt;p&gt;This article is an attempt at describing some of my thought process when building functions. By functions I mean a command that you can execute after importing a module. I am not referring to running a script that accepts parameters and input. Having a task to complete for a function is of course the first objective. Once an idea is in mind I like to write as much as the Help section first as possible as this helps me outline and plan what I am going to do.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>This article is an attempt at describing some of my thought process when building functions. By functions I mean a command that you can execute after importing a module. I am not referring to running a script that accepts parameters and input. Having a task to complete for a function is of course the first objective. Once an idea is in mind I like to write as much as the Help section first as possible as this helps me outline and plan what I am going to do.</p><p><strong>Writing The Help Section</strong></p><p>Start with the easy part first, the<strong>SYNOPSIS</strong>. Best practice for this states that you should NOT include the name of your function or cmdlet in this section of the help. The idea behind this is similar to the idea that you do not want to use a word to define a word. That is one of those things that has always driven me crazy so I make a point to not be one of the references that does that. This section should be a very short description of what your cmdlet does. I typically start this sentence with the phrase format; &ldquo;This cmdlet was created to accomplish this task on local and remote devices using WinRM to connect to remote devices&rdquo;.</p><p>The next part I start to write is the<strong>DESCRIPTION</strong>. Depending on how much you have planned out in your head you may not delve to deeply into this section yet. This is the area where you add details that may be useful to know about your function as well as instructions and insights. This might include information on how the pipeline works or settings required for the command to work.</p><p>With those descriptions fresh in mind I like to start the<strong>PARAMETER</strong> section. Parameter names should be singular and not plural, even if your parameter is an array. You do not need to get all of these ahead of time however, if you know you want your cmdlet to work on remote devices it is a good idea to start with the &ldquo;ComputerName&rdquo; parameter and if you are using WinRM use the &ldquo;UseSSL&rdquo; Parameter to cover all environment situations as best you can. Underneath the parameter&rsquo;s name in the help section you should provide a brief description of the parameters use to describe what the parameter is and the default value if you plan on giving it one. It is best practice to name the parameter with something typical of PowerShell. This is for interoperability as well as maintaining a set of standards. For example, I used the parameter title &ldquo;ComputerName&rdquo; and not hostname or FQDN. This should pretty much be the case for that situation every time. In a few cases, Computer is an acceptable parameter. An example of a case where this is acceptable is when your cmdlet is going to be passing the value of the $Computer parameter to a cmdlet that uses -Computer instead of -ComputerName. One such function that uses -Computer is Invoke-GPUpdate. With the &ldquo;Computer&rdquo; parameter value going into the Invoke-GPUpdate cmdlet it is best practice to use Computer and not ComputerName. Another thing I do sometimes is if I am going to use the -ComputerName parameter to pass the value to &ldquo;Invoke-Command&rdquo; or &ldquo;New-PSSession&rdquo; I do the below command :</p><p><code>Get-Help -Name Invoke-Command -Parameter ComputerName</code></p><p>I then copy and paste the description of that parameter into my functions description for that parameter since they are basically mirrored. This is a good way to provide the best information possible.</p><p>The<strong>EXAMPLE</strong> section I do not write until after I have completed the function. This prevents the need to make any unnecessary changes later on to this section. I have made assumptions thinking this section is done and it is left outdated using parameters that don&rsquo;t exist anymore. That is why I believe this is easiest to do last. If your command accepts pipeline input you should have an example demonstrating how that works and not just assume people will understand by reading everything else you have written. This may be the only thing they read. You should also demonstrate each parameter at least one of your examples. The more use cases you can come up with the better. I have found this practice to really improve my function development as well as my understanding of how PowerShell works. After each command example use a commented line to add a description of what each command example is accomplishing.</p><p>In the<strong>NOTES</strong> section I typically put my name as the author and contact information if someone needs to contact me on the function for whatever reason. Notes about your function can be added here as well.</p><p>I use the<strong>LINK</strong> section to include any documentation I may have used to write the cmdlet however this typically just includes links to my GitHub and other sites related to myself.</p><p>The<strong>INPUTS</strong> section is for defining the .NET class types that your cmdlet accepts as input from the pipeline. Most of the time this is going to be something like System.String or System.Array when used. If you do not have the property value &ldquo;ValueFromPipeline=$True&rdquo; set on any of your parameters, the INPUTS section should be set to &ldquo;None&rdquo;. If you are piping input to a specific cmdlet you can pull the trick I did earlier to obtain the INPUTS information using the below command:</p><p><code>Get-Help -Name Enter-PSSession -Full | Out-String -Stream | Select-String -Pattern "INPUTS" -Context 1,4</code></p><p>The<strong>OUTPUTS</strong> section is the .NET class type that your cmdlet returns as a value(s). One thing I have been meaning to do to work on expanding my knowledge is to consistently add the expected returned Outputs to the CmdletBinding property in my functions.</p><p><strong>Outlining The Function</strong></p><p>We are now ready to start working on the function. To name the function we need to use one of the PowerShell approved &ldquo;Verbs&rdquo;. Use the command &ldquo;Get-Verb&rdquo; to retrieve a list of possible options as well as what they refer too. It is best practice to use these verbs as they will help with how PowerShell accepts pipeline input. If you need help in choosing a verb for your function I suggest checking out this<a href="https://docs.microsoft.com/en-us/powershell/scripting/developer/cmdlet/approved-verbs-for-windows-powershell-commands?view=powershell-7">Microsoft article</a>.<br>
    If you are going to accept pipeline input in your function; (<em>One of your parameter properties has a value of &ldquo;ValueFromPipeline=$True&rdquo;</em>) ; you should start out by creating 3 sections. Begin, Process, and End. For each value in the pipeline being passed to your function, the begin section will be carried out first. Typically I use the Begin section to</p><ul><li>Import modules if any are needed</li><li>Define any variables that need to be defined</li><li>Ensure values are correct if not done already using something such as &ldquo;ValidateScript&rdquo;.</li></ul><p>Everything in the Begin brackets get executed before moving to the Process brackets and so forth. &ldquo;Begin&rdquo; is optional really as is the &ldquo;End&rdquo; section.</p><p>    The &ldquo;End&rdquo; section I use to</p><ul><li>Close any open sessions</li><li>Clear variables if that needs to be done</li><li>Return the object or results of the Process section</li></ul><p>The Process section should contain the meat of your cmdlets. This is going to be where the main purpose of your function is carried out.</p><p>If you are not using pipeline input in your function you do not need to include those 3 sections. You can simply just start putting together whatever you need.</p><p><strong>Example Using Information So Far</strong></p><p>The example function I am going to use here will be for a function I created to encode and decode Base64 values. The verb I am going to use is &ldquo;Convert&rdquo;. I chose this value because the cmdlet is going to be changing the data from one representation to another. The Noun I am going to choose can be whatever I want really. To make the cmdlet easy to understand I am going to name it Convert-Base64. I could choose to create two different functions, for example ConvertTo-Base64 and ConvertFrom-Base64. I would personally rather use one command to perform both tasks as this is the kind of function that typically gets used both ways. Now that I know the name of my function I can write my help section which is below.</p><p>You can see from the above section that I have a good idea of how this is going to work. I next start my functions build by defining my parameters. I typically will always add<strong>[CmdletBinding()]</strong> to my functions. What this does is allow the use of 7 common parameters in PowerShell functions. Some examples of these are -Verbose, Debug, ErrorAction, ErrorVariable, etc. This also allows me to easily define a Default Parameter Set name which I have found to be a great way of simplifying my functions and improving execution times.</p><p><code>Function Convert-Base64 { [CmdletBinding(DefaultParameterSetName='Encode')] param( [Parameter( Mandatory=$True, Position=0, ValueFromPipeline=$True, HelpMessage="Enter a string you wish to encode or decode using Base64. Example: Hello World!")] # End Parameter [String]$Value, [Parameter( ParameterSetName='Encode', Mandatory=$True)] [Switch][Bool]$Encode, [Parameter( ParameterSetName='Decode', Mandatory=$True)] [Switch][Bool]$Decode, [Parameter( Mandatory=$False, ValueFromPipeline=$False)] # End Parameter [ValidateSet('ASCII', 'BigEndianUnicode', 'Default', 'Unicode', 'UTF32', 'UTF7', 'UTF8')] [String]$TextEncoding = 'UTF8' ) # End param BEGIN {...}}</code>Notice in the above I have two &ldquo;Switch&rdquo; parameters. I have given them bool values so I can use the attribute &ldquo;IsPresent&rdquo; in any &ldquo;If&rdquo; statements that come up. For example I could do</p><p><code>If ($Encode.IsPresent) { $Value = 'Encode' }</code>I have also created two parameter set names. The reason for this is to ensure that only one option or the other is selected. We need to know whether to Encode or Decode the -Value parameters value. This prevents errors from occurring because the person executing the function may think extra parameters need to be defined. This may not always be as intuitive as this function. It is a best practice that should be adhered too. It eliminates the need to add code in your function that attempts to accomplish this same task. For example, if you did not create the Parameter Set names you would need to do this in your &ldquo;BEGIN&rdquo; brackets to ensure one of the other was defined.</p><p><code>If (!($Encode.IsPresent -or $Decode.IsPresent)) { Throw "Switch parameter -Decode or -Encode needs to be defined. " } # End If</code>The Parameter &ldquo;Value&rdquo; is mandatory and accepts pipeline input. I did not include the property &ldquo;ValueFromPipelineByPropertyName&rdquo; because we want to convert a string and not just the property value of a PowerShell object. This places a limitation on the kind of value placed to cmdlet which we do not want in this scenario. The HelpMessage property for this parameter can be used here because the &ldquo;Value&rdquo; property is Mandatory. If the property is not included when the cmdlet is executed, PowerShell will prompt the executor for this value using the message you define there. If you are familiar with bash and python you probably are familiar with positional parameters. This is the same concept here when defining the Position value. I like to set this value to prevent the need for someone using the cmdlet to enter each parameter value. Position=0 is referring to the first value after Convert-Base64. In an example this gives us the ability to do:</p><p><code>Convert-Base64 'Convert me to base64' -Encode</code>Instead of:</p><p><code>Convert-Base64 -Value 'Convert me to base64' -Encode</code>We can also prevent the need to include -Encode by setting a default Parameter Set Name value. This is done by changing</p><p><code>[CmdletBinding()]</code>To</p><p><code>[CmdletBinding(DefaultParameterSetName='Encode')]</code>The person executing the command can now simply do this to encode their string :</p><p><code>Convert-Base64 'Convert me to base64'</code>In the &ldquo;TextEncoding&rdquo; parameter I did my best to name this as I do not know of any functions that offer this kind of option. I have added<strong>[ValidateSet()]</strong> to this parameter because I know all the possible values that can be used and we do not want anything else to be in this value. This also creates a Tab Autocomplete for the person using the cmdlet which saves typing as well. Other options that can be used to validate parameter values are<strong>ValidateRange</strong> and<strong>ValidateScript</strong>. These are the 3 I use most often. Validate your parameters whenever possible as this shows a professionalism in your abilities and will set you apart from others. It also ensures that your cmdlets work as expected. In the PROCESS area of my cmdlet I am using the .NET object System.Text.Encoding to convert the base64 related values. I used Tab autocomplete to come up with the list in &ldquo;ValidateSet&rdquo;.</p><p><code>[ValidateSet('ASCII', 'BigEndianUnicode', 'Default', 'Unicode', 'UTF32', 'UTF7')]</code>**
Building the Body of the Cmdlet
**</p><p>There are a couple of values that exist by default in every function. The main ones to know that get used often are PSCmdlet and PSBoundParameters. I often use these in Switch statements to help guide the direction of my functions script execution. For example you could do something such as</p><p><strong>$PSCmdlet.ParameterSetName</strong> to refer to the parameter set name your function is using. In my example, the default value for this would be &lsquo;Encode&rsquo;. You can also return the value of your parameters using<strong>$PSBoundParameters.Keys.Value</strong></p><p>In our situation there is not really a good way to use the BEGIN brackets. This section is optional so I am going to jump right into the PROCESS brackets. I am going to add a Switch statement to my PROCESS brackets using $PSCmdlet.ParameterSetName. If the parameter set name is Encode the commands inside the brackets next to encode will be executed. Same goes for Decode if that is the parameter set name defined.</p><p><code>PROCESS { Switch ($PSCmdlet.ParameterSetName) { 'Encode' { } 'Decode' { } } # End Switch</code>Now that the cmdlet knows which action to carry out, I need to work with the next parameter value needed to be defined before the convert action can be taken. This is the &ldquo;TextEncoding&rdquo; parameter. I am going to make another switch statement for this.</p><p><strong>NOTE</strong>: As a side note Switch statements are faster than If statements in situations such as this where we have a good amount of options to filter through.</p><p>Below is my switch statement. I am using this to convert the string value into whatever character encoding I want converted to Base64.</p><p><code>Switch ($TextEncoding) { 'ASCII' {$StringValue = [System.Text.Encoding]::ASCII.GetBytes("$Value")} 'BigEndianUnicode' {$StringValue = [System.Text.Encoding]::BigEndianUnicode.GetBytes("$Value")} 'Default' {$StringValue = [System.Text.Encoding]::Default.GetBytes("$Value")} 'Unicode' {$StringValue = [System.Text.Encoding]::Unicode.GetBytes("$Value")} 'UTF32' {$StringValue = [System.Text.Encoding]::UTF32.GetBytes("$Value")} 'UTF7' {$StringValue = [System.Text.Encoding]::UTF7.GetBytes("$Value")} 'UTF8' {$StringValue = [System.Text.Encoding]::UTF8.GetBytes("$Value")} } # End Switch</code>Once that value is defined the convert operation can be carried out. Error handling is another important aspect of cmdlet building. Typically we can accomplish this using Try Catch statements. Also using the -ErrorVariable parameter of a cmdlet is a great way to handle errors and redirect your functions execution.</p><p><strong>NOTE</strong>: A good thing to know about Try Catch is there is a third option called Finally. If you were to stop the execution of a function using Ctrl + C while inside of a Try Catch statement, the code inside the Finally brackets will still execute. This is great for leaving an infinite"While" loop with a message like &ldquo;Exiting loop&rdquo;.</p><p>Below is the Try Catch statement I have added:</p><p><code>Try { [System.Convert]::ToBase64String($StringValue) } # End Try Catch { Throw "String could not be converted to Base64. The value entered is below.</code>n$Value"
$Error[0]
} # End Catch
`Notice the value<strong>$Error[0]</strong> I have included in the Catch brackets. This is another value that is automatically assigned when an error occurs inside a cmdlet. Using the first positional value &ldquo;0&rdquo; of $Error will put the PowerShell generated error message on screen. Otherwise the only message being displayed would be mine which is not going to give information on what caused the error. You are able to add multiple catch statements where you can catch specific error types to provide your own messaging in each situation. To do this you need to know the object name of the error that will occur. Just to provide an example of this you could catch incorrectly entered credentials in a catch statement using the below:</p><p><code>Catch [System.Security.Authentication.AuthenticationException] { Throw "The credentials you entered were incorrect" } # End Catch Catch { $Error[0] }</code>The END brackets are also optional. Usually I use this area to close any session connections and to build a custom object. However to save script execution time, I am not going to do include that in this cmdlet. Whatever results are returned from the Try Catch statements is going to be the result of the command. The final result of these efforts can be view in the code below or at this<a href="https://github.com/tobor88/PowerShell-Red-Team/blob/master/Convert-Base64.ps1">LINK:</a></p><p>`&lt;#
.SYNOPSIS
This cmdlet is used to Encode or Decode Base64 strings.
.DESCRIPTION
Convert a string of text to or from Base64 format. Pipeline input is accepted in string format. Use the switch parameters Encode or Decode to define which action you wish to perform on your string
.PARAMETER Value
Defines the string to be encoded or decoded with base64.
.PARAMETER Encode
This switch parameter is used to tell the cmdlet to encode the base64 string
.PARAMETER Decode
This switch parameter is used to tell the cmdlet to decode the base64 string
.PARAMETER TextEncoding
This parameter is used to define the type of Unicode Character encoding to convert with Base64. This value you can be ASCII, BigEndianUnicode, Default, Unicode, UTF32, UTF7, or UTF8. The default value is UTF8
.EXAMPLE
Convert-Base64 -Value &lsquo;Hello World!&rsquo;&rsquo; -Encode</p><h1 id="this-example-encodes-hello-world-into-base64-format" class="ps-heading">This example encodes &ldquo;Hello World into Base64 format.<a class="ps-heading-anchor" href="#this-example-encodes-hello-world-into-base64-format" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h1><p>.EXAMPLE
Convert-Base64 -Value &lsquo;SGVsbG8gV29ybGQh&rsquo; -Decode -Encoding ASCII</p><h1 id="this-example-decodes-base64-to-a-string-in-ascii-format" class="ps-heading">This example decodes Base64 to a string in ASCII format<a class="ps-heading-anchor" href="#this-example-decodes-base64-to-a-string-in-ascii-format" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h1><p>.NOTES
Author: Robert H. Osborne
Alias: tobor
Contact:<a href="mailto:rosborne@osbornepro.com">rosborne@osbornepro.com</a>
.LINK<a href="https://roberthsoborne.com">https://roberthsoborne.com</a><a href="https://osbornepro.com">https://osbornepro.com</a><a href="https://btps-secpack.com">https://btps-secpack.com</a><a href="https://github.com/tobor88">https://github.com/tobor88</a><a href="https://gitlab.com/tobor88">https://gitlab.com/tobor88</a><a href="https://www.powershellgallery.com/profiles/tobor">https://www.powershellgallery.com/profiles/tobor</a><a href="https://www.linkedin.com/in/roberthosborne/">https://www.linkedin.com/in/roberthosborne/</a><a href="https://www.youracclaim.com/users/roberthosborne/badges">https://www.youracclaim.com/users/roberthosborne/badges</a><a href="https://www.hackthebox.eu/profile/52286">https://www.hackthebox.eu/profile/52286</a>
.INPUTS
System.String, -Value accepts strings from pipeline.
.OUTPUTS
System.String
#&gt;
Function Convert-Base64 {
[CmdletBinding(DefaultParameterSetName=&lsquo;Encode&rsquo;)]
param(
[Parameter(
Mandatory=$True,
Position=0,
ValueFromPipeline=$True,
HelpMessage=&ldquo;Enter a string you wish to encode or decode using Base64. Example: Hello World!&rdquo;)] # End Parameter
[String]$Value,
[Parameter(
ParameterSetName=&lsquo;Encode&rsquo;,
Mandatory=$True)]
[Switch][Bool]$Encode,
[Parameter(
ParameterSetName=&lsquo;Decode&rsquo;,
Mandatory=$True)]
[Switch][Bool]$Decode,
[Parameter(
Mandatory=$False,
ValueFromPipeline=$False)] # End Parameter
[ValidateSet(&lsquo;ASCII&rsquo;, &lsquo;BigEndianUnicode&rsquo;, &lsquo;Default&rsquo;, &lsquo;Unicode&rsquo;, &lsquo;UTF32&rsquo;, &lsquo;UTF7&rsquo;, &lsquo;UTF8&rsquo;)]
[String]$TextEncoding = &lsquo;UTF8&rsquo;
) # End param
PROCESS
{
Switch ($PSCmdlet.ParameterSetName)
{
&lsquo;Encode&rsquo; {
Switch ($TextEncoding)
{
&lsquo;ASCII&rsquo; {$StringValue = [System.Text.Encoding]::ASCII.GetBytes("$Value&rdquo;)}
&lsquo;BigEndianUnicode&rsquo; {$StringValue = [System.Text.Encoding]::BigEndianUnicode.GetBytes("$Value")}
&lsquo;Default&rsquo; {$StringValue = [System.Text.Encoding]::Default.GetBytes("$Value")}
&lsquo;Unicode&rsquo; {$StringValue = [System.Text.Encoding]::Unicode.GetBytes("$Value")}
&lsquo;UTF32&rsquo; {$StringValue = [System.Text.Encoding]::UTF32.GetBytes("$Value")}
&lsquo;UTF7&rsquo; {$StringValue = [System.Text.Encoding]::UTF7.GetBytes("$Value")}
&lsquo;UTF8&rsquo; {$StringValue = [System.Text.Encoding]::UTF8.GetBytes("$Value")}
} # End Switch
Try
{
[System.Convert]::ToBase64String($StringValue)
} # End Try
Catch
{
Throw &ldquo;String could not be converted to Base64. The value entered is below.<code>n$Value" $Error[0] } # End Catch } # End Switch Encode 'Decode' { $EncodedValue = [System.Convert]::FromBase64String("$Value") Switch ($TextEncoding) { 'ASCII' { Try { [System.Text.Encoding]::ASCII.GetString($EncodedValue) } # End Try Catch { Throw "Base64 entered was not in a correct format. The value received is below.</code>n$Value&rdquo;
} # End Catch
} # End Switch ASCII
&lsquo;BigEndianUnicode&rsquo; {
Try
{
[System.Text.Encoding]::BigEndianUnicode.GetString($EncodedValue)
} # End Try
Catch
{
Throw &ldquo;Base64 entered was not in a correct format. The value received is below.<code>n$Value" } # End Catch } # End Switch BigEndianUnicode 'Default' { Try { [System.Text.Encoding]::Default.GetString($EncodedValue) } # End Try Catch { Throw "Base64 entered was not in a correct format. The value received is below.</code>n$Value&rdquo;
} # End Catch
} # End Switch Default
&lsquo;Unicode&rsquo; {
Try
{
[System.Text.Encoding]::Unicode.GetString($EncodedValue)
} # End Try
Catch
{
Throw &ldquo;Base64 entered was not in a correct format. The value received is below.<code>n$Value" } # End Catch } # End Switch Unicode 'UTF32' { Try { [System.Text.Encoding]::UTF32.GetString($EncodedValue) } # End Try Catch { Throw "Base64 entered was not in a correct format. The value received is below.</code>n$Value&rdquo;
} # End Catch
} # End Switch UTF32
&lsquo;UTF7&rsquo; {
Try
{
[System.Text.Encoding]::UTF7.GetString($EncodedValue)
} # End Try
Catch
{
Throw &ldquo;Base64 entered was not in a correct format. The value received is below.<code>n$Value" } # End Catch } # End Swithc UTF7 'UTF8' { Try { [System.Text.Encoding]::UTF8.GetString($EncodedValue) } # End Try Catch { Throw "Base64 entered was not in a correct format. The value received is below.</code>n$Value&rdquo;
} # End Catch
} # End Switch UTF8
} # End Switch
} # End Switch Decode
} # End Switch
} # End PROCESS
} # End Function Convert-Base64
`Thanks for reading!</p><ul><li><a href="https://roberthosborne.com">tobor</a></li></ul>
]]></content:encoded></item><item><title>The Return of the PowerShell + DevOps Global Summit</title><link>https://powershell.org/articles/2020-11-03-the-return-of-the-powershell-devops-global-summit/</link><guid>https://powershell.org/articles/2020-11-03-the-return-of-the-powershell-devops-global-summit/</guid><pubDate>Tue, 03 Nov 2020 16:00:00 +0000</pubDate><description>&lt;p&gt;The DevOps Collective INC is pleased to announce the return of the PowerShell + DevOps Global Summit in April of 2021.&lt;/p&gt;
&lt;p&gt;The 2021 event will be a little bit different than those in years past, as this event will be all virtual, hosted in late April 2021. We assure you that this will not be another multi-day webinar! We will do our best to make sure you have the best experience possible.&lt;br&gt;
**
What does that mean for attendees?&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>The DevOps Collective INC is pleased to announce the return of the PowerShell + DevOps Global Summit in April of 2021.</p><p>The 2021 event will be a little bit different than those in years past, as this event will be all virtual, hosted in late April 2021. We assure you that this will not be another multi-day webinar! We will do our best to make sure you have the best experience possible.<br>
**
What does that mean for attendees?</p><p>**<br>
Unfortunately, we do not currently have all the answers to your questions, but we are working diligently behind the scenes to iron out the details.  Here is what we do know so far:</p><ul><li>The event will have a paid attendee ticket. We are not a multibillion-dollar tech giant or a multimillion-dollar media company, so we can&rsquo;t offer the event for free. Believe us, we wish we could.</li><li>The videos will be available on-demand for all paid attendees. Videos will not be released for free until 9-12 months after the event.</li></ul><p>**
What does that mean for presenters?
**</p><ul><li>The CFP will open in the next week or two as we are still nailing down dates. Keep an eye out on<a href="https://powershellsummit.org">https://powershellsummit.org</a> for all the details as well as the official Twitter account of the event<a href="https://twitter.com/pshsummit">@pshsummit</a>.</li><li>Due to the event being all virtual:  Speakers will be required to record their videos and upload them to us a few weeks in advance (all the exact dates will be in the CFP).</li><li>Below are a few examples of the quality of recordings that are required. We are looking at possible speaker compensations as well. More details to come in the formal CFP announcement.<ul><li><a href="https://www.youtube.com/watch?v=z1butyGVxR8">https://www.youtube.com/watch?v=z1butyGVxR8</a></li><li><a href="https://youtu.be/y8SxQokIwiI">https://youtu.be/y8SxQokIwiI</a></li></ul></li></ul>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 30-October-2020</title><link>https://powershell.org/articles/2020-10-30-icymi-powershell-week-of-30-october-2020/</link><guid>https://powershell.org/articles/2020-10-30-icymi-powershell-week-of-30-october-2020/</guid><pubDate>Fri, 30 Oct 2020 21:30:01 +0000</pubDate><description>&lt;p&gt;Topics include SQL, Teams Webhooks, Zombie Files and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include SQL, Teams Webhooks, Zombie Files and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="how-to-manage-sharepoint-and-microsoft-teams-with-powershell-core" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201030-functiondraft.md#how-to-manage-sharepoint-and-microsoft-teams-with-powershell-core"/><a href="https://techcommunity.microsoft.com/t5/itops-talk-blog/how-to-manage-sharepoint-and-microsoft-teams-with-powershell/ba-p/1792229?WT.mc_id=modinfra-10259-abartolo"><em>How to Manage SharePoint and Microsoft Teams with PowerShell Core</em></a><a class="ps-heading-anchor" href="#how-to-manage-sharepoint-and-microsoft-teams-with-powershell-core" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Veronique Lengelle on 27th October<br>
If you&rsquo;re as addicted as I am with SharePoint, you might be glad to know that managing SharePoint is now possible with PowerShell Core!</p><h6 id="creating-adaptive-cards-via-teams-incoming-webhooks-using-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201030-functiondraft.md#creating-adaptive-cards-via-teams-incoming-webhooks-using-powershell"/><a href="https://adamtheautomator.com/creating-adaptive-cards-via-teams-incoming-webhooks-using-powershell/"><em>Creating Adaptive Cards via Teams Incoming Webhooks Using PowerShell</em></a><a class="ps-heading-anchor" href="#creating-adaptive-cards-via-teams-incoming-webhooks-using-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Adam Listek on 27th October<br>
If you want to create a customized card in Teams you can do so with Adaptive Cards and Adam shows you how to create them with webhooks in Teams via PowerShell.</p><h6 id="writing-an-extension-vault-for-powershell-secretmanagement-preview-4" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201030-functiondraft.md#writing-an-extension-vault-for-powershell-secretmanagement-preview-4"/><a href="https://adamtheautomator.com/writing-an-extension-vault-for-powershell-secretmanagement-preview-4/"><em>Writing an Extension Vault for PowerShell SecretManagement Preview 4</em></a><a class="ps-heading-anchor" href="#writing-an-extension-vault-for-powershell-secretmanagement-preview-4" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Adam Listek on 28th October<br>
If you’ve ever hardcoded a password, an API key, or a private certificate in a script, stop! You need to secure that sensitive information! One way to do that is with the PowerShell SecretManagement module. Offering a convenient way for a user to store and retrieve secrets using PowerShell, the SecretManagement module also has the ability to interface with different back-end systems such as Azure KeyStore or KeePass too using an extension vault!</p><h6 id="pivot-in-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201030-functiondraft.md#pivot-in-powershell"/><a href="https://nocolumnname.blog/2020/10/29/pivot-in-powershell/"><em>PIVOT in PowerShell</em></a><a class="ps-heading-anchor" href="#pivot-in-powershell" 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 29th October<br>
Shane improves upon his last post &ldquo;Attempting SUM() OVER () in PowerShell&rdquo; by using PIVOT in PowerShell.</p><h6 id="finding-zombie-files-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201030-functiondraft.md#finding-zombie-files-with-powershell"/><a href="https://jdhitsolutions.com/blog/powershell/7835/finding-zombie-files-with-powershell/"><em>Finding Zombie Files with PowerShell</em></a><a class="ps-heading-anchor" href="#finding-zombie-files-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 Jeff Hicks on 30th October<br>
Since this is Halloween weekend in the United States, I thought I’d offer up a PowerShell solution to a scary task – finding zombie files.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201030-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/jhte32/i_think_powershell_is_easier_than_python/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>The title says it all, but dig through the comments and find out some of the finer points of what makes PowerShell great.</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201030-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/cl/status/1322104228467396608?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>Is the PowerShell Gallery down? lets ask twitter.</p><h6 id="youtube-taking-your-automation-to-the-next-level-with-powershell-7" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201030-functiondraft.md#youtube-taking-your-automation-to-the-next-level-with-powershell-7"/><a href="https://www.youtube.com/watch?v=cLjl_ZtYwYs"><em>Youtube: Taking your automation to the next level with PowerShell 7</em></a><a class="ps-heading-anchor" href="#youtube-taking-your-automation-to-the-next-level-with-powershell-7" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Great video covering PowerShell 7 with @jsnover</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 23-October-2020</title><link>https://powershell.org/articles/2020-10-23-icymi-powershell-week-of-23-october-2020/</link><guid>https://powershell.org/articles/2020-10-23-icymi-powershell-week-of-23-october-2020/</guid><pubDate>Fri, 23 Oct 2020 14:01:12 +0000</pubDate><description>&lt;p&gt;Topics include web forms, converting to PDF, Oracle Cloud Infrastructure and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include web forms, converting to PDF, Oracle Cloud Infrastructure and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="building-web-forms-with-powershell-universal" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201023-functiondraft.md#building-web-forms-with-powershell-universal"/><a href="https://blog.ironmansoftware.com/powershell-web-forms/"><em>Building web forms with PowerShell Universal</em></a><a class="ps-heading-anchor" href="#building-web-forms-with-powershell-universal" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Adam Driscoll on 17th October<br>
PowerShell Universal provides several features that are capable of building web-based forms using PowerShell. For basic forms, we suggest using Universal Automation. For advanced forms, we suggest using Universal Dashboard.</p><h6 id="open-up-wide-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201023-functiondraft.md#open-up-wide-with-powershell"/><a href="https://jdhitsolutions.com/blog/scripting/7786/open-up-wide-with-powershell/"><em>Open Up Wide with PowerShell</em></a><a class="ps-heading-anchor" href="#open-up-wide-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 Jeff Hicks on 19th October<br>
This is Jeff&rsquo;s solution to a recent IronScripter PowerShell challenge.</p><h6 id="powershell-convert-word-documents-to-pdf-documents-bulk" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201023-functiondraft.md#powershell-convert-word-documents-to-pdf-documents-bulk"/><a href="https://sid-500.com/2020/10/20/powershell-convert-word-documentes-to-pdf-documents/"><em>PowerShell: Convert Word documents to PDF documents (Bulk)</em></a><a class="ps-heading-anchor" href="#powershell-convert-word-documents-to-pdf-documents-bulk" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Patrick Gruenauer on 20th October<br>
In this blog post, Patrick will walk us through how to convert multiple documents to PDF files using PowerShell.</p><h6 id="announcing-oracle-cloud-infrastructure-modules-for-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201023-functiondraft.md#announcing-oracle-cloud-infrastructure-modules-for-powershell"/><a href="https://blogs.oracle.com/cloud-infrastructure/announcing-oracle-cloud-infrastructure-modules-for-powershell"><em>Announcing Oracle Cloud Infrastructure Modules for PowerShell</em></a><a class="ps-heading-anchor" href="#announcing-oracle-cloud-infrastructure-modules-for-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Viral Modi on 21st October<br>
Big news if you manage an OCI, you can now do it through PowerShell! Learn how in this short post from Oracle</p><h6 id="automating-with-powershell-changing-modern-and-basic-authentication-settings" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201023-functiondraft.md#automating-with-powershell-changing-modern-and-basic-authentication-settings"/><a href="https://www.cyberdrain.com/automating-with-powershell-changing-modern-and-basic-authentication-settings/"><em>Automating with PowerShell: Changing Modern and Basic authentication settings</em></a><a class="ps-heading-anchor" href="#automating-with-powershell-changing-modern-and-basic-authentication-settings" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Kelvin Tegelaar on 23rd October<br>
Kelvin walks us through how to edit the Modern Authentication settings in Office365 using PowerShell</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201023-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/Steve_MSFT/status/1318996485464182790"><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>#PowerShell 7.1-RC2 is out! <a href="https://github.com/PowerShell/PowerShell/releases/tag/v7.1.0-rc.2">https://github.com/PowerShell/PowerShell/releases/tag/v7.1.0-rc.2</a>. Some final work (like SNAP pkg, etc&hellip;) are being worked still.</p><h6 id="youtube-power-bi-dev-camp-writing-powershell-scripts-for-power-bi" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201023-functiondraft.md#youtube-power-bi-dev-camp-writing-powershell-scripts-for-power-bi"/><a href="https://www.youtube.com/watch?v=WaKvZgjTWmo"><em>Youtube: Power BI Dev Camp: Writing PowerShell scripts for Power BI</em></a><a class="ps-heading-anchor" href="#youtube-power-bi-dev-camp-writing-powershell-scripts-for-power-bi" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>In this #Microsoft Power BI Dev Camp session, we&rsquo;ll explore how to get started with writing and testing PowerShell scripts to automate common administrative tasks in a #PowerBI environment.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 16-October-2020</title><link>https://powershell.org/articles/2020-10-16-icymi-powershell-week-of-16-october-2020/</link><guid>https://powershell.org/articles/2020-10-16-icymi-powershell-week-of-16-october-2020/</guid><pubDate>Fri, 16 Oct 2020 15:13:33 +0000</pubDate><description>&lt;p&gt;Topics include DSC, AD Recycle Bin, Pester and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include DSC, AD Recycle Bin, Pester and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.networkadm.in/invoke-item/"><em>Getting familiar with Invoke-Item in PowerShell</em></a></p><p>by Mike Kanakos on 12th October</p><p>Mike does a deep dive on the Invoke-Item cmdlet, showing you all the ways to use it.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/how-to-recover-objects-with-the-active-directory-recycle-bin/"><em>How to Recover Objects with the Active Directory Recycle Bin</em></a></p><p>by Adam Listek on 13th October</p><p>In this article, Adam explores exactly how the recycle bin functions, what can be done with the recycle bin, and how to effectively use it.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/getting-started-in-web-automation-with-powershell-and-selenium/"><em>Getting Started in Web Automation with PowerShell and Selenium</em></a></p><p>by June Castillote on 14th October</p><p>Learn how to get started using the incredible combination of these two excellent tools, Selenium and PowerShell, to automate web-related tasks on web browsers. You’ll learn how to programmatically perform actions such as navigating, logging, searching, clicking, and sending input.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://sarti.dev/presentation/powershell-global-virtual-pester/"><em>Beyond Pester 101: Applying testing principles to PowerShell.</em></a></p><p>by Glenn Sarti on 15th October</p><p>We see a lot talks on testing PowerShell with Pester, but are the tests we write good tests? What makes a test “good”? How do we measure how effective our tests are? This talk will help you answer these questions, including why testing is important and how to apply these principles to your project.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/automating-with-powershell-creating-your-own-password-push/."><em>Automating with PowerShell: Creating your own password push.</em></a></p><p>by Kelvin Tegelaar on 16th October</p><p>A password pushing tool with an Azure Function.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/jbndp3/is_dsc_worth_getting_into_at_this_point_or_should/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>A discussion around is DSC still relevant to learn today.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/joeyaiello/status/13157699699766435845"><em>Tweet of the Week</em></a></p><p>A new approach to managing the #PowerShell repository, engine, and Committee.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=YA0IdOZnM78&amp;feature=youtu.be"><em>Youtube: Power Apps change the app owner with PowerShell.</em></a></p><p>In this Quick Thursday Tip (QTT) you will learn how to change the owner of one or more Power Apps by using PowerShell. Super handy when someone leaves the company for example.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 09-October-2020</title><link>https://powershell.org/articles/2020-10-09-icymi-powershell-week-of-09-october-2020/</link><guid>https://powershell.org/articles/2020-10-09-icymi-powershell-week-of-09-october-2020/</guid><pubDate>Fri, 09 Oct 2020 12:19:12 +0000</pubDate><description>&lt;p&gt;Topics include GitHub actions, Azure Functions, WVD, Pentesting and more!&lt;/p&gt;
&lt;p&gt;Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.&lt;/p&gt;
&lt;h6 id="" class="ps-heading"&gt;&lt;a class="ps-heading-anchor" href="#" 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;/h6&gt;
&lt;p&gt;&lt;a href="https://robstr.dev/using-github-actions-run-automatic-pester-tests/"&gt;&lt;em&gt;Using GitHub actions to run automatic Pester tests&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;by Roberth Strand on 4th October&lt;/p&gt;
&lt;p&gt;But as soon as I started creating PowerShell modules that was more than just small time projects, I had to step up the production quality. As soon as I had written some tests, I wanted to have those tests run every time I did a pull request. This helps me catch bugs before publishing the new version of my module, and saves me from a ton of stress.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include GitHub actions, Azure Functions, WVD, Pentesting and more!</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://robstr.dev/using-github-actions-run-automatic-pester-tests/"><em>Using GitHub actions to run automatic Pester tests</em></a></p><p>by Roberth Strand on 4th October</p><p>But as soon as I started creating PowerShell modules that was more than just small time projects, I had to step up the production quality. As soon as I had written some tests, I wanted to have those tests run every time I did a pull request. This helps me catch bugs before publishing the new version of my module, and saves me from a ton of stress.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/automating-with-powershell-deploying-azure-functions/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=automating-with-powershell-deploying-azure-functions"><em>Automating with PowerShell: Deploying Azure Functions</em></a></p><p>by Kelvin Tegelaar on 5th October</p><p>Kelvin shares come of his Azure Functions and gives the ability to deploy them in a single click.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://rozemuller.com/save-wvd-image-with-sysprep-as-image-gallery-version/"><em>Save WVD image with Sysprep as Image Gallery version (part 2)</em></a></p><p>by Sander Rozemuller on 6th October</p><p>Join Sander as he shows us how to automate setting up a WVD Image using PowerShell.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/creating-your-first-azure-powershell-function-app/"><em>Creating Your First Azure PowerShell Function App</em></a></p><p>by June Castillote on 7th October</p><p>In this article, you will learn how to create an Azure PowerShell Function App, develop, test, and execute the code. You’ll also get the chance to build a mini-project where you’ll create a function for getting the status of Azure VMs and display the result on the web.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.saggiehaim.net/automate-azure-sentinel-deployment"><em>Automate Azure Sentinel Deployment</em></a></p><p>by Saggie Haim on 8th October</p><p>In this post, Saggie Haim will walk us through how to automate the core components of Azure Sentinel using PowerShell</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/j5m9wl/a_great_feeling/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>Redditor shares his PowerShell success story.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/pcgeek86/status/1313560760207974405"><em>Tweet of the Week</em></a></p><p>Level up your #PowerShell skills with this FREE training (one week) over @CBTNuggets.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=BiC2WXJl5f4"><em>Youtube: Using PowerShell For Basic Pentesting Tasks | Looking WebDAV requests</em></a></p><p>An overview of how to use PowerShell when pentesting.</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 02-October-2020</title><link>https://powershell.org/articles/2020-10-02-icymi-powershell-week-of-02-october-2020/</link><guid>https://powershell.org/articles/2020-10-02-icymi-powershell-week-of-02-october-2020/</guid><pubDate>Fri, 02 Oct 2020 14:43:28 +0000</pubDate><description>&lt;p&gt;Topics include WPF, Azure, Secrets and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include WPF, Azure, Secrets and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="build-a-powershell-systray-tool-with-menus-sub-menus-and-pictures" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201002-functiondraft.md#build-a-powershell-systray-tool-with-menus-sub-menus-and-pictures"/><a href="http://www.systanddeploy.com/2020/09/build-powershell-systray-tool-with.html"><em>Build a PowerShell systray tool with menus, sub menus and pictures</em></a><a class="ps-heading-anchor" href="#build-a-powershell-systray-tool-with-menus-sub-menus-and-pictures" 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 28th September<br>
In this post, Damien Van Robaeys will demonstrate how to build a tool that displays context menu and sub menus in the systray bar with picture for each menus.</p><h6 id="wpf-tips" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201002-functiondraft.md#wpf-tips"/><a href="https://jm2k69.github.io/2020/09/WPF-tips.html"><em>WPF Tips</em></a><a class="ps-heading-anchor" href="#wpf-tips" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Jérôme Bezet-Torres on 29th September<br>
Investigate how to use WPF in PowerShell to create forms</p><h6 id="get-gporeport-how-to-build-fancy-gpo-reports-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201002-functiondraft.md#get-gporeport-how-to-build-fancy-gpo-reports-with-powershell"/><a href="https://adamtheautomator.com/get-gporeport-how-to-build-fancy-gpo-reports-with-powershell/"><em>Get-GpoReport: How to Build Fancy GPO Reports with PowerShell</em></a><a class="ps-heading-anchor" href="#get-gporeport-how-to-build-fancy-gpo-reports-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 Emanuel Halapciuc on 29th September<br>
In this deep dive, have a look at some of the things you can do with Get-GPOReport to create customised GPO reports with only the information you want to see.</p><h6 id="answering-the-wsman-powershell-challenge" class="ps-heading"><a href="http://jdhitsolutions.com/blog/powershell/7712/answering-the-wsman-powershell-challenge/"><em>Answering the WSMan PowerShell Challenge</em></a><a class="ps-heading-anchor" href="#answering-the-wsman-powershell-challenge" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Jeffrey Hicks on 30th September<br>
Jeffrey Hicks shares his solution to a recent Iron Scripter challenge, a fascinating task and one with a practical result.</p><h6 id="secretmanagement-and-secretstore-updates" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201002-functiondraft.md#secretmanagement-and-secretstore-updates"/><a href="https://devblogs.microsoft.com/powershell/secretmanagement-and-secretstore-updates/"><em>SecretManagement and SecretStore Updates</em></a><a class="ps-heading-anchor" href="#secretmanagement-and-secretstore-updates" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Sydney Smith on 30th September<br>
Breaking Changes in Secret Store in the lastest update to the SecretManagement and SecretStore Modules</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201002-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/j2wosy/presentation_of_hurry_the_it_admins_companion/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Redditor shares tool that allows you to use scripts through a GUI interface</p><h6 id="youtube-azurerm-to-az-powershell-module-migration-toolkit" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20201002-functiondraft.md#youtube-azurerm-to-az-powershell-module-migration-toolkit"/><a href="https://www.youtube.com/watch?v=YxiPnAcOaxA&amp;feature=emb_logo"><em>Youtube: AzureRM to Az PowerShell Module Migration Toolkit</em></a><a class="ps-heading-anchor" href="#youtube-azurerm-to-az-powershell-module-migration-toolkit" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>The Az.Tools.Migration PowerShell module can automatically upgrade your PowerShell scripts and script modules from AzureRM to the Az PowerShell module.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 18-September-2020</title><link>https://powershell.org/articles/2020-09-18-icymi-powershell-week-of-18-september-2020/</link><guid>https://powershell.org/articles/2020-09-18-icymi-powershell-week-of-18-september-2020/</guid><pubDate>Fri, 18 Sep 2020 14:00:55 +0000</pubDate><description>&lt;p&gt;Topics include Nested AD groups, Logging, documentation and more.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Nested AD groups, Logging, documentation and more.</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="finding-nested-active-directory-groups-faster-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200918-functiondraft.md#finding-nested-active-directory-groups-faster-with-powershell"/><a href="https://4sysops.com/archives/finding-nested-groups-faster-with-powershell/"><em>Finding nested Active Directory groups faster with PowerShell</em></a><a class="ps-heading-anchor" href="#finding-nested-active-directory-groups-faster-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 Mike Kanakos on 15th September<br>
Mike would like to show us how to find nested groups in large Active Directory groups.</p><h6 id="powershell-logging-recording-and-auditing-all-the-things" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200918-functiondraft.md#powershell-logging-recording-and-auditing-all-the-things"/><a href="https://adamtheautomator.com/powershell-logging-recording-and-auditing-all-the-things/"><em>PowerShell Logging: Recording and Auditing all the Things</em></a><a class="ps-heading-anchor" href="#powershell-logging-recording-and-auditing-all-the-things" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Bill Kindle on 15th September<br>
In this article, you’ll learn about the options available for PowerShell logging and auditing.</p><h6 id="documenting-with-powershell-hyper-v-and-physical-server-settings" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200918-functiondraft.md#documenting-with-powershell-hyper-v-and-physical-server-settings"/><a href="https://www.cyberdrain.com/documenting-with-powershell-hyper-v-and-physical-server-settings/"><em>Documenting with PowerShell: Hyper-v and physical server settings</em></a><a class="ps-heading-anchor" href="#documenting-with-powershell-hyper-v-and-physical-server-settings" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Kelvin Tegelaar on 16th September<br>
Kelvin wrote a PowerShell to document the physical and Hyper-V servers and show them as cards in HTML view.</p><h6 id="secretmanagement-preview-3" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200918-functiondraft.md#secretmanagement-preview-3"/><a href="https://devblogs.microsoft.com/powershell/secretmanagement-preview-3/"><em>SecretManagement Preview 3</em></a><a class="ps-heading-anchor" href="#secretmanagement-preview-3" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Sydney Smith on 16th September<br>
A big update to SecretManagement is out including the new SecretStore vault extension.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200918-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/iuifz8/powershell_vs_python_reference/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>This is a reference between PowerShell and Python language syntax.</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200918-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/WindosNZ/status/1306438761278914560"><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>Did you know that content from @mikefrobbins&rsquo; PowerShell 101 book is up on @docsmsft; Such a valuable resource for learning #PowerShell, available directly alongside all the rest of the docs!</p><h6 id="youtube-module-monday-z" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200918-functiondraft.md#youtube-module-monday-z"/><a href="https://www.youtube.com/watch?v=OzHIjKEfOhA"><em>Youtube: Module Monday: Z</em></a><a class="ps-heading-anchor" href="#youtube-module-monday-z" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Z is a port of a popular bash shell script for navigating your file system quickly. It uses a frequency algorithm to determine the correct path to go to.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 11-September-2020</title><link>https://powershell.org/articles/2020-09-11-icymi-powershell-week-of-11-september-2020/</link><guid>https://powershell.org/articles/2020-09-11-icymi-powershell-week-of-11-september-2020/</guid><pubDate>Fri, 11 Sep 2020 14:00:05 +0000</pubDate><description>&lt;p&gt;Topics include filtering speed increase, PoshBot, error handling and more!&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include filtering speed increase, PoshBot, error handling and more!</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="speeding-access-to-office-365-powershell-data-using-where-instead-of-where-object" class="ps-heading"><a href="https://office365itpros.com/2020/09/07/speed-powershell-code-where-method/"><em>Speeding Access to Office 365 PowerShell Data Using Where Instead of Where-Object</em></a><a class="ps-heading-anchor" href="#speeding-access-to-office-365-powershell-data-using-where-instead-of-where-object" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Tony Redmond on 7th September<br>
A neat little investigation by Tony Redmond into the benefits of using the .NET where method as opposed to the PowerShell Native Where-Object command.</p><h6 id="powershell-tips--tricks-that-will-increase-your-productivity" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200911-functiondraft.md#powershell-tips--tricks-that-will-increase-your-productivity"/><a href="https://www.koupi.io/post/awesome-powershell-tricks-you-don-t-want-to-miss"><em>PowerShell Tips &amp; Tricks That Will Increase Your Productivity</em></a><a class="ps-heading-anchor" href="#powershell-tips--tricks-that-will-increase-your-productivity" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Caroline Chiari on 8th September<br>
See some things that Caroline finds helpful on the command line and maybe learn something new in the process!</p><h6 id="certificate-based-authentication-for-exchange-online-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200911-functiondraft.md#certificate-based-authentication-for-exchange-online-powershell"/><a href="https://blog.robindadswell.tech/blog/2020/09/09/certificate-based-authentication-for-exchange-online-powershell/"><em>Certificate-Based Authentication for Exchange Online PowerShell</em></a><a class="ps-heading-anchor" href="#certificate-based-authentication-for-exchange-online-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Robin Dadswell on 9th September<br>
An exploration into a vital part of migrating away from Basic Authentication for Exchange Online</p><h6 id="powershell-error-handling" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200911-functiondraft.md#powershell-error-handling"/><a href="https://www.skylinesacademy.com/blog/2020/9/9/powershell-error-handling"><em>PowerShell Error Handling</em></a><a class="ps-heading-anchor" href="#powershell-error-handling" 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 9th September<br>
To ensure we set up a net to catch all of the errors that are bound to happen, it&rsquo;s important to understand error handling. Error handling is a concept in all programming languages that outlines steps, procedures and code that&rsquo;s written to intelligently capture errors and do something about them. PowerShell is no different.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200911-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/inpake/are_advanced_functions_i_should_spend_a_lot_of/%7Chttps://www.reddit.com/r/PowerShell/comments/inpake/are_advanced_functions_i_should_spend_a_lot_of/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>A discussion about Advanced Functions and should you learn about them</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200911-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/Steve_MSFT/status/1303466981253758976"><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>#PowerShell 7.1-preview.7 is out! This will be our last preview (unless there&rsquo;s a major issue) before our Release Candidate!</p><h6 id="youtube-module-monday-poshbot" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200911-functiondraft.md#youtube-module-monday-poshbot"/><a href="https://www.youtube.com/watch?v=yzOdSGCjyFA"><em>Youtube: Module Monday: PoshBot</em></a><a class="ps-heading-anchor" href="#youtube-module-monday-poshbot" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Module Monday is a video series where I look at a cool PowerShell module each Monday. This Monday, I looked at PoshBot. PoshBot is a chat bot built with PowerShell. It allows you to issue you commands from your chat client, schedule jobs, trigger messages on events and more! Upgrade your ChatOps!</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 04-September-2020</title><link>https://powershell.org/articles/2020-09-04-icymi-powershell-week-of-04-september-2020/</link><guid>https://powershell.org/articles/2020-09-04-icymi-powershell-week-of-04-september-2020/</guid><pubDate>Fri, 04 Sep 2020 14:53:24 +0000</pubDate><description>&lt;p&gt;Topics include Machine Learning, Network Monitoring, Active Directory and More&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Machine Learning, Network Monitoring, Active Directory and More&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="machine-learning-from-idea-to-reality-a-powershell-casestudy" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200904-functiondraft.md#machine-learning-from-idea-to-reality-a-powershell-casestudy"/><a href="https://blog.fox-it.com/2020/09/02/machine-learning-from-idea-to-reality-a-powershell-case-study/"><em>Machine learning from idea to reality: a PowerShell case study</em></a><a class="ps-heading-anchor" href="#machine-learning-from-idea-to-reality-a-powershell-casestudy" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Joost Jansen on 9th February<br>
This blog provides a ‘look behind the scenes’ at the RIFT Data Science team and describes the process of moving from the need or an idea for research towards models that can be used in practice. More specifically, how known and unknown PowerShell threats can be detected using Windows event log 4104. In this case study it is shown how research into detecting offensive (with the term ‘offensive’ used in the context of ‘offensive security’) and obfuscated PowerShell scripts led to models that can be used in a real-time environment.</p><h6 id="reading-sccm-logs-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200904-functiondraft.md#reading-sccm-logs-with-powershell"/><a href="https://tseknet.com/blog/sccmlogs/"><em>Reading SCCM Logs with PowerShell</em></a><a class="ps-heading-anchor" href="#reading-sccm-logs-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 @tseknet on 29th August<br>
This post covers how you can write SCCM logs to the Event Log for an OS upgrade task sequence file (smsts.log), but this script can be adapted to take any log file and write the contents to the Event Log.</p><h6 id="netneighbor-watch-the-powershell-alternative-to-arpwatch" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200904-functiondraft.md#netneighbor-watch-the-powershell-alternative-to-arpwatch"/><a href="https://spiderzebra.com/2020/08/31/netneighbor-watch-the-powershell-alternative-to-arpwatch/"><em>NetNeighbor Watch: The PowerShell Alternative To Arpwatch</em></a><a class="ps-heading-anchor" href="#netneighbor-watch-the-powershell-alternative-to-arpwatch" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Nick Richardson on 31st August<br>
In this post, we are going to setup NetNeighbor Watch on a Raspberry Pi. NetNeighbor Watch can keep an eye on your network and send you an email when a new host is discovered. NetNeighbor Watch is done completely in PowerShell. The results are very similar to those of arpwatch. NetNeighbor Watch is for anyone that wants more visibility into the wireless or wired devices on their network.</p><h6 id="how-to-monitor-a-printer-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200904-functiondraft.md#how-to-monitor-a-printer-with-powershell"/><a href="https://www.scriptinglibrary.com/languages/powershell/how-to-monitor-a-printer-with-powershell/"><em>How to monitor a printer with Powershell</em></a><a class="ps-heading-anchor" href="#how-to-monitor-a-printer-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 Paolo Frigo on 2nd September<br>
In this article you will find something totally different, I wanted to take the opportunity of helping somebody to solve a real case of a Virtual Printer that was causing issues to users and the ops team. The printer needed to be monitored with a living-off-the-land approach, so without adding any software solution but just a few scripts.</p><h6 id="visually-display-active-directory-nested-group-membership-using-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200904-functiondraft.md#visually-display-active-directory-nested-group-membership-using-powershell"/><a href="https://evotec.xyz/visually-display-active-directory-nested-group-membership-using-powershell/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=visually-display-active-directory-nested-group-membership-using-powershell"><em>Visually display Active Directory Nested Group Membership using PowerShell</em></a><a class="ps-heading-anchor" href="#visually-display-active-directory-nested-group-membership-using-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 2nd September<br>
This blog post covers a function called Get-WinADGroupMember. When you use it with a single parameter group it is basically a replacement for Get-ADGroupMember -Recursive.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200904-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/iibkyg/it_admin_toolkit_a_customizable_and_expandable/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>u/nkasco shares a tool he has been working on and best part is that it is free.</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200904-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/Steve_MSFT/status/1301731426648244224"><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>@PowerShell_Team has started the release process for #PowerShell 7.1 preview 7 built on .NET 5 preview 8.</p><h6 id="youtube-getting-started-with-jupyter-notebooks-and-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200904-functiondraft.md#youtube-getting-started-with-jupyter-notebooks-and-powershell"/><a href="https://www.youtube.com/watch?v=zNKx6M9kjwM"><em>Youtube: Getting started with Jupyter Notebooks and PowerShell</em></a><a class="ps-heading-anchor" href="#youtube-getting-started-with-jupyter-notebooks-and-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>In this video, I show how to get started with Jupyter Notebooks and PowerShell. I first go over the web interface for Jupyter and how to use .NET interactive to run PowerShell scripts in notebooks. I then go into Azure Data Studio to show how to build notebooks with a more rich PowerShell experience. Finally, I show how to build PowerShell notebooks using the Visual Studio Code Insiders edition and the preview edition of the PowerShell extension.</p>]]></content:encoded></item><item><title>NetNeighbor Watch: The PowerShell Alternative To Arpwatch</title><link>https://powershell.org/articles/2020-08-31-netneighbor-watch-the-powershell-alternative-to-arpwatch/</link><guid>https://powershell.org/articles/2020-08-31-netneighbor-watch-the-powershell-alternative-to-arpwatch/</guid><pubDate>Mon, 31 Aug 2020 22:12:28 +0000</pubDate><description>&lt;p&gt;In this post, we are going to setup NetNeighbor Watch on a Raspberry Pi. NetNeighbor Watch can keep an eye on your network and send you an email when a new host is discovered. NetNeighbor Watch is done completely in PowerShell. The results are very similar to those of arpwatch. NetNeighbor Watch is for anyone that wants more visibility into the wireless or wired devices on their network. We will also setup a weekly email report with all of the known hosts on your network. In this post, I will walk you through the entire process of setting this up from scratch on a Raspberry Pi, lets get started!&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>In this post, we are going to setup NetNeighbor Watch on a Raspberry Pi. NetNeighbor Watch can keep an eye on your network and send you an email when a new host is discovered. NetNeighbor Watch is done completely in PowerShell. The results are very similar to those of arpwatch. NetNeighbor Watch is for anyone that wants more visibility into the wireless or wired devices on their network. We will also setup a weekly email report with all of the known hosts on your network. In this post, I will walk you through the entire process of setting this up from scratch on a Raspberry Pi, lets get started!</p><h5 id="items-covered-in-post" class="ps-heading">Items Covered in Post:<a class="ps-heading-anchor" href="#items-covered-in-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h5><ol><li>Prerequisites</li><li>Gmail App Password</li><li>NetNeighbor Watch Code</li><li>NetNeighbor Report Code</li><li>Raspberry Pi 3 Model B+ Setup</li><li>Final Results</li><li>Resetting Known Hosts</li></ol><p>Take a look for yourself at my site:<a href="https://spiderzebra.com/2020/08/31/netneighbor-watch-the-powershell-alternative-to-arpwatch/">SpiderZebra.com</a><strong>Nick Richardson (@ChiefNSR)</strong></p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 28-August-2020</title><link>https://powershell.org/articles/2020-08-28-icymi-powershell-week-of-28-august-2020/</link><guid>https://powershell.org/articles/2020-08-28-icymi-powershell-week-of-28-august-2020/</guid><pubDate>Fri, 28 Aug 2020 14:00:00 +0000</pubDate><description>&lt;p&gt;Topics include Data type accelerators, Directory sizes, Monitoring UniFi devices and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Data type accelerators, Directory sizes, Monitoring UniFi devices and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="monitoring-with-powershell-user-experience-issues--unifi-eol-monitoring" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200828-functiondraft.md#monitoring-with-powershell-user-experience-issues--unifi-eol-monitoring"/><a href="https://www.cyberdrain.com/monitoring-with-powershell-user-experience-issues-unifi-eol-monitoring/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=monitoring-with-powershell-user-experience-issues-unifi-eol-monitoring"><em>Monitoring with PowerShell: user experience issues &amp; Unifi EOL Monitoring</em></a><a class="ps-heading-anchor" href="#monitoring-with-powershell-user-experience-issues--unifi-eol-monitoring" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Kelvin Tegelaar on 24th August<br>
Kelvin delivers two scripts in this blog post one to monitor user experience and the other to monitor Unifi for EOL devices.</p><h6 id="taking-issue-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200828-functiondraft.md#taking-issue-with-powershell"/><a href="https://jdhitsolutions.com/blog/powershell/7661/taking-issue-with-powershell/"><em>Taking Issue with PowerShell</em></a><a class="ps-heading-anchor" href="#taking-issue-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 Jeffery Hicks on 26th August<br>
In this blog post Jeff makes a case for getting involved with PowerShell 7 and contribute to the opensource project.</p><h6 id="using-powershell-data-types-accelerators-to-speed-up-coding" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200828-functiondraft.md#using-powershell-data-types-accelerators-to-speed-up-coding"/><a href="https://adamtheautomator.com/using-powershell-data-types-accelerators-to-speed-up-coding/"><em>Using PowerShell Data Types Accelerators to Speed up Coding</em></a><a class="ps-heading-anchor" href="#using-powershell-data-types-accelerators-to-speed-up-coding" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Adam Listek on 26th August<br>
Accelerators will help you save time and effort for many of the common tasks that a script may need.</p><h6 id="how-to-add-port-to-firewall-windows-10-from-an-excel-sheet" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200828-functiondraft.md#how-to-add-port-to-firewall-windows-10-from-an-excel-sheet"/><a href="https://adamtheautomator.com/how-to-add-port-to-firewall-windows-10-from-an-excel-sheet/"><em>How to Add Port to Firewall Windows 10 from an Excel Sheet</em></a><a class="ps-heading-anchor" href="#how-to-add-port-to-firewall-windows-10-from-an-excel-sheet" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Emanuel Halapciuc on 27th August<br>
Use a spreadsheet to add multiple firewall rules depending on the machine role and prevent errors in adding your firewall rules.</p><h6 id="finding-teams-and-yammer-groups-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200828-functiondraft.md#finding-teams-and-yammer-groups-with-powershell"/><a href="https://office365itpros.com/2020/08/27/find-teams-yammer-groups-powershell"><em>Finding Teams and Yammer Groups with PowerShell</em></a><a class="ps-heading-anchor" href="#finding-teams-and-yammer-groups-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 Tony Redmond on 27th August<br>
Needing to run a report on Teams or Yammer enabled M365 groups, if that&rsquo;s the case then check out this post.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200828-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/ief3rm/get_directory_tree_size_using_powershell_recursive/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>u/theSysadminChannel shares a script for getting recursive directory sizes.</p><h6 id="youtube-module-monday-powershell-protect" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200828-functiondraft.md#youtube-module-monday-powershell-protect"/><a href="https://www.youtube.com/watch?v=3EvFHXsOuy8%3E"><em>Youtube: Module Monday: PowerShell Protect</em></a><a class="ps-heading-anchor" href="#youtube-module-monday-powershell-protect" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Module Monday is a video series where I look at a cool PowerShell module every Monday. This Monday, we look at PowerShell Protect. PowerShell Protect is a module and antimalware scan interface provider that allows you to audit and block scripts based on rules. These rules can look at the aspects of a script to determine whether they should be audited or blocked.</p>]]></content:encoded></item><item><title>The PowerShell Conference Book volume 3 is here!</title><link>https://powershell.org/articles/2020-08-27-psconfbook-vol3/</link><guid>https://powershell.org/articles/2020-08-27-psconfbook-vol3/</guid><pubDate>Thu, 27 Aug 2020 12:59:35 +0000</pubDate><description>&lt;p&gt;The third edition of the &lt;strong&gt;PowerShell Conference Book&lt;/strong&gt; is now available and &lt;a href="https://leanpub.com/psconfbook3"&gt;on sale&lt;/a&gt; at the discounted price of $19.99. But you need to hurry because the &lt;strong&gt;discounted price is only available until Friday evening!&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="what-is-the-powershell-conference-book" class="ps-heading"&gt;What is the PowerShell Conference Book?&lt;a class="ps-heading-anchor" href="#what-is-the-powershell-conference-book" 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;/h3&gt;
&lt;p&gt;The book is designed to be a representation of what it&amp;rsquo;s like when you attend a conference. Traditional books have a singular topic, such as &lt;em&gt;&amp;ldquo;Windows Server 2019&amp;rdquo;&lt;/em&gt; or &lt;em&gt;&amp;ldquo;Mastering Ansible&amp;rdquo;&lt;/em&gt;. But this book is not geared towards a single topic. Instead, much like a conference, it&amp;rsquo;s a collection of ideas all focused around a general theme.  All the chapters are related in some way to PowerShell and DevOps.&lt;br&gt;
The book contains over 20 different chapters, each written by a different author. The authors of the book are community members and subject matter experts who have graciously donated their time and knowledge for a good cause. Each chapter is similar in length and focus to what it would be like if you attended a conference and listened to the author present their topic to a live audience, except now it&amp;rsquo;s in written form. Imagine if you were able to capture those sessions and lock them into a format that you could refer to over and over again. It&amp;rsquo;s a conference in a book format!&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>The third edition of the<strong>PowerShell Conference Book</strong> is now available and<a href="https://leanpub.com/psconfbook3">on sale</a> at the discounted price of $19.99. But you need to hurry because the<strong>discounted price is only available until Friday evening!</strong></p><h3 id="what-is-the-powershell-conference-book" class="ps-heading">What is the PowerShell Conference Book?<a class="ps-heading-anchor" href="#what-is-the-powershell-conference-book" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><p>The book is designed to be a representation of what it&rsquo;s like when you attend a conference. Traditional books have a singular topic, such as<em>&ldquo;Windows Server 2019&rdquo;</em> or<em>&ldquo;Mastering Ansible&rdquo;</em>. But this book is not geared towards a single topic. Instead, much like a conference, it&rsquo;s a collection of ideas all focused around a general theme.  All the chapters are related in some way to PowerShell and DevOps.<br>
The book contains over 20 different chapters, each written by a different author. The authors of the book are community members and subject matter experts who have graciously donated their time and knowledge for a good cause. Each chapter is similar in length and focus to what it would be like if you attended a conference and listened to the author present their topic to a live audience, except now it&rsquo;s in written form. Imagine if you were able to capture those sessions and lock them into a format that you could refer to over and over again. It&rsquo;s a conference in a book format!</p><h3 id="the-essence-of-community-in-a-book" class="ps-heading">The essence of community in a book<a class="ps-heading-anchor" href="#the-essence-of-community-in-a-book" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><p>As a former contributor to volumes 1 &amp; 2 of the book, I can tell you that these authors have worked VERY HARD to get their work ready for publication. The process started about six months ago when these authors had to submit chapter proposals to a selection committee, much like presenters have to do for a conference. Those CFP&rsquo;s were &ldquo;pitches&rdquo; to help explain and sell their topic with the hope they would be selected for inclusion in the book. Once selected, the process to publication can take as long as three months for an author.<br>
The process requires the authors to submit their work to a group of editors who are also community members. Endless revisions and edits take place so that you, the reader, get the most value and an awesome experience from this book. And in true technical form, the entire book is written in markdown and all work is submitted, edited, formatted and managed via a GitHub repo. For many of these authors, writing technical content is not something they do regularly, but they invest time and effort to be able to share information that they believe can help people master a topic. Not only do these authors need to write their content, they need to learn the process of contributing to a shared GitHub repository.<br>
The authors are not compensated at all for their time or knowledge. So why do this? What&rsquo;s the purpose?</p><h3 id="devops-collective-and-the-on-ramp-program" class="ps-heading">DevOps Collective and the On-Ramp Program<a class="ps-heading-anchor" href="#devops-collective-and-the-on-ramp-program" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><p>The project and time invested by the authors and editors are to help fund a great cause:<a href="https://powershell.org/summit-old/summit-onramp/">The DevOps Collective On-Ramp program</a>. The program and this website are parts of a non-profit organization called &ldquo;The DevOps Collective&rdquo;. The non-profit is dedicated to education and community in the DevOps field. It is the legal entity behind the PowerShell Summit, the Automation Summit, the On-Ramp program, the PowerShell.org website and other items such as eBooks, free webinars, community events and more.<br>
You may be familiar with the PowerShell summit that occurs take place in Seattle every year in April. It&rsquo;s considered the premiere event in the US for upper tier content related to PowerShell, DevOps and automation. The On-Ramp program is a guided, hands-on week long class that occurs at the same time as the Summit. During the day, the on-ramp attendees attend class and join the summit attendees for lunch, dinner and general sessions attended by the entire conference (i.e. keynote). It&rsquo;s a week of intense learning and helping attendees prepare for careers in infrastructure, automation and DevOps.<br>
On-Ramp is taught by some the industry’s leading PowerShell instructors. It’s more than just an introduction to PowerShell as a technology; On-Ramp is also an introduction to the PowerShell community and ecosystem. By blending classroom time with time in Summit’s general sessions, keynotes, and social events, On-Ramp attendees can supercharge their entry into the broader world of DevOps and IT automation.<br>
The conference book supports the On-Ramp program, but you may be wondering how&hellip;<br>
The money earned from book sales goes towards scholarships for the On-Ramp program. 100% of the proceeds from book sales are donated to the program. So what does that mean? The money raised is directly used to pay for people who cannot afford to buy a ticket to the On-Ramp program. When I say &ldquo;buy a ticket&rdquo;, that means the cost of the conference ticket, hotel room for a week and also includes breakfast and lunch. All told that represents about $3000 dollars per person.<br>
In previous years the sales of the book were able to pay for nearly 10 people to the attend the On-Ramp program each year! Remember these are people who are changing careers or looking to get their start in the field. The winners are people who submitted an application to be considered for the scholarship and had to outline details about their knowledge and background and what they had hoped to achieve in the field.</p><h3 id="why-should-you-buy-this-book" class="ps-heading">Why should you buy this book<a class="ps-heading-anchor" href="#why-should-you-buy-this-book" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><p>This book is written, edited by and for the community. Twenty authors have taken a topic they&rsquo;re passionate about and have formulated their topics into something they believe can help you learn and get better at infrastructure and DevOps. This year&rsquo;s edition covers four areas:<em>Systems Management</em>,<em>Tips &amp; Tricks</em>,<em>DevOps</em> and<em>PowerShell Language Features</em>. You can see a full list of topics at the<a href="https://leanpub.com/psconfbook3">book website</a>.<br>
For many of these authors, getting their chapter published is one the greatest accomplishments of their careers. For the people who will receive a scholarship from the proceeds, it&rsquo;s an opportunity to benefit from expert tutoring and mentoring from some of the best in the industry and possibly a star to a better career. For you, it&rsquo;s an opportunity to get an amazing reference volume that you can use to tackle new areas of learning and go back and reference for years to come.<br>
The book is on sale for $20 until Friday. For most of us, that is not a major purchase. Imagine how much knowledge you can get for the cost of dinner with friends. Imagine the good you can do by taking that $20 and putting it towards helping someone get started in our field! Please consider purchasing this book to further your knowledge, support the community and give someone else a chance in this community down the road. More details about the book can be found at the<a href="https://leanpub.com/psconfbook3">book publisher&rsquo;s website</a>.</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 21-August-2020</title><link>https://powershell.org/articles/2020-08-21-icymi-powershell-week-of-21-august-2020/</link><guid>https://powershell.org/articles/2020-08-21-icymi-powershell-week-of-21-august-2020/</guid><pubDate>Fri, 21 Aug 2020 14:00:11 +0000</pubDate><description>&lt;p&gt;Topics include Microsoft 365, PowerShell 7.1, Managing Cloud with Powershell and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Microsoft 365, PowerShell 7.1, Managing Cloud with Powershell and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="powershell-to-c-and-back-data-types-type-conversion-variables-and-operators" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200821-functiondraft.md#powershell-to-c-and-back-data-types-type-conversion-variables-and-operators"/><a href="https://ridicurious.com/2020/08/16/powershell-to-c-and-back-data-types-type-conversion-variables-and-operators/"><em>PowerShell to C# and Back: Data Types, Type conversion, Variables and Operators</em></a><a class="ps-heading-anchor" href="#powershell-to-c-and-back-data-types-type-conversion-variables-and-operators" 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 16th August<br>
It’s like an old tradition to introduce new programming language to the readers using a ‘Hello World!’ program, so keeping that in mind here are the steps to create your first Hello World program in C# and a step by step explanation of each line and keyword used in the program. We also have some examples where we would be consuming C# code in PowerShell and executing it.</p><h6 id="powershell-71-preview-6" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200821-functiondraft.md#powershell-71-preview-6"/><a href="https://devblogs.microsoft.com/powershell/powershell-7-1-preview-6/"><em>PowerShell 7.1 Preview 6</em></a><a class="ps-heading-anchor" href="#powershell-71-preview-6" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Steve Lee on 17th August<br>
Today, we are releasing the sixth preview of the PowerShell 7.1 release! With a roadmap update to match.</p><h6 id="how-to-send-email-securely-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200821-functiondraft.md#how-to-send-email-securely-with-powershell"/><a href="https://adamtheautomator.com/how-to-send-email-securely-with-powershell/"><em>How to Send Email Securely with PowerShell</em></a><a class="ps-heading-anchor" href="#how-to-send-email-securely-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 Adam Listek on 20th August<br>
Need to notify your team on a failed service, only to find that your PowerShell email has bounced? Unauthenticated email has become difficult to pass in many mail systems. You don’t want to miss an important email notification because you relied on outdated PowerShell cmdlets.</p><h6 id="how-to-manage-microsoft-teams-via-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200821-functiondraft.md#how-to-manage-microsoft-teams-via-powershell"/><a href="https://techcommunity.microsoft.com/t5/itops-talk-blog/how-to-manage-microsoft-teams-via-powershell/ba-p/1599167"><em>How to Manage Microsoft Teams via PowerShell</em></a><a class="ps-heading-anchor" href="#how-to-manage-microsoft-teams-via-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Anthony Bartolo on 20th August<br>
A quick overview of some commands in the Microsoft Teams Module</p><h6 id="monitoring-with-powershell-monitoring-o365-alerts" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200821-functiondraft.md#monitoring-with-powershell-monitoring-o365-alerts"/><a href="https://www.cyberdrain.com/monitoring-with-powershell-monitoring-o365-alerts/"><em>Monitoring With PowerShell: Monitoring O365 Alerts</em></a><a class="ps-heading-anchor" href="#monitoring-with-powershell-monitoring-o365-alerts" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Kevin Tegelaar on 21st August<br>
A look at different types of alerting policies within the M365 space.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200821-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/ic3nqd/update_i_made_an_automatically_populating_script/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Reddit Post to show an automatically populating script menu</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200821-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/JustinWGrote/status/1296541322455654401?s=19"><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>Set VS Code default language to PowerShell</p><h6 id="youtube-manage-cloud-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200821-functiondraft.md#youtube-manage-cloud-with-powershell"/><a href="https://www.youtube.com/watch?v=x-bAD3RX_P0"><em>Youtube: Manage Cloud with PowerShell</em></a><a class="ps-heading-anchor" href="#youtube-manage-cloud-with-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Learn how to manage cloud with PowerShell on major cloud providers such as AWS, Azure, and Google Cloud. Discover how to authenticate your PowerShell session to your cloud account and then create and manage resources. See how you can use PowerShell to harness the power of the cloud! I wrap up this episode with a fully working example of creating and securing cloud resources demoing AWS and Azure side-by-side!</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 14-August-2020</title><link>https://powershell.org/articles/2020-08-14-icymi-powershell-week-of-14-august-2020/</link><guid>https://powershell.org/articles/2020-08-14-icymi-powershell-week-of-14-august-2020/</guid><pubDate>Fri, 14 Aug 2020 19:53:53 +0000</pubDate><description>&lt;p&gt;Topics include Selenium, VS Code, Microsoft 365 and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Selenium, VS Code, Microsoft 365 and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="how-to-use-the-new-exchange-online-v2-powershell-module-for-unattended-automation-scripts" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200814-functiondraft.md#how-to-use-the-new-exchange-online-v2-powershell-module-for-unattended-automation-scripts"/><a href="https://adamtheautomator.com/exchange-online-powershell-mfa/"><em>How to Use the New Exchange Online V2 PowerShell Module for Unattended Automation Scripts</em></a><a class="ps-heading-anchor" href="#how-to-use-the-new-exchange-online-v2-powershell-module-for-unattended-automation-scripts" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by June Castillote on 11th August<br>
In this article, you will learn how to prepare to use the EXO V2 module to run Exchange Online unattended scripts with app-only modern authentication.</p><h6 id="automating-with-powershell-increasing-the-o365-secure-score" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200814-functiondraft.md#automating-with-powershell-increasing-the-o365-secure-score"/><a href="https://www.cyberdrain.com/automating-with-powershell-increasing-the-o365-secure-score/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=automating-with-powershell-increasing-the-o365-secure-score"><em>Automating with PowerShell: Increasing the O365 Secure Score</em></a><a class="ps-heading-anchor" href="#automating-with-powershell-increasing-the-o365-secure-score" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Kelvin Tegelaar on 12th August<br>
Second post by Kevin showing a module that will apply settings to increase 0365 secure score.</p><h6 id="updated-powershell-tools" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200814-functiondraft.md#updated-powershell-tools"/><a href="https://jdhitsolutions.com/blog/powershell/7648/updated-powershell-tools/"><em>Updated PowerShell Tools</em></a><a class="ps-heading-anchor" href="#updated-powershell-tools" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Jeff Hicks on 12th August<br>
New Version of PSScriptTools</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200814-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/prasoonkarunan/status/1294293462779494400"><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>Session recording of a run through of Azure PowerShell</p><h6 id="youtube-using-selenium-to-test-web-frameworks-with-stephen-valdinger" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200814-functiondraft.md#youtube-using-selenium-to-test-web-frameworks-with-stephen-valdinger"/><a href="https://youtu.be/bynYFT02ACM"><em>Youtube: Using Selenium to test Web Frameworks with Stephen Valdinger</em></a><a class="ps-heading-anchor" href="#youtube-using-selenium-to-test-web-frameworks-with-stephen-valdinger" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Join Stephen and discover how you could take your web testing and troubleshooting to the next level with the Selenium module.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 07-August-2020</title><link>https://powershell.org/articles/2020-08-07-icymi-powershell-week-of-07-august-2020/</link><guid>https://powershell.org/articles/2020-08-07-icymi-powershell-week-of-07-august-2020/</guid><pubDate>Fri, 07 Aug 2020 14:00:14 +0000</pubDate><description>&lt;p&gt;Topics include Azure VMs, PSReadline, Terraform and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Azure VMs, PSReadline, Terraform and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="terraform---uploading-a-local-powershell-module-to-an-azure-automation-account" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200807-functiondraft.md#terraform---uploading-a-local-powershell-module-to-an-azure-automation-account"/><a href="http://feedproxy.google.com/~r/Lazywinadmin/~3/m6v1hvsEk00/terraform_azure-automationacc_psmoduleupload.html"><em>Terraform - Uploading a local PowerShell module to an Azure Automation account</em></a><a class="ps-heading-anchor" href="#terraform---uploading-a-local-powershell-module-to-an-azure-automation-account" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by François-Xavier Cat on 2nd August<br>
I had a scenario where some of my runbooks were using a custom PowerShell module that was not publicly available. This short article document my approach.</p><h6 id="monitoring-with-powershell-monitoring-b-series-vm-credits" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200807-functiondraft.md#monitoring-with-powershell-monitoring-b-series-vm-credits"/><a href="https://www.cyberdrain.com/monitoring-with-powershell-monitoring-b-series-vm-credits/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=monitoring-with-powershell-monitoring-b-series-vm-credits"><em>Monitoring with PowerShell: Monitoring B-Series VM credits</em></a><a class="ps-heading-anchor" href="#monitoring-with-powershell-monitoring-b-series-vm-credits" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Kelvin Tegelaar on 3rd August<br>
A lot of MSPs use the B-Series VMs for tasks, and why wouldn’t you? This script helps you monitor those VMs for remaining credits.</p><h6 id="powershell-201-2-vms-internal-load-balancer" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200807-functiondraft.md#powershell-201-2-vms-internal-load-balancer"/><a href="https://kpatnayakuni.com/projects/arm-templates-to-powershell-scripts/ps-201-2-vms-internal-load-balancer/"><em>PowerShell: 201-2-vms-internal-load-balancer</em></a><a class="ps-heading-anchor" href="#powershell-201-2-vms-internal-load-balancer" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Kiran Patnayakuni on 4th August<br>
This is a conversion of ARM template 201-2-vms-internal-load-balancer  from the repository azure\azure-quickstart-templates  to PowerShell Script</p><h6 id="enhancing-interaction-with-quotes-and-brackets-by-using-psreadline" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200807-functiondraft.md#enhancing-interaction-with-quotes-and-brackets-by-using-psreadline"/><a href="https://sergeyvasin.com/2020/08/04/quotes-and-brackets/"><em>Enhancing interaction with quotes and brackets by using PSReadline</em></a><a class="ps-heading-anchor" href="#enhancing-interaction-with-quotes-and-brackets-by-using-psreadline" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Sergey Vasin on 4th August<br>
Using PSReadline to enhance PS Console with things like SmartInsertQuotes and PairedBraces.</p><h6 id="validating-computer-names-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200807-functiondraft.md#validating-computer-names-with-powershell"/><a href="https://itluke.online/2020/08/05/validating-computer-names-with-powershell/"><em>Validating Computer Names With Powershell</em></a><a class="ps-heading-anchor" href="#validating-computer-names-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 @LFullenwarth on 5th August<br>
Luke is explaining about the various parameter validation types in PowerShell, please take a look.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200807-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/i4hjm8/ive_created_my_first_practical_script_and_i_felt/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>u/DragonToutNu shares his success story.</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200807-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/Steve_MSFT/status/1291146520742354944?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>PowerShell team is making some improvements to DSC support in #PowerShell 7.1.</p><h6 id="youtube-powershell-live-training---apis-and-web-requests" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200807-functiondraft.md#youtube-powershell-live-training---apis-and-web-requests"/><a href="https://www.youtube.com/watch?v=GZ2nIErqAvY"><em>Youtube: PowerShell Live Training - APIs and Web Requests</em></a><a class="ps-heading-anchor" href="#youtube-powershell-live-training---apis-and-web-requests" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Follow along in this live training video to learn about using APIs in PowerShell.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 31-July-2020</title><link>https://powershell.org/articles/2020-07-31-icymi-powershell-week-of-31-july-2020/</link><guid>https://powershell.org/articles/2020-07-31-icymi-powershell-week-of-31-july-2020/</guid><pubDate>Fri, 31 Jul 2020 14:00:02 +0000</pubDate><description>&lt;p&gt;Topics include Windows Sandbox, Pausing scripts, PowerCLI, SendGrid and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Windows Sandbox, Pausing scripts, PowerCLI, SendGrid and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="pssendgrid-send-email-from-powershell-with-sendgrid" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200731-functiondraft.md#pssendgrid-send-email-from-powershell-with-sendgrid"/><a href="https://4bes.nl/2020/07/26/pssendgrid-send-email-from-powershell-with-sendgrid/"><em>PSSendgrid: Send email from PowerShell with Sendgrid</em></a><a class="ps-heading-anchor" href="#pssendgrid-send-email-from-powershell-with-sendgrid" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @Ba4bes on 26th July<br>
In this post, Barbara will show you how to send email from PowerShell with SendGrid.</p><h6 id="doing-more-with-windows-sandbox" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200731-functiondraft.md#doing-more-with-windows-sandbox"/><a href="https://jdhitsolutions.com/blog/powershell/7621/doing-more-with-windows-sandbox/"><em>Doing More with Windows Sandbox</em></a><a class="ps-heading-anchor" href="#doing-more-with-windows-sandbox" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @JeffHicks on 29th July<br>
Jeff is showing us on how to enable and play around with the Windows Sandbox using PowerShell.</p><h6 id="documenting-with-powershell-documenting-azure-vms-and-lighthouse-setup" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200731-functiondraft.md#documenting-with-powershell-documenting-azure-vms-and-lighthouse-setup"/><a href="https://www.cyberdrain.com/documenting-with-powershell-documenting-azure-vms-and-lighthouse-setup/"><em>Documenting with PowerShell: Documenting Azure VMs (And lighthouse setup)</em></a><a class="ps-heading-anchor" href="#documenting-with-powershell-documenting-azure-vms-and-lighthouse-setup" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @KelvinTegelaar on 29th July<br>
Kelvin shows how to setup Azure Lighthouse and manage via PowerShell, and demonstrate how to document the VMs.</p><h6 id="how-to-pause-a-powershell-script" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200731-functiondraft.md#how-to-pause-a-powershell-script"/><a href="https://adamtheautomator.com/how-to-pause-a-powershell-script/"><em>How to Pause a PowerShell Script</em></a><a class="ps-heading-anchor" href="#how-to-pause-a-powershell-script" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @alistek on 30th July<br>
In this article, Adam is going to break down the ability to pause into either native and non-native commands in PowerShell.</p><h6 id="managing-vcd-vm-disks-from-powercli--powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200731-functiondraft.md#managing-vcd-vm-disks-from-powercli--powershell"/><a href="https://kiwicloud.ninja/?p=1221"><em>Managing VCD VM Disks from PowerCLI / PowerShell.</em></a><a class="ps-heading-anchor" href="#managing-vcd-vm-disks-from-powercli--powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @jondwaite on 30th July<br>
A way to manage the internal hard disks attached to some of their virtual machines from code.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200731-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/hytigy/retro_synthwave_theme_for_powershell_in_windows/?utm_source=share&amp;utm_medium=web2x"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>u/thebeersgoodnbelgium made a synthwave-y type theme for PowerShell for Windows Terminal, please take a look.</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200731-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/Steve_MSFT/status/1288182455325716480?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>Checkout the new blog post from @sydneysmithreal on the latest PSScriptAnalyzer 1.19.1 release!</p><h6 id="youtube-how-to-use-net-interactive-jupyter-notebooks-in-daily-work-life--data-exposed-mvp-edition" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200731-functiondraft.md#youtube-how-to-use-net-interactive-jupyter-notebooks-in-daily-work-life--data-exposed-mvp-edition"/><a href="https://youtu.be/W-F0gO7dVOE"><em>Youtube: How to Use .NET Interactive Jupyter Notebooks in Daily Work-Life | Data Exposed: MVP Edition</em></a><a class="ps-heading-anchor" href="#youtube-how-to-use-net-interactive-jupyter-notebooks-in-daily-work-life--data-exposed-mvp-edition" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>In this episode, MVP Rob Sewell will introduce Jupyter Notebooks and show you how useful they could be for you in your daily work-life for Incident Resolution, Repeatable Tasks, and Demoing New Features.</p>]]></content:encoded></item><item><title>Creating a PowerShell Module to Improve Your Code</title><link>https://powershell.org/articles/2020-07-27-creating-a-powershell-module-to-improve-your-code/</link><guid>https://powershell.org/articles/2020-07-27-creating-a-powershell-module-to-improve-your-code/</guid><pubDate>Mon, 27 Jul 2020 18:24:52 +0000</pubDate><description>&lt;p&gt;Do you have PowerShell code that you reuse in your scripts over and over? Do you have server names hard coded in variables? Are you using a text file or CSV file to import server names? Do you find yourself only utilizing one server out of a cluster of servers to make your PowerShell commands? These are the questions I asked myself and the answer used to be YES. In this post, I will go over how you can store your infrastructure server information in a SQL database and call that data from a custom PowerShell module. By utilizing this method, you can expect the below benefits:&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Do you have PowerShell code that you reuse in your scripts over and over? Do you have server names hard coded in variables? Are you using a text file or CSV file to import server names? Do you find yourself only utilizing one server out of a cluster of servers to make your PowerShell commands? These are the questions I asked myself and the answer used to be YES. In this post, I will go over how you can store your infrastructure server information in a SQL database and call that data from a custom PowerShell module. By utilizing this method, you can expect the below benefits:</p><ul><li><p>Centralized code means less places to modify if you want to make a change</p></li><li><p>Randomized server selection to prevent over usage of one server</p></li><li><p>Centralized location to store server information</p></li><li><p>Easily add or remove server infrastructure as your environment changes</p></li><li><p>Flexibility to pull server data from multiple sites and locations</p></li><li><p>Standardized scripts make for easier readability and debugging</p></li></ul><p>Feel free to check it out for yourself at my site:<a href="https://spiderzebra.com/2020/07/27/creating-a-powershell-module-to-improve-your-code/">SpiderZebra.com</a><strong>Nick Richardson (@ChiefNSR)</strong></p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 24-July-2020</title><link>https://powershell.org/articles/2020-07-24-icymi-powershell-week-of-24-july-2020/</link><guid>https://powershell.org/articles/2020-07-24-icymi-powershell-week-of-24-july-2020/</guid><pubDate>Fri, 24 Jul 2020 14:00:15 +0000</pubDate><description>&lt;p&gt;Topics include SSH Remoting without SSH, VS Code, SQL Server and more.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include SSH Remoting without SSH, VS Code, SQL Server and more.</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="adding-custom-types-to-powershell-objects" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200724-functiondraft.md#adding-custom-types-to-powershell-objects"/><a href="https://sergeyvasin.com/2020/07/21/adding-types-to-objects/"><em>Adding custom types to PowerShell objects</em></a><a class="ps-heading-anchor" href="#adding-custom-types-to-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 Sergey Vasin on 21st July<br>
Objects that result from PowerShell commands execution belong to some data type, but this doesn’t prevent us from adding a custom type.</p><h6 id="discovering-provider-specific-commands" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200724-functiondraft.md#discovering-provider-specific-commands"/><a href="https://jdhitsolutions.com/blog/powershell/7604/discovering-provider-specific-commands/"><em>Discovering Provider Specific Commands</em></a><a class="ps-heading-anchor" href="#discovering-provider-specific-commands" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @JeffHicks on 22nd July<br>
With the loss of provider aware help Jeff offers some suggestions to know what commands are available to with specific providers.</p><h6 id="using-secret-management-module-to-run-ssms-vs-code-and-azure-data-studio-as-another-user" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200724-functiondraft.md#using-secret-management-module-to-run-ssms-vs-code-and-azure-data-studio-as-another-user"/><a href="https://sqldbawithabeard.com/2020/07/20/using-secret-management-module-to-run-ssms-vs-code-and-azure-data-studio-as-another-user/"><em>Using Secret Management module to run SSMS, VS Code and Azure Data Studio as another user.</em></a><a class="ps-heading-anchor" href="#using-secret-management-module-to-run-ssms-vs-code-and-azure-data-studio-as-another-user" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @sqldbawithbeard on 22nd July<br>
Discusses using the Secret Management Module to run applications as other users, specifically an admin account.</p><h6 id="finding--downloading-required-sql-server-updates" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200724-functiondraft.md#finding--downloading-required-sql-server-updates"/><a href="https://flxsql.com/downloading-latest-sql-server-updates/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=downloading-latest-sql-server-updates"><em>Finding &amp; Downloading Required SQL Server Updates</em></a><a class="ps-heading-anchor" href="#finding--downloading-required-sql-server-updates" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Andy Levy on 22nd July<br>
An interesting look at downloading SQL updates via PowerShell</p><h6 id="powershell-remoting-over-ssh-without-ssh" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200724-functiondraft.md#powershell-remoting-over-ssh-without-ssh"/><a href="https://blog.devolutions.net/2020/07/powershell-remoting-over-ssh-without-ssh"><em>PowerShell Remoting Over SSH, Without SSH!</em></a><a class="ps-heading-anchor" href="#powershell-remoting-over-ssh-without-ssh" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @awakecoding on 22nd July<br>
Marc-Andre shows how to use socat instead of ssh to do PowerShell remoting in PowerShell core.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200724-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/hulpid/free_virtual_powershell_conference_with_keynote/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Chicago PowerShell user Group is doing a virtual conference with keynote speaker Jeffrey Snover.</p><h6 id="youtube-weaning-yourself-away-from-gui-based-ad-administration-with-mike-kanakos" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200724-functiondraft.md#youtube-weaning-yourself-away-from-gui-based-ad-administration-with-mike-kanakos"/><a href="https://youtu.be/H5BPr_b26vA"><em>Youtube: Weaning Yourself Away From GUI-Based AD Administration with Mike Kanakos</em></a><a class="ps-heading-anchor" href="#youtube-weaning-yourself-away-from-gui-based-ad-administration-with-mike-kanakos" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>On the Hybrid Identity Podcast Mike discusses IT pros who have not yet made the jump to the cmd line, scripting and automation.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 17-July-2020</title><link>https://powershell.org/articles/2020-07-17-icymi-powershell-week-of-17-july-2020/</link><guid>https://powershell.org/articles/2020-07-17-icymi-powershell-week-of-17-july-2020/</guid><pubDate>Fri, 17 Jul 2020 16:00:13 +0000</pubDate><description>&lt;p&gt;Topics include OneDrive client, HTML reports, Beautiful code and more&amp;hellip;&lt;br&gt;
Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux&lt;/p&gt;
&lt;h6 id="automate-azure-update-management-scheduling-with-powershell" class="ps-heading"&gt;&lt;a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200717-functiondraft.md#automate-azure-update-management-scheduling-with-powershell"&gt;&lt;/a&gt;&lt;a href="https://4bes.nl/2020/07/12/automate-azure-update-management-scheduling-with-powershell/"&gt;&lt;em&gt;Automate Azure update management scheduling with PowerShell&lt;/em&gt;&lt;/a&gt;&lt;a class="ps-heading-anchor" href="#automate-azure-update-management-scheduling-with-powershell" 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;/h6&gt;
&lt;p&gt;by Barbara Forbes on 12th July&lt;br&gt;
Barbara is explaining about how to automate Azure update management and scheduling updates using PowerShell&lt;/p&gt;
&lt;h6 id="active-directory-dhcp-report-to-html-or-email-with-zero-html-knowledge" class="ps-heading"&gt;&lt;a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200717-functiondraft.md#active-directory-dhcp-report-to-html-or-email-with-zero-html-knowledge"&gt;&lt;/a&gt;&lt;a href="https://evotec.xyz/active-directory-dhcp-report-to-html-or-email-with-zero-html-knowledge/"&gt;&lt;em&gt;Active Directory DHCP Report to HTML or EMAIL with zero HTML knowledge&lt;/em&gt;&lt;/a&gt;&lt;a class="ps-heading-anchor" href="#active-directory-dhcp-report-to-html-or-email-with-zero-html-knowledge" 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;/h6&gt;
&lt;p&gt;by Przemyslaw Klys on 12th July&lt;br&gt;
Przemyslaw is using PSWriteHTML module and and demonstrating how to generate html reports seamlessly.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include OneDrive client, HTML reports, Beautiful code and more&hellip;<br>
Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="automate-azure-update-management-scheduling-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200717-functiondraft.md#automate-azure-update-management-scheduling-with-powershell"/><a href="https://4bes.nl/2020/07/12/automate-azure-update-management-scheduling-with-powershell/"><em>Automate Azure update management scheduling with PowerShell</em></a><a class="ps-heading-anchor" href="#automate-azure-update-management-scheduling-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 Barbara Forbes on 12th July<br>
Barbara is explaining about how to automate Azure update management and scheduling updates using PowerShell</p><h6 id="active-directory-dhcp-report-to-html-or-email-with-zero-html-knowledge" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200717-functiondraft.md#active-directory-dhcp-report-to-html-or-email-with-zero-html-knowledge"/><a href="https://evotec.xyz/active-directory-dhcp-report-to-html-or-email-with-zero-html-knowledge/"><em>Active Directory DHCP Report to HTML or EMAIL with zero HTML knowledge</em></a><a class="ps-heading-anchor" href="#active-directory-dhcp-report-to-html-or-email-with-zero-html-knowledge" 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 12th July<br>
Przemyslaw is using PSWriteHTML module and and demonstrating how to generate html reports seamlessly.</p><h6 id="monitoring-with-powershell-monitoring-the-onedrive-client-limitations" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200717-functiondraft.md#monitoring-with-powershell-monitoring-the-onedrive-client-limitations"/><a href="https://www.cyberdrain.com/monitoring-with-powershell-monitoring-the-onedrive-client-limitations/"><em>Monitoring with PowerShell: Monitoring the Onedrive client limitations</em></a><a class="ps-heading-anchor" href="#monitoring-with-powershell-monitoring-the-onedrive-client-limitations" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Kelvin Tegelaar on 13th July<br>
Kelvin shared a script to monitor the Onedrive sysc status and client limitations.</p><h6 id="elevate-your-documentation-with-powershell-jupyter-notebook" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200717-functiondraft.md#elevate-your-documentation-with-powershell-jupyter-notebook"/><a href="https://blog.darrenjrobinson.com/elevate-your-documentation-with-powershell-jupyter-notebook/"><em>Elevate your documentation with PowerShell Jupyter Notebook</em></a><a class="ps-heading-anchor" href="#elevate-your-documentation-with-powershell-jupyter-notebook" 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 16th July<br>
Some more information on using PowerShell Jupyter Notebooks</p><h6 id="want-to-write-beautiful-powershell-code-here" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200717-functiondraft.md#want-to-write-beautiful-powershell-code-heres-how"/><a href="https://adamtheautomator.com/beautiful-powershell-code/"><em>Want to Write Beautiful PowerShell Code? Here&rsquo;s How.</em></a><a class="ps-heading-anchor" href="#want-to-write-beautiful-powershell-code-here" 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 16th July<br>
Adam explains the best pratices in writing the beautiful PowerShell Code</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200717-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/hqwftf/automatically_set_desktop_wallpaper_to_the/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>u/Otacrow shared a script to set the desktop wallpaper from the current spotlight image</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200717-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/Steve_MSFT/status/1283830975131078656?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>PowerShell 7.0.3 and 6.2.7 are out!</p><h6 id="youtube-change-your-world-the-way-you-want-a-simple-contribution-to-powershell-7" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200717-functiondraft.md#youtube-change-your-world-the-way-you-want-a-simple-contribution-to-powershell-7"/><a href="https://www.youtube.com/watch?v=BDEAA_oF3ss"><em>Youtube: Change your world the way you want: A simple contribution to PowerShell 7</em></a><a class="ps-heading-anchor" href="#youtube-change-your-world-the-way-you-want-a-simple-contribution-to-powershell-7" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Prasoon Karunan took a session on how to contribute to PowerShell, that includes finding the issues, identifying the code changes, fixing, testing and raising a pull request.</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 10-July-2020</title><link>https://powershell.org/articles/2020-07-10-icymi-powershell-week-of-10-july-2020/</link><guid>https://powershell.org/articles/2020-07-10-icymi-powershell-week-of-10-july-2020/</guid><pubDate>Fri, 10 Jul 2020 16:08:28 +0000</pubDate><description>&lt;p&gt;Topics include Hyper-V, Windows Terminal, VMWare and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Hyper-V, Windows Terminal, VMWare and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="powershell-to-c--back-hello-world-explained" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200710-functiondraft.md#powershell-to-c--back-hello-world-explained"/><a href="https://ridicurious.com/2020/07/07/powershell-to-csharp-and-back-hello-world-explained/"><em>PowerShell to C# &amp; back: Hello World Explained</em></a><a class="ps-heading-anchor" href="#powershell-to-c--back-hello-world-explained" 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 6th July<br>
Creating a Hello World app in c# using dotnet cli.</p><h6 id="cloud-director-service---part-1--vmwarecdscommunity-powershell-module" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200710-functiondraft.md#cloud-director-service---part-1--vmwarecdscommunity-powershell-module"/><a href="https://pigeonnuggets.com/blog/Cloud-Director-service-VMware.CDS.Community-PowerShell-module/"><em>Cloud Director service - Part 1 : VMware.CDS.Community PowerShell module</em></a><a class="ps-heading-anchor" href="#cloud-director-service---part-1--vmwarecdscommunity-powershell-module" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Adrian Begg on 7th July<br>
PowerShell module to facilitate code based deployments of VMware Cloud Director instances using VMWare’s recently announced Cloud Director service.</p><h6 id="windows-terminal-the-ultimate-guide" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200710-functiondraft.md#windows-terminal-the-ultimate-guide"/><a href="https://adamtheautomator.com/new-windows-terminal/"><em>Windows Terminal: The Ultimate Guide</em></a><a class="ps-heading-anchor" href="#windows-terminal-the-ultimate-guide" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @devbyaccident on 7th July<br>
In this ultimate guide, you&rsquo;re going to get a full rundown of nearly all features of Windows Terminal and learn how it can help you get things on Windows at the command line.</p><h6 id="how-to-manage-hyper-v-vm-checkpoints-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200710-functiondraft.md#how-to-manage-hyper-v-vm-checkpoints-with-powershell"/><a href="https://www.thomasmaurer.ch/2020/07/how-to-manage-hyper-v-vm-checkpoints-with-powershell/"><em>How To Manage Hyper-V VM Checkpoints With Powershell</em></a><a class="ps-heading-anchor" href="#how-to-manage-hyper-v-vm-checkpoints-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 @ThomasMaurer on 7th July<br>
In this blog post Thomas explains how to create, manage, apply, and remove VM Checkpoints in Hyper-V using PowerShell.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200710-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/hma63m/findcmdlet_a_search_engine_for_powershell_cmdlets/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>u/mrmonday announces an alpha version of a search engine for PowerShell cmdlets</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200710-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/Steve_MSFT/status/1280262725625511936?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>PowerShell 7.1-Preview.5 is out!</p><h6 id="youtube-pspowerhour-epsiode-3---powershell-71-the-modernnext-gen-shell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200710-functiondraft.md#youtube-pspowerhour-epsiode-3---powershell-71-the-modernnext-gen-shell"/><a href="https://www.youtube.com/watch?v=YDEbQlxumzg"><em>Youtube: PSPowerHour Epsiode 3 - PowerShell 7.1: The Modern/Next-Gen Shell</em></a><a class="ps-heading-anchor" href="#youtube-pspowerhour-epsiode-3---powershell-71-the-modernnext-gen-shell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>Join Steve and Jason to discuss future shell improvements, Predictive IntelliSense, Dynamic Help, Native Commands and more in this exciting look at PowerShell 7.1.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 03-July-2020</title><link>https://powershell.org/articles/2020-07-03-icymi-powershell-week-of-03-july-2020/</link><guid>https://powershell.org/articles/2020-07-03-icymi-powershell-week-of-03-july-2020/</guid><pubDate>Fri, 03 Jul 2020 14:00:34 +0000</pubDate><description>&lt;p&gt;Topics include PSRemoting, Loops, C# and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include PSRemoting, Loops, C# and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="a-book-powershell-to-c-and-back" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200703-functiondraft.md#a-book-powershell-to-c-and-back"/><a href="https://tommymaynard.com/a-book-powershell-to-c-sharp-and-back/"><em>A Book: PowerShell to C# and Back</em></a><a class="ps-heading-anchor" href="#a-book-powershell-to-c-and-back" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Tommy Maynard on 29th June<br>
Announcement of New book.</p><h6 id="powershell-classes---validating-arm-parameters" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200703-functiondraft.md#powershell-classes---validating-arm-parameters"/><a href="https://dexterposh.github.io/posts/007-pwsh-class-usecase/"><em>PowerShell Classes - Validating ARM Parameters</em></a><a class="ps-heading-anchor" href="#powershell-classes---validating-arm-parameters" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Deepak Dhami(DexterPosh) on 29th June<br>
A PowerShell class to model the ARM parameters file and use that to validate the ARM template parameter inputs.</p><h6 id="modern-auth-and-unattended-scripts-in-exchange-online-powershell-v2" class="ps-heading"><a href="https://techcommunity.microsoft.com/t5/exchange-team-blog/modern-auth-and-unattended-scripts-in-exchange-online-powershell/ba-p/1497387"><em>Modern Auth and Unattended Scripts in Exchange Online PowerShell V2</em></a><a class="ps-heading-anchor" href="#modern-auth-and-unattended-scripts-in-exchange-online-powershell-v2" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by The Exchange Team on 30th June<br>
Preview of the new ability within Exchange Online PowerShell for unattended Modern Auth!</p><h6 id="magic-of-myinvocation-in-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200703-functiondraft.md#magic-of-myinvocation-in-powershell"/><a href="https://kpatnayakuni.com/2020/07/01/powershell-magic-of-myinvocation/"><em>Magic of $MyInvocation in PowerShell</em></a><a class="ps-heading-anchor" href="#magic-of-myinvocation-in-powershell" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @kpatnayakuni on 1st July<br>
Convert a key parameter value into a true PowerShell command with the help of automatic variable </p><p><code>$MyInvocation</code>.</p><h6 id="setup-ftp-server-with-powershell" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200703-functiondraft.md#setup-ftp-server-with-powershell"/><a href="https://ridicurious.com/2020/07/02/setup-ftp-server-with-powershell"><em>Setup FTP Server with PowerShell</em></a><a class="ps-heading-anchor" href="#setup-ftp-server-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 Madhav Bhandari on 2nd July<br>
Step by step installation and configuration of the FTP server using PowerShell and IIS from installing the required Windows features, setting up sites, ports, and root folder to creating FTP users and authenticating them on FTP site to allow access to the FTP servers.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200703-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/hhvf1l/free_online_wpf_designer_for_powershell_released/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>u/nepronen announces an alpha version of a useful too to help create GUIs in PowerShell</p><h6 id="tweet-of-the-week" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200703-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/PowerShellMich1/status/1278971370265694208"><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>Let&rsquo;s have a discussion about PS Remoting</p><h6 id="youtube-powershell-tutorial---chapter-7---loops" class="ps-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200703-functiondraft.md#youtube-powershell-tutorial---chapter-7---loops"/><a href="https://www.youtube.com/watch?v=_WIZPgPB8Wk"><em>Youtube: PowerShell Tutorial - Chapter 7 - Loops</em></a><a class="ps-heading-anchor" href="#youtube-powershell-tutorial---chapter-7---loops" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>A 25 minute overview of the various types of loops within PowerShell</p>]]></content:encoded></item><item><title>Manage Citrix Tags with PowerShell</title><link>https://powershell.org/articles/2020-06-30-manage-citrix-tags-with-powershell/</link><guid>https://powershell.org/articles/2020-06-30-manage-citrix-tags-with-powershell/</guid><pubDate>Tue, 30 Jun 2020 15:58:07 +0000</pubDate><description>&lt;p&gt;Managing Citrix tags can be a long painful process if done the traditional way through Citrix Studio, that is what drove me to PowerShell for this task.  Citrix Studio is a great tool, but it can be very time consuming especially if you have to do bulk tag actions. Citrix tags can be used in several methods, but I have focused on desktop tagging. This post will cover the following scenarios:&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Managing Citrix tags can be a long painful process if done the traditional way through Citrix Studio, that is what drove me to PowerShell for this task.  Citrix Studio is a great tool, but it can be very time consuming especially if you have to do bulk tag actions. Citrix tags can be used in several methods, but I have focused on desktop tagging. This post will cover the following scenarios:</p><ul><li>List all current Citrix tags</li><li>List the members of a specific Citrix tag</li><li>Creation of a new Citrix tag</li><li>Removing a Citrix tag from a list of desktop names</li><li>Adding a Citrix tag from a list of desktop names</li><li>Deleting a Citrix tag while removing it from all members</li></ul><p>Give it a look:<a href="https://spiderzebra.com/2020/06/29/manage-citrix-tags-with-powershell/">SpiderZebra.com</a></p><p><strong>Nick Richardson (@ChiefNSR)</strong></p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 26-June-2020</title><link>https://powershell.org/articles/2020-06-26-icymi-powershell-week-of-26-june-2020/</link><guid>https://powershell.org/articles/2020-06-26-icymi-powershell-week-of-26-june-2020/</guid><pubDate>Fri, 26 Jun 2020 14:00:00 +0000</pubDate><description>&lt;p&gt;Topics include Native PowerShell Commands, Splatting Program Parameters, Windows Terminal and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Native PowerShell Commands, Splatting Program Parameters, Windows Terminal and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://evotec.xyz/getting-file-metadata-with-powershell-similar-to-what-windows-explorer-provides/"><em>Getting file metadata with PowerShell similar to what Windows Explorer provides</em></a></p><p>by Przemyslaw Klys on 20th June</p><p>When you use Get-Item in PowerShell you get a ton of properties, but it is not all the properties. You can find out more about your Files with this blog post.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://toastit.dev/2020/06/21/azure-key-vault-2/"><em>Fun with Azure Key Vault Part 2: Integration with Azure Functions</em></a></p><p>by Josh King on 21st June</p><p>The second part of Josh King&rsquo;s dive into Azure Key Vaults showing how to store and use values in azure functions.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/hmailserver-getting-started/"><em>How to Send Emails Using Amazon Simple Email Service (SES): Installation and Configuration</em></a></p><p>by @junecastillote on 23rd June</p><p>Learn how to set up SES and send emails with PowerShell.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://devblogs.microsoft.com/powershell/native-commands-in-powershell-a-new-approach"><em>Native Commands in PowerShell – A New Approach</em></a></p><p>by James W Truher on 23rd June</p><p>In this two part blog post James is going to investigate how PowerShell can take better advantage of native executables.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://jdhitsolutions.com/blog/powershell/7565/formatting-powershell-timespans/"><em>Formatting PowerShell TimeSpans</em></a></p><p>by Jeffery Hicks on 24th June</p><p>Jeff Hicks wrote his notes on </p><p><code>Formating the TimeSpans</code>using PowerShell, just take a look.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/hbz17e/til_you_can_splat_program_parameters_too/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>u/purplemonkeymad shares otherways to splat arguments other than just sending them to cmdlets.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/PowerShellMich1/status/1276427895305416704"><em>Tweet of the Week</em></a></p><p>Take part in a poll about where you run your production scripts!</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://youtu.be/Wfvi1Yac1fw"><em>Youtube: Windows Terminal Deep Dive with Justin Grote</em></a></p><p>If you missed RTPSUG&rsquo;s virtual meetup last week you can watch the recording. Justin Grote does a deep dive on Windows Terminal.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 19-June-2020</title><link>https://powershell.org/articles/2020-06-19-icymi-powershell-week-of-19-june-2020/</link><guid>https://powershell.org/articles/2020-06-19-icymi-powershell-week-of-19-june-2020/</guid><pubDate>Fri, 19 Jun 2020 14:00:53 +0000</pubDate><description>&lt;p&gt;Topics include PSReadLine, Active Directory Monitoring, PowerShell Inventory and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include PSReadLine, Active Directory Monitoring, PowerShell Inventory and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/monitoring-with-powershell-monitoring-active-directory-health/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=monitoring-with-powershell-monitoring-active-directory-health"><em>Monitoring with PowerShell: Monitoring Active Directory Health</em></a></p><p>by Kelvin Tegelaar on 15th June</p><p>A Script for monitoring the entire general health of a domain controller</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://sergeyvasin.com/2020/06/16/powershell-history/"><em>PowerShell command history</em></a></p><p>by СЕРГЕЙ ВАСИН on 16th June</p><p>Exploring your PS History with PSReadLine</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://jdhitsolutions.com/blog/powershell/7549/building-a-powershell-inventory/"><em>Building a PowerShell Inventory</em></a></p><p>by Jeff Hicks on 16th June</p><p>PowerShell code that we could use to inventory our PowerShell script library.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://devblogs.microsoft.com/powershell/resolving-powershell-module-assembly-dependency-conflicts"><em>Resolving PowerShell Module Assembly Dependency Conflicts</em></a></p><p>by Robert Holt on 17th June</p><p>When writing a PowerShell module, especially a binary module (i.e. one written in a language like C# and loaded into PowerShell as an assembly/DLL), it’s natural to take dependencies on other packages or libraries to provide functionality.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/h7jk81/how_to_scan_ip_addresses_range_and_get_important/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>Part 4 of a blog post sharing a script to scan IP Address and provide details.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/cinnamon_msft/status/1273662560202416128?s=20"><em>Tweet of the Week</em></a></p><p>The first update to Windows Terminal Preview is out now!</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=-NVh5cVOeO4"><em>Youtube: Intro to REST API calls with Powershell</em></a></p><p>CodeDoge&rsquo;s video to help you get started with APIs using PowerShell.</p>]]></content:encoded></item><item><title>Simple PowerShell GUI</title><link>https://powershell.org/articles/2020-06-17-simple-powershell-gui/</link><guid>https://powershell.org/articles/2020-06-17-simple-powershell-gui/</guid><pubDate>Wed, 17 Jun 2020 21:57:31 +0000</pubDate><description>&lt;p&gt;Over the years, I have supported and created multiple types of GUIs.  I finally decided a few years ago to create a very simple menu driven PowerShell GUI.  I wanted something that was very powerful yet very simple to maintain.  I really enjoy automating manual administrative tasks, so that is what drove this project in the first place.  Before I created the menu driven PowerShell GUI, I had directories and directories of very specific scripts to do specific tasks.  I decided to standardize and consolidate all of those scripts into one menu driven PowerShell GUI.  By doing this, I took the guess work out of determining which PowerShell script to run for a given task.  This has greatly helped my colleagues know exactly what to run and how.&lt;br&gt;
Feel free to check it out for yourself at my site:
&lt;a href="https://spiderzebra.com/2020/05/21/how-to-create-a-simple-powershell-gui/"&gt;SpiderZebra.com&lt;/a&gt;
.  While you&amp;rsquo;re there, you can take a look at a few of my other related posts:&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Over the years, I have supported and created multiple types of GUIs.  I finally decided a few years ago to create a very simple menu driven PowerShell GUI.  I wanted something that was very powerful yet very simple to maintain.  I really enjoy automating manual administrative tasks, so that is what drove this project in the first place.  Before I created the menu driven PowerShell GUI, I had directories and directories of very specific scripts to do specific tasks.  I decided to standardize and consolidate all of those scripts into one menu driven PowerShell GUI.  By doing this, I took the guess work out of determining which PowerShell script to run for a given task.  This has greatly helped my colleagues know exactly what to run and how.<br>
Feel free to check it out for yourself at my site:<a href="https://spiderzebra.com/2020/05/21/how-to-create-a-simple-powershell-gui/">SpiderZebra.com</a>
.  While you&rsquo;re there, you can take a look at a few of my other related posts:</p><ul><li/></ul><p><a href="https://spiderzebra.com/2020/06/17/create-a-text-box-to-accept-user-input-for-powershell-gui/">Create a Text Box to Accept User Input for PowerShell GUI</a></p><ul><li><a href="https://spiderzebra.com/2020/05/26/utilizing-powershell-out-gridview-as-a-gui-alternative/">Utilizing PowerShell Out-GridView as a GUI Alternative</a></li></ul><p><strong>Nick Richardson (@ChiefNSR)</strong></p>
]]></content:encoded></item><item><title>A New Home for Plaster</title><link>https://powershell.org/articles/2020-06-16-a-new-home-for-plaster/</link><guid>https://powershell.org/articles/2020-06-16-a-new-home-for-plaster/</guid><pubDate>Tue, 16 Jun 2020 21:17:21 +0000</pubDate><description>&lt;p&gt;&lt;img src="https://powershell.org/wp-content/uploads/2020/06/scaffold-thumb.jpg" alt=""&gt;Some of you may be familiar with the Plaster PowerShell module. This slick tool lets you build out a new module in seconds. Actually, Plaster can be used to scaffold a framework for any type of project. You can install the &lt;a href="https://www.powershellgallery.com/packages/Plaster/1.1.3"&gt;current version from the PowerShell Gallery.&lt;/a&gt; However, the project has been in limbo for a while with no updates or progress. After discussions with the PowerShell Team about the module, a decision was made to transfer ownership to the PowerShell community. We&amp;rsquo;re happy to report that the Plaster repository is now under the auspices of PowerShell.org. The GitHub repo, including pull requests and issues, can now be found at &lt;a href="https://github.com/PowerShellOrg/Plaster"&gt;https://github.com/PowerShellOrg/Plaster&lt;/a&gt;.&lt;br&gt;
It will take some time to get re-organized and work through the backlog of issues and pull requests. Although it is possible that we&amp;rsquo;ll simply zero out things like pull requests and start with a fresh slate. The basic functionality of the module should work just fine in its current state. Enough members of the PowerShell community recognize the value in the Plaster module which is why this transfer was made.&lt;br&gt;
And frankly, this is one of PowerShell.org&amp;rsquo;s primary purposes: to serve the community. In this case, Microsoft had a languishing asset that needed more attention than what they could provide. Which is exactly where PowerShell.org fits in. We can step in providing the resources and in the end contribute back to the community. A big thank you to Steve Lee at Microsoft for making this possible.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p><img src="https://powershell.org/wp-content/uploads/2020/06/scaffold-thumb.jpg" alt="">Some of you may be familiar with the Plaster PowerShell module. This slick tool lets you build out a new module in seconds. Actually, Plaster can be used to scaffold a framework for any type of project. You can install the<a href="https://www.powershellgallery.com/packages/Plaster/1.1.3">current version from the PowerShell Gallery.</a> However, the project has been in limbo for a while with no updates or progress. After discussions with the PowerShell Team about the module, a decision was made to transfer ownership to the PowerShell community. We&rsquo;re happy to report that the Plaster repository is now under the auspices of PowerShell.org. The GitHub repo, including pull requests and issues, can now be found at<a href="https://github.com/PowerShellOrg/Plaster">https://github.com/PowerShellOrg/Plaster</a>.<br>
It will take some time to get re-organized and work through the backlog of issues and pull requests. Although it is possible that we&rsquo;ll simply zero out things like pull requests and start with a fresh slate. The basic functionality of the module should work just fine in its current state. Enough members of the PowerShell community recognize the value in the Plaster module which is why this transfer was made.<br>
And frankly, this is one of PowerShell.org&rsquo;s primary purposes: to serve the community. In this case, Microsoft had a languishing asset that needed more attention than what they could provide. Which is exactly where PowerShell.org fits in. We can step in providing the resources and in the end contribute back to the community. A big thank you to Steve Lee at Microsoft for making this possible.</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 12-June-2020</title><link>https://powershell.org/articles/2020-06-12-icymi-powershell-week-of-12-june-2020/</link><guid>https://powershell.org/articles/2020-06-12-icymi-powershell-week-of-12-june-2020/</guid><pubDate>Fri, 12 Jun 2020 15:33:59 +0000</pubDate><description>&lt;p&gt;Topics include Jekyll, Documentation, Scripting Challenges and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Jekyll, Documentation, Scripting Challenges and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><p><em><strong><a href="https://medium.com/@browninfosecguy/how-to-start-in-powershell-82fc2144210c?source=social.tw">A small blog on how to start in PowerShell on this boring #FridayEvening enjoy</a></strong></em></p><p>by Sonny on 6th June</p><p>Sonny explains on why, how and where to start learning powershell.</p><p><em><strong><a href="https://www.cyberdrain.com/documenting-with-powershell-documenting-microsoft-teams/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=documenting-with-powershell-documenting-microsoft-teams">Documenting with PowerShell: Documenting Microsoft Teams</a></strong></em></p><p>by Kelvin Tegelaar on 7th June</p><p>Kelvin shares his script for documenting Teams using Graph API.</p><p><em><strong><a href="https://sergeyvasin.com/2020/06/09/foreach-object-scriptblocks/">ForEach-Object and its scriptblocks</a></strong></em></p><p>by Sergey Vasin on 9th June</p><p>Detailed description of the Foreach-Object cmdlet</p><p><em><strong><a href="https://adamtheautomator.com/github-pages-jekyll/">How to Create a Static Website Using Jekyll and Publish to GitHub Pages for Free</a></strong></em></p><p>by June Castillote on 9th June</p><p>Great tutorial on setting up a Jekyll page on github, these pages can be used to highlight your PowerShell code or start your own blog.</p><p><em><strong><a href="https://jdhitsolutions.com/blog/powershell/7537/solving-the-powershell-object-age-challenge-part-1/">Solving the PowerShell Object Age Challenge – Part 1</a></strong></em></p><p>by @JeffHicks on 9th June</p><p>Jeff describes how he worked out a solution to the Object Age Challenge on Iron Scripter.</p><p><em><strong><a href="https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/auto-learning-argument-completion">Auto-Learning Argument Completion</a></strong></em></p><p>by Tobias Weltner on 12th June</p><p>Argument completion is awesome for a user because valid arguments are always suggested. Many built-in PowerShell commands come with argument completion.</p><p><em><strong><a href="https://www.reddit.com/r/PowerShell/comments/gyfurg/iron_scripter_learn_powershell_through_code/">Reddit /r/PowerShell - Most Popular Weekly Post</a></strong></em></p><p>A thread on fun scripting challenges to help you get better at scripting.</p><p><em><strong><a href="https://twitter.com/Steve_MSFT/status/1271187749752586241?s=20">Tweet of the Week</a></strong></em></p><p>PowerShell 7.0.2 is our latest stable version and is out!</p><p><em><strong><a href="https://www.youtube.com/watch?v=hlPrRTqVjz4">Youtube: Don Jones - Shell of an Idea Exploring the Origins of PowerShell</a></strong></em></p><p>Join Don and tale a deep look in to the untold history of PowerShell, a topic he’s been exploring for his upcoming book, “Shell of an Idea: The Untold History of PowerShell”</p>]]></content:encoded></item><item><title>Iron Scripter: Learn PowerShell through code challenges</title><link>https://powershell.org/articles/2020-06-07-iron-scripter-learn-powershell-through-code-challenges/</link><guid>https://powershell.org/articles/2020-06-07-iron-scripter-learn-powershell-through-code-challenges/</guid><pubDate>Sun, 07 Jun 2020 15:00:00 +0000</pubDate><description>&lt;p&gt;Hello, friends! Today I want to talk about the Iron Scripter code challenges and the accompanying website. The challenges are excellent for practicing challenging concepts. What’s that you say? Not familiar with Iron Scripter? Let’s get you up to speed.&lt;/p&gt;
&lt;h2 id="iron-scripter-a-brief-history-lesson" class="ps-heading wp-block-heading"&gt;Iron Scripter: A brief history lesson&lt;a class="ps-heading-anchor" href="#iron-scripter-a-brief-history-lesson" 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;The &lt;a href="https://ironscripter.us/"&gt;Iron Scripter&lt;/a&gt; website is part of the PowerShell.org family and provides material for the Iron Scripter challenge that takes place at PowerShell Summit each year. For those unfamiliar with the Iron Scripter event at PowerShell summit, let me give you a brief introduction.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Hello, friends! Today I want to talk about the Iron Scripter code challenges and the accompanying website. The challenges are excellent for practicing challenging concepts. What’s that you say? Not familiar with Iron Scripter? Let’s get you up to speed.</p><h2 id="iron-scripter-a-brief-history-lesson" class="ps-heading wp-block-heading">Iron Scripter: A brief history lesson<a class="ps-heading-anchor" href="#iron-scripter-a-brief-history-lesson" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>The<a href="https://ironscripter.us/">Iron Scripter</a> website is part of the PowerShell.org family and provides material for the Iron Scripter challenge that takes place at PowerShell Summit each year. For those unfamiliar with the Iron Scripter event at PowerShell summit, let me give you a brief introduction.</p><p>The Iron Scripter challenge was a concept dreamed up by Don Jones, Jeff Hicks and Richard Siddaway. The concept was to challenge small teams of participants to work out a complex problem through teamwork in front of a live audience with a limited amount of time. Three teams (known as factions) battle to solve the same problem and each present their solution at the end of the allotted time. Each faction must be creative and divide workloads to complete the complex challenge in the scant time allotted. The factions must work as a team to make meaningful progress.</p><p>Iron Scripter is one of the most popular events at PowerShell Summit. The winning faction is crowned “champions” and hold the title for a full year until next years’ competition. Many faction members display their affiliation on their websites as a badge of honor.</p><h2 id="learning-with-iron-scripter" class="ps-heading wp-block-heading">Learning with Iron Scripter<a class="ps-heading-anchor" href="#learning-with-iron-scripter" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>The Iron Scripter website is used to explain the competition, share code hints, and give general tips to help faction members prepare for the upcoming challenge. But along the way, the Iron Scripter team began posting other challenges that anyone could do on their own. These stand-alone challenges are lesser known in the PowerShell community and are a missed opportunity for people looking to learn basic code principles or hone their skills. Taking part in these stand-alone code challenges can help you get better at writing great code.</p><p>The challenges I am referring to are scripting puzzles designed to test your knowledge. You can solve most puzzles using multiple methods, but to do so requires you to dive deep into your knowledge of scripting and code principles to figure out interesting ways to solve the challenges. The challenges are the brainchild of the legendary<a href="https://jdhitsolutions.com/blog/about-me/">Jeff Hicks</a>. Jeff has been an integral part of the Iron Scripter competition since its first beginnings. Jeff has been educating people about PowerShell and its usage for system administration for many years. He is revered for his blog posts, books and customized training seminars. His challenges on Iron Scripter are challenging but educational.</p><h2 id="challenges-for-all-skill-levels" class="ps-heading wp-block-heading">Challenges for all skill levels<a class="ps-heading-anchor" href="#challenges-for-all-skill-levels" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>If you haven’t visited yet, head over to the<a href="https://ironscripter.us/">IronScripter</a> website and locate the tags on the left-hand side of the page. You’ll notice three tags related to skill levels:<a href="https://ironscripter.us/tag/beginner/">Beginner</a>,<a href="https://ironscripter.us/tag/intermediate/">Intermediate</a> and<a href="https://ironscripter.us/tag/advanced/">Advanced</a>. Each of those tags will point you toward individual challenges sorted by skill level. Each challenge has a simple set of instructions (rules) for what you are trying to solve, and for each post, there should be comments from community members that have shared their solution to the puzzle.</p><p>If you worried that maybe you don’t know enough to take part, don’t let that stop you. The point of these puzzles is to challenge all skills levels with targeted exercises that reinforce basic coding concepts. These challenges help you get better at techniques used to write efficient code.</p><p>The brilliance in these puzzles is that they age well. You can try any of the puzzles on the website, regardless of their age, because the basic concepts that these challenges test change little with each release of PowerShell. The puzzles have variations based on skill level with each variation becoming more challenging. This allows you to go back and try the more challenging versions of the puzzles you already completed.</p><p>If you haven’t tried the challenges yet, you can dive right in with the latest puzzle and when you think you have solved it, post your solution in the comments and wait for someone to review your answer. If you’re struggling to solve a puzzle, you can peek at previous solutions for how someone else attempted to solve the puzzle.</p><p>When learning how to code, it’s important to try unique methods of learning. Books, blogs and videos are fantastic resources to learn from, but real-world problem solving scenarios can offer unique opportunities to see how code concepts work “in the wild”. The puzzles designed by Jeff are building blocks that will help you write better code for your own scripting solutions.</p><p>I’ll be featuring Jeff’s code challenges in the coming weeks and months and I hope you take part in trying to solve the challenges and share your work. Watch here for more information on upcoming Iron Scripter challenges!</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 29-May-2020</title><link>https://powershell.org/articles/2020-05-29-icymi-powershell-week-of-29-may-2020/</link><guid>https://powershell.org/articles/2020-05-29-icymi-powershell-week-of-29-may-2020/</guid><pubDate>Fri, 29 May 2020 21:35:39 +0000</pubDate><description>&lt;p&gt;Topics include Performance Counters, Out-buffer, Pester and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Performance Counters, Out-buffer, Pester and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="automating-with-powershell-creating-dynamic-distribution-groups-in-all-o365-tenants" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200529-functiondraft.md#automating-with-powershell-creating-dynamic-distribution-groups-in-all-o365-tenants"/><a href="https://www.cyberdrain.com/automating-with-powershell-creating-dynamic-distribution-groups-in-all-o365-tenants/"><em>Automating with PowerShell: Creating dynamic distribution groups in all O365 tenants</em></a><a class="ps-heading-anchor" href="#automating-with-powershell-creating-dynamic-distribution-groups-in-all-o365-tenants" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @KelvinTegelaar on 27th May</p><p>Kelvin came up with a script to create a distribution group and add users dynamically in the O365 tenants.</p><h6 id="solving-the-powershell-counting-challenge" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200529-functiondraft.md#solving-the-powershell-counting-challenge"/><a href="https://jdhitsolutions.com/blog/powershell/7494/solving-the-powershell-counting-challenge/"><em>Solving the PowerShell Counting Challenge</em></a><a class="ps-heading-anchor" href="#solving-the-powershell-counting-challenge" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @JeffHicks on 27th May</p><p>A few great challenge snippets by Jeff Hicks</p><h6 id="using-performance-counters" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200529-functiondraft.md#using-performance-counters"/><a href="https://powershell.one/tricks/performance/performance-counters"><em>Using Performance Counters</em></a><a class="ps-heading-anchor" href="#using-performance-counters" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @TobiasPSP on 28th May</p><p>Learn how to automate CPU load monitoring with performance counters.</p><h6 id="so-that" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200529-functiondraft.md#so-thats-what-outbuffer-is-for"/><a href="https://toastit.dev/2020/05/27/what-outbuffer-is-for/"><em>So That&rsquo;s What OutBuffer Is For!</em></a><a class="ps-heading-anchor" href="#so-that" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by @WindosNZ on 28th May</p><p>In this post, Josh explains about what is -OutBuffer and what is it for.</p><h6 id="reddit-rpowershell---most-popular-weekly-post" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200529-functiondraft.md#reddit-rpowershell---most-popular-weekly-post"/><a href="https://www.reddit.com/r/PowerShell/comments/gpqct8/fishlike_prompt_that_autoshrinks_your_current/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>As a long time fish shell user who recently returned to Windows, I really wanted to recreate the prompt from the fish shell, so I wrote a little script to do it! It&rsquo;s my first Powershell script, and I&rsquo;m amazed by how easy it is to script things; it&rsquo;s just like C#!</p><h6 id="tweet-of-the-week" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200529-functiondraft.md#tweet-of-the-week"/><a href="https://twitter.com/nohwnd/status/1265540452515827715?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>#pester #pspester #powershell It is finally true, Pester 5.0.0 is out, go grab it in PSGallery.</p><h6 id="youtube-run-powershell-in-vs-code-on-wsl2" class="ps-heading wp-block-heading"><a href="https://github.com/devops-collective-inc/WhatYouMissedThisWeek/blob/master/20200529-functiondraft.md#youtube-run-powershell-in-vs-code-on-wsl2"/><a href="https://www.youtube.com/watch?v=HgCOkMe6jBA"><em>Youtube: Run PowerShell in VS Code on WSL2</em></a><a class="ps-heading-anchor" href="#youtube-run-powershell-in-vs-code-on-wsl2" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>In this video, I show how to install PowerShell in Windows Subsystem for Linux version 2. After it&rsquo;s copied to the machine, I then show how to configure the VS Code PowerShell extension so that you can execute PowerShell on the Linux WSL instance.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 22-May-2020</title><link>https://powershell.org/articles/2020-05-22-icymi-powershell-week-of-22-may-2020/</link><guid>https://powershell.org/articles/2020-05-22-icymi-powershell-week-of-22-may-2020/</guid><pubDate>Fri, 22 May 2020 15:00:00 +0000</pubDate><description>&lt;p&gt;Topics include Sophos temp files, Database restoration, ARM templates and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Sophos temp files, Database restoration, ARM templates and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="azure-arm-template-deployment-scripts.wp-block-heading" class="ps-heading"><a href="https://www.yobyot.com/powershell/azure-deployment-scripts-arm-template/2020/05/18/"><em>Azure ARM template deployment scripts</em></a><a class="ps-heading-anchor" href="#azure-arm-template-deployment-scripts.wp-block-heading" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Alex Neihaus on 18th May</p><p>After you finish reading this post and experimenting with the Azure sample template below, you may never again have to write a nested or linked template. And, believe me, that’s a good thing.</p><h6 id="documenting-with-powershell-documenting-unifi-infrastructure.wp-block-heading" class="ps-heading"><a href="https://www.cyberdrain.com/documenting-with-powershell-documenting-unifi-infrastructure/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=documenting-with-powershell-documenting-unifi-infrastructure"><em>Documenting with PowerShell: Documenting Unifi infrastructure</em></a><a class="ps-heading-anchor" href="#documenting-with-powershell-documenting-unifi-infrastructure.wp-block-heading" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Kelvin Tegelaar on 18th May</p><p>Learn how to create a basic document about your Unifi Network setup.</p><h6 id="using-powershell-to-clean-up-sophos-temp-files.wp-block-heading" class="ps-heading"><a href="https://www.scriptinglibrary.com/languages/powershell/using-powershell-to-clean-up-sophos-temp-files/"><em>Using PowerShell to Clean Up Sophos Temp Files</em></a><a class="ps-heading-anchor" href="#using-powershell-to-clean-up-sophos-temp-files.wp-block-heading" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Paolo Frigo on 19th May</p><p>Recently I’ve encountered a strange issue that affected one Windows workstation with Sophos AV (Endpoint) software installed. Sometimes this software creates some temporary files with ‘$$$’ extension and apparently it never removes them.</p><h6 id="powershell-word-play.wp-block-heading" class="ps-heading"><a href="https://jdhitsolutions.com/blog/powershell/7489/powershell-word-play/"><em>PowerShell Word Play</em></a><a class="ps-heading-anchor" href="#powershell-word-play.wp-block-heading" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Jeff Hicks on 19th May</p><p>Join Jeff as he talks you through his solution to a recent Iron Scripter challenge.</p><h6 id="refresh-databases-that-belongs-to-availability-group-using-dbatools.wp-block-heading" class="ps-heading"><a href="https://claudioessilva.eu/2020/05/20/refresh-databases-that-belongs-to-availability-group-using-dbatools/"><em>Refresh databases that belongs to Availability Group using dbatools</em></a><a class="ps-heading-anchor" href="#refresh-databases-that-belongs-to-availability-group-using-dbatools.wp-block-heading" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>by Cláudio Silva on 20th May</p><p>When the client says, “please restore this backup or the most recent backup on our instance.”. But what if the databases belong to an availability group? It’s not as simple as a standalone installation. Here is how to do it with PowerShell.</p><h6 id="reddit-rpowershell---most-popular-weekly-post.wp-block-heading" class="ps-heading"><a href="https://www.reddit.com/r/PowerShell/comments/go2n5v/powershell_script_setup_windows_10/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a><a class="ps-heading-anchor" href="#reddit-rpowershell---most-popular-weekly-post.wp-block-heading" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>u/farag2 shares his script for setting up a Windows 10 machine.</p><h6 id="tweet-of-the-week.wp-block-heading" class="ps-heading"><a href="https://twitter.com/Steve_MSFT/status/1262809289778851840"><em>Tweet of the Week</em></a><a class="ps-heading-anchor" href="#tweet-of-the-week.wp-block-heading" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>PowerShell 7.1 preview.3 is out!</p><h6 id="youtube-advanced-powershell-debugging-techniques.wp-block-heading" class="ps-heading"><a href="https://www.youtube.com/watch?v=O-dksknPQBw"><em>Youtube: Advanced PowerShell Debugging Techniques</em></a><a class="ps-heading-anchor" href="#youtube-advanced-powershell-debugging-techniques.wp-block-heading" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p>In this video, I show you how to use some advanced PowerShell debugging techniques. We look at how to debug in the console, debug job, background runspaces, and remote processes. We also used some of the advanced debugging features of Visual Studio Code.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 15-May-2020</title><link>https://powershell.org/articles/2020-05-15-icymi-powershell-week-of-15-may-2020/</link><guid>https://powershell.org/articles/2020-05-15-icymi-powershell-week-of-15-may-2020/</guid><pubDate>Fri, 15 May 2020 15:00:07 +0000</pubDate><description>&lt;p&gt;Topics include Github Actions, PS7, Network Monitoring and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Github Actions, PS7, Network Monitoring and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://powershell.city/2020/05/11/get-history/"><em>Get-History</em></a></p><p>by Xajuan Smith on 11th May</p><p>If you don&rsquo;t know your history you are bound to repeat your mistakes. Xajuan suggests you Get-History and learn from your past.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://powershell.anovelidea.org/blog/publish-post-jekyll-on-a-schedule/"><em>Publish a Post for a Jekyll Site on a Schedule</em></a></p><p>by Dave Carroll on 11th May</p><p>Learn how to use Github Actions to schedule updates to your Jekyll site. If you&rsquo;ve never used Github Actions this is a great walkthrough.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://devblogs.microsoft.com/powershell/powershell-7-video-series/"><em>PowerShell 7 Video Series</em></a></p><p>by @sydneysmithreal on 11th May</p><p>The PowerShell Team put together a series of videos explaining and demoing aspects of the release. The intent of these videos was for User Groups to host events celebrating and discussing PowerShell 7</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://jdhitsolutions.com/blog/powershell/7471/a-powershell-network-monitor/"><em>A PowerShell Network Monitor</em></a></p><p>by @JeffHicks on 12th May</p><p>Build a Network Monitor inside of PowerShell to see data in/out of your network interfaces.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://oofhours.com/2020/05/13/the-most-useful-powershell-cmdlet-i-didnt-know-existed/amp/"><em>The most useful PowerShell cmdlet I didn’t know existed</em></a></p><p>by Michael Niehaus on 13th May</p><p>Sometimes I should probably pay more attention. I use PowerShell a lot. I use Windows 10 a lot. But I still missed these.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/gihjw2/mr_ulee_dailey_thanks_for_what_you_do/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>Memes</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/Steve_MSFT/status/1261079788984233985?s=20"><em>Tweet of the Week</em></a></p><p>#PowerShell 7.0.1 and #PowerShell Core 6.2.5 are out!</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=W7p6iN8izj8">*Youtube:*Technado, Ep. 151: Microsoft’s Jeffrey Snover</a></p><p>Jeffrey Snover, the father of PowerShell, was this week&rsquo;s guest on Technado. He talked about where the original idea came from, as well as what he&rsquo;s working on now at Microsoft.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 08-May-2020</title><link>https://powershell.org/articles/2020-05-08-icymi-powershell-week-of-08-may-2020/</link><guid>https://powershell.org/articles/2020-05-08-icymi-powershell-week-of-08-may-2020/</guid><pubDate>Fri, 08 May 2020 16:26:33 +0000</pubDate><description>&lt;p&gt;Topics include Mother&amp;rsquo;s day scripts, securing credentials, new PS7 behaviors and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Mother&rsquo;s day scripts, securing credentials, new PS7 behaviors and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://itluke.online/2020/05/03/more-about-the-last-command-result-new-behavior-in-powershell-7/"><em>Usefulness Of The Last Command Result New Behavior In PowerShell 7.</em></a></p><p>by @LFullenwarth on 3rd May</p><p>Luke tries to explain the behavioural change in the &lsquo;Last Command Result&rsquo; in PowerShell 7.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/automating-with-powershell-automating-warranty-information-reporting/"><em>Automating with PowerShell: Automating Warranty information reporting.</em></a></p><p>by @KelvinTegelaar on 4th May</p><p>Kelvin wrote a PowerShell wrapper to grab the warranty information for most major manufactures and it will generate a warranty report based on the input data.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://jdhitsolutions.com/blog/powershell/7429/a-powershell-windows-terminal-toolbox/"><em>A PowerShell Windows Terminal Toolbox</em></a></p><p>by @JeffHicks on 5th May</p><p>Jeff has created a PowerShell module called </p><p><code>WTToolBox</code>to managing and working with the Windows Terminal application from Microsoft.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adatum.no/powershell/multiple-azure-credentials-in-powershell"><em>Multiple Azure credentials in PowerShell</em></a></p><p>by @ehrnst on 6th May</p><p>Martin is explaining, how to connect to the multiple Azure environments and switch between the accounts using context.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.veeam.com/blog/remotely-install-sql-server-service-packs-powershell.html"><em>A PowerShell script to remotely install SQL Server service packs</em></a></p><p>by Adam Bertram on 7th May</p><p>In this article, Adam explains how to build a simple script for patching the Sql Server with the Service Packs.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/gf1wcc/getmomflowers/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>u/sleightof52 shares a video of a &ldquo;get-MomFlower&rdquo; script that orders flowers for his Mom for Mother&rsquo;s day automatically.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/rsrychro/status/1258509618474414082?s=20"><em>Tweet of the Week</em></a></p><p>RTPSUG tweeted out the link to the recording of their virtual meeting this week. Don Jones presented what would have been his PowerShell summit talk.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://youtu.be/DKbLFhGJLyA"><em>Youtube: How to secure passwords in PowerShell Scripts</em></a></p><p>Great short video showing how to use and secure passwords in your PowerShell scripts.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 01-May-2020</title><link>https://powershell.org/articles/2020-05-01-icymi-powershell-week-of-01-may-2020/</link><guid>https://powershell.org/articles/2020-05-01-icymi-powershell-week-of-01-may-2020/</guid><pubDate>Fri, 01 May 2020 17:58:03 +0000</pubDate><description>&lt;p&gt;Topics include Ansible, Documentation, Windows Terminal and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Ansible, Documentation, Windows Terminal and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://blog.tyang.org/2020/04/26/validating-arm-templates-with-arm-what-if-operations/"><em>Validating ARM Templates with ARM What-if Operations</em></a></p><p>by Tao Yang on 26th April</p><p>Tao Yang tries to explain the new preview feature &ldquo;What-If&rdquo; in validating the ARM templates.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/documenting-with-powershell-using-powershell-to-create-faster-partner-portal/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=documenting-with-powershell-using-powershell-to-create-faster-partner-portal"><em>Documenting with PowerShell: Using PowerShell to create faster partner portal</em></a></p><p>by Kelvin Tegelaar on 27th April</p><p>I love having the ability to manage all clients from a single portal. My only issue is that the partner portal is quite error prone and sluggish, and it seems to get worse with each added client.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.thelazyadministrator.com/2020/04/28/deploy-and-manage-azure-infrastructure-using-terraform-remote-state-and-azure-devops-pipelines-yaml/"><em>Deploy and Manage Azure Infrastructure Using Terraform, Remote State, and Azure DevOps Pipelines (YAML)</em></a></p><p>by Brad Wyatt on 28th April</p><p>n this article, I will be showing you how to create an Azure DevOps CI/CD (continuous integration / continuous deployment) Pipeline that will deploy and manage an Azure environment using Terraform. Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/winrm-https-ansible/"><em>How to Configure WinRM over HTTPS for Ansible</em></a></p><p>by Adam Bertram on 29th April</p><p>If you want to configure Windows with Ansible you are probably going to use WinRM. Learn how to set it up.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://jdhitsolutions.com/blog/powershell/7422/backing-up-windows-terminal-settings-with-powershell/"><em>Backing Up Windows Terminal Settings with PowerShell</em></a></p><p>by Jeff Hicks on 30th April</p><p>With the terminal constantly changing Jeff shares his method for backing up Terminal settings with PowerShell.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/gaa2ip/never_write_a_batch_wrapper_again/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>The purpose of this post is to share a batch script wrapper for powershell scripts with the goal that you don&rsquo;t have to reinvent the wheel and write one yourself.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/_Flavien/status/1254569119560671233?s=20"><em>Tweet of the Week</em></a></p><p>First demo of PowerShell on WebAssembly</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=x_5v23HS3AI%3E"><em>Youtube: Serverless Event-based Automation with PowerShell &amp; Azure Functions</em></a></p><p>Automate and manage your cloud-native, hybrid, and even on-premises resources using PowerShell. Eamon O&rsquo;Reilly, who&rsquo;s leading the efforts at Microsoft for serverless automation, shows you how to get started.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 03-April-2020</title><link>https://powershell.org/articles/2020-05-01-icymi-powershell-week-of-03-april-2020-2/</link><guid>https://powershell.org/articles/2020-05-01-icymi-powershell-week-of-03-april-2020-2/</guid><pubDate>Fri, 01 May 2020 15:00:04 +0000</pubDate><description>&lt;p&gt;Topics include Windows Terminal, Event Logs, String Basics and more.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Windows Terminal, Event Logs, String Basics and more.</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://itluke.online/2020/03/29/dynamic-powershell-and-ssh-remoting-tabs-for-windows-terminal/"><em>Dynamic PowerShell and SSH remoting tabs for Windows Terminal</em></a></p><p>by Luc Fullenwarth on 29th March</p><p>I am a SysAdmin and have to connect to dozen of different computers every day, I needed to bring this a little further and make it more “dynamic”: every time I open a remoting tab, it should ask for the computer name and the username if necessary.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://cloudywindows.io/post/new-oneliner-to-tail-the-windows-eventlog/"><em>NEW Oneliner to Tail the Windows Eventlog</em></a></p><p>by Darwin Sanoy on 30th March</p><p>Equivalent of tail -f on Linux for the Windows Event Log</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/monitoring-with-powershell-monitoring-client-vpn-settings/"><em>Monitoring with PowerShell: Monitoring client VPN settings</em></a></p><p>by Kelvin Tegelaar on 31st March</p><p>Learn how to monitor Always on VPN connections from the clients.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/powershell-strings/"><em>Back to Basics: PowerShell Strings</em></a></p><p>by June Castillote on 1st April</p><p>In this article, you&rsquo;ll learn that strings are not just for reading and displaying. They can also be manipulated to fit the purpose of whatever task you may be writing the script for.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://techcommunity.microsoft.com/t5/itops-talk-blog/powershell-basics-how-to-upload-files-to-azure-storage/ba-p/1273322?utm_source=dlvr.it&amp;utm_medium=twitter"><em>PowerShell Basics: How to Upload Files to Azure Storage</em></a></p><p>by Anthony Bartolo on 2nd April</p><p>Learn how to easily add files to Azure Blob Storage</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/ftwmtj/pluralsight_offering_1_month_free_courses_i_didnt/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>u/BlackV shared some information about Pluralsight giving a free month of training away.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/MGrafnetter/status/1245725537462636545"><em>Tweet of the Week</em></a></p><p>Audit FIDO Keys registered in Azure AD using PowerShell</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://youtu.be/bu8FCZsrkQg"><em>Youtube: Creating Restore Points Using PowerShell!</em></a></p><p>Creating restore points using PowerShell will allow a user to restore their machine from a previous system state.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 24-April-2020</title><link>https://powershell.org/articles/2020-04-24-icymi-powershell-week-of-24-april-2020/</link><guid>https://powershell.org/articles/2020-04-24-icymi-powershell-week-of-24-april-2020/</guid><pubDate>Fri, 24 Apr 2020 16:32:35 +0000</pubDate><description>&lt;p&gt;Topics include Azure functions, Windows Performance, O365 and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Azure functions, Windows Performance, O365 and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://powershell.one/code/8.html"><em>Measure Windows Performance</em></a></p><p>by @TobiasPSP on 19th April</p><p>Windows comes with a built-in performance assessment tool. It can be used to compare system performance, and you&rsquo;ll also learn a lot about PowerShell techniques.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://jdhitsolutions.com/blog/powershell/7401/powershell-left-center-right/"><em>PowerShell Left-Center-Right</em></a></p><p>by Jeff Hicks on 20th April</p><p>Jeff shares his PowerShell version of a game he plays called LCR.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://cloudskills.io/blog/azure-event-driven-function"><em>Azure Functions: Creating a PowerShell Event Based Function</em></a></p><p>by Matt Allford on 21st April</p><p>Learn how to use PowerShell based Azure Functions in this informative guide.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://alainassaf.github.io/2020-04-22-Powershell-Invoke-RestMethod/"><em>PowerShell: Invoke-RestMethod</em></a></p><p>by Alain Assaf on 22nd April</p><p>Alain has a great breakdown of Invoke-RestMethod and how its used.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/restore-mailbox-office-365/"><em>How to Restore an Office 365 Mailbox for Free</em></a></p><p>by June Castillote on 22nd April</p><p>In this article, you will learn the different ways to restore or recover a deleted mailbox in Office 365 with real, step-by-step examples using PowerShell.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/g67tic/windows_terminal_preview_v011_release_windows/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>If you have been using the new Windows Terminal there is a new version available. Thomas Maurer shares the release info.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/Steve_MSFT/status/1253383835951091712?s=19"><em>Tweet of the Week</em></a></p><p>#PowerShell 7.1-Preview.2 is officially out!  Built on .NET 5 Preview.3!  Try it out and give us feedback.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://youtu.be/ZbpbissNlCs"><em>Youtube: Utilities: Getting started with API&rsquo;s with Jonathan Moss</em></a></p><p>Join Jonathan Moss as he shares the basics of APIs.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 17-April-2020</title><link>https://powershell.org/articles/2020-04-17-icymi-powershell-week-of-17-april-2020/</link><guid>https://powershell.org/articles/2020-04-17-icymi-powershell-week-of-17-april-2020/</guid><pubDate>Fri, 17 Apr 2020 16:21:21 +0000</pubDate><description>&lt;p&gt;Topics include Windows Terminal, LAPS, HTML and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Windows Terminal, LAPS, HTML and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://toastit.dev/2020/04/13/how-i-work-lockdown/"><em>I&rsquo;m Josh King, Sysadmin, and This Is How I Work (During Lockdown)</em></a></p><p>by @WindosNZ on 13th April</p><p>PowerShell Blogger Josh King shares his work from home setup in a blog post.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/microsoft-laps/"><em>How to Rotate Windows Admin Passwords with Microsoft LAPS</em></a></p><p>by @AlexAsplund on 14th April</p><p>If you haven&rsquo;t set up Microsoft LAPS this article details how to set it up and secure the local admin passwords on your windows machines.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://jdhitsolutions.com/blog/powershell/7386/psdrives-shortcuts-and-links/"><em>PSDrives, Shortcuts and Links</em></a></p><p>by Jeffery Hicks on 15th April</p><p>Jeffery tried to explain how to create OneDrive folder as a PSDrive and creating shortcuts to it in PowerShell and made available on all the computers.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://tommymaynard.com/powershell-tab-titles/"><em>PowerShell (Tab) Titles</em></a></p><p>by Tommy Maynard on 16th April</p><p>In this post you learn how to use PowerShell to set the tab titles in Windows terminal to help keep things in order.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/powershell-convertto-html"><em>How To Create An HTML Report With PowerShell</em></a></p><p>by Dan Dimalanta on 16th April</p><p>In this article, you will learn how to use the ConvertTo-HTML combined with Out-File cmdlets to generate an HTML report. You will also learn the basic scripting for CSS and how it can be useful in formatting the design of your HTML based report.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/g0mh8i/i_created_a_discord_bot_to_host_jackbox_party/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>u/alduron set up a discord bot to manage a VM running Jackbox Party games and shared it with the community.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/TylerLeonhardt/status/1250793530265530368"><em>Tweet of the Week</em></a></p><p>Tyler shares an exciting new update for GitHub actions.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=8q9C5rlST8c"><em>Youtube: PowerScripting Podcast - 335 - Mike Kanakos</em></a></p><p>This months video of the PowerScripting Podcast with PowerShell Blogger Mike Kanakos.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 10-April-2020</title><link>https://powershell.org/articles/2020-04-10-icymi-powershell-week-of-10-april-2020/</link><guid>https://powershell.org/articles/2020-04-10-icymi-powershell-week-of-10-april-2020/</guid><pubDate>Fri, 10 Apr 2020 17:35:44 +0000</pubDate><description>&lt;p&gt;Topics include Azure, GPOs, Bits and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Azure, GPOs, Bits and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.mczerniawski.pl/powershell/transfer-with-bits/"><em>Simple file and folder transfer using Bits</em></a></p><p>by Mateusz Czerniawski on 6th April</p><p>We all heard of Bits. It’s the demo service most scripts fiddle with, when Windows services are concerned. But what it is and how we can benefit from it?</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/arm-output-variables-in-azure-pipelines-powershell/"><em>How to Parse ARM Output Variables in Azure DevOps Pipelines</em></a></p><p>by Adam Bertram on 7th April</p><p>In this article, you&rsquo;re to learn one of the most troublesome (personal opinion) aspects of using ARM templates in AzDo pipelines - managing output variables.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="http://jm2k69.github.io/2020-04-07-GPO-from-zero-to-hero-How-to-backup-GPO/"><em>GPO from zero to hero - How to backup GPO</em></a></p><p>by @JM2K69 on 7th April</p><p>This post discusses the Backup of GPO and how to restore them in Active Directory with and without PowerShell.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/enabling-clickable-powerpoint-actions"><em>Enabling Clickable PowerPoint Actions.</em></a></p><p>by @singhprateik on 7th April</p><p>Using clickable actions in PowerPoint presentations can be super useful to launch Visual Studio Code or PowerShell ISE, and seamlessly open and demo PowerShell code..</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="http://powershell.one/powershell-internals/scriptblocks/powershell-pipeline"><em>PowerShell supports a powerful pipeline concept.</em></a></p><p>by @TobiasPSP on 7th April</p><p>PowerShell supports a powerful pipeline concept. Learn how the PowerShell pipeline works, and how you can pipeline-enable your own PowerShell functions.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/futc19/how_not_to_find_installed_applications_and_how_to/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>u/mdj_ makes the case to not use win32_product for checking installed software and shares a blog post explaining his position.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/JeffHicks/status/1248343716336672770"><em>Tweet of the Week</em></a></p><p>Jeff Hicks provides a link to a repo of useful code in his Github gists</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://youtu.be/BZZM6i8AE1Y"><em>Youtube: April Fools Day: PowerShell Tips, Tricks &amp; Dad Jokes with Steven Judd</em></a></p><p>RTPSUG hosted a special April Fools users group meeting with fun jokes and PowerShell.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 03-April-2020</title><link>https://powershell.org/articles/2020-04-03-icymi-powershell-week-of-03-april-2020/</link><guid>https://powershell.org/articles/2020-04-03-icymi-powershell-week-of-03-april-2020/</guid><pubDate>Fri, 03 Apr 2020 15:12:06 +0000</pubDate><description>&lt;p&gt;Topics include Windows Terminal, Event Logs, String Basics and more.&lt;/p&gt;
&lt;p&gt;Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux&lt;/p&gt;
&lt;h6 id="" class="ps-heading"&gt;&lt;a class="ps-heading-anchor" href="#" 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;/h6&gt;
&lt;p&gt;&lt;a href="https://itluke.online/2020/03/29/dynamic-powershell-and-ssh-remoting-tabs-for-windows-terminal/"&gt;&lt;em&gt;Dynamic PowerShell and SSH remoting tabs for Windows Terminal&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;by Luke on 29th March&lt;/p&gt;
&lt;p&gt;I am a SysAdmin and have to connect to dozen of different computers every day, I needed to bring this a little further and make it more “dynamic”: every time I open a remoting tab, it should ask for the computer name and the username if necessary.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Windows Terminal, Event Logs, String Basics and more.</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://itluke.online/2020/03/29/dynamic-powershell-and-ssh-remoting-tabs-for-windows-terminal/"><em>Dynamic PowerShell and SSH remoting tabs for Windows Terminal</em></a></p><p>by Luke on 29th March</p><p>I am a SysAdmin and have to connect to dozen of different computers every day, I needed to bring this a little further and make it more “dynamic”: every time I open a remoting tab, it should ask for the computer name and the username if necessary.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://cloudywindows.io/post/new-oneliner-to-tail-the-windows-eventlog/"><em>NEW Oneliner to Tail the Windows Eventlog</em></a></p><p>by Darwin Sanoy on 30th March</p><p>Equivalent of tail -f on Linux for the Windows Event Log</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/monitoring-with-powershell-monitoring-client-vpn-settings/"><em>Monitoring with PowerShell: Monitoring client VPN settings</em></a></p><p>by Kelvin Tegelaar on 31st March</p><p>Learn how to monitor Always on VPN connections from the clients.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/powershell-strings/"><em>Back to Basics: PowerShell Strings</em></a></p><p>by June Castillote on 1st April</p><p>In this article, you&rsquo;ll learn that strings are not just for reading and displaying. They can also be manipulated to fit the purpose of whatever task you may be writing the script for.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://techcommunity.microsoft.com/t5/itops-talk-blog/powershell-basics-how-to-upload-files-to-azure-storage/ba-p/1273322?utm_source=dlvr.it&amp;utm_medium=twitter"><em>PowerShell Basics: How to Upload Files to Azure Storage</em></a></p><p>by Anthony Bartolo on 2nd April</p><p>Learn how to easily add files to Azure Blob Storage</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/ftwmtj/pluralsight_offering_1_month_free_courses_i_didnt/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>u/BlackV shared some information about Pluralsight giving a free month of training away.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/MGrafnetter/status/1245725537462636545"><em>Tweet of the Week</em></a></p><p>Audit FIDO Keys registered in Azure AD using PowerShell</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://youtu.be/bu8FCZsrkQg"><em>Youtube: Creating Restore Points Using PowerShell!</em></a></p><p>Creating restore points using PowerShell will allow a user to restore their machine from a previous system state.</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 27-March-2020</title><link>https://powershell.org/articles/2020-03-27-icymi-powershell-week-of-27-march-2020/</link><guid>https://powershell.org/articles/2020-03-27-icymi-powershell-week-of-27-march-2020/</guid><pubDate>Fri, 27 Mar 2020 15:00:11 +0000</pubDate><description>&lt;p&gt;Topics include Switch Statements, Try Catch, Python and more&amp;hellip;&lt;/p&gt;
&lt;p&gt;Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux&lt;/p&gt;
&lt;h6 id="" class="ps-heading"&gt;&lt;a class="ps-heading-anchor" href="#" 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;/h6&gt;
&lt;p&gt;&lt;a href="https://itluke.online/2020/03/22/use-cases-for-the-new-null-coalescing-operator-in-powershell-7/"&gt;&lt;em&gt;Use cases for the new null coalescing operator in PowerShell 7&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;by Luc on 22nd March&lt;/p&gt;
&lt;p&gt;Tips and use cases for the new null coalescing operator in PowerShell 7.&lt;/p&gt;
&lt;h6 id="" class="ps-heading"&gt;&lt;a class="ps-heading-anchor" href="#" 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;/h6&gt;
&lt;p&gt;&lt;a href="https://nocolumnname.blog/2020/03/23/getting-into-python-by-referencing-powershell/"&gt;&lt;em&gt;Getting into Python by Referencing PowerShell&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Switch Statements, Try Catch, Python and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://itluke.online/2020/03/22/use-cases-for-the-new-null-coalescing-operator-in-powershell-7/"><em>Use cases for the new null coalescing operator in PowerShell 7</em></a></p><p>by Luc on 22nd March</p><p>Tips and use cases for the new null coalescing operator in PowerShell 7.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://nocolumnname.blog/2020/03/23/getting-into-python-by-referencing-powershell/"><em>Getting into Python by Referencing PowerShell</em></a></p><p>by @SOZDBA on 23rd March</p><p>Trying to break his PowerShell dependency Shane shares an example for a script he wrote in both Python and PowerShell.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/powershell-switch/"><em>Back to Basics: Understanding the PowerShell Switch Statement</em></a></p><p>by <a href="https://twitter.com/@junecastillote%7C@junecastillote">https://twitter.com/@junecastillote|@junecastillote</a>&gt; on 25th March</p><p>In this article, you will learn what the PowerShell switch statement is, understand its syntax and how it works.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/monitoring-with-powershell-monitor-and-enabling-wol-for-hp-lenovo-dell/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=monitoring-with-powershell-monitor-and-enabling-wol-for-hp-lenovo-dell"><em>Monitoring with PowerShell: monitor and enabling WOL for HP, Lenovo, Dell</em></a></p><p>by @KelvinTegelaar on 26th March</p><p>Kevin shares a script he wrote to detect if machines are setup for wake on LAN, and another script to enable WOL if it&rsquo;s not already enabled.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://jdhitsolutions.com/blog/powershell/7371/ps7now-ebook-available/"><em>#PS7Now Ebook Available</em></a></p><p>by @JeffHicks on 26th March</p><p>With the PowerShell 7 release Jeff Hicks hosted a weeks worth of blogs and compiled into a leanpub ebook that is now available, check it out.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/TrebuchetOps/status/1243331005173424129">Tweet of the Week</a></p><p>Michael T Lombardi shares his book for free or a voluntary donation!</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/fo3z38/windows_virtual_desktop_deployment_tutorial/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p><a href="https://www.reddit.com/user/Arcontar/%7Cu/Arcontar">https://www.reddit.com/user/Arcontar/|u/Arcontar</a>shares a tutorial on setting up WVD in Azure for remote workers using PowerShell.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://youtu.be/UblF7aJWqAA"><em>Youtube: Tools: Build your first Serverless App in Azure in under 60 minutes!</em></a></p><p>RTPSUG got into Azure serverless with a presentation from Jeremy Brown.</p>
]]></content:encoded></item><item><title>PowerShell Conference Book Volume 3 Call For Authors</title><link>https://powershell.org/articles/2020-03-21-powershell-conference-book-volume-3-call-for-authors/</link><guid>https://powershell.org/articles/2020-03-21-powershell-conference-book-volume-3-call-for-authors/</guid><pubDate>Sat, 21 Mar 2020 13:00:38 +0000</pubDate><description>&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: We have extended the CFA to May 25th!&lt;/p&gt;
&lt;p&gt;The 
_
PowerShell Conference Book Volume 3
_
 Call for Authors (CFA) is now open!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bit.ly/PSConfBook3CFA"&gt;
http://bit.ly/PSConfBook3CFA
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The timeline for this process should be as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Close submissions on Monday, May 4th, at 11:00 PM PDT&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Notify everyone by May 25th&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Final drafts will be due by June 1st&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Finalize publication by September 30th&lt;/p&gt;
&lt;p&gt;We are looking for one chapter per author on the topics of PowerShell, DevOps, WinOps, Open Source, or IT Careers. Topic depths can range from novice to expert. Chapters can be technical or cover cultural aspects. Authors can be new or well established. The book will be written in American English, but non-native speakers are welcome (our editorial team will support you)!&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p><strong>EDIT</strong>: We have extended the CFA to May 25th!</p><p>The 
_
PowerShell Conference Book Volume 3
_
 Call for Authors (CFA) is now open!</p><p><a href="http://bit.ly/PSConfBook3CFA">
http://bit.ly/PSConfBook3CFA</a></p><p>The timeline for this process should be as follows:</p><ul><li/></ul><p>Close submissions on Monday, May 4th, at 11:00 PM PDT</p><ul><li/></ul><p>Notify everyone by May 25th</p><ul><li/></ul><p>Final drafts will be due by June 1st</p><ul><li/></ul><p>Finalize publication by September 30th</p><p>We are looking for one chapter per author on the topics of PowerShell, DevOps, WinOps, Open Source, or IT Careers. Topic depths can range from novice to expert. Chapters can be technical or cover cultural aspects. Authors can be new or well established. The book will be written in American English, but non-native speakers are welcome (our editorial team will support you)!</p><p>You may submit up to 5 chapter proposals in the<a href="http://bit.ly/PSConfBook3CFA">CFA</a>, but we will choose only one (1) chapter per author. Chapters will be selected based on the contents of the abstract. The more information and clarity you provide about your chapter, the better chance we will choose it over vague abstracts on the same topic. Submitting multiple abstracts will help in case someone else submitted an abstract on the same topic. You may return the form and edit it as many times as you like until the close date.</p><p>Published authors will receive one (1) free e-book copy. We will attempt to provide one (1) at-cost physical copy but can make no advanced guarantees. </p><h2 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>About Volume 3</p><p>_
PowerShell Conference Book Volume 3 
_
furthers the traditions of Volume 1 and Volume 3 by acting as a &ldquo;conference in a book.&rdquo; It will contain all-new chapters and is not just a new edition of the previous volumes. A different author will write each chapter. Topics will cover PowerShell, DevOps, WinOps, Open Source, or IT Careers. The authors will be a mix of well-known PowerShell community members, new faces, bloggers, authors, trainers, and presenters.</p><p>Everyone has something to share that everyone can learn from!</p><p>**
100% of proceeds
**
 will go to the <a href="https://powershell.org/summit/summit-onramp/onramp-scholarship/">
OnRamp scholarship program</a>
. The editors and authors will only be compensated with a complimentary e-copy of the book. The true payment will come in the authors and editors knowing that the knowledge they shared has helped not only those they shared it with but to new and diverse professionals awarded OnRamp scholarships!</p><h2 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h2><p>About the Editorial Staff</p><p>For Volume 3, Mark E. Kraus will act as Editor-in-Chief with support from Senior Editor Michael Zanatta. The rest of the editorial staff includes Phil Bossman, Christian Coventry, Justin Gehman, Joe Houghee, Steven Judd, Bill Kindle, Adil Leghari, and Arnaud Petitjean.</p><p>We learned our lessons from Volume 2 and have increased our editorial staff. This increase should help us compress our timelines so we can publish sooner and start supporting the OnRamp program even earlier!</p><p>We look forward to reading your submissions at<a href="http://bit.ly/PSConfBook3CFA">http://bit.ly/PSConfBook3CFA</a>!</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 20-March-2020</title><link>https://powershell.org/articles/2020-03-20-icymi-powershell-week-of-20-march-2020/</link><guid>https://powershell.org/articles/2020-03-20-icymi-powershell-week-of-20-march-2020/</guid><pubDate>Fri, 20 Mar 2020 18:38:47 +0000</pubDate><description>&lt;p&gt;Topics include Select-String, Should Process, PowerShell Summit and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Select-String, Should Process, PowerShell Summit and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.networkadm.in/select-string-powershell7/"><em>WHAT&rsquo;S NEW WITH SELECT-STRING IN POWERSHELL7</em></a></p><p>by @MikeKanakos on 14th March</p><p>With PS7 Select-String has some cool changes, Mike goes over some of those changes.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://itluke.online/2020/03/15/powershell-functions-for-which-cmdlets-can-autocomplete-properties/"><em>PowerShell functions for which cmdlets can autocomplete properties</em></a></p><p>by ITLuke on 15th March</p><p>So you noticed that when you pipe some cmdlets to the </p><p><code>Select-Object</code>cmdlet, you can hit the TAB key and enumerate all properties of the former cmdlet. This works with other cmdlets too. Here is a non-exhaustive list</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://powershellexplained.com/2020-03-15-Powershell-shouldprocess-whatif-confirm-shouldcontinue-everything/?utm_source=twitter&amp;utm_medium=post"><em>Powershell: Everything you wanted to know about ShouldProcess</em></a></p><p>by @KevinMarquette on 15th March</p><p>PowerShell functions are very robust with several features that greatly improves the way users interact with them. One important feature that is often overlooked is -WhatIf and -Confirm support and it is easy to add to your functions. In this article, we will dive deep into how to implement this feature.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/infrastructure-as-code-ci-cd/"><em>Infrastructure as Code: Where Continuous Delivery All Begins</em></a></p><p>by @adbertram on 17th March</p><p>The larger the organization and team, the larger the problems. All of these issues can be eliminated or, at least, mitigated with a concept called Infrastructure as Code (IaC).</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/monitoring-with-powershell-monitoring-onedrive-and-sharepoint-file-limits/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=monitoring-with-powershell-monitoring-onedrive-and-sharepoint-file-limits"><em>Monitoring with PowerShell: Monitoring OneDrive and Sharepoint file limits</em></a></p><p>by Kelvin Tegelaar on 20th March</p><p>Kevin shares his scripts for monitoring the amount of files in a library, to prevent issues with the OneDrive sync client.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/fjjglr/microsoft_is_gonna_delete_thousands_of_scripts/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>TechNet Gallery is being retired see what reddit has to say.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://youtu.be/Xirv6WQFmSs"><em>Youtube: PowerScripting Podcast - 334 - Glenn Sarti &amp; Michael Lombardi</em></a></p><p>Catch up on the latest PowerScripting Podcast.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 13-March-2020</title><link>https://powershell.org/articles/2020-03-13-icymi-powershell-week-of-13-march-2020/</link><guid>https://powershell.org/articles/2020-03-13-icymi-powershell-week-of-13-march-2020/</guid><pubDate>Fri, 13 Mar 2020 15:21:49 +0000</pubDate><description>&lt;p&gt;Topics include Splatting, PS7 Experimental features, VSCode and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Splatting, PS7 Experimental features, VSCode and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.jonathanmedd.net/2020/03/running-powershell-7-commands-directly-on-ansible-localhost.html"><em>Running PowerShell 7 Commands Directly on Ansible Localhost</em></a></p><p>by Jonathan Medd on 11th March</p><p>Jonathan updates his blog post about using ansible with PSCore to now cover PS7.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.powershellmagazine.com/2020/03/12/powershell-and-devops-conference-asia-2020/"><em>PowerShell and DevOps conference 2020</em></a></p><p>by @ravikanth on 12th March</p><p>PowerShell Conference Asia 2019 was held in Bangalore (India). It was such a great event and fun hosting it here. For the first time in the history of PowerShell Conference Asia we had 220+ PowerShell lovers at the conference.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://ridicurious.com/2020/03/12/powershell-7-profile-paths-and-locations/"><em>PowerShell 7 Profile paths and locations</em></a></p><p>by singhprateik on 12th March</p><p>PowerShell v7 ships with some new shiny features, significant changes and slew of performance improvements and bug fixes, so lets just quickly go through them without going into the details before we can look into PowerShell 7 Profile</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://powershell.anovelidea.org/powershell/ps7now-experimental-features/"><em>PowerShell 7 Experimental Features</em></a></p><p>by Dave Carroll on 12th March</p><p>PowerShell 7 has a new experimental feature option learn more about it.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://tfl09.blogspot.com/2020/03/powershell-7-vs-code-and-powershell-7.html"><em>PowerShell 7, VS Code, and the PowerShell 7 ISE Extension</em></a></p><p>by Thomas Lee on 12th March</p><p>Learn more about VS Code and how to write PS7 scripts just like you would in the ISE.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/fer93d/im_a_ps_noob_who_created_a_750_line_script_that/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>Reddit user gets help from the community to improve a business critical script.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/yobyot/status/1238267095319752710"><em>Tweet of the Week</em></a></p><p>Thank you for the Out-ConsoleGridView</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://youtu.be/qOU6UHOY0SE"><em>Youtube: PowerShell Splatting How-To: I should use it more and so should you!</em></a></p><p>A quick overview of just how easy it is to use splatting and why you should do it using the New-ADUser CMDlet as an example.</p>]]></content:encoded></item><item><title>Not So Intutive PowerShell Behavior</title><link>https://powershell.org/articles/2020-03-11-not-so-intutive-powershell-behavior/</link><guid>https://powershell.org/articles/2020-03-11-not-so-intutive-powershell-behavior/</guid><pubDate>Wed, 11 Mar 2020 21:36:45 +0000</pubDate><description>&lt;p&gt;The below link leads to the module I am writing about in this blog post.&lt;br&gt;
&lt;strong&gt;&lt;a href="https://github.com/tobor88/PowerShell/blob/master/Set-LockScreenImage.psm1"&gt;
LINK TO POWERSHELL MODULE
&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;
At my place of work a task needed to be completed that would allow us IT administrators to set the default lock screen image for our devices. Group Policy was my first thought however it was to broad of a solution. The rules basically became, set the default lock screen on some of the newer laptops and if a default lock screen has been manually chosen by a user; don&amp;rsquo;t change it.&lt;br&gt;
I figured great that is an easy module to write. I wanted to add the option to execute the command on remote computers as well which is what brought up a couple great unexpected behaviors.&lt;br&gt;
The cmdlets these include are New-PsDrive being executed on a remote machine and Copy-Item from a network location to a local location.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>The below link leads to the module I am writing about in this blog post.<br><strong><a href="https://github.com/tobor88/PowerShell/blob/master/Set-LockScreenImage.psm1">
LINK TO POWERSHELL MODULE</a></strong><br>
At my place of work a task needed to be completed that would allow us IT administrators to set the default lock screen image for our devices. Group Policy was my first thought however it was to broad of a solution. The rules basically became, set the default lock screen on some of the newer laptops and if a default lock screen has been manually chosen by a user; don&rsquo;t change it.<br>
I figured great that is an easy module to write. I wanted to add the option to execute the command on remote computers as well which is what brought up a couple great unexpected behaviors.<br>
The cmdlets these include are New-PsDrive being executed on a remote machine and Copy-Item from a network location to a local location.</p><p>**</p><p>COPY-ITEM</p><p>**<br>
In order to set the lock screen image for a laptop, we first need to ensure the image will always available. If something ever changes where the laptop needs to pull the image file again and the image is not reachable; the default image will be a black screen. I prefer to save the image file locally on the laptops. In order to do that, when I execute my function, I need to copy the file from a shared resource onto the local device. This is done with Copy-Item because PowerShell is object oriented where Command Prompt&rsquo;s robocopy is text/string oriented. We are not able to just copy a file from a local location.<br>
The first line in <a href="https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Management/Copy-Item?view=powershell-5.0">Microsoft&rsquo;s Documentation</a> states the function only works between objects in the same namespace. This prevents copying a file to a Certificate Drive or Registry Drive. This rule is what prevents &lsquo;\networkshare\folder$\image.png&rsquo; from being copied to &lsquo;C:\Users\Public\Pictures\image.png&rsquo;. A fairly simple concept.<br>
What this means is that if we want to copy an item from one location to another the drive needs to be seen by PowerShell to have a &lsquo;Provider&rsquo; property with the value &lsquo;FileSystem&rsquo;. This can be seen in the image below.</p><pre><code>![Type Information for Get-PsDrive](https://img1.wsimg.com/isteam/ip/8f3c0f3f-85e4-413f-bd91-f19d4f317a5a/Get-Member.png/:/cr=t:0%25,l:0%25,w:100%25,h:100%25/rs=w:1280)</code></pre><p><em>Type Information for Get-PsDrive</em></p><pre><code>![Results for the cmdlet Get-PsDrive in PowerShell](https://img1.wsimg.com/isteam/ip/8f3c0f3f-85e4-413f-bd91-f19d4f317a5a/GetPsDrive.png/:/cr=t:0%25,l:0%25,w:100%25,h:100%25/rs=w:1280)</code></pre><p><em>Get-PsDrive Results</em></p><p>In the above images we see that Provider is a property of the Get-PsDrive function. The Provider property must share a value in order to copy an item from one FileSystem to another FileSystem.<br>
The location of the lock screen image for this blog and the function on GitHub is located at &lsquo;\networkshare\files$\Backgrounds&rsquo;. We need to map this location to a drive letter in order to move the file to a local or remote computer.  How do we do that? New-PsDrive is how.<br>
**</p><p>NEW-PSDRIVE</p><p>**<br>
Here is the <a href="https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Management/New-PSDrive?view=powershell-5.0">Microsoft Documentation</a> for New-PsDrive. New-PsDrive can be used to create temporary or persistent drives. When the &lsquo;-Persist&rsquo; parameter is used, a persistent Windows mapped  network drive that is associated with a file system location on a  remote computer is created.<br>
Temporary drives exist only in the current PowerShell session and in  sessions that you create in the current session. This in essence means we need to use the &ldquo;New-PsSession&rdquo; cmdlet in order for New-PsDrive to work. Without reading the documentation as I have done before trying this command you may believe that an &ldquo;Access Denied&rdquo; PowerShell error has to do with using the &lsquo;-Credential&rsquo; parameter. I have demonstrated a few misleading events below.</p><pre><code>![New-PsDrive's not so intuitive behavior](https://img1.wsimg.com/isteam/ip/8f3c0f3f-85e4-413f-bd91-f19d4f317a5a/Tricky-0002.png/:/cr=t:0%25,l:0%25,w:100%25,h:100%25/rs=w:1280)</code></pre><p><em>New-PsDrive&rsquo;s not so intuitive behavior</em></p><p>**
FIRST: 
**The first attempt above gives us an Access Denied error. No credentials were entered. It was just me executing a command.<br>
**
SECOND:
** My next attempt/reaction to that adds the -Credential parameter to the Invoke-Command cmdlet. Invoke-Command runs commands on a remote computer and displays the output in the PowerShell terminal. I added this to ensure the command was running as an administrator. I received another access is denied error.</p><p><strong>THIRD:</strong> 
My response to that was to cover all basis and add another -Credential parameter to the New-PsDrive command to map the drive and have the remote computer authenticate my credentials. This time it returned a result as though it was successful and it was for a brief moment.<br>
Even though I added the -Persist parameter it was only persistent for that session and closed as soon as Invoke-Command&rsquo;s ScriptBlock finished running.<br>
If I were to run Get-PsDrive right after mapping the drive in that version of Invoke-Command it would return a result showing the T drive I just mapped. A PowerShell function should do one thing and one thing only. To better adhere to that rule for the Set-LockScreenImage function  we should use New-PsSession to create a $Session variable. This way we have one session that can be used to execute multiple commands instead of multiple commands being executed in multiple sessions.<br>
I believe these to be a couple of great examples to explain to someone who is just getting into PowerShell or decided those functions did not work. Hope you found this helpfule.</p><ul><li>tobor<br><a href="https://roberthosborne.com">https://roberthosborne.com</a></li></ul>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 06-March-2020</title><link>https://powershell.org/articles/2020-03-06-icymi-powershell-week-of-06-march-2020/</link><guid>https://powershell.org/articles/2020-03-06-icymi-powershell-week-of-06-march-2020/</guid><pubDate>Fri, 06 Mar 2020 17:25:28 +0000</pubDate><description>&lt;p&gt;Topics include PowerShell 7 GA, SCCM, Group Policy and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include PowerShell 7 GA, SCCM, Group Policy and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="http://www.rebeladmin.com/2020/02/step-step-guide-azure-private-endpoints-powershell-guide/"><em>Step-by-Step Guide to Azure Private Endpoints (PowerShell Guide)</em></a></p><p>by Dishan M. Francis on 29th February</p><p>Dishan is trying to explain how to configure Azure Private Endpoints using PowerShell to access your Azure PaaS services securely.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/using-powershell-to-generate-and-deploy-group-policies-for-non-domain-environments/"><em>Using PowerShell to generate and deploy Group Policies for non-domain environments</em></a></p><p>by Kelvin Tegelaar on 1st March</p><p>Kelvin explains how to generate and deploy GPOs for non-domain environments using PowerShell</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://powershell.one/powershell-internals/attributes/parameters"><em>Designing Professional Parameters</em></a></p><p>by Dr. Tobias Weltner on 2nd March</p><p>With the help of [Parameter()], you define sophisticated PowerShell parameters that enhance usability and versatility of your functions.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://secureinfra.blog/2020/03/03/sccm-deployment-validation-using-powershell-pester/"><em>SCCM deployment validation using PowerShell Pester</em></a></p><p>by lynfordh on 3rd March</p><p>lynfordh is explaining how to validate the deployment of System Center Configuration Manager (SCCM) using PowerShell Pester.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.thomasmaurer.ch/2020/03/whats-new-in-powershell-7-check-it-out/"><em>What&rsquo;s new in PowerShell 7 – Check it out!</em></a></p><p>by Thomas Maurer on 4th March</p><p>Thomas breaks down the new features in PS7</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/fckbsb/i_wrote_my_first_3_scripts_today_and_it_feels/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p><a href="https://www.reddit.com/user/UnderCoverITBoss/%7Cu/UnderCoverITBoss">UnderCoverITBoss</a> writes their first scripts and is now on a mission to script everything</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/PowerShell_Team/status/1235252089552396288"><em>Tweet of the Week</em></a></p><p>The PowerShell team announced the general availability of version 7 on Wednesday.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=u3zXMv69uNA"><em>Youtube: Core Concept: PowerShell 7 New Features</em></a></p><p>RTPSUG Met for their monthly virtual meeting and it was the perfect time to review some of the new features of PowerShell 7</p>]]></content:encoded></item><item><title>10 Tips for PowerShell Summit Presenters</title><link>https://powershell.org/articles/2020-03-05-10-tips-for-powershell-summit-presenters/</link><guid>https://powershell.org/articles/2020-03-05-10-tips-for-powershell-summit-presenters/</guid><pubDate>Thu, 05 Mar 2020 21:55:59 +0000</pubDate><description>&lt;p&gt;PowerShell Summit 2020 is less than 60 days away! The list of presenters is final, and those presenters are putting finishing touches on their presentations. PowerShell Summit is a unique opportunity for presenters to show off their work to the community. For some, it’s a once in a lifetime opportunity, but it&amp;rsquo;s also a nerve-wracking experience for many.
I have been lucky enough to be a presenter at Summit 2019. Now, I am on the team helping run the event. I am one of the few individuals who can say they were an attendee, a presenter and event planner for the summit. I thought I would offer some tips and advice for first-time presenters who are not sure what their first Summit presentation experience may be like.
I&amp;rsquo;ve come up with a handful of tips that presenters can use to help prepare for PowerShell summit. The list reads like a top 10 list, but there&amp;rsquo;s no real order here. Rather, it is a list of useful things for presenters to consider as they prepare their work.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>PowerShell Summit 2020 is less than 60 days away! The list of presenters is final, and those presenters are putting finishing touches on their presentations. PowerShell Summit is a unique opportunity for presenters to show off their work to the community. For some, it’s a once in a lifetime opportunity, but it&rsquo;s also a nerve-wracking experience for many.
I have been lucky enough to be a presenter at Summit 2019. Now, I am on the team helping run the event. I am one of the few individuals who can say they were an attendee, a presenter and event planner for the summit. I thought I would offer some tips and advice for first-time presenters who are not sure what their first Summit presentation experience may be like.
I&rsquo;ve come up with a handful of tips that presenters can use to help prepare for PowerShell summit. The list reads like a top 10 list, but there&rsquo;s no real order here. Rather, it is a list of useful things for presenters to consider as they prepare their work.</p><pre><code> -
Tell a story
-
Don't count on the conference WiFi
-
Don't kill the audience with slides
-
Limit the amount of words on slides
-
Present live demos
-
Have a backup plan
-
Plan to finish your session early
-
Pre-stage everything!
-
Finish your presentation BEFORE you arrive
-
Practice, Practice, Practice
-
Relax Let’s dive in on each one of these items and discuss them in depth.</code></pre><h3 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><pre><code>Tell a Story
I am not advocating presenters share meaningless stories about their life or work. What I mean by "Tell a story" is to **make your presentation a complete thought**. Why are you presenting this data? What led you to this point? How can this data help people? What problem does it solve? Sometimes presenters know all those answers in their head but forget to share them with their audience.</code></pre><p>Consider saying something similar to, &ldquo;For years, We’ve been looking to automate these arcane processes at work, and I have been trying to find a product that would help me get there. With the release of this tool, my company has achieved unbelievable efficiency. I&rsquo;d like to show you how you can too, and what we struggled with. Let&rsquo;s dive into how we did it and what challenges we faced along the way.”</p><h3 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><pre><code>Don't count on the conference WiFi
You have come up with this awesome idea to run a live demo that reaches out to the internet and grab some live data. You know this going to be a killer demo and the crowd will love it! When its time to present, the WiFi is saturated and you can't get your data. Bummer...</code></pre><p>How would you proceed if the hotel wireless went down for the afternoon? The point here is:<strong>don&rsquo;t rely on the conference wireless!</strong>
Many presenters have had their sessions crash and burn because they weren&rsquo;t able to run their demos as expected. If you need to connect to the internet for your demo, rent a hotspot for the day or the week. A good plan would include having the data you need on your laptop as a backup. Also, I would caution against running a demo from the AWS or Azure cloud if you can avoid it. Everything could work out as you plan, but past data says otherwise.
Last year, Azure cloud was offline when Joey Aiello was trying to show off some Cloud awesomeness. It happens! Hotel WiFi and cloud resources are the short paths to having a presentation not go as planned.</p><h3 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><pre><code>Don't kill the audience with slides
**The key to a great summit demo is fewer slides, not more.** It takes a very skilled presenter who can pull off using many slides and not boring the audience. People come to summit to see cool demos, not slick slides. Keep your slides to a minimum and leave more time for your demos! The audience will thank you.</code></pre><h3 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><pre><code>Limit the amount of words on slides
While we're discussing about slides, let's talk about good slide etiquette.</code></pre><p>People hate watching slideshows. Why? Because most slide shows are boring and unimaginative. Slide presentations can be great tools; but they need to be succinct. Well done slides can be excellent visual aids to help you tell your story. The key point here is<strong>you tell the story, not the slides.</strong>
If you are considering using slides at summit, you need to view a video called <a href="https://youtu.be/Iwpi1Lm6dFo">How to avoid Death by PowerPoint</a> before you design your slides. See it once and you will change the way you make slides for the rest of your life.</p><h3 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><pre><code>Present live demos
At summit, **attendees want to see the code in action** and what happens when you execute the code. However, a word of caution, live demos are one of the biggest things that go bad for presenters. So what's a n00b presenter to do?</code></pre><p>Present data/execute code in the moment and have a backup in case it doesn&rsquo;t work out as planned. Another option is to record or pre-stage your work, so all you have to do is start a pre-canned process and you know what the output will be.</p><h3 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><pre><code>Have a backup plan
Things can go bump in the night! The demo gods sometimes come and slay presenters. Be prepared!
-
Do you have a backup plan?
-
What happens if X doesn't work?
Think it through now and hopefully you wont need to go to your backup plan. But you will be glad if you you end up with Plan B or C and you know you can still nail the demo!</code></pre><h3 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><p>Plan to finish your session early</p><pre><code>People are awful at estimating the time required to complete a task. This holds true for presenters also. We all have witnessed a presenter say, “I’m running low on time, let me skip these last 10 slides..." Don't let that be you. Plan to finish sooner. That means you may need to cut out some irrelevant content.</code></pre><p><strong>Edit your content ruthlessly and only present the most important items</strong>. If you finish early, you can always show some extra stuff.<strong>Leave your audience on a high note.</strong></p><h3 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><pre><code>Pre-stage everything
You've been preparing for this for over 6 months. You get on that stage; you look at the crowd, and you’re ready to go! You get started and then you forget small bits you intended to mention. You can't think straight; things are not going as hoped. Getting back on track seems impossible.</code></pre><p>This is all avoidable. You can pre-stage your work so you can go from A to B to C without thinking and without having to type complex commands or code.<strong>Minimize your opportunities to make mistakes.</strong></p><pre><code>-
Create a script.
-
Pre-stage all the commands in a PS1 file so you only have to select the next command.
-
Have your demos in number order so you can find them easily.
-
Create shortcuts.
-
Have a cheat sheet of notes you can refer to.
Avoid leaving things to chance when it's go time. You will be nervous; understand this and have your things ready to go beforehand.</code></pre><h3 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><pre><code>Finish your presentation BEFORE you arrive
Last year I presented on the third day of summit. I was working on code on the two days prior and the day of my presentation. I pulled it off, but I missed a lot of stuff at summit because I was busy fixing bugs. Don’t be like me.** Finish before you arrive and then resist the urge to make last-minute changes.**</code></pre><h3 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><pre><code>Practice, Practice, Practice
This one is obvious. Presenting at Summit will be a highlight of your career. **Practice your entire presentation in its entirety at least three times before you get to the summit event.** The more you practice, the better your presentation will be.</code></pre><h3 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h3><pre><code>Relax
A bonus tip to serve as a reminder. Try to relax and enjoy the moment. It always goes faster than you think. the first five minutes are hard and then it just gets easier. Take a deep breath and relax. The summit committee picked you because they like what you had to say. Now just execute. You got this!</code></pre><p>Good luck to all presenters this year. We&rsquo;re all excited to see the wonderful things you all have produced. If someone has questions what it was like to be a presenter, please feel to reach out to me. They can find me on Twitter (@MikeKanakos), Discord (@MikeKanakos) or at my website (<a href="http://www.networkadm.in/">www.networkadm.in</a>).</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 28-February-2020</title><link>https://powershell.org/articles/2020-02-28-icymi-powershell-week-of-28-february-2020/</link><guid>https://powershell.org/articles/2020-02-28-icymi-powershell-week-of-28-february-2020/</guid><pubDate>Fri, 28 Feb 2020 17:05:14 +0000</pubDate><description>&lt;p&gt;Topics include Subexpression, For Loops, Hyper-V and more&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Subexpression, For Loops, Hyper-V and more</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://vexx32.github.io/2020/02/24/Handling-PowerShell-Subexpressions/"><em>Handling PowerShell&rsquo;s Versatile Subexpressions</em></a></p><p>by @vexx32 on 24th February</p><p>Subexpressions are kind of like an inline function that always gets invoked immediately. You define a set of commands that all get invoked one after another, and then PowerShell processes all the output and either stores or outputs the results</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/documenting-with-powershell-documenting-hyper-v-settings/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=documenting-with-powershell-documenting-hyper-v-settings"><em>Documenting with Powershell: Documenting Hyper-V settings</em></a></p><p>by Kelvin Tegelaar on 24th February</p><p>Kelvin shares a tool which pull information from Hyper-V and turns the information into a document</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://jdhitsolutions.com/blog/powershell/7317/fast-folder-sizes-with-powershell/"><em>Fast Folder Sizes with PowerShell</em></a></p><p>by Jeff Hicks on 25th February</p><p>Jeff shows off a tool from his PSScriptTools module that uses .Net to speed up retrieving of file sizes.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/powershell-for-loop/"><em>Back to Basics: The PowerShell For Loop</em></a></p><p>by June Castillote on 25th February</p><p>In this article, you will learn what the for loop in PowerShell is, understand its syntax and what makes up a for loop statement.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/f7h6se/powershell_7s_parallel_foreachobject_is_mind/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>u/Sunsparc discovers and explores Foreach-Object&rsquo;s new Parallel parameter in PowerShell 7</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/Steve_MSFT/status/1233106090256035840?s=20"><em>Tweet of the Week</em></a></p><p>Steve Lee anouncing some big news for the GA of PowerShell 7</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://youtu.be/1GPPxunPI40"><em>Youtube: Getting started with customizing lists using PnP PowerShell</em></a></p><p>Community Demo from the SharePoint Developer Community bi-weekly meeting</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 21-February-2020</title><link>https://powershell.org/articles/2020-02-21-icymi-powershell-week-of-21-february-2020/</link><guid>https://powershell.org/articles/2020-02-21-icymi-powershell-week-of-21-february-2020/</guid><pubDate>Fri, 21 Feb 2020 16:17:51 +0000</pubDate><description>&lt;p&gt;Topics include PowerShell Arrays, Monitoring your bandwidth, Azure Pipelines and more&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include PowerShell Arrays, Monitoring your bandwidth, Azure Pipelines and more</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://vexx32.github.io/2020/02/15/Building-Arrays-Collections/"><em>Building Arrays and Collections in PowerShell</em></a></p><p>by Joel Sallow on 15th February</p><p>Joel explained in detailed approach of building Arrays and Collections in PowerShell</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/monitoring-with-powershell-monitoring-internet-speeds/"><em>Monitoring with PowerShell: Monitoring internet speeds</em></a></p><p>by @KelvinTegelaar on 16th February</p><p>Kelvin made the following PowerShell script that uses the CLI utility from <a href="http://speedtest.net">speedtest.net</a> in order to monitor and alert on</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/intellisense-for-parameters-part-2"><em>IntelliSense for Parameters</em></a></p><p>by @PowerTip on 17th February</p><p>You are a PowerShell Professional, passionate about improving your code and skills? You take security seriously and are always looking for the latest advice and guidance to make your code more secure and faster?</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/azure-devops-pipelines-powershell/"><em>Running PowerShell Scripts in Azure DevOps Pipelines</em></a></p><p>by @adbertram on 18th February</p><p>Did you know you can natively run scripts like PowerShell in Azure DevOps (AzDo) pipelines? By using the tips and techniques you’ll learn in this article, you’ll be well on your way to scripting your way to automation greatness.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://mikefrobbins.com/2020/02/19/azurerm-powershell-commands-that-dont-exist-when-enabling-compatibility-aliases-in-the-az-module/"><em>AzureRM PowerShell Commands that Don’t Exist when Enabling Compatibility Aliases in the Az Module</em></a></p><p>by Mike F. Robbins on 19th February</p><p>AzureRM PowerShell module is only supported until December of 2020. It has been replaced by the Az PowerShell module which was introduced in December of 2018</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/f6gn9q/finding_gpos_missing_permissions_that_may_prevent/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>User MadBoyEvo shares a script he used to fix broken permissions on 50+ GPOs in one of his domains</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/dfinke/status/1229104907518693376"><em>Tweet of the Week</em></a></p><p>Turn PowerShell docs into &ldquo;executable documents&rdquo; with this.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://youtu.be/n9C81jtEZHI"><em>Youtube: How to change creation, modified and accessed dates for files using PowerShell</em></a></p><p>In this video I show you how to modify the dates for the file attributes, Created, Modified and Access. This can be handy when creating test files for log rotation or for testing backups.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 14-February-2020</title><link>https://powershell.org/articles/2020-02-14-icymi-powershell-week-of-14-february-2020/</link><guid>https://powershell.org/articles/2020-02-14-icymi-powershell-week-of-14-february-2020/</guid><pubDate>Fri, 14 Feb 2020 15:12:19 +0000</pubDate><description>&lt;p&gt;Topics include Windows Terminal, Pesterv5, Monitoring and More.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Windows Terminal, Pesterv5, Monitoring and More.</p><p>Special thanks to Robin, Kevin, Prasoon and Kiran</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://itluke.online/2020/02/10/the-real-purpose-of-the-finally-statement-in-powershell/"><em>The real purpose of the Finally statement in PowerShell</em></a></p><p>by Luc Fullenwarth on 10th February</p><p>You&rsquo;ve heard of try/catch but there is another part to it, try/catch/finally. A lot of people struggle with the purpose of &lsquo;finally&rsquo; but Luc tries to help out in this post.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="http://jdhitsolutions.com/blog/powershell/7242/powershell-remoting-profiles-with-windows-terminal/"><em>PowerShell Remoting Profiles with Windows Terminal</em></a></p><p>by @JeffHicks on 10th February</p><p>Configuring the Windows Terminal as a PowerShell console and creating profiles for remote sessions.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.cyberdrain.com/monitoring-with-powershell-monitoring-psexec-execution/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=monitoring-with-powershell-monitoring-psexec-execution&amp;fbclid=IwAR2uuQ8ET43gfO3rXZFs5XE8wKRMLHCsaoox51PvUOhvdeshbMe02YCFHAo"><em>Monitoring with PowerShell: Monitoring psexec execution</em></a></p><p>by @KelvinTegelaar on 10th February</p><p>A nice way to monitor psexec execution using certificate thumbprint</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="http://adamtheautomator.com/azure-dsc-arm-template/"><em>How to Apply DSC Configurations to VMs in Azure ARM Templates</em></a></p><p>by Adam Bertram on 12th February</p><p>If you&rsquo;re deploying Azure Windows virtual machines (VMs) via ARM templates and need to configure Windows, this article is for you. In this tutorial, you&rsquo;re going to learn how to use the Desired State Configuration (DSC) extension for ARM templates to seamlessly deploy and configure an Azure VM Scale Set with a single template.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.scriptinglibrary.com/languages/powershell/monitoring-the-network-load-with-powershell/"><em>Monitoring the Network Load with Powershell</em></a></p><p>by Paolo Frigo on 13th February</p><p>Paolo shares a script he created for monitoring Network usage using PowerShell</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/f0sy6y/cleaning_data/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>User akaBrotherNature shared some great RegEx that helped him clean up data by removing trailing spaces, multiple spaces and more.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/nohwnd/status/1226290016445517824"><em>Tweet of the Week</em></a></p><p>Announcement of Pester v5 beta release.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=Gf-xHknIS9g"><em>YouTube: Register for Filesystem Events with PowerShell</em></a></p><p>In this video, you&rsquo;ll learn about the Docker, PowerShell, and Remote-Containers extensions for Microsoft Visual Studio Code. Once we review the essentials of these useful extensions, we&rsquo;ll use them to explore the process of registering for filesystem events using native PowerShell code.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 07-February-2020</title><link>https://powershell.org/articles/2020-02-07-icymi-powershell-week-of-07-february-2020/</link><guid>https://powershell.org/articles/2020-02-07-icymi-powershell-week-of-07-february-2020/</guid><pubDate>Fri, 07 Feb 2020 16:24:49 +0000</pubDate><description>&lt;p&gt;Topics include PowerShell Secrets Management, Regex, DBA Tools and More.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include PowerShell Secrets Management, Regex, DBA Tools and More.</p><p>Special thanks to Robin, Kevin, Prasoon and Kiran.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://kpatnayakuni.com/2020/02/04/azure-powershell-setup-azure-vm-with-user-assigned-managed-identity-to-access-azure-key-vault/"><em>Setup Azure VM with user assigned managed identity to access Azure Key Vault.</em></a></p><p>by Kiran Patnayakuni on 4th February</p><p>Kiran talks about securing your Azure key vault by using a managed identity</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.thelazyadministrator.com/2020/02/05/intune-chocolatey-a-match-made-in-heaven/"><em>Intune + Chocolatey: A Match Made in Heaven</em></a></p><p>by Brad Wyatt on 5th February</p><p>One time consuming task of Microsoft Intune is packaging up applications. Brad goes into how he uses Chocolatey to simplify this process</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/azure-artifacts-nuget/"><em>Publishing NuGet Packages to Azure Artifacts</em></a></p><p>by Adam Bertram on 6th February</p><p>Learn how to publish Azure Artifacts NuGet packages automatically with Azure Pipelines in this step-by-step tutorial!</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="http://jdhitsolutions.com/blog/powershell/7222/learn-more-about-powershell-and-regular-expressions/"><em>Learn More about PowerShell and Regular Expressions</em></a></p><p>by Jeff Hicks on 5th February</p><p>If you&rsquo;ve never used regular expressions before you are missing out. Regex is a valuable tool for parsing strings, get a quick overview of it in this post.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://devblogs.microsoft.com/powershell/secrets-management-development-release/"><em>Secrets Management Development Release</em></a></p><p>by Sydney Smith on 6th February</p><p>Microsoft released a development version of their secrets management module. Check out this article to find out more.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/ewpljo/blog_post_learn_how_to_use_exception_messages/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>Learn about using Try Catch and providing valuable feedback to your users with error messages.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/rsrychro/status/1224898531212787714?s=20"><em>Tweet of the Week</em></a></p><p>RTPSUG is continuing to release content from their PowerShell Saturday 2019, if you&rsquo;ve never used DBA tools you should check it out.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=LFWxH-bexNk"><em>Youtube: Handling Errors in PowerShell with Try..Catch..Finally</em></a></p><p>The try..catch..finally statements in PowerShell allow you to handle exceptions (errors) in your scripts. One of the unique concepts in PowerShell exceptions is the notion of a terminating error versus a non-terminating error. In this video, we&rsquo;ll explore the difference between both types of exceptions, and learn how to effectively use try..catch..finally to handle exceptions in a calculated manner. In addition, we&rsquo;ll take a look at how to use multiple catch blocks to handle specific types of errors uniquely.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 31-January-2020</title><link>https://powershell.org/articles/2020-01-31-icymi-powershell-week-of-31-january-2020/</link><guid>https://powershell.org/articles/2020-01-31-icymi-powershell-week-of-31-january-2020/</guid><pubDate>Fri, 31 Jan 2020 15:00:24 +0000</pubDate><description>&lt;p&gt;Topics include Azure service updates, Publishing to the PowerShell Gallery, Office 365, Clusters and more.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Azure service updates, Publishing to the PowerShell Gallery, Office 365, Clusters and more.</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://chen.about-powershell.com/2020/01/retrieve-azure-service-updates-and-publish-as-news-letter-powershell/?fbclid=IwAR1SJZGqMtG_flaw4Y-Oh7npAlSKfgTZWc3_YbYVCI8eutRI-CJi4zmHFds"><em>Retrieve Azure Service Updates and Publish as News Letter</em></a></p><p>by Chen V on 26th January</p><p>It was a simple ask “How do we know Azure Service Updates?” The answer is to use the link (Azure Service Updates)! But, in this blog post I will show how to retrieve the feed information programmatically, store in Azure Table Storage and send weekly newsletter to business users</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.jeffbrown.tech/post/how-to-publish-your-first-powershell-gallery-package"><em>How to Publish Your First PowerShell Gallery Package</em></a></p><p>by Jeff Brown on 26th January</p><p>If you&rsquo;ve written a module or script that you feel others could benefit using, definitely check out publishing it to the broader community. In fact, that&rsquo;s what this post is about.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://sid-500.com/2020/01/28/office-365-add-user-accounts-and-mailboxes-with-powershell/"><em>Office 365: Add User Accounts and Mailboxes with PowerShell</em></a></p><p>by Patrick Gruenauer on 28th January</p><p>More and more companies are moving to the cloud. Subscribing cloud services means less hardware maintenance, more comfort, and an “always-on” feeling. As an administrator, you have to get familiar with the administration of cloud services, especially with the basics like creating user accounts and user mailboxes. In this article I will carry out adding user accounts along with adding user mailboxes with Powershell.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://community.idera.com/database-tools/powershell/powertips/b/tips/posts/downloading-powershell-language-reference-or-any-file"><em>Downloading PowerShell Language Reference (or any file)</em></a></p><p>by Prateik Singh on 29th January</p><p>Invoke-WebRequest can easily download files for you. The code below downloads the PowerShell Language Reference published by PowerShell Magazine, and opens it with the associated program.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.powershellmagazine.com/2020/01/30/parsing-failover-cluster-validation-report-in-powershell/"><em>Parsing Failover Cluster Validation Report in PowerShell</em></a></p><p>by Ravikanth C on 30th January</p><p>Test-Cluster can create an HTML report but it isn&rsquo;t very useable. Ravikanth&rsquo;s blog post goes into detail about converting the Test-Cluster output into something more usable for automation.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/etg1ct/pop_up_a_simcitystyle_powershell_loading_screen/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>User Weebsnore shares a Sim city style loading screen for the PowerShell console.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/Steve_MSFT/status/1221921759852523520"><em>Tweet of the Week</em></a></p><p>#PowerShell Core 6.2.4 is out!</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=h-ZJ1UlLVis&amp;feature=youtu.be"><em>Youtube: PSS: Code, Commit, Deploy. Starting your 3 step journey to using Pipelines with Stephen Valdinger</em></a></p><p>PowerShell Saturday is a training event for all things PowerShell. The event was held in Raleigh, North Carolina and hosted by Research Triangle PowerShell User Group. Stephen Valdinger goes through the process of using an Azure Dev Ops Pipeline. This process is useful in developing, maintaining, and deploying code.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 24-January-2020</title><link>https://powershell.org/articles/2020-01-24-icymi-powershell-week-of-24-january-2020/</link><guid>https://powershell.org/articles/2020-01-24-icymi-powershell-week-of-24-january-2020/</guid><pubDate>Fri, 24 Jan 2020 15:00:24 +0000</pubDate><description>&lt;p&gt;Topics include PSboundparamters, Email with SendGrid, Universal Automation and more.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include PSboundparamters, Email with SendGrid, Universal Automation and more.</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.gngrninja.com/script-ninja/2020/1/19/using-psboundparameters-in-powershell"><em>Using $PSBoundParameters in PowerShell</em></a></p><p>by Mike Roberts on 19th January</p><p>Ever use $PSBoundParameters to see what parameters are passed into your function. Mike will tell you everything you need to know about $PSBoundParameters in his blog post.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://4bes.nl/2020/01/19/send-email-from-powershell-with-sendgrid/"><em>Send email from PowerShell with SendGrid</em></a></p><p>by Barbara Forbes on 19th January</p><p>Since the system behind Send-MailMessage is no longer maintained Barbara explores an alternative method of sending email from PowerShell, SendGrid.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://4sysops.com/archives/monitoring-active-directory-with-the-powershell-module-psadhealth/"><em>Monitoring Active Directory with the PowerShell module PSADHealth</em></a></p><p>by Mike Kanakos on 20th January</p><p>The goal of this module is to enable you to know when the core pieces of Active Directory aren&rsquo;t working as expected so you can take action.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://ridicurious.com/2020/01/23/deep-dive-break-continue-return-exit-in-powershell/"><em>Deep Dive: Break, Continue, Return, Exit in PowerShell</em></a></p><p>by Manoj Sahoo on 23rd January</p><p>Manoj does a deep dive on code execution terminators in PowerShell.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/powershell-foreach/"><em>The PowerShell foreach Loop: Examples, Demos and Learning</em></a></p><p>by June Castillote on 23rd January</p><p>Learn how all the PowerShell foreach loops work with tons of examples and real-world use cases in this informative article.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/er0lfv/four_commands_to_help_you_track_down_insecure/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>Four commands to help you track down insecure LDAP Bindings before March 2020. In march 2020, Microsoft is supposed to block insecure LDAP bindings. I&rsquo;ve updated my 3 Powershell modules to help you track down machines/accounts doing that.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=u9Hq4X8V7VY&amp;feature=youtu.be"><em>Youtube: Introducing Universal Automation</em></a></p><p>Universal Automation is the automation platform for PowerShell. This video is a recording of a webinar that we produced on 1-22-2020. We provide an overview of UA followed by several demos of the product.</p>]]></content:encoded></item><item><title>Book: "Shell of an Idea," the Untold History of PowerShell</title><link>https://powershell.org/articles/2020-01-22-book-shell-of-an-idea-the-untold-history-of-powershell/</link><guid>https://powershell.org/articles/2020-01-22-book-shell-of-an-idea-the-untold-history-of-powershell/</guid><pubDate>Wed, 22 Jan 2020 16:42:23 +0000</pubDate><description>&lt;p&gt;I&amp;rsquo;ve launched a new book project, which I&amp;rsquo;m hoping you&amp;rsquo;ll support: &lt;a href="https://leanpub.com/shell-of-an-idea/"&gt;&lt;strong&gt;Shell of an Idea, the Untold History of PowerShell&lt;/strong&gt;&lt;/a&gt; is now available for pre-purchase at a $10 discount on Leanpub. You&amp;rsquo;ll get the initial introductory chapters right now, and when I start pumping out the main manuscript in April-May 2020, you&amp;rsquo;ll get that too. The price will rise to the final $30 after the first 100 preorders, so don&amp;rsquo;t delay too much if you want in on the deal.&lt;br&gt;
This is a big project, and it&amp;rsquo;s involving a few flights up to Redmond for sit-down interviews with key folks - hence the pre-order, to help fund those trips. I&amp;rsquo;m going &lt;em&gt;all&lt;/em&gt; the way back in time to the earliest days of PowerShell Monad Babylon Kermit, yeah it went through a lot of names and concepts! I plan to fill this not only with interesting facts, but also personal anecdotes from the folks who were there, and some back-of-house stories about the inevitable politics and challenges the shell saw on its path to life.&lt;br&gt;
I&amp;rsquo;m also &lt;a href="https://donjones.com/2020/01/17/be-a-part-of-powershell-history-please/"&gt;collecting personal anecdotes&lt;/a&gt; from people who&amp;rsquo;ve been impacted by PowerShell. I&amp;rsquo;d love to hear about life before PowerShell (how easy was automation back then, and how important was it to you?), how PowerShell changed your job or career, or anything like that. I&amp;rsquo;ll weave all of that into the book too, because the story of PowerShell is &lt;em&gt;mainly&lt;/em&gt; the story of the people who made it and the people who adopted it.&lt;br&gt;
Thanks for your support, and tell a friend!&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>I&rsquo;ve launched a new book project, which I&rsquo;m hoping you&rsquo;ll support: <a href="https://leanpub.com/shell-of-an-idea/"><strong>Shell of an Idea, the Untold History of PowerShell</strong></a> is now available for pre-purchase at a $10 discount on Leanpub. You&rsquo;ll get the initial introductory chapters right now, and when I start pumping out the main manuscript in April-May 2020, you&rsquo;ll get that too. The price will rise to the final $30 after the first 100 preorders, so don&rsquo;t delay too much if you want in on the deal.<br>
This is a big project, and it&rsquo;s involving a few flights up to Redmond for sit-down interviews with key folks - hence the pre-order, to help fund those trips. I&rsquo;m going <em>all</em> the way back in time to the earliest days of PowerShell Monad Babylon Kermit, yeah it went through a lot of names and concepts! I plan to fill this not only with interesting facts, but also personal anecdotes from the folks who were there, and some back-of-house stories about the inevitable politics and challenges the shell saw on its path to life.<br>
I&rsquo;m also<a href="https://donjones.com/2020/01/17/be-a-part-of-powershell-history-please/">collecting personal anecdotes</a> from people who&rsquo;ve been impacted by PowerShell. I&rsquo;d love to hear about life before PowerShell (how easy was automation back then, and how important was it to you?), how PowerShell changed your job or career, or anything like that. I&rsquo;ll weave all of that into the book too, because the story of PowerShell is <em>mainly</em> the story of the people who made it and the people who adopted it.<br>
Thanks for your support, and tell a friend!</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 16-January-2020</title><link>https://powershell.org/articles/2020-01-17-icymi-powershell-week-of-16-january-2020/</link><guid>https://powershell.org/articles/2020-01-17-icymi-powershell-week-of-16-january-2020/</guid><pubDate>Fri, 17 Jan 2020 15:00:38 +0000</pubDate><description>&lt;p&gt;Topics include Azure Monitor Logs, Office 365 Mailbox sizes, Brackets and more.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include Azure Monitor Logs, Office 365 Mailbox sizes, Brackets and more.</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="http://jdhitsolutions.com/blog/powershell/7163/creating-linked-html-with-powershell/"><em>Creating Linked HTML with PowerShell</em></a></p><p>by Jeff Hicks on 13th January</p><p>Take a dive into solving the niche problem of hyperlinks in HTML reports.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://kpatnayakuni.com/2020/01/13/just-a-tip-12-get-all-the-aliases-by-cmdlet-in-powershell/?utm_source=dlvr.it&amp;utm_medium=twitter"><em>JUST A TIP #12 – GET ALL THE ALIASES BY CMDLET IN POWERSHELL</em></a></p><p>by Kiran Patnayakuni on 13th January</p><p>A small tip about aliases.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://sid-500.com/2020/01/14/powershell-unterstanding-parentheses-braces-and-square-brackets/"><em>PowerShell: Unterstanding Parentheses, Braces and Square Brackets</em></a></p><p>by Patrick Gruenauer on 14th January</p><p>The goal for this blog post is to demystify the usage of PowerShell brackets for scripters and PowerShell enthusiasts. You can find braces everywhere, in scripts, in the PowerShell help and in simple one-liners. And there are three types. Let’s dive in.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/monitor-office-365-mailbox-size/"><em>How to Monitor for Large Office 365 Mailbox Size with PowerShell</em></a></p><p>by June Castillote on 15th January</p><p>Learn how to monitor Office 365 mailbox sizes with PowerShell in this informative, how-to article.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://blog.darrenjrobinson.com/sending-and-querying-custom-log-data-to-azure-monitor-logs/"><em>Sending and Querying Custom Log Data to Azure Monitor Logs</em></a></p><p>by Darren Robinson on 17th January</p><p>Learn how to not only send but query data from Azure Monitor Logs using PowerShell.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/eprre9/automating_fears/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>I’m a big advocate of automation. But my co-sysadmin often tell me to slow down and not make it do all for them because they wish to learn the hard way with point and click and typing all the cmdlets one by one so that when the scripts fails they are not completely lost&hellip; See some thoughts around this.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/Steve_MSFT/status/1217956062092857344?s=20"><em>Tweet of the Week</em></a></p><p>PowerShell 7 RC2 is out! One month till GA.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=z0DCFxlTN8k"><em>Youtube: Event-based automation across hybrid environments using PowerShell in Azure Functions | THR2160</em></a></p><p>An Ignite session discussing the just released support for PowerShell in Azure Functions and how this can be used to deliver event-based automation.</p>]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 10-January-2020</title><link>https://powershell.org/articles/2020-01-10-icymi-powershell-week-of-10-january-2020/</link><guid>https://powershell.org/articles/2020-01-10-icymi-powershell-week-of-10-january-2020/</guid><pubDate>Fri, 10 Jan 2020 15:00:25 +0000</pubDate><description>&lt;p&gt;Topics include reinstalling Windows Store Apps, Auditing Computers, PowerShell 7 and more.&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Topics include reinstalling Windows Store Apps, Auditing Computers, PowerShell 7 and more.</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://sysmansquad.com/2020/01/06/reprovision-windows-10-apps-wait-what/"><em>Reprovision Windows 10 Apps&hellip; Wait, What? - Systems Management Squad</em></a></p><p>by Cody Mathis on 6th January</p><p>Reverse Windows 10 AppX Deprovisioning. Restore the Windows Store, and any other AppX Package that has been removed.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/azure-ad-token-expire/"><em>How to Revoke Azure AD Tokens from Expired AD Users</em></a></p><p>by Adam Bertram on 6th January</p><p>Learn how to build a PowerShell script that finds all expired AD user accounts and revoke Azure AD tokens in this tutorial.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://blog.ukotic.net/2020/01/07/powershell-7-pipeline-chain-operators/"><em>PowerShell 7 – Pipeline Chain Operators</em></a></p><p>by Mark Ukotic on 7th January</p><p>With this release comes several new features that continue to build upon the previous versions. One of these new features being introduced are two new operators, &amp;&amp; and ||, referred to as pipeline chain operators.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://hkeylocalmachine.com/?p=960"><em>Computer Auditing – Part 4 – Windows Services, DHCP Scopes, and IIS Websites</em></a></p><p>by Kamal on 7th January</p><p>I’ve recently been looking at extending the standard set of auditing (from the previous scripts mentioned in Part 1, Part 2, and Part 3) to include DHCP scope information, and IIS-based website information.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://toastit.dev/2020/01/09/powershells-secret-wildcard/"><em>PowerShell&rsquo;s Secret Wildcard</em></a></p><p>by Josh King on 9th of January</p><p>It&rsquo;s funny how you can be a daily PowerShell user for years and completely miss something about a feature you regularly use&hellip; such as the &ldquo;like&rdquo; operators accepting more than two different wildcards.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/ekwwvb/powershell_modules_i_worked_on_in_2019/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>u/MadBoyEvo details all of his work in PowerShell during 2019, over 40 modules.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/Steve_MSFT/status/1214711909301121027"><em>Tweet of the Week</em></a></p><p>PowerShell 7 GA will come in February after an RC2 release.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=GSXFnk8UwQ0&amp;feature=youtu.be"><em>Youtube: Foreach-Object -Parallel</em></a></p><p>Jason Helmick does a video discussing the -Parallel parameter in PS Core&rsquo;s Foreach-Object cmdlet.</p>]]></content:encoded></item><item><title>Keeping Your Secrets Secure</title><link>https://powershell.org/articles/2020-01-03-196307-2/</link><guid>https://powershell.org/articles/2020-01-03-196307-2/</guid><pubDate>Fri, 03 Jan 2020 19:47:36 +0000</pubDate><description>&lt;p&gt;Azure Key Vault: Keeping your Secrets Secure&lt;br&gt;
I was tasked with creating a PowerShell script that would connect to a SFTP server and place a file. I immediately jumped at the opportunity and started thinking about what all I would need to accomplish this task. I knew I needed the script to be as secure as possible, but also knew I needed the username, password, and a key file so I could connect securely to the SFTP site. This brought up a number of security concerns. How could I be fully automated and not put that sensitive information in plain text in my script. Immediately I went to Powershell.org and started searching for ideas. I found there were a couple of really good ideas for securing this kind of data using built in encryption ( Protect-CMSMessage) and an extension that Dave Wyatt created, ProtectedData ( &lt;a href="https://github.com/dlwyatt/ProtectedData)"&gt;https://github.com/dlwyatt/ProtectedData)&lt;/a&gt;. I spent numerous hours scraping through documentation from both sources. At the end of my quest through the wonderful world encryption, I ended up with the same problem. The decryption key and the data were still on the server and I had no way of monitoring its use. I started looking at third party key vaults. They would allow me to secure my data, log when it was accessed, and provide me the data easily when called through a REST API. The only thing was I was on a budget and very short timeline so I couldn’t write the PowerShell connector to the API. What a bust!&lt;br&gt;
Alas! I found a Key Vault that not only had a REST API but had native PowerShell commandlets. Thanks, Microsoft! I started asking, what can I put in the vault and call from my script? I quickly discovered everything!&lt;br&gt;
I created a key vault and started populating the data I wanted to secure. I chose to use Secrets to hold my username, password, SFTP server IP address, and Private Key. I connected to my Azure RM Account using my username / password. Using the built in commandlets, I would be able to pull the data I wanted. Obviously, I would need the server address:&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>Azure Key Vault: Keeping your Secrets Secure<br>
I was tasked with creating a PowerShell script that would connect to a SFTP server and place a file. I immediately jumped at the opportunity and started thinking about what all I would need to accomplish this task. I knew I needed the script to be as secure as possible, but also knew I needed the username, password, and a key file so I could connect securely to the SFTP site. This brought up a number of security concerns. How could I be fully automated and not put that sensitive information in plain text in my script. Immediately I went to Powershell.org and started searching for ideas. I found there were a couple of really good ideas for securing this kind of data using built in encryption ( Protect-CMSMessage) and an extension that Dave Wyatt created, ProtectedData (<a href="https://github.com/dlwyatt/ProtectedData)">https://github.com/dlwyatt/ProtectedData)</a>. I spent numerous hours scraping through documentation from both sources. At the end of my quest through the wonderful world encryption, I ended up with the same problem. The decryption key and the data were still on the server and I had no way of monitoring its use. I started looking at third party key vaults. They would allow me to secure my data, log when it was accessed, and provide me the data easily when called through a REST API. The only thing was I was on a budget and very short timeline so I couldn’t write the PowerShell connector to the API. What a bust!<br>
Alas! I found a Key Vault that not only had a REST API but had native PowerShell commandlets. Thanks, Microsoft! I started asking, what can I put in the vault and call from my script? I quickly discovered everything!<br>
I created a key vault and started populating the data I wanted to secure. I chose to use Secrets to hold my username, password, SFTP server IP address, and Private Key. I connected to my Azure RM Account using my username / password. Using the built in commandlets, I would be able to pull the data I wanted. Obviously, I would need the server address:</p><p><code>Get-AzureKeyVaultSecret -VaultName BlogVault -Name IPAddress</code>This will return the secure object:<br><img src="https://powershell.org/wp-content/uploads/2020/01/secure-object-300x108.png" alt=""><br>
As you can see it is a secure string, but using POSH-SSH, I can’t pass this object as the computer name for the connection. Slight modification was needed:</p><p><code>(Get-AzureKeyVaultSecret -VaultName BlogVault -Name IPAddress).SecretValueText</code>This command gives me the string value of the secret that I stored. SUCCESS!! You could see the smoke coming from my keyboard as I typed my script with this knowledge. I didn’t even see the brick wall coming at me until I smacked it hard with my face. I connected to my Azure environment with my username and password! I am back at square one! Or so I thought. The Azure key vault has an API, which means it has to have a way for an application to connect. I found App Registrations in Azure. Create a new app, ignore the URI, add the application to the permissions for your key vault, copy the Application ID, Directory (Tenant) ID, and the Thumbprint of the certificate you used when creating the app. Now use that information to connect securely to your Azure RM Account. Using splatting, you can create the login information and log in with ease. When connecting using an application you need to specify “-ServicePrincipal”.</p><p><code>$azureconnection = @{ ApplicationID = “a3k43802-ckde-2kk3-5k4k-k2olsk30shhe8”; TenantID = “28skckhh49-3983-28cj-dj3n-akcnfsio3983k”; CertificateThumbprint = “A42695B978976C0925948DBA94AF0AC2D4BE425D” } Connect-AzureRmAccount -ServicePrincipal @azureconnection</code>Back in business! After connecting to my Azure RM Account using the application, I started creating splats for the rest of my communications. I embedded the get commands inside my splats so I am not assigning any of the secret information to variables directly. I have now created an application that is fully automated. I wrapped it in a file watcher script recommended by kvprasson, so as soon as a file is put into the directory a SFTP session is created, the file is placed in the root of the SFTP server, and reusing part of a module I built I verify the hash is the same on both ends of the transfer.<br>
As is true in many situations, there are many ways to skin this cat. The method I used may not be the best for your situation, however, it is a good way to keep sensitive data away from the server on which you are working. I am excited to see how many other ways I am able to use Azure Key Vaults in future applications.</p>
]]></content:encoded></item><item><title>ICYMI: PowerShell Week of 03-January-2020</title><link>https://powershell.org/articles/2020-01-03-icymi-powershell-week-of-03-january-2020/</link><guid>https://powershell.org/articles/2020-01-03-icymi-powershell-week-of-03-january-2020/</guid><pubDate>Fri, 03 Jan 2020 16:10:53 +0000</pubDate><description>&lt;p&gt;In the first ICYMI of 2020 the topics include: working with PDFs, AD Users, Remote Computers and more&amp;hellip;&lt;/p&gt;</description><content:encoded>&lt;![CDATA[<p>In the first ICYMI of 2020 the topics include: working with PDFs, AD Users, Remote Computers and more&hellip;</p><p>Special thanks to Robin Dadswell, Prasoon Karunan V, Kiran Patnayakuni and Kevin Laux.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://adamtheautomator.com/powershell-get-ad-group-members/?utm_source=linkedinstatusupdates&amp;utm_medium=social&amp;utm_campaign=newblogpostnotifications"><em>Using PowerShell to Get (and Export) AD Group Members</em></a></p><p>by Adam Bertram on 27th December</p><p>A popular use of PowerShell is working with Active Directory Directory Services (AD). There are so many time-saving things PowerShell can do with AD objects. Using PowerShell get AD group members and groups saves a ton of time.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://evotec.xyz/merging-splitting-and-creating-pdf-files-with-powershell/"><em>Merging, splitting and creating PDF files with PowerShell</em></a></p><p>by Przemyslaw Klys on 29th December</p><p>What better way to end a good year than with the release of the new PowerShell module. If the title of today&rsquo;s blog post isn&rsquo;t giving it up yet, I wanted to share a PowerShell module called PSWritePDF that can help you create and modify (split/merge) PDF documents.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://4sysops.com/archives/invoke-command-dealing-with-offline-computers"><em>Invoke-Command: Dealing with offline computers</em></a></p><p>by Mike Kanakos on 30th December</p><p>When you need to run PowerShell commands against a large set of computers with the PowerShell cmdlet Invoke-Command, you often have to deal with offline computers. In this post, you will learn how to deal with unresponsive machines.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="http://woshub.com/powershell-view-change-bios-settings/"><em>Using PowerShell to View and Change BIOS Settings</em></a></p><p>posted on 30th December</p><p>Good article detailing how you can read and edit bios settings using WMI and PowerShell.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="http://www.rebeladmin.com/2019/12/step-step-guide-crete-azure-vm-using-managed-image-powershell-guide/"><em>Step-by-Step Guide: Crete Azure VM using Managed Image</em></a></p><p>by Dishan M. Francis on 30th December</p><p>If you have a custom image to deploy on prem you would use something like WDS. In this post Dishan explains how to deploy your managed images in Azure.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.reddit.com/r/PowerShell/comments/eia1a9/helpdeskremote_support_powershell_script_expedite/"><em>Reddit /r/PowerShell - Most Popular Weekly Post</em></a></p><p>Reddit user shares a github project. The project is a PowerShell based command line tool to help with routine tech support tasks.</p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://twitter.com/JeffHicks/status/1212370429060567042?s=20"><em>Tweet of the Week</em></a></p><p>Happy New Year <a href="https://github.com/jdhitsolutions/PSCalendar">https://github.com/jdhitsolutions/PSCalendar</a></p><h6 id="" class="ps-heading"><a class="ps-heading-anchor" href="#" aria-label="Link to this section" title="Link to this section"><i class="fas fa-link" aria-hidden="true"/></a></h6><p><a href="https://www.youtube.com/watch?v=3b_LQn18oHI&amp;feature=youtu.be"><em>Youtube: PowerShell Notebook Module</em></a></p><p>Doug Finke talks through automation of PowerShell Notebooks with PowerShell at the command line, exports to Excel and more.</p>]]></content:encoded></item></channel></rss>