{"id":7222,"date":"2020-02-05T09:38:25","date_gmt":"2020-02-05T14:38:25","guid":{"rendered":"https:\/\/jdhitsolutions.com\/blog\/?p=7222"},"modified":"2020-02-05T09:38:32","modified_gmt":"2020-02-05T14:38:32","slug":"learn-more-about-powershell-and-regular-expressions","status":"publish","type":"post","link":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/","title":{"rendered":"Learn More about PowerShell and Regular Expressions"},"content":{"rendered":"<p>For many Windows-oriented IT Pros, and I used to be one of them, regular expressions was an arcane topic that was too hard to learn. And we never really had a compelling need to learn because we were busy clicky-clicking everything. Then came PowerShell and we discovered, or maybe rediscovered, a whole new way to work. Managing from a command prompt is actually quite liberating.\u00a0 Today I'd say that if you don't have at least some regular expression skill, you are missing out. Even though PowerShell is all about objects in the pipeline, there are plenty of opportunities where being able to parse a string of text is invaluable.<\/p>\n<p><!--more--><\/p>\n<p>As an example, here is a function that is part of a larger project which is why it has a non-standard name. The function isn't supposed to be exposed to the user.<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">Function GitStat {\n    param()\n    if (Test-Path .git) {\n        $s = (git status --porcelain).trim()\n        $untracked = ($s). Where({$_ -match \"^\\?\\?\"})\n        $add = ($s).where({$_ -match \"^A\"})\n        $del = ($s).where({$_ -match \"^D\"})\n        $mod = ($s).where({$_ -match \"^M\"})\n        [regex]$rx = \"\\*.\\S+\"\n        #get the matching git branch which has the * and split the string to get only the branch name\n        $branch = $rx.match((git branch)).value.split()[-1]\n        Write-Host \"[\" -NoNewline -ForegroundColor Cyan\n        Write-Host \"$branch : \" -NoNewline -ForegroundColor Yellow\n        Write-Host \"+$($add.count)\" -NoNewline -ForegroundColor Green\n        Write-Host \" ~$($mod.count)\" -NoNewline -ForegroundColor Cyan\n        Write-Host \" -$($del.count)\" -NoNewline -ForegroundColor Red\n        Write-Host \" ?$($untracked.count)\" -NoNewline -ForegroundColor Magenta\n        Write-Host \"] \" -NoNewline -ForegroundColor Gray\n    }\n}\n<\/pre>\n<p>The function parses the output of a git command and writes a colorized summary to the host.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"Git status with PowerShell\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-3.png\" alt=\"Git status with PowerShell\" width=\"722\" height=\"190\" border=\"0\" \/><\/a><\/p>\n<p>Without getting too much into the code, I am using regular expressions to build a string that shows the current branch, and the number of added, modified, deleted, and untracked files. Here's another use case for regular expressions.<\/p>\n<p>In my modules, I've started adding online help links to help documentation. The <a title=\"Read online help for this command\" href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=113388\" target=\"_blank\" rel=\"noopener noreferrer\">Select-String<\/a> cmdlet, which can use a regular expression pattern, makes it easy to discover which files need to be updated.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"Fnding data with Select-String\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-4.png\" alt=\"Finding data with Select-String\" width=\"1028\" height=\"232\" border=\"0\" \/><\/a><\/p>\n<p>In this case, the pattern is a simple string. And the list of files is short enough that it isn't difficult to know what files I need to edit. But I could also use a pattern to find files that are <em>missing<\/em> the link.<\/p>\n<p><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"Finding missing data with Select-String\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-5.png\" alt=\"Finding missing data with Select-String\" width=\"1028\" height=\"137\" border=\"0\" \/><\/a><\/p>\n<p>Even better, because Select-String writes an object to the pipeline, I can open the files directly in VS Code. Either of these examples will get the job done.<\/p>\n<pre class=\"lang:ps mark:0 decode:true\">dir docs\\*.md | select-string -Pattern \"online version:\\s+(?!\\w+)\" | foreach-object { code $_.path }\n#or\ncode (dir docs\\*.md | select-string -Pattern \"online version:\\s+(?!\\w+)\").path\n<\/pre>\n<p>If by this point you are feeling you need to learn more, I have you covered. I recently finished a new <a href=\"http:\/\/www.pluralsight.com\" target=\"_blank\" rel=\"noopener noreferrer\">Pluralsight<\/a> course on <a title=\"visit the course on Pluralsight\" href=\"https:\/\/www.pluralsight.com\/courses\/powershell-regular-expressions\" target=\"_blank\" rel=\"noopener noreferrer\">PowerShell and Regular Expressions<\/a>. In it, I teach regular expression fundamentals and basic techniques. Click <a title=\"Course overview\" href=\"https:\/\/app.pluralsight.com\/player?name=2583181b-05bf-4ccb-bbc7-3fb3c254586e&amp;mode=live&amp;clip=0&amp;course=powershell-regular-expressions\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> to see a short video overview. You'll probably use them 90% of the time in PowerShell. But I also dive into advanced topics such as named captures, look ahead and look behind. If you are a Pluralsight subscriber, I hope you'll add the course to your playlist. In the meantime, I'm sure I'll have more blog content this year that includes regular expressions.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For many Windows-oriented IT Pros, and I used to be one of them, regular expressions was an arcane topic that was too hard to learn. And we never really had a compelling need to learn because we were busy clicky-clicking everything. Then came PowerShell and we discovered, or maybe rediscovered, a whole new way to&#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":"Learn More about #PowerShell and Regular Expressions","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":[461,4],"tags":[578,534,250],"class_list":["post-7222","post","type-post","status-publish","format-standard","hentry","category-pluralsight","category-powershell","tag-pluralsight","tag-powershell","tag-regular-expressions"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Learn More about PowerShell and Regular Expressions &#8226; The Lonely Administrator<\/title>\n<meta name=\"description\" content=\"If you&#039;ve been wondering why you should learn how to use regular expressions with PowerShell, here are a few reasons why. And I have a video course to help.\" \/>\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\/7222\/learn-more-about-powershell-and-regular-expressions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Learn More about PowerShell and Regular Expressions &#8226; The Lonely Administrator\" \/>\n<meta property=\"og:description\" content=\"If you&#039;ve been wondering why you should learn how to use regular expressions with PowerShell, here are a few reasons why. And I have a video course to help.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/\" \/>\n<meta property=\"og:site_name\" content=\"The Lonely Administrator\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-05T14:38:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-02-05T14:38:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-3.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\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/\"},\"author\":{\"name\":\"Jeffery Hicks\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"headline\":\"Learn More about PowerShell and Regular Expressions\",\"datePublished\":\"2020-02-05T14:38:25+00:00\",\"dateModified\":\"2020-02-05T14:38:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/\"},\"wordCount\":420,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/image_thumb-3.png\",\"keywords\":[\"Pluralsight\",\"PowerShell\",\"Regular Expressions\"],\"articleSection\":[\"Pluralsight\",\"PowerShell\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/\",\"name\":\"Learn More about PowerShell and Regular Expressions &#8226; The Lonely Administrator\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/image_thumb-3.png\",\"datePublished\":\"2020-02-05T14:38:25+00:00\",\"dateModified\":\"2020-02-05T14:38:32+00:00\",\"description\":\"If you've been wondering why you should learn how to use regular expressions with PowerShell, here are a few reasons why. And I have a video course to help.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/image_thumb-3.png\",\"contentUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/image_thumb-3.png\",\"width\":722,\"height\":190},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/7222\\\/learn-more-about-powershell-and-regular-expressions\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Pluralsight\",\"item\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/category\\\/pluralsight\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Learn More about PowerShell and Regular Expressions\"}]},{\"@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":"Learn More about PowerShell and Regular Expressions &#8226; The Lonely Administrator","description":"If you've been wondering why you should learn how to use regular expressions with PowerShell, here are a few reasons why. And I have a video course to help.","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\/7222\/learn-more-about-powershell-and-regular-expressions\/","og_locale":"en_US","og_type":"article","og_title":"Learn More about PowerShell and Regular Expressions &#8226; The Lonely Administrator","og_description":"If you've been wondering why you should learn how to use regular expressions with PowerShell, here are a few reasons why. And I have a video course to help.","og_url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/","og_site_name":"The Lonely Administrator","article_published_time":"2020-02-05T14:38:25+00:00","article_modified_time":"2020-02-05T14:38:32+00:00","og_image":[{"url":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-3.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\/7222\/learn-more-about-powershell-and-regular-expressions\/#article","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/"},"author":{"name":"Jeffery Hicks","@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"headline":"Learn More about PowerShell and Regular Expressions","datePublished":"2020-02-05T14:38:25+00:00","dateModified":"2020-02-05T14:38:32+00:00","mainEntityOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/"},"wordCount":420,"commentCount":3,"publisher":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/#primaryimage"},"thumbnailUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-3.png","keywords":["Pluralsight","PowerShell","Regular Expressions"],"articleSection":["Pluralsight","PowerShell"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/","url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/","name":"Learn More about PowerShell and Regular Expressions &#8226; The Lonely Administrator","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/#primaryimage"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/#primaryimage"},"thumbnailUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-3.png","datePublished":"2020-02-05T14:38:25+00:00","dateModified":"2020-02-05T14:38:32+00:00","description":"If you've been wondering why you should learn how to use regular expressions with PowerShell, here are a few reasons why. And I have a video course to help.","breadcrumb":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/#primaryimage","url":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-3.png","contentUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/02\/image_thumb-3.png","width":722,"height":190},{"@type":"BreadcrumbList","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/7222\/learn-more-about-powershell-and-regular-expressions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Pluralsight","item":"https:\/\/jdhitsolutions.com\/blog\/category\/pluralsight\/"},{"@type":"ListItem","position":2,"name":"Learn More about PowerShell and Regular Expressions"}]},{"@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":3824,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/3824\/happy-birthday-pluralsight\/","url_meta":{"origin":7222,"position":0},"title":"Happy Birthday Pluralsight","author":"Jeffery Hicks","date":"April 23, 2014","format":false,"excerpt":"Pluralsight is celebrating its 10th birthday today. As part of their celebration they are running a quick contest with a cool prize. They also asked authors for a birthday greeting or message. Since all of my courses are PowerShell related it seemed only fitting to do something like this: Sure,\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":5583,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/5583\/your-first-day-with-powershell\/","url_meta":{"origin":7222,"position":1},"title":"Your First Day with PowerShell","author":"Jeffery Hicks","date":"May 15, 2017","format":false,"excerpt":"I'm happy to let everyone know that my latest Pluralsight course is now available. \"Your First Day with PowerShell\" is a short course targeted at the absolute PowerShell beginner. I wanted to be there as it were as you started your very first day learning and using PowerShell. My goal\u2026","rel":"","context":"In &quot;Pluralsight&quot;","block_context":{"text":"Pluralsight","link":"https:\/\/jdhitsolutions.com\/blog\/category\/pluralsight\/"},"img":{"alt_text":"Your First Day with PowerShell Objectives","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2017\/05\/image_thumb-8.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2017\/05\/image_thumb-8.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2017\/05\/image_thumb-8.png?resize=525%2C300 1.5x"},"classes":[]},{"id":3861,"url":"https:\/\/jdhitsolutions.com\/blog\/training\/3861\/new-powershell-pluralsight-course\/","url_meta":{"origin":7222,"position":2},"title":"New PowerShell Pluralsight Course","author":"Jeffery Hicks","date":"May 23, 2014","format":false,"excerpt":"I am so happy to announce that my first course under the Pluralsight badge has been released. My latest course is titled PowerShell v4 New Features. This course is aimed at IT Pros with previous experience using PowerShell, especially PowerShell v3. The course runs just under 3 hours (although it\u2026","rel":"","context":"In &quot;Pluralsight&quot;","block_context":{"text":"Pluralsight","link":"https:\/\/jdhitsolutions.com\/blog\/category\/pluralsight\/"},"img":{"alt_text":"WatermarkLogo151x79","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2014\/05\/WatermarkLogo151x79.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":4389,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/4389\/powershell-play-by-play-with-don-jones\/","url_meta":{"origin":7222,"position":3},"title":"PowerShell Play by Play with Don Jones","author":"Jeffery Hicks","date":"April 18, 2015","format":false,"excerpt":"I'm very excited to tell you about this latest effort from Pluralsight. A few months ago I sat down with Don Jones, and we recorded a live course on getting started with PowerShell.\u00a0 The finished product has finally been released. Over the course of about an hour we talk about\u2026","rel":"","context":"In &quot;Pluralsight&quot;","block_context":{"text":"Pluralsight","link":"https:\/\/jdhitsolutions.com\/blog\/category\/pluralsight\/"},"img":{"alt_text":"pluralsight_logo","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2015\/04\/pluralsight_logo.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":7817,"url":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/7817\/distinguished-parsing-with-powershell-and-regex\/","url_meta":{"origin":7222,"position":4},"title":"Distinguished Parsing with PowerShell and Regex","author":"Jeffery Hicks","date":"October 29, 2020","format":false,"excerpt":"The other day I'm chatting with my friend Gladys Kravitz about Active Directory and she makes an off-hand remark about parsing out organizational unit names from a distinguished name. On one hand, this is a pretty simple task, assuming a proper distinguished name from the Active Directory cmdlets. All you\u2026","rel":"","context":"In &quot;Active Directory&quot;","block_context":{"text":"Active Directory","link":"https:\/\/jdhitsolutions.com\/blog\/category\/active-directory\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/10\/ignore-case.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/10\/ignore-case.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/10\/ignore-case.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2020\/10\/ignore-case.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":4256,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/4256\/devops-twitter-chat\/","url_meta":{"origin":7222,"position":5},"title":"DevOps Twitter Chat","author":"Jeffery Hicks","date":"February 24, 2015","format":false,"excerpt":"This Thursday, February 26, I will be doing a live Twitter chat from 12PM to 1PM EST. The topic is DevOps but I'm sure we'll talk about PowerShell and automation in general. Use hashtag #DevOpsChat to submit questions and follow along. You can follow me on Twitter as @JeffHicks. I\u2026","rel":"","context":"In &quot;Pluralsight&quot;","block_context":{"text":"Pluralsight","link":"https:\/\/jdhitsolutions.com\/blog\/category\/pluralsight\/"},"img":{"alt_text":"DevOpsChat-tw_v1_sd","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2015\/02\/DevOpsChat-tw_v1_sd-300x150.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/7222","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=7222"}],"version-history":[{"count":0,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/7222\/revisions"}],"wp:attachment":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=7222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=7222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=7222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}