{"id":7422,"date":"2020-04-30T12:27:34","date_gmt":"2020-04-30T16:27:34","guid":{"rendered":"https:\/\/jdhitsolutions.com\/blog\/?p=7422"},"modified":"2020-04-30T12:27:34","modified_gmt":"2020-04-30T16:27:34","slug":"backing-up-windows-terminal-settings-with-powershell","status":"publish","type":"post","link":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7422\/backing-up-windows-terminal-settings-with-powershell\/","title":{"rendered":"Backing Up Windows Terminal Settings with PowerShell"},"content":{"rendered":"<p>I've been a big fan of Windows Terminal since the very beginning. In fact, I've been using it for so long that I've been moving along profile settings that have long since changed. I didn't bother to update my settings. Part of the challenge is that the app will update in the background and I don't realize it. Which means I never go to look at release notes to see what has changed. The current release 0.11.1120 made some breaking changes, which I've now sorted out and my settings file is up to date and where I need it. Now, I need to keep good backups because I'm always tinkering with it. That means backup. And since I do everything in PowerShell, that means a script.<\/p>\n<p>Before I get to the script, let me mention one thing I am doing differently. The default location for the settings file is in your AppData folder.<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">$ENV:Userprofile\\AppData\\Local\\Packages\\Microsoft.WindowsTerminal_8wekyb3d8bbwe\\LocalState\\settings.json\n<\/pre>\n<p>This is where application is looking.\u00a0 But I want to make sure that file is backed up AND I'd like to use it on multiple systems. So I have created a hardlink to this file that points to a copy in my OneDrive folder. You can create a symbolic link but it won't work the way you want.<\/p>\n<blockquote><p>Creating a hardlink to file in a different location is most likely not a supported configuration for Windows Terminal and there's no guarantee it will work with future versions. But I'm willing to accept the risk.<\/p><\/blockquote>\n<p>If you are curious, here's a PowerShell snippet that you can use (at your own risk).<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">$params = @{\n    Path = \"$ENV:Userprofile\\AppData\\Local\\Packages\\Microsoft.WindowsTerminal_8wekyb3d8bbwe\\LocalState\\settings.json\"\n    ItemType = \"HardLink\"\n    Value = \"C:\\users\\jeff\\OneDrive\\windowsterminal\\settings.json\"\n}\n\nMove-Item -Path $params.path -Destination $params.value\nNew-Item @params\n<\/pre>\n<p>My backup script is going to use the new location but it will work with the original file as well. You will need to edit the script to meet your situation. The idea behind the script is to create\u00a0 numbered backups of the settings.json file like settings.bak1.json. The script has a parameter that you can use to limit the number of backup files. I'm using a default value of 7. The other parameter is the destination folder for the backup files. I'm using the same OneDrive folder.<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">#Backup-WTSettings.ps1\n\n[CmdletBinding(SupportsShouldProcess)]\nParam(\n    #how many backup copies should be saved\n    [int]$Limit = 7,\n    #backup folder\n    [parameter(HelpMessage = \"Specify the backup location\")]\n    [ValidateScript({Test-Path $_})]\n    [string]$Destination = \"C:\\users\\jeff\\OneDrive\\windowsTerminal\"\n)\n\n#Actual path to settings.json file - you will want to uncomment this line\n#$json = $ENV:Userprofile\\AppData\\Local\\Packages\\Microsoft.WindowsTerminal_8wekyb3d8bbwe\\LocalState\\settings.json\n\n#comment out or update to reflect the location of the settings.json file to backup.\n$json = \"C:\\users\\jeff\\OneDrive\\windowsterminal\\settings.json\"\n\nWrite-Verbose \"Backing up $json to $Destination\"\nWrite-Verbose \"Get existing backups and save as an array sorted by name\"\n\n[array]$bak = Get-ChildItem -path $Destination -Name settings.bak*.json | Sort-Object -Property name\n\nif ($bak.count -eq 0) {\n    Write-Verbose \"Creating first backup copy.\"\n    [int]$new = 1\n}\nelse {\n    #get the numeric value\n    [int]$counter = ([regex]\"\\d+\").match($bak[-1]).value\n    Write-Verbose \"Last backup is #$counter\"\n\n    [int]$new = $counter + 1\n    Write-Verbose \"Creating backup copy $new\"\n}\n\n$backup = Join-Path -path $Destination -ChildPath \"settings.bak$new.json\"\nWrite-Verbose \"Creating backup $backup\"\nCopy-Item -Path $json -Destination $backup\n\n#update the list of backups sorted by age and delete extras\nWrite-Verbose \"Removing any extra backup files over the limit of $Limit\"\n\nGet-ChildItem -path $Destination\\settings.bak*.json | \nSort-Object -Property LastWriteTime -Descending |\nSelect-Object -Skip $Limit | Remove-Item\n\n#renumber backup files\nWrite-Verbose \"Renumbering backup files\"\n&lt;#\nYou can't rename a file if it will conflict with an existing file so files will be copied\nto a temp folder with a new name, the old file deleted and then the copy restored\n#&gt;\nGet-ChildItem -path $Destination\\settings.bak*.json | \nSort-Object -Property LastWriteTime |\nForEach-Object -Begin {$n = 0} -process {\n    #rename each file with a new number\n    $n++\n    $temp = Join-Path -path $env:TEMP -ChildPath \"settings.bak$n.json\"\n\n    Write-Verbose \"Copying temp file to $temp\"\n    $_ | Copy-Item -Destination $temp\n\n    Write-Verbose \"Removing $($_.name)\"\n    $_ | Remove-Item\n\n} -end {\n    Write-Verbose \"Restoring temp files to $Destination\"\n    Get-ChildItem -Path \"$env:TEMP\\settings.bak*.json\" | Move-Item -Destination $Destination\n}\n\n#show current backup files\nGet-ChildItem -path $Destination\\settings.bak*.json | Sort-Object -Property LastWriteTime -Descending\n<\/pre>\n<p>I think the script is documented enough so that you can figure out what it is doing.<\/p>\n<p>In an earlier version I realized the numbering was going to increase even though I was deleting older folders. I decided that what I really wanted was to have no more than 7 files, settings.bak1.json through settings.bak7.json, with 1 representing the oldest backup. This meant I had to rename the backup files. The tricky part was that I had rename using a filename that already existed.\u00a0 The easiest solution was to copy the the numbered version to a temp folder, delete the file and then copy the temp files back to my destination directory.<\/p>\n<p>The script also supports -WhatIf and has Verbose output. If you have any questions about what I am doing or why, please feel free to post a comment. Enjoy and keep learning!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been a big fan of Windows Terminal since the very beginning. In fact, I&#8217;ve been using it for so long that I&#8217;ve been moving along profile settings that have long since changed. I didn&#8217;t bother to update my settings. Part of the challenge is that the app will update in the background and I&#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 on the blog: Backing Up Windows Terminal Settings with #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":[4,615],"tags":[201,534,540],"class_list":["post-7422","post","type-post","status-publish","format-standard","hentry","category-powershell","category-windows-terminal","tag-backup","tag-powershell","tag-scripting"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Backing Up Windows Terminal Settings with PowerShell &#8226; The Lonely Administrator<\/title>\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\/7422\/backing-up-windows-terminal-settings-with-powershell\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Backing Up Windows Terminal Settings with PowerShell &#8226; The Lonely Administrator\" \/>\n<meta property=\"og:description\" content=\"I&#039;ve been a big fan of Windows Terminal since the very beginning. In fact, I&#039;ve been using it for so long that I&#039;ve been moving along profile settings that have long since changed. I didn&#039;t bother to update my settings. Part of the challenge is that the app will update in the background and I...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jdhitsolutions.com\/blog\/powershell\/7422\/backing-up-windows-terminal-settings-with-powershell\/\" \/>\n<meta property=\"og:site_name\" content=\"The Lonely Administrator\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-30T16:27:34+00:00\" \/>\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\\\/7422\\\/backing-up-windows-terminal-settings-with-powershell\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7422\\\/backing-up-windows-terminal-settings-with-powershell\\\/\"},\"author\":{\"name\":\"Jeffery Hicks\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"headline\":\"Backing Up Windows Terminal Settings with PowerShell\",\"datePublished\":\"2020-04-30T16:27:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7422\\\/backing-up-windows-terminal-settings-with-powershell\\\/\"},\"wordCount\":517,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"keywords\":[\"Backup\",\"PowerShell\",\"Scripting\"],\"articleSection\":[\"PowerShell\",\"Windows Terminal\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7422\\\/backing-up-windows-terminal-settings-with-powershell\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7422\\\/backing-up-windows-terminal-settings-with-powershell\\\/\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7422\\\/backing-up-windows-terminal-settings-with-powershell\\\/\",\"name\":\"Backing Up Windows Terminal Settings with PowerShell &#8226; The Lonely Administrator\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#website\"},\"datePublished\":\"2020-04-30T16:27:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7422\\\/backing-up-windows-terminal-settings-with-powershell\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7422\\\/backing-up-windows-terminal-settings-with-powershell\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7422\\\/backing-up-windows-terminal-settings-with-powershell\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PowerShell\",\"item\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/category\\\/powershell\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Backing Up Windows Terminal Settings with PowerShell\"}]},{\"@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":"Backing Up Windows Terminal Settings with PowerShell &#8226; The Lonely Administrator","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\/7422\/backing-up-windows-terminal-settings-with-powershell\/","og_locale":"en_US","og_type":"article","og_title":"Backing Up Windows Terminal Settings with PowerShell &#8226; The Lonely Administrator","og_description":"I've been a big fan of Windows Terminal since the very beginning. In fact, I've been using it for so long that I've been moving along profile settings that have long since changed. I didn't bother to update my settings. Part of the challenge is that the app will update in the background and I...","og_url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7422\/backing-up-windows-terminal-settings-with-powershell\/","og_site_name":"The Lonely Administrator","article_published_time":"2020-04-30T16:27:34+00:00","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\/7422\/backing-up-windows-terminal-settings-with-powershell\/#article","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7422\/backing-up-windows-terminal-settings-with-powershell\/"},"author":{"name":"Jeffery Hicks","@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"headline":"Backing Up Windows Terminal Settings with PowerShell","datePublished":"2020-04-30T16:27:34+00:00","mainEntityOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7422\/backing-up-windows-terminal-settings-with-powershell\/"},"wordCount":517,"commentCount":3,"publisher":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"keywords":["Backup","PowerShell","Scripting"],"articleSection":["PowerShell","Windows Terminal"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/7422\/backing-up-windows-terminal-settings-with-powershell\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7422\/backing-up-windows-terminal-settings-with-powershell\/","url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7422\/backing-up-windows-terminal-settings-with-powershell\/","name":"Backing Up Windows Terminal Settings with PowerShell &#8226; The Lonely Administrator","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#website"},"datePublished":"2020-04-30T16:27:34+00:00","breadcrumb":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7422\/backing-up-windows-terminal-settings-with-powershell\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/7422\/backing-up-windows-terminal-settings-with-powershell\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7422\/backing-up-windows-terminal-settings-with-powershell\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"PowerShell","item":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},{"@type":"ListItem","position":2,"name":"Backing Up Windows Terminal Settings with PowerShell"}]},{"@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":7424,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7424\/powershell-helper-scripts-for-windows-terminal\/","url_meta":{"origin":7422,"position":0},"title":"PowerShell Helper Scripts for Windows Terminal","author":"Jeffery Hicks","date":"May 1, 2020","format":false,"excerpt":"I've spent some time over the last few days getting my Windows Terminal setup in order. Hopefull you saw my recent post about backing up my settings.json file. I've also put together a few other simple PowerShell scripts that I use to make Windows Terminal even easier to use and\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\/wtprocess.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wtprocess.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wtprocess.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wtprocess.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wtprocess.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wtprocess.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":7429,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7429\/a-powershell-windows-terminal-toolbox\/","url_meta":{"origin":7422,"position":1},"title":"A PowerShell Windows Terminal Toolbox","author":"Jeffery Hicks","date":"May 5, 2020","format":false,"excerpt":"Last week I shared some PowerShell code I had been using to manage different aspects of Windows Terminal. I also had posted a script to backup my Windows Terminal settings file.\u00a0 With all that code, plus other ideas brewing, it only made sense to bundle everything together into a PowerShell\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\/wtkeybindings.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wtkeybindings.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wtkeybindings.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/05\/wtkeybindings.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":5073,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/5073\/powershell-sessions-and-vs-code\/","url_meta":{"origin":7422,"position":2},"title":"PowerShell Sessions and VS Code","author":"Jeffery Hicks","date":"June 8, 2016","format":false,"excerpt":"If you do any amount of PowerShell scripting you have most likely heard about Visual Studio Code. This is a free cross-platform light-weight editor from Microsoft. VS Code supports multiple languages and is extensible. I've tried different versions since it was first released but never found a reason to jump\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},"img":{"alt_text":"image","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2016\/06\/image_thumb-5.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2016\/06\/image_thumb-5.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2016\/06\/image_thumb-5.png?resize=525%2C300 1.5x"},"classes":[]},{"id":7003,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7003\/friday-fun-getting-ahead-with-windows-terminal\/","url_meta":{"origin":7422,"position":3},"title":"Friday Fun: Getting Ahead with Windows Terminal","author":"Jeffery Hicks","date":"November 29, 2019","format":false,"excerpt":"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\u2026","rel":"","context":"In &quot;Friday Fun&quot;","block_context":{"text":"Friday Fun","link":"https:\/\/jdhitsolutions.com\/blog\/category\/friday-fun\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-23.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-23.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-23.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/11\/image_thumb-23.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":7242,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7242\/powershell-remoting-profiles-with-windows-terminal\/","url_meta":{"origin":7422,"position":4},"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":7985,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7985\/get-windows-terminal-keybindings\/","url_meta":{"origin":7422,"position":5},"title":"Get Windows Terminal KeyBindings","author":"Jeffery Hicks","date":"December 18, 2020","format":false,"excerpt":"As many of you know I am a big fan and daily user of Windows Terminal. So much so, that I wrote a PowerShell module called WTToolBox that you can install from the PowerShell Gallery. I've pushed a new version that does a better of getting key bindings. Windows Terminal\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\/12\/get-wtkeybinding.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/12\/get-wtkeybinding.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/12\/get-wtkeybinding.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/12\/get-wtkeybinding.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/12\/get-wtkeybinding.png?resize=1050%2C600&ssl=1 3x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/7422","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=7422"}],"version-history":[{"count":0,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/7422\/revisions"}],"wp:attachment":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=7422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=7422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=7422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}