{"id":460,"date":"2018-12-18T08:00:36","date_gmt":"2018-12-18T14:00:36","guid":{"rendered":"https:\/\/practicalpowershell.com\/?p=460"},"modified":"2020-03-13T20:55:32","modified_gmt":"2020-03-14T02:55:32","slug":"powershell-menu-driven","status":"publish","type":"post","link":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/","title":{"rendered":"PowerShell &#8211; Menu Driven"},"content":{"rendered":"<p><a href=\"https:\/\/i0.wp.com\/practicalpowershell.com\/wp-content\/uploads\/2020\/03\/Menu.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/practicalpowershell.com\/wp-content\/uploads\/2020\/03\/Menu.jpg?resize=150%2C150&#038;ssl=1\" alt=\"\" width=\"150\" height=\"150\" class=\"alignleft size-thumbnail wp-image-461\" srcset=\"https:\/\/i0.wp.com\/practicalpowershell.com\/wp-content\/uploads\/2020\/03\/Menu.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/practicalpowershell.com\/wp-content\/uploads\/2020\/03\/Menu.jpg?resize=100%2C100&amp;ssl=1 100w, https:\/\/i0.wp.com\/practicalpowershell.com\/wp-content\/uploads\/2020\/03\/Menu.jpg?zoom=2&amp;resize=150%2C150&amp;ssl=1 300w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a>Depending on the purpose of your script, a menu might be an otherwise extraneous. Yet there are quite a few uses where having a menu is worthwhile. The biggest reason is the concept of repeatability. If the script needs to be executed multiple times, then a menu will help drive that.<br \/>\nWhen creating a menu, there a few components that need to be built. One is the visual part of the menu, what is displayed so help know what choices are available. Next is the Do { } While set of code that executes which menu option is chosen. Finally, there are the functions that are called from the previous step. Combined, a menu driven script can be a powerful yet simple way to perform a repeatable task.<BR><br \/>\nSample ideas for a menu drive script:<BR><br \/>\n(1) Installing software or configuring prerequisites for a particular software or update.<br \/>\n(2) Script that performs tasks &#8211; mailbox searches, content removal, etc.<br \/>\n(3) Discovery tasks &#8211; Active Directory, Exchange, Office 365, etc.<BR><br \/>\nSample Menu (practical example &#8211; real script):<br \/>\n[sourcecode language=&#8221;powershell&#8221;]<br \/>\n$Menu = {<br \/>\nWrite-Host &quot; *****************************************************&quot; -ForegroundColor Cyan<br \/>\nWrite-Host &quot; Exchange Server 2019 (Core OS) Prerequisites Script&quot; -ForegroundColor Cyan<br \/>\nWrite-Host &quot; *****************************************************&quot; -ForegroundColor Cyan<br \/>\nWrite-Host &quot; &quot;<br \/>\nWrite-Host &quot; Install NEW Server&quot; -ForegroundColor Cyan<br \/>\nWrite-Host &quot; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&quot; -ForegroundColor Cyan<br \/>\nWrite-Host &quot; 1) Install Mailbox Role Prerequisites&quot; -ForegroundColor White<br \/>\nWrite-Host &quot; 2) Install Edge Transport Prerequisites&quot; -ForegroundColor White<br \/>\nWrite-Host &quot; &quot;<br \/>\nWrite-Host &quot; Exit Script or Reboot&quot; -ForegroundColor Cyan<br \/>\nWrite-Host &quot; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&quot; -ForegroundColor Cyan<br \/>\nWrite-Host &quot; 98) Restart the Server&quot; -ForegroundColor Red<br \/>\nWrite-Host &quot; 99) Exit&quot; -ForegroundColor Cyan<br \/>\nWrite-Host &quot; &quot;<br \/>\nWrite-Host &quot; Select an option.. [1-99]? &quot; -ForegroundColor White -nonewline<br \/>\n}<br \/>\n[\/sourcecode]<br \/>\nA menu requires a second piece to function.<BR><br \/>\nThis second part is the Do {} While code. This code waits for the end user to enter a # that is valid in the meu. The end user enters a valid number, which is stored in the $Choice variable. This is then processed by the &#8216;Switch&#8217; function that looks for a matching entry. If a matching entry is found, code in the block, {}, is executed.<br \/>\n[sourcecode language=&#8221;powershell&#8221;]<br \/>\nDo {<br \/>\nInvoke-Command -ScriptBlock $Menu<br \/>\n$Choice = Read-Host<br \/>\nSwitch ($Choice) {<br \/>\n1 {<br \/>\nIf ($Core) {<br \/>\nInstall-WindowsFeature RSAT-ADDS<br \/>\nInstall-WindowsFeature Web-Client-Auth,Web-Dir-Browsing,Web-Http-Errors,Web-Http-Logging,Web-Http-Redirect,Web-Metabase,Web-WMI,Web-Basic-Auth,Web-Digest-Auth,Web-Dyn-Compression,Web-Stat-Compression,Web-Windows-Auth,Web-ISAPI-Filter,NET-WCF-HTTP-Activation45,Web-Request-Monitor,RPC-over-HTTP-proxy,RSAT-Clustering,RSAT-Clustering-CmdInterface,RSAT-Clustering-PowerShell,Web-Static-Content,Web-Http-Tracing,Web-Asp-Net45,Web-ISAPI-Ext,Web-Mgmt-Service,Web-Net-Ext45,WAS-Process-Model,Web-Server,Server-Media-Foundation,RSAT-ADDS,NET-Framework-45-Features<br \/>\nUCMACore<br \/>\nCPlusPlus<br \/>\n}<br \/>\n}<br \/>\n2 {<br \/>\nInstall-windowsfeature ADLDS<br \/>\nCPlusPlus2012<br \/>\n}<br \/>\n}<br \/>\n} While ($Choice -ne 99)<br \/>\n[\/sourcecode]<br \/>\nFor the third and final part:<BR><br \/>\nFunctions that are called from the menu choice are now executed. From the above menu, a sample functions called &#8216;CPlusPlus&#8217; is called. A Sample working function is provided below:<br \/>\n[sourcecode language=&#8221;powershell&#8221;]<br \/>\nFunction CPlusPlus {<br \/>\nCLS<br \/>\n$Val = Get-ItemProperty -Path &quot;HKLM:\\SOFTWARE\\Classes\\Installer\\Products\\6E8D947A316B3EB3F8F540C548BE2AB9&quot; -ErrorAction Silentlycontinue<br \/>\nIf($Val.ProductName -eq $Null){<br \/>\nFileDownload &quot;https:\/\/download.microsoft.com\/download\/2\/E\/6\/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3\/vcredist_x64.exe&quot;<br \/>\nSet-Location $DownloadFolder<br \/>\n[string]$expression = &quot;.\\vcredist_x64.exe \/quiet \/norestart \/l* $targetfolder\\cPlusPlus.log&quot;<br \/>\nWrite-Host &quot;File: vcredist_x64.exe installing&#8230;&quot; -NoNewLine<br \/>\nInvoke-Expression $expression<br \/>\nStart-Sleep -Seconds 20<br \/>\n$val = Get-ItemProperty -Path &quot;HKLM:\\SOFTWARE\\Classes\\Installer\\Products\\6E8D947A316B3EB3F8F540C548BE2AB9&quot; -ErrorAction Silentlycontinue<br \/>\nif($val.DisplayVersion -ne $Null){<br \/>\nWrite-Host &quot;`nMicrosoft Visual C++ 2013 x64 Minimum Runtime &#8211; 12.0.21005 is now installed.&quot; -ForegroundColor Green<br \/>\n}<br \/>\n} Else {<br \/>\nWrite-Host &quot;`nMicrosoft Visual C++ 2013 x64 Minimum Runtime &#8211; 12.0.21005 is already&quot; -ForegroundColor white -NoNewline<br \/>\nWrite-host &quot; installed.&quot; -ForegroundColor Green<br \/>\nStart-Sleep 2<br \/>\n}<br \/>\nWrite-Host &quot; &quot;<br \/>\n} # End CPlusPlus<br \/>\n[\/sourcecode]<br \/>\n<em>** Menus and more are covered in our books **<\/em><br \/>\nAppendix B (Exchange Online)<br \/>\nChapter 18 (Exchange 2016).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Depending on the purpose of your script, a menu might be an otherwise extraneous. Yet there are quite a few uses where having a menu is worthwhile. The biggest reason is the concept of repeatability. If the script needs to be executed multiple times, then a menu will help drive that. When creating a menu, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":[],"rop_publish_now_history":[],"rop_publish_now_status":"pending","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-460","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PowerShell - Menu Driven - Practical PowerShell<\/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:\/\/practicalpowershell.com\/powershell-menu-driven\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PowerShell - Menu Driven - Practical PowerShell\" \/>\n<meta property=\"og:description\" content=\"Depending on the purpose of your script, a menu might be an otherwise extraneous. Yet there are quite a few uses where having a menu is worthwhile. The biggest reason is the concept of repeatability. If the script needs to be executed multiple times, then a menu will help drive that. When creating a menu, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/practicalpowershell.com\/powershell-menu-driven\/\" \/>\n<meta property=\"og:site_name\" content=\"Practical PowerShell\" \/>\n<meta property=\"article:published_time\" content=\"2018-12-18T14:00:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-03-14T02:55:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/practicalpowershell.com\/wp-content\/uploads\/2020\/03\/Menu-150x150.jpg\" \/>\n<meta name=\"author\" content=\"damian\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"damian\" \/>\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:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/\"},\"author\":{\"name\":\"damian\",\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/#\\\/schema\\\/person\\\/4d0733c81966e744aabbb49f56d64deb\"},\"headline\":\"PowerShell &#8211; Menu Driven\",\"datePublished\":\"2018-12-18T14:00:36+00:00\",\"dateModified\":\"2020-03-14T02:55:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/\"},\"wordCount\":610,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/#\\\/schema\\\/person\\\/4d0733c81966e744aabbb49f56d64deb\"},\"image\":{\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/practicalpowershell.com\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Menu-150x150.jpg\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/\",\"url\":\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/\",\"name\":\"PowerShell - Menu Driven - Practical PowerShell\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/practicalpowershell.com\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Menu-150x150.jpg\",\"datePublished\":\"2018-12-18T14:00:36+00:00\",\"dateModified\":\"2020-03-14T02:55:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/practicalpowershell.com\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Menu.jpg?fit=430%2C216&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/practicalpowershell.com\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/Menu.jpg?fit=430%2C216&ssl=1\",\"width\":430,\"height\":216},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/powershell-menu-driven\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/practicalpowershell.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PowerShell &#8211; Menu Driven\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/#website\",\"url\":\"https:\\\/\\\/practicalpowershell.com\\\/\",\"name\":\"Practical PowerShell\",\"description\":\"PowerShell books written by experts\",\"publisher\":{\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/#\\\/schema\\\/person\\\/4d0733c81966e744aabbb49f56d64deb\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/practicalpowershell.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/practicalpowershell.com\\\/#\\\/schema\\\/person\\\/4d0733c81966e744aabbb49f56d64deb\",\"name\":\"damian\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d5a8cc64a5aa27558a897b108e3be1a89859511a3fd26176dac292f26e7a4ae4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d5a8cc64a5aa27558a897b108e3be1a89859511a3fd26176dac292f26e7a4ae4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d5a8cc64a5aa27558a897b108e3be1a89859511a3fd26176dac292f26e7a4ae4?s=96&d=mm&r=g\",\"caption\":\"damian\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d5a8cc64a5aa27558a897b108e3be1a89859511a3fd26176dac292f26e7a4ae4?s=96&d=mm&r=g\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PowerShell - Menu Driven - Practical PowerShell","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:\/\/practicalpowershell.com\/powershell-menu-driven\/","og_locale":"en_US","og_type":"article","og_title":"PowerShell - Menu Driven - Practical PowerShell","og_description":"Depending on the purpose of your script, a menu might be an otherwise extraneous. Yet there are quite a few uses where having a menu is worthwhile. The biggest reason is the concept of repeatability. If the script needs to be executed multiple times, then a menu will help drive that. When creating a menu, [&hellip;]","og_url":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/","og_site_name":"Practical PowerShell","article_published_time":"2018-12-18T14:00:36+00:00","article_modified_time":"2020-03-14T02:55:32+00:00","og_image":[{"url":"https:\/\/practicalpowershell.com\/wp-content\/uploads\/2020\/03\/Menu-150x150.jpg","type":"","width":"","height":""}],"author":"damian","twitter_card":"summary_large_image","twitter_misc":{"Written by":"damian","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/#article","isPartOf":{"@id":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/"},"author":{"name":"damian","@id":"https:\/\/practicalpowershell.com\/#\/schema\/person\/4d0733c81966e744aabbb49f56d64deb"},"headline":"PowerShell &#8211; Menu Driven","datePublished":"2018-12-18T14:00:36+00:00","dateModified":"2020-03-14T02:55:32+00:00","mainEntityOfPage":{"@id":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/"},"wordCount":610,"commentCount":0,"publisher":{"@id":"https:\/\/practicalpowershell.com\/#\/schema\/person\/4d0733c81966e744aabbb49f56d64deb"},"image":{"@id":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/#primaryimage"},"thumbnailUrl":"https:\/\/practicalpowershell.com\/wp-content\/uploads\/2020\/03\/Menu-150x150.jpg","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/practicalpowershell.com\/powershell-menu-driven\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/","url":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/","name":"PowerShell - Menu Driven - Practical PowerShell","isPartOf":{"@id":"https:\/\/practicalpowershell.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/#primaryimage"},"image":{"@id":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/#primaryimage"},"thumbnailUrl":"https:\/\/practicalpowershell.com\/wp-content\/uploads\/2020\/03\/Menu-150x150.jpg","datePublished":"2018-12-18T14:00:36+00:00","dateModified":"2020-03-14T02:55:32+00:00","breadcrumb":{"@id":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/practicalpowershell.com\/powershell-menu-driven\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/#primaryimage","url":"https:\/\/i0.wp.com\/practicalpowershell.com\/wp-content\/uploads\/2020\/03\/Menu.jpg?fit=430%2C216&ssl=1","contentUrl":"https:\/\/i0.wp.com\/practicalpowershell.com\/wp-content\/uploads\/2020\/03\/Menu.jpg?fit=430%2C216&ssl=1","width":430,"height":216},{"@type":"BreadcrumbList","@id":"https:\/\/practicalpowershell.com\/powershell-menu-driven\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/practicalpowershell.com\/"},{"@type":"ListItem","position":2,"name":"PowerShell &#8211; Menu Driven"}]},{"@type":"WebSite","@id":"https:\/\/practicalpowershell.com\/#website","url":"https:\/\/practicalpowershell.com\/","name":"Practical PowerShell","description":"PowerShell books written by experts","publisher":{"@id":"https:\/\/practicalpowershell.com\/#\/schema\/person\/4d0733c81966e744aabbb49f56d64deb"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/practicalpowershell.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/practicalpowershell.com\/#\/schema\/person\/4d0733c81966e744aabbb49f56d64deb","name":"damian","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d5a8cc64a5aa27558a897b108e3be1a89859511a3fd26176dac292f26e7a4ae4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d5a8cc64a5aa27558a897b108e3be1a89859511a3fd26176dac292f26e7a4ae4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d5a8cc64a5aa27558a897b108e3be1a89859511a3fd26176dac292f26e7a4ae4?s=96&d=mm&r=g","caption":"damian"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/d5a8cc64a5aa27558a897b108e3be1a89859511a3fd26176dac292f26e7a4ae4?s=96&d=mm&r=g"}}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/practicalpowershell.com\/wp-json\/wp\/v2\/posts\/460","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/practicalpowershell.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/practicalpowershell.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/practicalpowershell.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/practicalpowershell.com\/wp-json\/wp\/v2\/comments?post=460"}],"version-history":[{"count":1,"href":"https:\/\/practicalpowershell.com\/wp-json\/wp\/v2\/posts\/460\/revisions"}],"predecessor-version":[{"id":462,"href":"https:\/\/practicalpowershell.com\/wp-json\/wp\/v2\/posts\/460\/revisions\/462"}],"wp:attachment":[{"href":"https:\/\/practicalpowershell.com\/wp-json\/wp\/v2\/media?parent=460"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/practicalpowershell.com\/wp-json\/wp\/v2\/categories?post=460"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/practicalpowershell.com\/wp-json\/wp\/v2\/tags?post=460"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}