{"id":9225,"date":"2023-02-28T12:58:44","date_gmt":"2023-02-28T17:58:44","guid":{"rendered":"https:\/\/jdhitsolutions.com\/blog\/?p=9225"},"modified":"2023-02-28T12:58:46","modified_gmt":"2023-02-28T17:58:46","slug":"automation-decisions","status":"publish","type":"post","link":"https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/","title":{"rendered":"Automation Decisions"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>This post is an updated reprint from an article published to my premium PowerShell newsletter <em>Behind the PowerShell Pipeline<\/em> available on <a href=\"https:\/\/jeffhicks.substack.com\" target=\"_blank\" rel=\"noreferrer noopener\">Substack<\/a>. Subscribers receive 6-8 articles like this a month delivered to their inbox or available on the Substack app. I hope you\u2019ll consider subscribing. Trial subscriptions are available.<\/p>\n<\/blockquote>\n\n\n\n<p>I\u2019ve been scripting and automating things since the days of DOS 3.3, beginning with batch files. It always felt like magic. I could cast a charm simply by typing a few characters on a keyboard. Naturally, my magic skills went from batch files to VBScript to PowerShell. Throughout it all, I\u2019ve also had an internal decision tree regarding automation. Over the years, I\u2019ve seen IT pros new to scripting and automation needlessly struggle. Often it is due to a deficiency in their decision tree. Today, I thought I\u2019d help you nurture yours.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Is it Worth the Investment?<\/h2>\n\n\n\n<p>This is the first question you should always ask when considering a new automation project. I\u2019m sure you\u2019ve all heard the phrase, \u201cJust because you can do something doesn\u2019t mean you should.\u201d This is especially true when it comes to PowerShell.<\/p>\n\n\n\n<p>PowerShell makes it easy to automate tasks. Ideally, you use PowerShell and automation to handle repetitive tasks, especially unglamorous tasks that must be done regularly. Any PowerShell solution that you develop will require an investment. At a minimum, you are investing time to write your code. This is time you are taking away from other work. Depending on the task, you may need to invest in additional educational material such as books or courseware.<\/p>\n\n\n\n<p>As you consider a new PowerShell project, you need to be able to estimate how much time you will need. This becomes easier as you gain experience. And with experience, you\u2019ll also find you can do more in less time. You need to weigh the time required against the time saved. For example, I probably wouldn\u2019t take the time to build tooling around enabling the Active Directory Recycle Bin feature. Yes, you use PowerShell, but this is not an ongoing task. But I would create a PowerShell tool around resetting a user\u2019s password.<\/p>\n\n\n\n<p>Of course, there are exceptions. You may want to develop a PowerShell solution as a means of improving and expanding your scripting skills. I\u2019ve been known to joke about spending a day writing a PowerShell function that saves me a few seconds. But, over the course of a year, those seconds add up. And when I\u2019m finished, I\u2019ve most likely learned something that I can use in future projects. In these situations, I\u2019m using a different metric to justify my investment. It isn\u2019t the time I\u2019m saving but the learning process that warrants my time.<\/p>\n\n\n\n<p>The bottom line is you need to look at the task at hand, consider how much of an investment it will require, and calculate the cost-benefit ratio. Your time is limited and valuable so use it wisely.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Can It Be Scripted?<\/h2>\n\n\n\n<p>You also need to consider if you can even automate the task at hand. I\u2019ve seen many requests for automation help over the years that boggle my mind. This is a case where you must understand PowerShell and recognize what it is designed to do and, more importantly, what it can\u2019t. Here is a shortlist.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li> PowerShell is not designed to click through a website. <\/li>\n\n\n\n<li> It is not designed to run ON a website. <\/li>\n\n\n\n<li> It isn\u2019t designed to manage a user\u2019s Outlook inbox. <\/li>\n\n\n\n<li> PowerShell isn\u2019t intended to manage desktop applications. <\/li>\n<\/ul>\n\n\n\n<p>PowerShell was designed as a management engine, which initially meant Windows servers. It has since been developed to include cross-platform server management and cloud-based service management. I\u2019ve never considered PowerShell a good tool for managing an end user's desktop or client experience.<\/p>\n\n\n\n<p>I recognize that there you might be able to use PowerShell for some of these tasks. But most likely, it will require very sophisticated scripting, if not outright hacks, that border on .NET development.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Are There Better Alternatives?<\/h2>\n\n\n\n<p>Just because PowerShell is at your disposal doesn\u2019t mean it is the right tool for your automation task. Instead of trying to cobble together PowerShell scripts to manage a client desktop, you should use Group Policy. That is a tool designed for that task. Do you <em>really<\/em> need to automate a GUI interaction? Consider a tool like <a href=\"https:\/\/www.autoitscript.com\/site\/\">AutoIt<\/a>. There is almost more than one way to do something in Windows. Granted, you may need to do some research to discover alternatives.<\/p>\n\n\n\n<p>I remember years ago getting a request for help with VBScript. The IT Pro was new to scripting but wanted to write a script using WMI to set file permissions. This is something that not even I would have wanted to do. A better choice would be using a tool designed for managing file permissions like <em>cacls.exe<\/em> or <em>icacls.exe<\/em>. Even today, using PowerShell to manage file permissions in Windows is not a trivial task. It may be just as easy to write an old-fashioned batch file using one of these legacy, but still useful utilities.<\/p>\n\n\n\n<p>That said, using PowerShell <em>may<\/em> be justified even if there is an alternative. Assuming, of course, that the task at hand can be accomplished with PowerShell. If you need to integrate additional functionality like support for -Whatif, alternate credentials, or logging, writing a PowerShell solution may be worth your time. Assuming you\u2019ve already done the cost-benefit analysis, I recommended earlier.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PowerShell Isn\u2019t Always the Answer<\/h2>\n\n\n\n<p>By now, I hope you aren\u2019t too surprised for me to tell you that PowerShell isn\u2019t always the right tool for the job or the legacy alternative is just as valid. I am more likely to run route instead of Get-NetRoute. This is especially true when I only want to get a quick look at something.<\/p>\n\n\n\n<p>It is just as easy to run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"powershell\" class=\"language-powershell\">icacls .\\data.txt<\/code><\/pre>\n\n\n\n<p>as it is to run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"powershell\" class=\"language-powershell\">get-acl .\\data.txt | select-object -ExpandProperty AccessToString<\/code><\/pre>\n\n\n\n<p>Let\u2019s say you want to manage power settings on a local computer. The CLI tool <em>powercfg.exe<\/em> is going to be your best bet. Or you need to manage local security settings. PowerShell doesn\u2019t offer any out-the-box solutions. You\u2019ll most likely need to use <em>secedit.exe<\/em>. But remember, nothing is preventing you from wrapping these legacy tools in PowerShell. <em>Secedit.exe<\/em> doesn\u2019t have a -WhatIf equivalent, but you could write a PowerShell function that does.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">You Decide<\/h2>\n\n\n\n<p>I hope you don\u2019t think I am advocating you only use PowerShell for special cases. That is not true at all. I would encourage you to always be thinking about how you could use PowerShell to make your job easier. However, you need to remain open to the possibility that PowerShell may not be the right tool for the job. Or even if it is, is it worth the investment? Before you dive into a new scripting project, take at least a moment to think and make a conscious decision. I hope this article will help you make the right choice. At the very least, I trust it will be an informed decision.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post is an updated reprint from an article published to my premium PowerShell newsletter Behind the PowerShell Pipeline available on Substack. Subscribers receive 6-8 articles like this a month delivered to their inbox or available on the Substack app. I hope you\u2019ll consider subscribing. Trial subscriptions are available. I\u2019ve been scripting and automating things&#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: Automation Decisions #PowerShell","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[60,4,8],"tags":[22,534,662],"class_list":["post-9225","post","type-post","status-publish","format-standard","hentry","category-best-practices","category-powershell","category-scripting","tag-automation","tag-powershell","tag-substack"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automation Decisions &#8226; The Lonely Administrator<\/title>\n<meta name=\"description\" content=\"Here are my thoughts on how I decide what to automate or if I even should. This is a reprint from Behind the PowerShell Pipeline.\" \/>\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\/9225\/automation-decisions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automation Decisions &#8226; The Lonely Administrator\" \/>\n<meta property=\"og:description\" content=\"Here are my thoughts on how I decide what to automate or if I even should. This is a reprint from Behind the PowerShell Pipeline.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/\" \/>\n<meta property=\"og:site_name\" content=\"The Lonely Administrator\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-28T17:58:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-02-28T17:58:46+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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/9225\\\/automation-decisions\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/9225\\\/automation-decisions\\\/\"},\"author\":{\"name\":\"Jeffery Hicks\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"headline\":\"Automation Decisions\",\"datePublished\":\"2023-02-28T17:58:44+00:00\",\"dateModified\":\"2023-02-28T17:58:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/9225\\\/automation-decisions\\\/\"},\"wordCount\":1195,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"keywords\":[\"Automation\",\"PowerShell\",\"substack\"],\"articleSection\":[\"Best Practices\",\"PowerShell\",\"Scripting\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/9225\\\/automation-decisions\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/9225\\\/automation-decisions\\\/\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/9225\\\/automation-decisions\\\/\",\"name\":\"Automation Decisions &#8226; The Lonely Administrator\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#website\"},\"datePublished\":\"2023-02-28T17:58:44+00:00\",\"dateModified\":\"2023-02-28T17:58:46+00:00\",\"description\":\"Here are my thoughts on how I decide what to automate or if I even should. This is a reprint from Behind the PowerShell Pipeline.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/9225\\\/automation-decisions\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/9225\\\/automation-decisions\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/powershell\\\/9225\\\/automation-decisions\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PowerShell\",\"item\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/category\\\/powershell\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automation Decisions\"}]},{\"@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":"Automation Decisions &#8226; The Lonely Administrator","description":"Here are my thoughts on how I decide what to automate or if I even should. This is a reprint from Behind the PowerShell Pipeline.","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\/9225\/automation-decisions\/","og_locale":"en_US","og_type":"article","og_title":"Automation Decisions &#8226; The Lonely Administrator","og_description":"Here are my thoughts on how I decide what to automate or if I even should. This is a reprint from Behind the PowerShell Pipeline.","og_url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/","og_site_name":"The Lonely Administrator","article_published_time":"2023-02-28T17:58:44+00:00","article_modified_time":"2023-02-28T17:58:46+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":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/#article","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/"},"author":{"name":"Jeffery Hicks","@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"headline":"Automation Decisions","datePublished":"2023-02-28T17:58:44+00:00","dateModified":"2023-02-28T17:58:46+00:00","mainEntityOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/"},"wordCount":1195,"commentCount":2,"publisher":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"keywords":["Automation","PowerShell","substack"],"articleSection":["Best Practices","PowerShell","Scripting"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/","url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/","name":"Automation Decisions &#8226; The Lonely Administrator","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#website"},"datePublished":"2023-02-28T17:58:44+00:00","dateModified":"2023-02-28T17:58:46+00:00","description":"Here are my thoughts on how I decide what to automate or if I even should. This is a reprint from Behind the PowerShell Pipeline.","breadcrumb":{"@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jdhitsolutions.com\/blog\/powershell\/9225\/automation-decisions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"PowerShell","item":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},{"@type":"ListItem","position":2,"name":"Automation Decisions"}]},{"@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":8808,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/8808\/behind-the-powershell-pipeline\/","url_meta":{"origin":9225,"position":0},"title":"Behind the PowerShell Pipeline","author":"Jeffery Hicks","date":"January 19, 2022","format":false,"excerpt":"Last week I made some passing references on Twitter to a new project I am working on this year. I thought I'd take a little time to explain it and hopefully entice a few of you into joining me. I've been blogging here for about ten years, if not longer.\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},"img":{"alt_text":"behind the pipeline","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2022\/01\/behind.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":558,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/558\/promoting-scripting-and-powershell\/","url_meta":{"origin":9225,"position":1},"title":"Promoting Scripting and PowerShell","author":"Jeffery Hicks","date":"January 21, 2010","format":false,"excerpt":"Last week I was interviewed on the Mind of Root podcast about what administrators can do to promote PowerShell and automation in their environments. The show is now available for streaming or download. I still think your best approach is to gently let everyone know that it's not a matter\u2026","rel":"","context":"In &quot;Exchange&quot;","block_context":{"text":"Exchange","link":"https:\/\/jdhitsolutions.com\/blog\/category\/exchange\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":143,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/143\/scriptingsysadmin-meme\/","url_meta":{"origin":9225,"position":2},"title":"Scripting\/SysAdmin Meme","author":"Jeffery Hicks","date":"June 18, 2008","format":false,"excerpt":"[cross-posted from blog.sapien.com] I saw that Kirk Munro called me out on on Steven Muraski's Scripting\/SysAdmin meme . Here's my contribution to the meme. How old were you when you started using computers? I probably didn't start using computers until late in college (which was a very long time ago\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":129,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/129\/practical-powershell\/","url_meta":{"origin":9225,"position":3},"title":"Practical PowerShell","author":"Jeffery Hicks","date":"February 13, 2008","format":false,"excerpt":"I am writing a new monthly column for a new eJournal from RealTime Publishers. The column, Practical PowerShell, will be a regular feature in Windows Administration in Realtime. The eJournal is a free PDF although I think you have to give up an email address. My column is intended to\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":138,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/138\/practical-powershell-scripts-and-code\/","url_meta":{"origin":9225,"position":4},"title":"Practical PowerShell Scripts and Code","author":"Jeffery Hicks","date":"March 11, 2008","format":false,"excerpt":"If you've been reading the Windows Administration in RealTime ejournal, I hope you've enjoyed my Practical PowerShell column. If not, you're missing out. Each column solves a real-world and practical problem with PowerShell. I explain how the PowerShell code works and why. It's not only a great way to learn\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":104,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/104\/sapien-scripting-makeover-contest\/","url_meta":{"origin":9225,"position":5},"title":"SAPIEN Scripting Makeover Contest","author":"Jeffery Hicks","date":"February 27, 2007","format":false,"excerpt":"In case you missed it, or perhaps you've let it slide, you really need to take a look at the Scripting Makeover contest that SAPIEN Technologies is running. The contest winner gets over $20,000 in automation related products and services. Essentially, you submit your company or organization (there are some\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":[]}],"_links":{"self":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/9225","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=9225"}],"version-history":[{"count":2,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/9225\/revisions"}],"predecessor-version":[{"id":9227,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/9225\/revisions\/9227"}],"wp:attachment":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=9225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=9225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=9225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}