&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 March 2020 on PowerShell.org - Welcome Automaters!</title><link>https://powershell.org/articles/2020/03/</link><description>Recent content in Articles from March 2020 on PowerShell.org - Welcome Automaters!</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://powershell.org/articles/2020/03/index.xml" rel="self" type="application/rss+xml"/><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></channel></rss>