{"id":7212,"date":"2020-02-01T10:44:30","date_gmt":"2020-02-01T15:44:30","guid":{"rendered":"https:\/\/jdhitsolutions.com\/blog\/?p=7212"},"modified":"2020-02-01T10:44:36","modified_gmt":"2020-02-01T15:44:36","slug":"adding-a-powershell-profile-calendar","status":"publish","type":"post","link":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/","title":{"rendered":"Adding a PowerShell Profile Calendar"},"content":{"rendered":"<p>Some of you may be aware of my <a title=\"visit the module's GitHub repository\" href=\"https:\/\/github.com\/jdhitsolutions\/PSCalendar\" target=\"_blank\" rel=\"noopener noreferrer\">PSCalendar<\/a> module which you can install from the PowerShell Gallery. The module contains commands that you can use to display a console-based calendar.\u00a0 The calendar commands let you specify days to highlight. These might be days with special events or appointments. I typically use the Show-Calendar command as it writes to the host and colorizes output.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"Show-Calendar in an Ubuntu session\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb.png\" alt=\"Show-Calendar in an Ubuntu session\" width=\"1028\" height=\"396\" border=\"0\" \/><\/a><\/p>\n<p>This command also has a parameter that lets you specify a position in your console. In other words, you can tell PowerShell <em>where<\/em> to display the calendar. I recently fixed a bug with the command that was producing less than optimal results. Now, I can use my PowerShell prompt function to display a calendar. The first thing you need to do is install at least version 1.10.0 of the PSCalendar module. Make sure it works.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"Validating the PSCalendar module\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-1.png\" alt=\"Validating the PSCalendar module\" width=\"1028\" height=\"393\" border=\"0\" \/><\/a><\/p>\n<p>Now you can add a calendar to your console via a prompt function. Here's the default PowerShell prompt function with additional code to display the calendar.<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">#requires -modules @{ModuleName=\"PSCalendar\";ModuleVersion=\"1.10.0\"}  \n\nFunction prompt {\n\n  #define a buffercell fill\n  $fill = [system.management.automation.host.buffercell]::new(\" \",$host.ui.RawUI.BackgroundColor,$host.ui.RawUI.BackgroundColor,\"complete\")\n \n  #define a rectangle with an upper left corner X distance from the edge\n  $left =$host.ui.RawUI.WindowSize.width - 42\n\n  #need to adjust positioning based on buffer size of the console\n  #is the cursor beyond the window size, ie have we scrolled down?\n    if ($host.UI.RawUI.CursorPosition.Y -gt $host.UI.RawUI.WindowSize.Height) {\n        $top = $host.ui.RawUI.CursorPosition.Y - $host.UI.RawUI.WindowSize.Height\n    }\n    else {\n        $top = 0\n    }\n  #    System.Management.Automation.Host.Rectangle new(int left, int top, int right, int bottom)\n  $r = [System.Management.Automation.Host.Rectangle]::new($left, 0, $host.ui.rawui.windowsize.width,$top+10)\n\n  #clear the area for the calendar display\n  $host.ui.rawui.SetBufferContents($r,$fill)\n\n  #show the calendar in the upper right corner of the console\n  $pos = [system.management.automation.host.coordinates]::new($left,0)\n  Show-Calendar -Position $pos\n\n  \"PS $($executionContext.SessionState.Path.CurrentLocation)$('&gt;' * ($nestedPromptLevel + 1)) \";\n\n# .Link\n# https:\/\/go.microsoft.com\/fwlink\/?LinkID=225750\n# .ExternalHelp System.Management.Automation.dll-help.xml\n\n}\n<\/pre>\n<p>I save this as a separate PowerShell script file and dot source it in my profile script. This function isn't designed for the PowerShell ISE and might not work well in the VS Code PowerShell terminals. I can't even guarantee it will work in your PowerShell consoles. Take this code as a proof-of-concept and not production-ready.<\/p>\n<p>The function displays the calendar for the current month in the upper right corner of your console. The prompt function clears that area and re-writes the calendar. This will work best if your console is at least 120 characters wide. Otherwise, you'll need to play with the code.<\/p>\n<p>The prompt function runs every time you press Enter.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"PowerShell Profile Calendar\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-2.png\" alt=\"PowerShell Profile Calendar\" width=\"1028\" height=\"605\" border=\"0\" \/><\/a><\/p>\n<p>I'm running in the Windows Terminal but this function should work in a traditional PowerShell console where you might have a large scroll buffer.<\/p>\n<p>The calendar will highlight dates in green. I set some values using $PSDefaultParameterValues in my profile.<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">$PSDefaultParameterValues[\"*-*calendar:Highlightdate\"]=\"1\/18\",\"1\/8\",\"1\/16\"\n<\/pre>\n<p>You can figure out where to get the dates that matter to you and populate the hashtable. I hope you'll let me know what you think about all of this. And now that I think I have a handle on console buffers and rectangles, I might revisit some older prompt functions. Hopefully, I'll have some more fun stuff for you to play with. In the meantime, don't miss that next event. Enjoy!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Some of you may be aware of my PSCalendar module which you can install from the PowerShell Gallery. The module contains commands that you can use to display a console-based calendar.\u00a0 The calendar commands let you specify days to highlight. These might be days with special events or appointments. I typically use the Show-Calendar command&#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":"A special Satruday post: Adding a #PowerShell Profile Calendar","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],"tags":[620,534,84,239],"class_list":["post-7212","post","type-post","status-publish","format-standard","hentry","category-powershell","tag-calendar","tag-powershell","tag-profile","tag-prompt"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Adding a PowerShell Profile Calendar &#8226; The Lonely Administrator<\/title>\n<meta name=\"description\" content=\"Let me show you how easy it is to add a calendar to your PowerShell console. Add it to your profile and you&#039;ll never miss a meeting or event again.\" \/>\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\/7212\/adding-a-powershell-profile-calendar\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Adding a PowerShell Profile Calendar &#8226; The Lonely Administrator\" \/>\n<meta property=\"og:description\" content=\"Let me show you how easy it is to add a calendar to your PowerShell console. Add it to your profile and you&#039;ll never miss a meeting or event again.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/\" \/>\n<meta property=\"og:site_name\" content=\"The Lonely Administrator\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-01T15:44:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-02-01T15:44:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb.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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/\"},\"author\":{\"name\":\"Jeffery Hicks\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"headline\":\"Adding a PowerShell Profile Calendar\",\"datePublished\":\"2020-02-01T15:44:30+00:00\",\"dateModified\":\"2020-02-01T15:44:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/\"},\"wordCount\":401,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/image_thumb.png\",\"keywords\":[\"calendar\",\"PowerShell\",\"Profile\",\"prompt\"],\"articleSection\":[\"PowerShell\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/\",\"name\":\"Adding a PowerShell Profile Calendar &#8226; The Lonely Administrator\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/image_thumb.png\",\"datePublished\":\"2020-02-01T15:44:30+00:00\",\"dateModified\":\"2020-02-01T15:44:36+00:00\",\"description\":\"Let me show you how easy it is to add a calendar to your PowerShell console. Add it to your profile and you'll never miss a meeting or event again.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/image_thumb.png\",\"contentUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/image_thumb.png\",\"width\":1028,\"height\":396},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7212\\\/adding-a-powershell-profile-calendar\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PowerShell\",\"item\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/category\\\/powershell\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Adding a PowerShell Profile Calendar\"}]},{\"@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":"Adding a PowerShell Profile Calendar &#8226; The Lonely Administrator","description":"Let me show you how easy it is to add a calendar to your PowerShell console. Add it to your profile and you'll never miss a meeting or event again.","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\/7212\/adding-a-powershell-profile-calendar\/","og_locale":"en_US","og_type":"article","og_title":"Adding a PowerShell Profile Calendar &#8226; The Lonely Administrator","og_description":"Let me show you how easy it is to add a calendar to your PowerShell console. Add it to your profile and you'll never miss a meeting or event again.","og_url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/","og_site_name":"The Lonely Administrator","article_published_time":"2020-02-01T15:44:30+00:00","article_modified_time":"2020-02-01T15:44:36+00:00","og_image":[{"url":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb.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":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/#article","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/"},"author":{"name":"Jeffery Hicks","@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"headline":"Adding a PowerShell Profile Calendar","datePublished":"2020-02-01T15:44:30+00:00","dateModified":"2020-02-01T15:44:36+00:00","mainEntityOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/"},"wordCount":401,"commentCount":1,"publisher":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/#primaryimage"},"thumbnailUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb.png","keywords":["calendar","PowerShell","Profile","prompt"],"articleSection":["PowerShell"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/","url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/","name":"Adding a PowerShell Profile Calendar &#8226; The Lonely Administrator","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/#primaryimage"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/#primaryimage"},"thumbnailUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb.png","datePublished":"2020-02-01T15:44:30+00:00","dateModified":"2020-02-01T15:44:36+00:00","description":"Let me show you how easy it is to add a calendar to your PowerShell console. Add it to your profile and you'll never miss a meeting or event again.","breadcrumb":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/#primaryimage","url":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb.png","contentUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb.png","width":1028,"height":396},{"@type":"BreadcrumbList","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7212\/adding-a-powershell-profile-calendar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"PowerShell","item":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},{"@type":"ListItem","position":2,"name":"Adding a PowerShell Profile Calendar"}]},{"@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":6101,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/6101\/powershell-calendaring-revisited\/","url_meta":{"origin":7212,"position":0},"title":"PowerShell Calendaring Revisited","author":"Jeffery Hicks","date":"September 28, 2018","format":false,"excerpt":"Early this week, I came across an old snippet of code in my scripts folder, originally published by Lee Holmes. It was an old script, from 2008, on using PowerShell to display a calendar with out of office information.\u00a0 I seem to recall that I had been trying to do\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\/09\/show-calendar-2_thumb.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2018\/09\/show-calendar-2_thumb.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2018\/09\/show-calendar-2_thumb.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2018\/09\/show-calendar-2_thumb.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":6388,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/6388\/maximizing-my-prompt-in-powershell-core\/","url_meta":{"origin":7212,"position":1},"title":"Maximizing My Prompt in PowerShell Core","author":"Jeffery Hicks","date":"January 10, 2019","format":false,"excerpt":"Yesterday I wrote about my intention to make PowerShell Core, running on Windows 10, my \"daily driver\". I've also written recently about using the PowerShell prompt function to provide a wide range of information. So I decided to combine the two, plus mix in some functionality from my other 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\/2019\/01\/image_thumb-13.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-13.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2019\/01\/image_thumb-13.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":7648,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7648\/updated-powershell-tools\/","url_meta":{"origin":7212,"position":2},"title":"Updated PowerShell Tools","author":"Jeffery Hicks","date":"August 14, 2020","format":false,"excerpt":"I've released a new version of my popular PSScriptTools module, which you can install from the PowerShell Gallery. The module is collection of commands and tools that I use in my scripting and day-to-day work at a PowerShell console. Many of the commands run in Windows PowerShell and PowerShell 7,\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\/08\/get-myalias-2.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/08\/get-myalias-2.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/08\/get-myalias-2.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/08\/get-myalias-2.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/08\/get-myalias-2.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/08\/get-myalias-2.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":8499,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/8499\/using-the-powershell-ise-as-a-remote-management-console\/","url_meta":{"origin":7212,"position":3},"title":"Using the PowerShell ISE as a Remote Management Console","author":"Jeffery Hicks","date":"July 20, 2021","format":false,"excerpt":"Way back before the days of PowerShell Core, or even VS Code for that matter, the PowerShell ISE was the center of my PowerShell world. I spent a lot of time finding ways to make it easier for me to use and to push it to its limits. Naturally, 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\/2021\/07\/ise-remotetab-form2.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":3121,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3121\/browsing-powershell-commands\/","url_meta":{"origin":7212,"position":4},"title":"Browsing PowerShell Commands","author":"Jeffery Hicks","date":"June 25, 2013","format":false,"excerpt":"Whenever I'm exploring a new PowerShell module or snapin, one of the first things I do is list all of the commands found within the module. PS C:\\scripts> get-command -module psworkflow CommandType Name ModuleName ----------- ---- ---------- Function New-PSWorkflowSession PSWorkflow Cmdlet New-PSWorkflowExecutionOption PSWorkflow You can specify either a module or\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},"img":{"alt_text":"get-command-mod","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2013\/06\/get-command-mod-1024x670.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2013\/06\/get-command-mod-1024x670.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2013\/06\/get-command-mod-1024x670.png?resize=525%2C300 1.5x"},"classes":[]},{"id":5641,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/5641\/powershell-pop-quiz\/","url_meta":{"origin":7212,"position":5},"title":"PowerShell Pop Quiz","author":"Jeffery Hicks","date":"September 13, 2017","format":false,"excerpt":"I'm always looking for ways to help teach PowerShell and the other day I thought why not have PowerShell teach you itself? I have created a PowerShell script that dynamically generates a quiz on cmdlets and functions installed on your computer. In short the quiz question shows you a command\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\/2017\/09\/image_thumb.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2017\/09\/image_thumb.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2017\/09\/image_thumb.png?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2017\/09\/image_thumb.png?resize=700%2C400 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/7212","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=7212"}],"version-history":[{"count":0,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/7212\/revisions"}],"wp:attachment":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=7212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=7212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=7212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}