{"id":6547,"date":"2019-02-26T14:08:45","date_gmt":"2019-02-26T19:08:45","guid":{"rendered":"https:\/\/jdhitsolutions.com\/blog\/?p=6547"},"modified":"2019-02-26T14:08:51","modified_gmt":"2019-02-26T19:08:51","slug":"updating-powershell-core-windows-compatibility","status":"publish","type":"post","link":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/","title":{"rendered":"Updating PowerShell Core Windows Compatibility"},"content":{"rendered":"<p>I thought I'd share a quick update on my experiences in living in a PowerShell Core world. One of the things that Microsoft is working on to make this easier is a way to access your Windows PowerShell modules that will work in PowerShell Core. It does this through commands in the <a title=\"vist the module's GitHub home\" href=\"https:\/\/github.com\/PowerShell\/WindowsCompatibility\" target=\"_blank\" rel=\"blank noopener noreferrer\">WindowsCompatibility<\/a> module. However ,I've encountered an annoyance which you might also see which I figured I should share, along with my work around.<\/p>\n<p><!--more--><\/p>\n<h2>Expected Behavior<\/h2>\n<p>PowerShell Core behaves pretty much the way it does in Windows PowerShell. In a Windows system you can map a new PSDrive and if you use a letter, PowerShell automatically defines a simple function that makes it easy to change to that path.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image-12.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"Expected PSDrive behavior in PowerShell Core\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-12.png\" alt=\"Expected PSDrive behavior in PowerShell Core\" width=\"1028\" height=\"651\" border=\"0\" \/><\/a><\/p>\n<p>I can create a new PSDrive and change to it without error.\u00a0 Now I'll import the WindowsCompatibility module.<\/p>\n<h2>Problem Behavior<\/h2>\n<p>One of the ways the module works is to provide access to Windows PowerShell commands via a remoting compatibility session. It may not always be clear when such a session gets created, although you can intentionally create it with Initialize-WinSession.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image-13.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"The Windows Compatibility Session\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-13.png\" alt=\"The Windows Compatibility Session\" width=\"1028\" height=\"188\" border=\"0\" \/><\/a><\/p>\n<p>I'm sure the expectation is that commands will transparently use this session. But there is a bit of an issue. Look what happens when I try to change to the S: drive now.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image-14.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"The Non-Error Error\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-14.png\" alt=\"The Non-Error Error\" width=\"1028\" height=\"177\" border=\"0\" \/><\/a><\/p>\n<p>PowerShell complains but in fact changes location. Digging into the error I found that the <a title=\"Read online help for this command\" href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=113397\" target=\"_blank\" rel=\"noopener noreferrer\">Set-Location<\/a> command was being run through the WinCompatibility session, which doesn't know anything about the S: drive.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image-15.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"PSDrives in the WinCompatibility session\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-15.png\" alt=\"PSDrives in the WinCompatibility session\" width=\"1028\" height=\"192\" border=\"0\" \/><\/a><\/p>\n<p>I discovered that if I create the drive in the session, then the annoying error is resolved.<\/p>\n<h2>A Scripted Solution<\/h2>\n<p>With this in mind I came up with a scripted solution. Part of my PowerShell profile is create a number of PSDrive shortcuts. Once those are defined I go ahead an import the WindowsCompatibilityModule<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">Import-Module WindowsCompatibility\nAdd-WindowsPSModulePath\nInitialize-WinSession\n<\/pre>\n<p>I know I'll need the WinCompat session. I then call this function.<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">#requires -version 6.1\n#requires -module WindowsCompatibility\n\nFunction Update-WinCompatibiltySession {\n    [cmdletbinding(SupportsShouldProcess)]\n    [alias(\"uwc\")]\n\n    Param([switch]$Passthru)\n\n    Try {\n        $s = Get-PSSession -name \"wincompat-localhost-$env:username\" -ErrorAction Stop\n        $local = Get-PSDrive\n        foreach ($psdrive in $local) {\n            if ($PSCmdlet.ShouldProcess($pdrive.name, \"Adding\")) {\n                Invoke-Command {\n                    Try {\n                        Get-PSDrive -Name $using:psdrive.name -ErrorAction Stop | Out-Null\n                    }\n                    Catch {\n                        $newParams = @{\n                            name       = $using:psdrive.name\n                            PSProvider = $using:psdrive.provider\n                            Root       = $using:psdrive.root\n                        }\n                        #mapping the drive using the credential. This may not be necessary.\n                        if ($using:psdrive.credential.username) {\n                            $newParams.Add(\"Credential\", $using:psdrive.credential)\n                        }\n                        $new = New-PSDrive @newParams\n                        if ($using:Passthru) {\n                            $new\n                        }\n                    }\n                } -session $s\n            }\n        } #Whatif\n    }\n    Catch {\n        Write-Warning \"Did not detect a WinCompat remoting session. You might need to run Initialize-WinSession.\"\n    }\n}\n<\/pre>\n<p>The function gets all PSDrives in my local session and adds it in the remoting session if it doesn't already exist. And yes, I realize there are several ways I could have accomplished this. But now, my errors are gone.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image-16.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"Changing location errors resolved\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-16.png\" alt=\"Changing location errors resolved\" width=\"1028\" height=\"271\" border=\"0\" \/><\/a><\/p>\n<p>If I add another drive later, I need to re-run the function.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image-17.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"Updating a new PSDrive\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-17.png\" alt=\"Updating a new PSDrive\" width=\"968\" height=\"772\" border=\"0\" \/><\/a><\/p>\n<p>I have an open issue on this in GitHub but for now, this arrangement seems to work around the issue.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I thought I&#8217;d share a quick update on my experiences in living in a PowerShell Core world. One of the things that Microsoft is working on to make this easier is a way to access your Windows PowerShell modules that will work in PowerShell Core. It does this through commands in the WindowsCompatibility module. However&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"New from the blog: Updating #PowerShell Core Windows Compatibility","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[589],"tags":[590],"class_list":["post-6547","post","type-post","status-publish","format-standard","hentry","category-powershell-core","tag-powershell-core"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Updating PowerShell Core Windows Compatibility &#8226; The Lonely Administrator<\/title>\n<meta name=\"description\" content=\"Here&#039;s a workaroundf for an annyoying error you might encounter in PowerShell Core when using the WindowsCompatibiity module.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Updating PowerShell Core Windows Compatibility &#8226; The Lonely Administrator\" \/>\n<meta property=\"og:description\" content=\"Here&#039;s a workaroundf for an annyoying error you might encounter in PowerShell Core when using the WindowsCompatibiity module.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/\" \/>\n<meta property=\"og:site_name\" content=\"The Lonely Administrator\" \/>\n<meta property=\"article:published_time\" content=\"2019-02-26T19:08:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-02-26T19:08:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-12.png\" \/>\n<meta name=\"author\" content=\"Jeffery Hicks\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JeffHicks\" \/>\n<meta name=\"twitter:site\" content=\"@JeffHicks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeffery Hicks\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/\"},\"author\":{\"name\":\"Jeffery Hicks\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"headline\":\"Updating PowerShell Core Windows Compatibility\",\"datePublished\":\"2019-02-26T19:08:45+00:00\",\"dateModified\":\"2019-02-26T19:08:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/\"},\"wordCount\":395,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/image_thumb-12.png\",\"keywords\":[\"PowerShell Core\"],\"articleSection\":[\"PowerShell Core\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/\",\"name\":\"Updating PowerShell Core Windows Compatibility &#8226; The Lonely Administrator\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/image_thumb-12.png\",\"datePublished\":\"2019-02-26T19:08:45+00:00\",\"dateModified\":\"2019-02-26T19:08:51+00:00\",\"description\":\"Here's a workaroundf for an annyoying error you might encounter in PowerShell Core when using the WindowsCompatibiity module.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/image_thumb-12.png\",\"contentUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/image_thumb-12.png\",\"width\":1028,\"height\":651},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell-core\\\/6547\\\/updating-powershell-core-windows-compatibility\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PowerShell Core\",\"item\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/category\\\/powershell-core\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Updating PowerShell Core Windows Compatibility\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/\",\"name\":\"The Lonely Administrator\",\"description\":\"Practical Advice for the Automating IT Pro\",\"publisher\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\",\"name\":\"Jeffery Hicks\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg\",\"caption\":\"Jeffery Hicks\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Updating PowerShell Core Windows Compatibility &#8226; The Lonely Administrator","description":"Here's a workaroundf for an annyoying error you might encounter in PowerShell Core when using the WindowsCompatibiity module.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/","og_locale":"en_US","og_type":"article","og_title":"Updating PowerShell Core Windows Compatibility &#8226; The Lonely Administrator","og_description":"Here's a workaroundf for an annyoying error you might encounter in PowerShell Core when using the WindowsCompatibiity module.","og_url":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/","og_site_name":"The Lonely Administrator","article_published_time":"2019-02-26T19:08:45+00:00","article_modified_time":"2019-02-26T19:08:51+00:00","og_image":[{"url":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-12.png","type":"","width":"","height":""}],"author":"Jeffery Hicks","twitter_card":"summary_large_image","twitter_creator":"@JeffHicks","twitter_site":"@JeffHicks","twitter_misc":{"Written by":"Jeffery Hicks","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/#article","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/"},"author":{"name":"Jeffery Hicks","@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"headline":"Updating PowerShell Core Windows Compatibility","datePublished":"2019-02-26T19:08:45+00:00","dateModified":"2019-02-26T19:08:51+00:00","mainEntityOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/"},"wordCount":395,"commentCount":0,"publisher":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/#primaryimage"},"thumbnailUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-12.png","keywords":["PowerShell Core"],"articleSection":["PowerShell Core"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/","url":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/","name":"Updating PowerShell Core Windows Compatibility &#8226; The Lonely Administrator","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/#primaryimage"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/#primaryimage"},"thumbnailUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-12.png","datePublished":"2019-02-26T19:08:45+00:00","dateModified":"2019-02-26T19:08:51+00:00","description":"Here's a workaroundf for an annyoying error you might encounter in PowerShell Core when using the WindowsCompatibiity module.","breadcrumb":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/#primaryimage","url":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-12.png","contentUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/02\/image_thumb-12.png","width":1028,"height":651},{"@type":"BreadcrumbList","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6547\/updating-powershell-core-windows-compatibility\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"PowerShell Core","item":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell-core\/"},{"@type":"ListItem","position":2,"name":"Updating PowerShell Core Windows Compatibility"}]},{"@type":"WebSite","@id":"https:\/\/jdhitsolutions.com\/blog\/#website","url":"https:\/\/jdhitsolutions.com\/blog\/","name":"The Lonely Administrator","description":"Practical Advice for the Automating IT Pro","publisher":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jdhitsolutions.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9","name":"Jeffery Hicks","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg","caption":"Jeffery Hicks"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":6371,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/6371\/making-the-leap-to-powershell-core\/","url_meta":{"origin":6547,"position":0},"title":"Making the Leap to PowerShell Core","author":"Jeffery Hicks","date":"January 9, 2019","format":false,"excerpt":"For years I have spent most of my time in a Windows PowerShell prompt. I have actually taken it as a badge of honor that I've been able to manage my day and all of my work from a PowerShell prompt. I also have created practically all of my content\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-11.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-11.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-11.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-11.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":6428,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell-core\/6428\/a-powershell-core-out-gridview-solution\/","url_meta":{"origin":6547,"position":1},"title":"A PowerShell Core Out-Gridview Solution","author":"Jeffery Hicks","date":"January 15, 2019","format":false,"excerpt":"As many of you know, this year I've made the jump to PowerShell Core as my \"daily driver\". A major driving factor was to discover the limitations. There are certainly plenty of advantages as we move to a cross-platform world. But the PowerShell Core is based .NET Core which does\u2026","rel":"","context":"In &quot;PowerShell Core&quot;","block_context":{"text":"PowerShell Core","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell-core\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-16.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-16.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-16.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-16.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":610,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell-v2-0\/610\/powershell-quick-start-on-server-core-r2\/","url_meta":{"origin":6547,"position":2},"title":"PowerShell Quick Start on Server Core R2","author":"Jeffery Hicks","date":"March 29, 2010","format":false,"excerpt":"The great thing about the Server Core flavor that ships with Windows Server 2008 R2 is that it finally supports Windows PowerShell. I\u2019ve talked about this before. However, I think I neglected some of the finer points in getting started. You can (and should) run PowerShell on your R2 Core\u2026","rel":"","context":"In &quot;PowerShell v2.0&quot;","block_context":{"text":"PowerShell v2.0","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell-v2-0\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":5895,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/5895\/another-look-at-powershell-core-version-information\/","url_meta":{"origin":6547,"position":3},"title":"Another Look at PowerShell Core Version Information","author":"Jeffery Hicks","date":"February 8, 2018","format":false,"excerpt":"As PowerShell Core begins to spread into our world, and as we start thinking about working and scripting cross-platform, it will be useful to know what type of platform you are running on. The built in $PSVersionTable is an obvious place to start. On PowerShell Core there are also some\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2018\/02\/image_thumb-5.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2018\/02\/image_thumb-5.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2018\/02\/image_thumb-5.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":8013,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/8013\/what-the-shell-is-happening\/","url_meta":{"origin":6547,"position":4},"title":"What the Shell is Happening?","author":"Jeffery Hicks","date":"January 13, 2021","format":false,"excerpt":"The PowerShell community is beginning another year in the world of PowerShell 7. Most of you know what that means. However, there are newcomers to our community practically every day. Or I know there are occasional or reluctant users who might not pay enough attention to understand the world of\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/01\/winps-variables.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/01\/winps-variables.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/01\/winps-variables.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/01\/winps-variables.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":6439,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/6439\/friday-fun-with-a-cross-platform-powershell-prompt\/","url_meta":{"origin":6547,"position":5},"title":"Friday Fun with a Cross-Platform PowerShell Prompt","author":"Jeffery Hicks","date":"January 18, 2019","format":false,"excerpt":"This year is turning out to be all things cross-platform for me. Continuing this line of discussion I have something fun and simple today. A PowerShell prompt function that will work cross-platform and provide some meaningful information in what I think is a elegant manner. You may not need the\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-20.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-20.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-20.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-20.png?resize=700%2C400&ssl=1 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/6547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=6547"}],"version-history":[{"count":0,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/6547\/revisions"}],"wp:attachment":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=6547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=6547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=6547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}