{"id":3888,"date":"2014-06-23T09:35:43","date_gmt":"2014-06-23T13:35:43","guid":{"rendered":"http:\/\/jdhitsolutions.com\/blog\/?p=3888"},"modified":"2014-06-23T09:35:43","modified_gmt":"2014-06-23T13:35:43","slug":"powershell-for-the-lazy-it-pro","status":"publish","type":"post","link":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/","title":{"rendered":"PowerShell for the Lazy IT Pro"},"content":{"rendered":"<p><a href=\"http:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2014\/06\/hammock.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2014\/06\/hammock.png\" alt=\"hammock\" width=\"94\" height=\"89\" class=\"alignleft size-full wp-image-3890\" \/><\/a>PowerShell is a great enabler for those of us who don't like to work any harder than we have to. Well, maybe I should say, \"for those of us who like to work more efficiently.\"  PowerShell already comes loaded with a number of shortcuts and tricks for getting more done with less effort. Something that I always find  frustrating is using object property names later in an expression. Especially property names that are a bit on the long side. For example, here is a typical command:<\/p>\n<pre class=\"lang:batch decode:true \" >PS C:\\&gt; dir c:\\work\\*.xml | sort LastWriteTime\r\n\r\n\r\n    Directory: C:\\work\r\n\r\n\r\nMode                LastWriteTime     Length Name\r\n----                -------------     ------ ----\r\n-a---         12\/5\/2013   4:19 PM        228 ComputerData.xml\r\n-a---         12\/5\/2013   5:31 PM       1930 csdata.xml\r\n-a---         12\/5\/2013   5:33 PM       1336 csdata2.xml\r\n-a---         12\/6\/2013   9:32 AM       1352 mydata.xml\r\n-a---        12\/27\/2013  12:39 PM   17060304 WeeklyProcs.xml\r\n-a---        12\/30\/2013   6:12 PM          3 x.xml\r\n-a---         2\/24\/2014   4:02 PM       1138 foo.xml\r\n-a---         2\/25\/2014   9:51 AM      28740 servercoremod.xml\r\n-a---         6\/16\/2014   1:32 PM     104622 windowtime.xml<\/pre>\n<p>I find it tedious to type LastWriteTime. One thing even I keep forgetting is that tab completion will work in this situation. I can start typing the the property name, hit the Tab key and PowerShell should expand the property. This is probably the optimal solution and something I need to make a habit.<\/p>\n<p>Another alternative is to create a shortcut variable.<\/p>\n<pre class=\"lang:ps decode:true \" >PS C:\\&gt; $lwt = \"lastWriteTime\"\r\nPS C:\\&gt; dir c:\\work\\*.xml | sort $lwt<\/pre>\n<p>The result is the same, and tab completion works on the variable name as well. Using this approach you would define these variables in your PowerShell profile. The third approach is to create your own aliases for commonly used properties.<\/p>\n<p>In PowerShell 3.0 and later you can accomplish this with the Update-TypeData cmdlet. <\/p>\n<pre class=\"lang:ps decode:true \" >Update-TypeData -TypeName System.IO.FileInfo -MemberType AliasProperty -MemberName sz -Value Length\r\nUpdate-TypeData -TypeName System.IO.FileInfo -MemberType AliasProperty -MemberName lwt -Value LastWriteTime\r\n<\/pre>\n<p>I've just created 2 alias properties for file objects, and yes tab completion will work with these as well.<\/p>\n<pre class=\"lang:batch decode:true \" >PS C:\\&gt; dir c:\\work\\*.xml | sort lwt,sz | select name,sz,lwt\r\n\r\nName                                                            sz lwt\r\n----                                                            -- ---\r\nComputerData.xml                                               228 12\/5\/2013 4:19:42 PM\r\ncsdata.xml                                                    1930 12\/5\/2013 5:31:48 PM\r\ncsdata2.xml                                                   1336 12\/5\/2013 5:33:32 PM\r\nmydata.xml                                                    1352 12\/6\/2013 9:32:20 AM\r\nWeeklyProcs.xml                                           17060304 12\/27\/2013 12:39:52 PM\r\nx.xml                                                            3 12\/30\/2013 6:12:29 PM\r\nfoo.xml                                                       1138 2\/24\/2014 4:02:18 PM\r\nservercoremod.xml                                            28740 2\/25\/2014 9:51:04 AM\r\nwindowtime.xml                                              104622 6\/16\/2014 1:32:03 PM<\/pre>\n<p>In this case, the aliases help with the sort command but perhaps not so much with the Select-Object portion of the expression. So, I might add some additional aliases, which are going to be more meaningful anyway.<\/p>\n<pre class=\"lang:ps decode:true \" >Update-TypeData -TypeName System.IO.FileInfo -MemberType AliasProperty -MemberName Size -Value Length\r\nUpdate-TypeData -TypeName System.IO.FileInfo -MemberType AliasProperty -MemberName Modified -Value LastWriteTime\r\nUpdate-TypeData -TypeName System.IO.FileInfo -MemberType AliasProperty -MemberName Created -Value CreationTime\r\n<\/pre>\n<p>Now I can have the best of everything:<\/p>\n<pre class=\"lang:batch decode:true \" >PS C:\\&gt; dir c:\\work\\*.xml | sort lwt,sz | select Name,Size,Created,Modified\r\n\r\nName                                         Size Created                  Modified\r\n----                                         ---- -------                  --------\r\nComputerData.xml                              228 12\/5\/2013 2:12:22 PM     12\/5\/2013 4:19:42 PM\r\ncsdata.xml                                   1930 12\/5\/2013 5:31:48 PM     12\/5\/2013 5:31:48 PM\r\ncsdata2.xml                                  1336 12\/5\/2013 5:33:32 PM     12\/5\/2013 5:33:32 PM\r\nmydata.xml                                   1352 12\/6\/2013 8:45:48 AM     12\/6\/2013 9:32:20 AM\r\nWeeklyProcs.xml                          17060304 12\/27\/2013 12:39:33 PM   12\/27\/2013 12:39:52 PM\r\nx.xml                                           3 12\/30\/2013 6:12:29 PM    12\/30\/2013 6:12:29 PM\r\nfoo.xml                                      1138 2\/24\/2014 2:36:39 PM     2\/24\/2014 4:02:18 PM\r\nservercoremod.xml                           28740 2\/25\/2014 9:49:59 AM     2\/25\/2014 9:51:04 AM\r\nwindowtime.xml                             104622 6\/16\/2014 1:32:03 PM     6\/16\/2014 1:32:03 PM<\/pre>\n<p>I put all of the Update-TypeData commands into a script, and dot source it in my profile script. Now I have some shortcuts to save some typing, even more so if I remember to use tab completion, as well as some aliases to give me more meaningful output.<\/p>\n<p>Have a great week and try not to work too hard!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PowerShell is a great enabler for those of us who don&#8217;t like to work any harder than we have to. Well, maybe I should say, &#8220;for those of us who like to work more efficiently.&#8221; PowerShell already comes loaded with a number of shortcuts and tricks for getting more done with less effort. Something that&#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":"#PowerShell for the Lazy IT Pro http:\/\/bit.ly\/1j60xaX","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":[],"class_list":["post-3888","post","type-post","status-publish","format-standard","hentry","category-powershell"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PowerShell for the Lazy IT Pro &#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\/3888\/powershell-for-the-lazy-it-pro\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PowerShell for the Lazy IT Pro &#8226; The Lonely Administrator\" \/>\n<meta property=\"og:description\" content=\"PowerShell is a great enabler for those of us who don&#039;t like to work any harder than we have to. Well, maybe I should say, &quot;for those of us who like to work more efficiently.&quot; PowerShell already comes loaded with a number of shortcuts and tricks for getting more done with less effort. Something that...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/\" \/>\n<meta property=\"og:site_name\" content=\"The Lonely Administrator\" \/>\n<meta property=\"article:published_time\" content=\"2014-06-23T13:35:43+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2014\/06\/hammock.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\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/\"},\"author\":{\"name\":\"Jeffery Hicks\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"headline\":\"PowerShell for the Lazy IT Pro\",\"datePublished\":\"2014-06-23T13:35:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/\"},\"wordCount\":330,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/hammock.png\",\"articleSection\":[\"PowerShell\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/\",\"name\":\"PowerShell for the Lazy IT Pro &#8226; The Lonely Administrator\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/hammock.png\",\"datePublished\":\"2014-06-23T13:35:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/#primaryimage\",\"url\":\"http:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/hammock.png\",\"contentUrl\":\"http:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/hammock.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/3888\\\/powershell-for-the-lazy-it-pro\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PowerShell\",\"item\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/category\\\/powershell\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PowerShell for the Lazy IT Pro\"}]},{\"@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":"PowerShell for the Lazy IT Pro &#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\/3888\/powershell-for-the-lazy-it-pro\/","og_locale":"en_US","og_type":"article","og_title":"PowerShell for the Lazy IT Pro &#8226; The Lonely Administrator","og_description":"PowerShell is a great enabler for those of us who don't like to work any harder than we have to. Well, maybe I should say, \"for those of us who like to work more efficiently.\" PowerShell already comes loaded with a number of shortcuts and tricks for getting more done with less effort. Something that...","og_url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/","og_site_name":"The Lonely Administrator","article_published_time":"2014-06-23T13:35:43+00:00","og_image":[{"url":"http:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2014\/06\/hammock.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\/3888\/powershell-for-the-lazy-it-pro\/#article","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/"},"author":{"name":"Jeffery Hicks","@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"headline":"PowerShell for the Lazy IT Pro","datePublished":"2014-06-23T13:35:43+00:00","mainEntityOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/"},"wordCount":330,"commentCount":0,"publisher":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/#primaryimage"},"thumbnailUrl":"http:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2014\/06\/hammock.png","articleSection":["PowerShell"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/","url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/","name":"PowerShell for the Lazy IT Pro &#8226; The Lonely Administrator","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/#primaryimage"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/#primaryimage"},"thumbnailUrl":"http:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2014\/06\/hammock.png","datePublished":"2014-06-23T13:35:43+00:00","breadcrumb":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/#primaryimage","url":"http:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2014\/06\/hammock.png","contentUrl":"http:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2014\/06\/hammock.png"},{"@type":"BreadcrumbList","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3888\/powershell-for-the-lazy-it-pro\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"PowerShell","item":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},{"@type":"ListItem","position":2,"name":"PowerShell for the Lazy IT Pro"}]},{"@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":1677,"url":"https:\/\/jdhitsolutions.com\/blog\/scripting\/1677\/renaming-files-with-powershell\/","url_meta":{"origin":3888,"position":0},"title":"Renaming Files with PowerShell","author":"Jeffery Hicks","date":"October 12, 2011","format":false,"excerpt":"I am not a big fan of file names with spaces. I realize they are easy to read and obviously much more \"natural\", but they are simply a royal pain to deal with, especially when working from a command prompt or PowerShell. So naturally the solution is to rename these\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":4112,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/4112\/scary-powershell\/","url_meta":{"origin":3888,"position":1},"title":"Scary PowerShell","author":"Jeffery Hicks","date":"October 31, 2014","format":false,"excerpt":"In honor of today's festivities, at least in the United States, I thought we'd look at some scary PowerShell. I have seen a lot of scary things in blog posts, tweets and forum discussions. Often these scary things are from people just getting started with PowerShell who simply haven't learned\u2026","rel":"","context":"In &quot;Best Practices&quot;","block_context":{"text":"Best Practices","link":"https:\/\/jdhitsolutions.com\/blog\/category\/best-practices\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2014\/10\/103114_1654_ScaryPowerS1.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":9260,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/9260\/friday-fun-with-psquizzes\/","url_meta":{"origin":3888,"position":2},"title":"Friday Fun with PSQuizzes","author":"Jeffery Hicks","date":"August 25, 2023","format":false,"excerpt":"Time to get back to the to blog. I've been working through my backlog of projects. These are things that I started writing or updating but then got pushed to the back of the line. One of these projects is a PowerShell module I wrote as a teaching tool. The\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\/2023\/08\/quiz-complete.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2023\/08\/quiz-complete.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2023\/08\/quiz-complete.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2023\/08\/quiz-complete.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":7350,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7350\/extending-external-scripts-in-powershell\/","url_meta":{"origin":3888,"position":3},"title":"Extending External Scripts in PowerShell","author":"Jeffery Hicks","date":"March 11, 2020","format":false,"excerpt":"I'm always looking for ways to do more with PowerShell. And often, once I find a technique, I look for other areas where I can apply it. I'm hoping that today might be like that for you. You may not have a need to duplicate my work in this article,\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\/03\/get-external-formatted.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/03\/get-external-formatted.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/03\/get-external-formatted.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/03\/get-external-formatted.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/03\/get-external-formatted.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/03\/get-external-formatted.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":8215,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/8215\/powershell-property-sets-to-the-rescue\/","url_meta":{"origin":3888,"position":4},"title":"PowerShell Property Sets to the Rescue","author":"Jeffery Hicks","date":"March 11, 2021","format":false,"excerpt":"if you are like me and spend most of your day at a PowerShell prompt, anything that simplifies that process is worth the time to learn or set up. Even though I am a decent typist, I am more than happy to find ways to type less at a PowerShell\u2026","rel":"","context":"In &quot;GitHub&quot;","block_context":{"text":"GitHub","link":"https:\/\/jdhitsolutions.com\/blog\/category\/github\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/file-typeextensions2.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/file-typeextensions2.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/file-typeextensions2.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/file-typeextensions2.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":2673,"url":"https:\/\/jdhitsolutions.com\/blog\/scripting\/2673\/friday-fun-edit-recent-file\/","url_meta":{"origin":3888,"position":5},"title":"Friday Fun: Edit Recent File","author":"Jeffery Hicks","date":"January 4, 2013","format":false,"excerpt":"As you might imagine I work on a lot of PowerShell projects at the same time. Sometimes I'll start something at the beginning of the week and then need to come back to it at the end of the week. The problem is that I can't always remembered what I\u2026","rel":"","context":"In &quot;Powershell 3.0&quot;","block_context":{"text":"Powershell 3.0","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell-3-0\/"},"img":{"alt_text":"Edit-RecentFile","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2013\/01\/Edit-RecentFile-300x209.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/3888","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=3888"}],"version-history":[{"count":0,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/3888\/revisions"}],"wp:attachment":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=3888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=3888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=3888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}