{"id":7003,"date":"2019-11-29T12:44:00","date_gmt":"2019-11-29T17:44:00","guid":{"rendered":"https:\/\/jdhitsolutions.com\/blog\/?p=7003"},"modified":"2019-11-27T10:47:40","modified_gmt":"2019-11-27T15:47:40","slug":"friday-fun-getting-ahead-with-windows-terminal","status":"publish","type":"post","link":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/","title":{"rendered":"Friday Fun: Getting Ahead with Windows Terminal"},"content":{"rendered":"<p>I've been using the new Windows Terminal from Microsoft for quite while. In fact, it has become my standard command line interface for PowerShell and more. I'm not sure at what point some of these features were added, but I can now set a background image and specify where to display it in the terminal. This has led me to creating a PowerShell 7 experience like this:<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image-22.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px; display: inline; background-image: none;\" title=\"image\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-22.png\" alt=\"image\" width=\"1028\" height=\"549\" border=\"0\" \/><\/a><\/p>\n<p>Although, you can do something like this in any Windows Terminal profile. In your profile you can specify a few background image properties.<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">{\n    \"acrylicOpacity\": 0.60000002384185791,\n    \"closeOnExit\": true,\n    \"colorScheme\": \"Campbell\",\n    \"commandline\": \"C:\\\\Program Files\\\\PowerShell\\\\7-preview\\\\preview\\\\pwsh-preview.cmd -nologo\",\n    \"cursorColor\": \"#FFFFFF\",\n    \"cursorShape\": \"underscore\",\n    \"fontFace\": \"Cascadia Code\",\n    \"fontSize\": 16,\n    \"guid\": \"{18b5ce4a-c242-46f0-980a-ffd888901802}\",\n    \"historySize\": 9001,\n    \"icon\": \"ms-appx:\/\/\/ProfileIcons\/{574e775e-4f2a-5b96-ac1e-a2962a402336}.png\",\n    \"name\": \"PowerShell 7 Preview\",\n    \"padding\": \"0, 0, 0, 0\",\n    \"snapOnInput\": true,\n    \"startingDirectory\": \"C:\\\\\",\n    \"tabTitle\": \"PowerShell 7 Preview\",\n    \"backgroundImage\": \"C:\\\\Users\\\\Jeff\\\\Pictures\\\\Snover-head.jpg\",\n    \"backgroundImageAlignment\": \"bottomRight\",\n    \"backgroundImageStretchMode\": \"none\",\n    \"backgroundImageOpacity\": 0.5,\n    \"useAcrylic\": true\n},\n<\/pre>\n<p>Remember, that because your settings are stored in a JSON file you need to escape slashes in any path value. I was pleased with the result but decided that I could have even more fun with this.<\/p>\n<h2>Rotating Heads<\/h2>\n<p>I have a collection of PowerShell-themed graphics that would look great in my Terminal. So why not rotate through them. I suggest keeping the graphics thumbnail size, say 150x150. I wrote a simple script to randomly specify a new graphic file.<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">#Rotatehead.ps1\n#rotate the bottom right graphic in a Windows Terminal\n\n#get the path to the WindowsTerminal settings file\n$termProfile = (Get-Item -path \"$env:localappdata\\Packages\\Microsoft.WindowsTerminal_*\\LocalState\\profiles.json\").FullName\n\n#define an array of images\n$pics = \"C:\\Users\\Jeff\\Pictures\\Snover-head.png\", \n\"C:\\Users\\Jeff\\Pictures\\blue-robot-ps-thumb.jpg\", \n\"C:\\Users\\Jeff\\Pictures\\JasonH-thumb.jpg\", \n\"C:\\Users\\Jeff\\Pictures\\atomicps-thumb.jpg\", \n\"C:\\Users\\Jeff\\Pictures\\psicon.png\", \n\"C:\\Users\\Jeff\\Pictures\\talkbubble.png\"\n\n#get the raw json contents\n$raw = Get-Content -path $termProfile -Raw\n\n#create a PowerShell object from the raw data\n$json  = Convertfrom-json -InputObject $raw\n\n#find the current background image in the specified profile\n$current = ($json.profiles).where({ $_.name -eq 'PowerShell 7 Preview' }).backgroundImage.replace(\"\\\",\"\\\\\")\n\n#get a random new graphic\n$new = ($pics | Get-Random).replace(\"\\\", \"\\\\\")\n\n#replace the old file with the new.\n#There is an assumption that you aren't using the same image in multiple profiles\n$raw.Replace($current,$new) | Set-Content -Path $termProfile\n<\/pre>\n<p>The short script is commented which should explain what I am doing. It is assumed that you have already set one of the graphic files in your Windows Terminal profile.<\/p>\n<p>I'm temporarily converting the profile into an object using <a title=\"Read online help for this command\" href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=217031\" target=\"_blank\" rel=\"noopener noreferrer\">ConvertFrom-Json<\/a>. This makes it easier to get the BackgroundImage\u00a0 value from my PowerShell 7 Preview profile. When converted from json, PowerShell uses single slashes in the path.\u00a0 When I define $current, I escape them again. This is because I am using a simple string replace on the current path with the new. There is an important assumption the\u00a0 image isn't being used in any other profile.<\/p>\n<p>My original plan was to convert the json file to an object, change the object, convert it back to json and write it to the profile. However, when the profile data is converted from json, you end up with a custom object. That is normally not a bad thing. However, all of the properties are NoteProperties which means they are read-only. Therefore, I ended up with a simple find and replace solution.<\/p>\n<p>By the way, I realize that my current code doesn't guarantee a unique file. It is possible I could randomly select the file I am already using. I'll leave this for you to resolve if you feel motivated.<\/p>\n<h2>Leveraging the PowerShell Profile<\/h2>\n<p>The last part of the task is to automatically rotate heads every X number of minutes.\u00a0 I could have used a PowerShell scheduled job. But instead decided to tweak my prompt function. You can get the contents of your current prompt function by running <strong><em>(get-item function:prompt).scriptblock<\/em><\/strong>. Your code would look like <strong><em>Function prompt {&lt;your scriptblock&gt;}<\/em><\/strong>. Here's simple prompt function I am using.<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">function prompt {\n\n$dt = Get-Date -Format \"dd-MM-yy HH:mm:ss\"\nwrite-host \"[$dt] \" -ForegroundColor yellow -NoNewline\n\"PS$($PSVersionTable.PSversion.major).$($PSVersionTable.PSversion.minor) $($executionContext.SessionState.Path.CurrentLocation.path)$('&gt;' * ($nestedPromptLevel + 1)) \";\n\n#if this is the first time\nif (-Not $global:lastChanged) {\n  $global:lastChanged = Get-Date\n}\n\n$min = ((Get-Date) -$global:lastChanged).totalMinutes\n#rotate grapichs every 11 minutes\nif ($min -ge 11) {\n    C:\\scripts\\RotateHead.ps1\n    $global:lastChanged = Get-Date\n}\n\n} #close function\n<\/pre>\n<p>In my version I'm displaying a time stamp and the PowerShell version as part of the prompt. I'm also using a global variable to keep track of the time since the last change. I'm calling my RoateHead script every 11 minutes or so, depending on when I press Enter. Here's what my session looked like a little bit later.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image-23.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px; display: inline; background-image: none;\" title=\"image\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-23.png\" alt=\"image\" width=\"1028\" height=\"549\" border=\"0\" \/><\/a><\/p>\n<p>Now, I have a little visual variety to my terminal.<\/p>\n<p>If you want to try this, I strongly recommend you first make a backup copy of your Windows Terminal profiles.json file. If you'd like to try my graphics, you can <a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/thumbs.zip\" target=\"_blank\" rel=\"noopener noreferrer\">download this zip file<\/a>. Enjoy!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been using the new Windows Terminal from Microsoft for quite while. In fact, it has become my standard command line interface for PowerShell and more. I&#8217;m not sure at what point some of these features were added, but I can now set a background image and specify where to display it in the terminal&#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":"Just published -> Friday Fun: Getting Ahead with Windows Terminal and #PowerShell","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":[271,4,615],"tags":[534,84,540,609],"class_list":["post-7003","post","type-post","status-publish","format-standard","hentry","category-friday-fun","category-powershell","category-windows-terminal","tag-powershell","tag-profile","tag-scripting","tag-windowsterminal"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Friday Fun: Getting Ahead with Windows Terminal &#8226; The Lonely Administrator<\/title>\n<meta name=\"description\" content=\"Learn how I have a little fun customizing my PowerShell profile in Windows Terminal with a set of rotating background images. Code and images included!\" \/>\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\/7003\/friday-fun-getting-ahead-with-windows-terminal\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Friday Fun: Getting Ahead with Windows Terminal &#8226; The Lonely Administrator\" \/>\n<meta property=\"og:description\" content=\"Learn how I have a little fun customizing my PowerShell profile in Windows Terminal with a set of rotating background images. Code and images included!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/\" \/>\n<meta property=\"og:site_name\" content=\"The Lonely Administrator\" \/>\n<meta property=\"article:published_time\" content=\"2019-11-29T17:44:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-22.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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/\"},\"author\":{\"name\":\"Jeffery Hicks\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"headline\":\"Friday Fun: Getting Ahead with Windows Terminal\",\"datePublished\":\"2019-11-29T17:44:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/\"},\"wordCount\":576,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/image_thumb-22.png\",\"keywords\":[\"PowerShell\",\"Profile\",\"Scripting\",\"WindowsTerminal\"],\"articleSection\":[\"Friday Fun\",\"PowerShell\",\"Windows Terminal\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/\",\"name\":\"Friday Fun: Getting Ahead with Windows Terminal &#8226; The Lonely Administrator\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/image_thumb-22.png\",\"datePublished\":\"2019-11-29T17:44:00+00:00\",\"description\":\"Learn how I have a little fun customizing my PowerShell profile in Windows Terminal with a set of rotating background images. Code and images included!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/image_thumb-22.png\",\"contentUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/image_thumb-22.png\",\"width\":1028,\"height\":549},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7003\\\/friday-fun-getting-ahead-with-windows-terminal\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PowerShell\",\"item\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/category\\\/powershell\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Friday Fun: Getting Ahead with Windows Terminal\"}]},{\"@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":"Friday Fun: Getting Ahead with Windows Terminal &#8226; The Lonely Administrator","description":"Learn how I have a little fun customizing my PowerShell profile in Windows Terminal with a set of rotating background images. Code and images included!","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\/7003\/friday-fun-getting-ahead-with-windows-terminal\/","og_locale":"en_US","og_type":"article","og_title":"Friday Fun: Getting Ahead with Windows Terminal &#8226; The Lonely Administrator","og_description":"Learn how I have a little fun customizing my PowerShell profile in Windows Terminal with a set of rotating background images. Code and images included!","og_url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/","og_site_name":"The Lonely Administrator","article_published_time":"2019-11-29T17:44:00+00:00","og_image":[{"url":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-22.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":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/#article","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/"},"author":{"name":"Jeffery Hicks","@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"headline":"Friday Fun: Getting Ahead with Windows Terminal","datePublished":"2019-11-29T17:44:00+00:00","mainEntityOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/"},"wordCount":576,"commentCount":4,"publisher":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/#primaryimage"},"thumbnailUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-22.png","keywords":["PowerShell","Profile","Scripting","WindowsTerminal"],"articleSection":["Friday Fun","PowerShell","Windows Terminal"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/","url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/","name":"Friday Fun: Getting Ahead with Windows Terminal &#8226; The Lonely Administrator","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/#primaryimage"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/#primaryimage"},"thumbnailUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-22.png","datePublished":"2019-11-29T17:44:00+00:00","description":"Learn how I have a little fun customizing my PowerShell profile in Windows Terminal with a set of rotating background images. Code and images included!","breadcrumb":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/#primaryimage","url":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-22.png","contentUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-22.png","width":1028,"height":549},{"@type":"BreadcrumbList","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"PowerShell","item":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},{"@type":"ListItem","position":2,"name":"Friday Fun: Getting Ahead with Windows Terminal"}]},{"@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":7242,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7242\/powershell-remoting-profiles-with-windows-terminal\/","url_meta":{"origin":7003,"position":0},"title":"PowerShell Remoting Profiles with Windows Terminal","author":"Jeffery Hicks","date":"February 10, 2020","format":false,"excerpt":"I have jumped in the deep end and fully committed to Windows Terminal as my default PowerShell environment. I love having one interface with tabs for different terminal profiles. Windows Terminal makes it easy for me to have tabs open to PowerShell 7, Windows PowerShell, an Ubuntu instance or even\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\/2020\/02\/image_thumb-8.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-8.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-8.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-8.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":7257,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7257\/cross-platform-powershell-profiles-with-windows-terminal\/","url_meta":{"origin":7003,"position":1},"title":"Cross Platform PowerShell Profiles with Windows Terminal","author":"Jeffery Hicks","date":"February 13, 2020","format":false,"excerpt":"Earlier this week I shared my techniques for creating a Windows Terminal profile that would open a remote PowerShell session. But with PowerShell 7, I can also connect to non-Windows machines using SSH. So why not extend my code to allow connecting to a Linux box? Before you try anything\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":6887,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/6887\/creating-a-spooky-windows-terminal-theme\/","url_meta":{"origin":7003,"position":2},"title":"Creating a Spooky Windows Terminal Theme","author":"Jeffery Hicks","date":"October 29, 2019","format":false,"excerpt":"With Halloween fast arriving, I thought I'd share some more holiday-themed fun. Today's entry isn't necessarily PowerShell related but you might use it with your PowerShell work. If you've been kicking the tires on the Windows Terminal project from Microsoft, you might enjoy this. Here's the finished product and then\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\/10\/image_thumb-10.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/10\/image_thumb-10.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/10\/image_thumb-10.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/10\/image_thumb-10.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":7112,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7112\/testing-for-powershell-in-windows-terminal\/","url_meta":{"origin":7003,"position":3},"title":"Testing for PowerShell in Windows Terminal","author":"Jeffery Hicks","date":"December 20, 2019","format":false,"excerpt":"I have pretty much migrated to Windows Terminal as my primary PowerShell interface. Even though my daily session is PowerShell 7 I love that I can open up other sessions in the same application. yes, I know there are still limitations and that many of you prefer ConEmu. And that's\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\/12\/image_thumb-30.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/12\/image_thumb-30.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/12\/image_thumb-30.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/12\/image_thumb-30.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":7476,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7476\/open-windows-terminal-powershell-split-paned\/","url_meta":{"origin":7003,"position":4},"title":"Open Windows Terminal PowerShell Split Paned","author":"Jeffery Hicks","date":"May 14, 2020","format":false,"excerpt":"The other night I presented for the Mississippi PowerShell User Group on how to get started using Windows Terminal. This has been my go-to PowerShell console for quite a while. I use Windows Terminal for everything. During the talk a question came up about starting a session with split panes.\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\/2020\/05\/wt-split.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wt-split.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wt-split.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wt-split.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wt-split.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":6800,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/6800\/a-powershell-proof-of-concept-with-windows-terminal\/","url_meta":{"origin":7003,"position":5},"title":"A PowerShell Proof of Concept with Windows Terminal","author":"Jeffery Hicks","date":"July 8, 2019","format":false,"excerpt":"I recently updated my Windows 10 systems to the 1903 release. One of the reasons is that I wanted to try out the new Windows Terminal preview. You can find it in the Windows Store. This is bleeding edge stuff and far from complete but promises to be a great\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\/07\/image_thumb.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/07\/image_thumb.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/07\/image_thumb.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/7003","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=7003"}],"version-history":[{"count":0,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/7003\/revisions"}],"wp:attachment":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=7003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=7003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=7003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}