{"id":2650,"date":"2023-08-01T13:07:44","date_gmt":"2023-08-01T12:07:44","guid":{"rendered":"https:\/\/mortenknudsen.net\/?p=2650"},"modified":"2023-08-01T18:00:43","modified_gmt":"2023-08-01T17:00:43","slug":"pnp-powershell-important-changes","status":"publish","type":"post","link":"https:\/\/mortenknudsen.net\/?p=2650","title":{"rendered":"PnP.Powershell &#8211; important changes to Powershell version requirement"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>[Important changes]<\/strong> PnP.Powershell &#8211; Are you using PnP.Powershell (or considering to update) to manage your Microsoft 365 environments and products such as SharePoint Online, Microsoft Teams, Microsoft Planner, OneDrive, Microsoft Flow and more.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You should note the changes introduced in v.2.1.0 in the change-log<br>https:\/\/github.com\/pnp\/powershell\/blob\/dev\/CHANGELOG.md<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">v2.1.0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Removed support for PowerShell 5<\/strong>, <strong>only PowerShell 7.2<\/strong> and later will be supported from here onwards<\/li>\n\n\n\n<li>Added support for .NET 6.0 since .NET Core 3.1 support is getting deprecated. We have removed support for .NET Core 3.1, so users will have to update from PowerShell 7.0.x to <strong>PowerShell 7.2.x or later<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PnP PowerShell<\/strong> is a cross-platform PowerShell Module providing over 650 cmdlets that work with Microsoft 365 environments and products such as SharePoint Online, Microsoft Teams, Microsoft Planner, Microsoft Flow and more. It runs on Windows, Linux and MacOS<br>https:\/\/pnp.github.io\/powershell\/<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Example &#8211; how you can call PnP.Powershell cmdlets using PS 7.x PWSH from PS 5.1<\/h2>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code># Since v2.1.0 of PnP.Powershell, Cmdlets only support PS 7.2+\r\n# There we are calling PWSH with a script-block\n\r\npwsh -Command  {\r\n\tparam($Parameter1, $Parameter2, $Parameter3, $Parameter4, $Parameter5, $Parameter6, $Parameter7)\r\n\r\n\tWrite-Output \"Connecting to Sharepoint Online \/ OneDrive using High Privilege Account using Modern method (certificate)\"\r\n\t$Connection1 = Connect-PnPOnline -Url $Parameter1 -ClientId $Parameter2 -Tenant $Parameter3 -Thumbprint $Parameter4 -ReturnConnection\r\n\r\n\tWrite-host \"Checking OneDrive settings for $($Parameter5)\"\r\n\t$OneDriveUrl = Get-PnPUserProfileProperty -Account $Parameter5 -Connection $Connection1\r\n\tIf ($OneDriveUrl.PersonalUrl)\r\n\t\t{\r\n\t\t\tWrite-host \"Adding manager $($Parameter7) with full control permissions to OneDrive\"\r\n\t\t\t$Connection2 = Connect-PnPOnline -Url $OneDriveUrl.PersonalUrl -ClientId $Parameter2 -Tenant $Parameter3 -Thumbprint $Parameter4 -ReturnConnection\r\n\t\t\t$AddOwner = Add-PnPSiteCollectionAdmin -Owners $Parameter6 -Connection $Connection2\r\n\r\n\t\t\t$VerifyOneDriveAdmins = Get-PnPSiteCollectionAdmin -Connection $Connection2\r\n\t\t\tIf ( ($Parameter6 -in $VerifyOneDriveAdmins.Email) -or ($Parameter6 -eq $VerifyOneDriveAdmins.Email) )\r\n\t\t\t\t{\r\n\t\t\t\t\tWrite-host \"Manager added to OneDrive\"\r\n\t\t\t\t}\r\n\t\t\tElse\r\n\t\t\t\t{\r\n\t\t\t\t\tWrite-host \"Manager WAS NOT added to OneDrive\"\r\n\t\t\t\t} \r\n\t\t} \r\n}  -Args $SharepointUrl,` #$Parameter1\r\n\t\t$HighPriv_Modern_ApplicationID_O365,` #$Parameter2\r\n\t\t$AzureTenantId,` #$Parameter3\r\n\t\t$HighPriv_Modern_CertificateThumbprint_O365,` #$Parameter4\r\n\t\t$Username,` #$Parameter5\r\n\t\t$Manager.userPrincipalName,` #$Parameter6\r\n\t\t$Manager.displayName #$Parameter7\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>[Important changes] PnP.Powershell &#8211; Are you using PnP.Powershell (or considering to update) to manage your Microsoft 365 environments and products &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"PnP.Powershell &#8211; important changes to Powershell version requirement\" class=\"read-more button\" href=\"https:\/\/mortenknudsen.net\/?p=2650#more-2650\" aria-label=\"Read more about PnP.Powershell &#8211; important changes to Powershell version requirement\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[154,134,157,60],"tags":[],"class_list":["post-2650","post","type-post","status-publish","format-standard","hentry","category-automation","category-mvpbuzz","category-powershell","category-scripting","infinite-scroll-item"],"featured_image_src":null,"author_info":{"display_name":"Morten Knudsen","author_link":"https:\/\/mortenknudsen.net\/?author=1"},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/mortenknudsen.net\/index.php?rest_route=\/wp\/v2\/posts\/2650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mortenknudsen.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mortenknudsen.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mortenknudsen.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mortenknudsen.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2650"}],"version-history":[{"count":5,"href":"https:\/\/mortenknudsen.net\/index.php?rest_route=\/wp\/v2\/posts\/2650\/revisions"}],"predecessor-version":[{"id":2659,"href":"https:\/\/mortenknudsen.net\/index.php?rest_route=\/wp\/v2\/posts\/2650\/revisions\/2659"}],"wp:attachment":[{"href":"https:\/\/mortenknudsen.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mortenknudsen.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mortenknudsen.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}