{"id":9421,"date":"2012-05-15T00:01:00","date_gmt":"2012-05-15T00:01:00","guid":{"rendered":"https:\/\/blogs.technet.microsoft.com\/heyscriptingguy\/2012\/05\/15\/find-powershell-commands-by-using-the-get-command-cmdlet\/"},"modified":"2012-05-15T00:01:00","modified_gmt":"2012-05-15T00:01:00","slug":"find-powershell-commands-by-using-the-get-command-cmdlet","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/scripting\/find-powershell-commands-by-using-the-get-command-cmdlet\/","title":{"rendered":"Find PowerShell Commands by Using the Get-Command Cmdlet"},"content":{"rendered":"<p><b>Summary<\/b>: Microsoft Scripting Guy, Ed Wilson, shows how to use the <b>Get-Command<\/b> cmdlet in Windows PowerShell to find various commands.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/q-for-powertip.jpg\" alt=\"Hey, Scripting Guy! Question\" \/>&nbsp;Hey, Scripting Guy! It all seems so easy for you. You want to find something by using Windows PowerShell and ba-da-bing, it is there. But for those of us who have not been using Windows PowerShell since before it was ever released, what is the secret? I mean using Windows PowerShell does not seem hard&mdash;but there is so much of it. Every day, it seems that you perform this act, and it is like Windows PowerShell theatre. Of course, it works, but how did you find it in the first place? I hope I am making myself clear&hellip;I do not even know where to start.<\/p>\n<p>&mdash;RS<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/a-for-powertip.jpg\" alt=\"Hey, Scripting Guy! Answer\" \/>&nbsp;Hello RS,<\/p>\n<p>Microsoft Scripting Guy, Ed Wilson, is here. Today the day seems late, or early, depending on one&rsquo;s perspective. It is nearly noon, and the sun does not appear to have awakened. The skies are all gray, and a thin drizzle of rainfall is providing a nice drink of cool water for our parched trees and plants. <a href=\"http:\/\/blogs.technet.com\/b\/heyscriptingguy\/archive\/tags\/scripting+wife\/\" target=\"_blank\">The Scripting Wife<\/a> and I took our tea on the lanai this morning as we discussed <a href=\"http:\/\/northamerica.msteched.com\/?mtag=scriptingguys#fbid=gAcb1pKGvsw\" target=\"_blank\">Microsoft TechEd 2012 in Orlando<\/a>.<\/p>\n<p>&ldquo;You need to get everything planned,&rdquo; she said. &ldquo;TechEd will be here sooner than you think.&rdquo;<\/p>\n<p>&ldquo;Actually, I think TechEd will arrive exactly on Monday, June 11. We have to have the Scripting Guys booth set up by noon on June 10. That is also when we will see <a href=\"http:\/\/blogs.technet.com\/b\/heyscriptingguy\/archive\/2011\/06\/11\/what-i-learned-at-teched-2011-in-atlanta.aspx\" target=\"_blank\">Daniel Cruz<\/a>, who is helping out in the booth. We may also get to see <a href=\"http:\/\/blogs.technet.com\/b\/heyscriptingguy\/archive\/2012\/05\/01\/winners-of-the-2012-powershell-scripting-games-announced.aspx\" target=\"_blank\">Rohn Edwards and Lido Paglia, the 2012 Scripting Games winners<\/a>,&rdquo; I said.<\/p>\n<p>&ldquo;It is going to be so much fun,&rdquo; she replied, &ldquo;And the TechEd party is going to be held at Universal Islands of Adventure theme park. How cool is that?&rdquo;<\/p>\n<p>&ldquo;That is true, but I am really just looking forward to meeting people and to making new friends. For me, TechEd is all about the networking opportunities.&rdquo;<\/p>\n<p>&ldquo;So, speaking of networking,&rdquo; she began, &ldquo;How are you doing about creating the Scripting Guys guest schedule?&rdquo;<\/p>\n<p>&ldquo;Well, so far, I have Mark Minasi, Don Jones, Jeffery Hicks, Jeffrey Snover, and a few others scheduled to make guest appearances at the Scripting Guys booth. I also have a confirmation from O&rsquo;Reilly press for my autograph session at their booth.&rdquo;<\/p>\n<p>&ldquo;So are you going to let me in on the secret? Or are you going to keep it all to yourself?&rdquo; she asked.<\/p>\n<p>&ldquo;Well, for now, I will keep it to myself,&rdquo; I said with a smile.<\/p>\n<p>&ldquo;Well, then for now, I am heading out with my friends,&rdquo; she said with a smile, &ldquo;I think we are going to check out that new store that opened up near the interstate.&rdquo;<\/p>\n<p>And with no further ado, she was gone.<\/p>\n<p>So, RS, I decided to head upstairs to check out the email sent to <a href=\"mailto:scripter@microsoft.com\">scripter@microsoft.com<\/a>, and I ran across your email.<\/p>\n<p style=\"padding-left: 30px\"><b>Note&nbsp;&nbsp;&nbsp;<\/b>Tomorrow night, May 16, 2012 at 9:30 PM Eastern Standard Time (-5 GMT), the <a href=\"http:\/\/blogs.technet.com\/b\/heyscriptingguy\/archive\/2012\/05\/01\/winners-of-the-2012-powershell-scripting-games-announced.aspx\" target=\"_blank\">two winners of the 2012 Scripting Games<\/a> (Lido Paglia and Rohn Edwards), Jeffrey Snover, and myself all appear with Jonathan Walz and Hal Rottenberg on the <a href=\"http:\/\/powerscripting.wordpress.com\/\" target=\"_blank\">PowerScripting Podcast<\/a>. This event is recorded live, and there is a chat room set up so you can talk to your fellow listeners, in addition to asking questions of the guests. It will be a lot of fun, and you should not miss it if at all possible.<\/p>\n<h2>The easy way to find Windows PowerShell cmdlets<\/h2>\n<p>The first thing to keep in mind is that in Windows PowerShell, not everything is a cmdlet. There are language statements, functions, aliases, various objects (from the .NET Framework or COM), and even other executables&mdash;all of which are utilizable from within Windows PowerShell. In Windows&nbsp;8 Consumer Preview, this means you have around 1000 commands from which to choose. In Windows&nbsp;7, the situation is not quite so overwhelming, but still you need to know how to find what you want.<\/p>\n<p>In Windows&nbsp;7, much of the power of Windows PowerShell comes from WMI. (This is actually true in Windows 8 Consumer Preview also, but the WMI classes are exposed more directly.) For information about searching and working with WMI, see <a href=\"http:\/\/blogs.technet.com\/b\/heyscriptingguy\/archive\/tags\/windows+powershell\/wmi\/\" target=\"_blank\">this collection of Hey, Scripting Guy! Blogs<\/a>.<\/p>\n<p style=\"padding-left: 30px\"><b>Note&nbsp;&nbsp;&nbsp;<\/b> In yesterday&rsquo;s blog, <a href=\"http:\/\/blogs.technet.com\/b\/heyscriptingguy\/archive\/2012\/05\/14\/discover-the-easy-way-to-begin-learning-windows-powershell.aspx\" target=\"_blank\">Discover the Easy Way to Begin Learning Windows PowerShell<\/a><i>, <\/i>I talked about learning the Windows PowerShell Verb-Noun naming pattern as a way to develop an understanding of Windows PowerShell coverage. This technique will also aid in finding Windows PowerShell cmdlets.<\/p>\n<p>Two cmdlets are essential for discovering Windows PowerShell commands. The first is the <b>Get-Command<\/b> cmdlet, and the second is the <b>Get-Help<\/b> cmdlet. At first glance, the <b>Get-Command<\/b> cmdlet might not appear to be all that useful. For example, you provide it with the name of a cmdlet, and basically what returns is the name of the cmdlet. This command is shown here.<\/p>\n<p style=\"padding-left: 30px\">Get-Command Get-Process<\/p>\n<p>The command and the output associated with the command illustrate the problem<i>. <\/i>The default output does not appear to display much more information than you knew when you typed in the command. You figured it was a cmdlet, you knew the name of <b>Get-Process<\/b>, and the definition does not add much additional information.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/5153.hsg-5-15-12-01.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/5153.hsg-5-15-12-01.png\" alt=\"Image of command output\" title=\"Image of command output\" \/><\/a><\/p>\n<p>But, remember, everything in Windows PowerShell is an object. In fact, the <b>Get-Command<\/b> cmdlet returns a <b>CmdletInfo<\/b> object. This is shown here.<\/p>\n<p style=\"padding-left: 30px\">PS C:\\&gt; Get-Command Get-Process | gm<\/p>\n<p style=\"padding-left: 30px\">&nbsp;<\/p>\n<p style=\"padding-left: 30px\">&nbsp;&nbsp; TypeName: System.Management.Automation.CmdletInfo<\/p>\n<p style=\"padding-left: 30px\">&nbsp;<\/p>\n<p style=\"padding-left: 30px\">Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MemberType&nbsp;&nbsp;&nbsp;&nbsp; Definition<\/p>\n<p style=\"padding-left: 30px\">&#8212;-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;-&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;-<\/p>\n<p style=\"padding-left: 30px\">Equals&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool Equals(System.Object obj)<\/p>\n<p style=\"padding-left: 30px\">GetHashCode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int GetHashCode()<\/p>\n<p style=\"padding-left: 30px\">GetType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type GetType()<\/p>\n<p style=\"padding-left: 30px\">ToString&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string ToString()<\/p>\n<p style=\"padding-left: 30px\">CommandType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Management.Automation.CommandTypes Comm&#8230;<\/p>\n<p style=\"padding-left: 30px\">DefaultParameterSet Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.String DefaultParameterSet {get;}<\/p>\n<p style=\"padding-left: 30px\">Definition&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.String Definition {get;}<\/p>\n<p style=\"padding-left: 30px\">HelpFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.String HelpFile {get;}<\/p>\n<p style=\"padding-left: 30px\">ImplementingType&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Type ImplementingType {get;}<\/p>\n<p style=\"padding-left: 30px\">Module&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Management.Automation.PSModuleInfo Modu&#8230;<\/p>\n<p style=\"padding-left: 30px\">ModuleName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.String ModuleName {get;}<\/p>\n<p style=\"padding-left: 30px\">Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.String Name {get;}<\/p>\n<p style=\"padding-left: 30px\">Noun&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.String Noun {get;}<\/p>\n<p style=\"padding-left: 30px\">OutputType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Collections.ObjectModel.ReadOnlyCollect&#8230;<\/p>\n<p style=\"padding-left: 30px\">Parameters&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Collections.Generic.Dictionary`2[[Syste&#8230;<\/p>\n<p style=\"padding-left: 30px\">ParameterSets&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Collections.ObjectModel.ReadOnlyCollect&#8230;<\/p>\n<p style=\"padding-left: 30px\">PSSnapIn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Management.Automation.PSSnapInInfo PSSn&#8230;<\/p>\n<p style=\"padding-left: 30px\">Verb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.String Verb {get;}<\/p>\n<p style=\"padding-left: 30px\">Visibility&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Property&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Management.Automation.SessionStateEntry&#8230;<\/p>\n<p style=\"padding-left: 30px\">DLL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ScriptProperty System.Object DLL {get=$this.ImplementingType&#8230;.<\/p>\n<p style=\"padding-left: 30px\">HelpUri&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ScriptProperty System.Object HelpUri {get=try&#8230;<\/p>\n<p>Based on the members of the <b>CmdletInfo<\/b> object, there appears to be a lot of information available about the cmdlet. The easiest way to view this information is to pipe the output from the <b>Get-Command<\/b> cmdlet to the <b>Format-List<\/b> cmdlet and to use a wild card character to choose all available properties. The command is shown here (<b>fl<\/b> is an alias for the <b>Format-List<\/b> cmdlet).<\/p>\n<p style=\"padding-left: 30px\">Get-Command Get-Process | fl *<\/p>\n<p>The command, and the output associated with the command are shown in the image that follows.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/5670.hsg-5-15-12-02.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/5670.hsg-5-15-12-02.png\" alt=\"Image of command output\" title=\"Image of command output\" \/><\/a><\/p>\n<p>In yesterday&rsquo;s Hey, Scripting Guy! Blog, I talked about working with Windows PowerShell verbs<i> <\/i>as a way of understanding available commands. When you know and understand the various verbs, using the <b>Get-Command<\/b> cmdlet becomes much more valuable. For example, when you are looking for information about various items, you know you will more than likely use the <b>get<\/b><i> <\/i>verb. Therefore, use the <b>Get-Command<\/b> cmdlet to retrieve only cmdlets that use the <b>get<\/b><i> <\/i>verb. This command is shown here.<\/p>\n<p style=\"padding-left: 30px\">Get-Command &ndash;verb get<\/p>\n<p>If you seek cmdlets that will assign a new value to something, you more than likely are looking for a cmdlet that uses the <b>set<\/b><i> <\/i>verb. The following command retrieves these types of cmdlets.<\/p>\n<p style=\"padding-left: 30px\">Get-Command &ndash;verb set<\/p>\n<h2>Use nouns<i> <\/i>for cmdlets<\/h2>\n<p>One of the things that tends to confuse beginners is the difference between the <i>name <\/i>and the <i>noun <\/i>parameters. The <b>Get-Command<\/b> cmdlet has multiple parameter sets, and when you use the <i>verb <\/i>or the <i>noun <\/i>parameter, the <b>Get-Command<\/b> cmdlet only returns cmdlets. If you use the <i>name <\/i>parameter, <b>Get-Command<\/b> finds cmdlets, executables, functions, aliases, and other types of commands.<\/p>\n<p>A good way to find commands is to use wild cards. For example, the following command returns any command containing the letters <i>adapter <\/i>within the name of the command. The output reveals that one command meets this filter.<\/p>\n<p style=\"padding-left: 30px\">PS C:\\&gt; gcm -Name *adapter*<\/p>\n<p style=\"padding-left: 30px\">CommandType&nbsp;&nbsp;&nbsp;&nbsp; Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Definition<\/p>\n<p style=\"padding-left: 30px\">&#8212;&#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;-<\/p>\n<p style=\"padding-left: 30px\">Application&nbsp;&nbsp;&nbsp;&nbsp; AdapterTroubleshooter.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\\Windows\\system32\\AdapterTro&#8230;<\/p>\n<p style=\"padding-left: 30px\">\n<p style=\"padding-left: 30px\"><b>Note&nbsp;&nbsp;<\/b>&nbsp;Because the <b>Get-Command<\/b> cmdlet returns more than Windows PowerShell cmdlets, I often use it to help me locate various Windows executables. Because the Windows PowerShell console is generally open on my computer, it is faster for me to use than to use Windows Search.<\/p>\n<p>In the following image, I first look for commands related to <i>process. <\/i>The first results (obtained by using the <i>name <\/i>parameter) contain a number of applications, in addition to several Windows PowerShell cmdlets. When I limit the results to only cmdlets that have a <i>noun <\/i>related to <i>process <\/i>the results are more directed.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/7875.hsg-5-15-12-03.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/7875.hsg-5-15-12-03.png\" alt=\"Image of command output\" title=\"Image of command output\" \/><\/a><\/p>\n<p>RS, that is all there is to using the <b>Get-Command<\/b> cmdlet to search for cmdlets. Join me tomorrow when I will talk about additional ways to use <b>Get-Command<\/b>. It will be a very cool blog (and one not only for beginners).<\/p>\n<p>I invite you to follow me on <a href=\"http:\/\/bit.ly\/scriptingguystwitter\" target=\"_blank\">Twitter<\/a> and <a href=\"http:\/\/bit.ly\/scriptingguysfacebook\" target=\"_blank\">Facebook<\/a>. If you have any questions, send email to me at <a href=\"mailto:scripter@microsoft.com\" target=\"_blank\">scripter@microsoft.com<\/a>, or post your questions on the <a href=\"http:\/\/bit.ly\/scriptingforum\" target=\"_blank\">Official Scripting Guys Forum<\/a>. See you tomorrow. Until then, peace.<\/p>\n<p><b>Ed Wilson, Microsoft Scripting Guy<\/b><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Summary: Microsoft Scripting Guy, Ed Wilson, shows how to use the Get-Command cmdlet in Windows PowerShell to find various commands. &nbsp;Hey, Scripting Guy! It all seems so easy for you. You want to find something by using Windows PowerShell and ba-da-bing, it is there. But for those of us who have not been using Windows [&hellip;]<\/p>\n","protected":false},"author":596,"featured_media":87096,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[51,3,4,45],"class_list":["post-9421","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scripting","tag-getting-started","tag-scripting-guy","tag-scripting-techniques","tag-windows-powershell"],"acf":[],"blog_post_summary":"<p>Summary: Microsoft Scripting Guy, Ed Wilson, shows how to use the Get-Command cmdlet in Windows PowerShell to find various commands. &nbsp;Hey, Scripting Guy! It all seems so easy for you. You want to find something by using Windows PowerShell and ba-da-bing, it is there. But for those of us who have not been using Windows [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts\/9421","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/users\/596"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/comments?post=9421"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts\/9421\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/media\/87096"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/media?parent=9421"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/categories?post=9421"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/tags?post=9421"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}