{"id":10211,"date":"2006-06-21T12:25:00","date_gmt":"2006-06-21T12:25:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/powershell\/2006\/06\/21\/more-how-does-powershell-formatting-really-work\/"},"modified":"2019-02-18T13:21:39","modified_gmt":"2019-02-18T20:21:39","slug":"more-how-does-powershell-formatting-really-work","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powershell\/more-how-does-powershell-formatting-really-work\/","title":{"rendered":"More &#8211; How does PowerShell formatting really work?"},"content":{"rendered":"<p>&lt;Edited 7\/2\/2006 with tags and categories&gt;<br \/>PSMDTAG:FAQ: Why doesn&#8217;t output expand&nbsp;when I expand the width of the console?<br \/>PSMDTAG:FAQ: Why doesn&#8217;t output expand&nbsp;when I use -noElements on GROUP?<\/p>\n<p>Consider the example:<\/p>\n<p><font face=\"Courier New\" size=\"1\">PS&gt; gps |group company<\/font><\/p>\n<p><font face=\"Courier New\" size=\"1\">Count Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Group<br \/>&#8212;&#8211; &#8212;-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8211;<br \/>&nbsp;&nbsp; 34 Microsoft Corporation&nbsp;&nbsp;&nbsp;&nbsp; {alg, CcmExec, ctfmon, dsamain&#8230;}<br \/>&nbsp;&nbsp;&nbsp; 1 <font color=\"#ff0000\">Adobe Systems Incorpor&#8230;<\/font> {apdproxy}<br \/>&nbsp;&nbsp;&nbsp; 2 Alps Electric Co., Ltd.&nbsp;&nbsp; {ApntEx, Apoint}<br \/>&nbsp;&nbsp;&nbsp; 4&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; {csrss, Idle, System, winlogon}<br \/>&nbsp;&nbsp;&nbsp; 1 Alcor Micro, Corp.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {DrvMon}<br \/>&nbsp;&nbsp;&nbsp; 2 Microsoft (R) Corporation {FwcAgent, FwcMgmt}<br \/>&nbsp;&nbsp;&nbsp; 3 <font color=\"#ff0000\">Computer Associates In&#8230;<\/font> {InoRpc, InoRT, InoTask}<br \/>&nbsp;&nbsp;&nbsp; 1 Intel Corporation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {ZCfgSvc}<\/font><\/p>\n<p>Notice that the Company Name is truncated in the output.&nbsp; This blog will address 2 questions:<\/p>\n<ol>\n<li>Why doesn&#8217;t this&nbsp;get expanded&nbsp;when I expand the width of the console?\n<li>Why doesn&#8217;t this&nbsp;get expanded&nbsp;when I use -noElements on GROUP?<\/li>\n<\/ol>\n<p>Let&#8217;s review the basic model.&nbsp; In the Console host (PowerShell.exe), cmdlets emit objects which go to the out-default.&nbsp; Out-Default looks at the type of the object and looks for registered views for this type and calls the appropriate formatter.&nbsp; If you ever want to find the view defintion for the object you find the object&#8217;s PSTypeNames then look for those entries in the *FORMAT.PS1XML files in $PSHOME.&nbsp; Note that the out-default will walk down the array of PSTypeNames until it finds a match so if you don&#8217;t find a view for the first value in this array, search for the next.<\/p>\n<p><font face=\"Courier New\" size=\"1\">PS&gt; <strong>(gps |group company)[0].pstypenames<\/strong><br \/>Microsoft.PowerShell.Commands.GroupInfo<br \/>System.Object<\/p>\n<p>PS&gt; <strong>cd $pshome<\/strong><\/p>\n<p>PS&gt; <strong>Select-String Microsoft.PowerShell.Commands.GroupInfo *format.ps1xml<\/strong><\/font><\/p>\n<p><font face=\"Courier New\" size=\"1\">PowerShellCore.format.ps1xml:93:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Name&gt;Microsoft.PowerShell.Comm<br \/>ands.GroupInfo&lt;\/Name&gt;<br \/>PowerShellCore.format.ps1xml:95:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TypeName&gt;Microsoft.PowerSh<br \/>ell.Commands.GroupInfo&lt;\/TypeName&gt;<br \/>PowerShellCore.format.ps1xml:128:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Name&gt;Microsoft.PowerShell.Com<br \/>mands.GroupInfoNoElement&lt;\/Name&gt;<br \/>PowerShellCore.format.ps1xml:130:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TypeName&gt;Microsoft.PowerS<br \/>hell.Commands.GroupInfoNoElement&lt;\/TypeName&gt;<br \/>PowerShellCore.format.ps1xml:917:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Name&gt;Microsoft.PowerShell.Com<br \/>mands.GroupInfo&lt;\/Name&gt;<br \/>PowerShellCore.format.ps1xml:919:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TypeName&gt;Microsoft.PowerS<br \/>hell.Commands.GroupInfo&lt;\/TypeName&gt;<br \/>PowerShellCore.format.ps1xml:946:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Name&gt;Microsoft.PowerShell.Com<br \/>mands.GroupInfoNoElement&lt;\/Name&gt;<br \/>PowerShellCore.format.ps1xml:948:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TypeName&gt;Microsoft.PowerS<br \/>hell.Commands.GroupInfoNoElement&lt;\/TypeName&gt;<\/p>\n<p>PS&gt; <strong>Notepad PowerShellCore.Format.ps1xml<\/strong><\/font><\/p>\n<p>Here is that you&#8217;ll find in PowerShellCore.Format.ps1xml:<\/p>\n<p><font face=\"Courier New\" size=\"1\">&lt;View&gt;<br \/>&nbsp;&nbsp;&nbsp; &lt;Name&gt;Microsoft.PowerShell.Commands.GroupInfo&lt;\/Name&gt;<br \/>&nbsp;&nbsp;&nbsp; &lt;ViewSelectedBy&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TypeName&gt;Microsoft.PowerShell.Commands.GroupInfo&lt;\/TypeName&gt;<br \/>&nbsp;&nbsp;&nbsp; &lt;\/ViewSelectedBy&gt;<\/font><\/p>\n<p><font face=\"Courier New\" size=\"1\">&nbsp;&nbsp;&nbsp; &lt;TableControl&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TableHeaders&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"#ff0000\">&lt;TableColumnHeader&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Label&gt;Count&lt;\/Label&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Alignment&gt;Right&lt;\/Alignment&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>&lt;Width&gt;5&lt;\/Width&gt;<br \/><\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/TableColumnHeader&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TableColumnHeader&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>&lt;Width&gt;25&lt;\/Width&gt;<br \/><\/strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/TableColumnHeader&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TableColumnHeader\/&gt;<br \/><\/font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/TableHeaders&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TableRowEntries&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TableRowEntry&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TableColumnItems&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TableColumnItem&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PropertyName&gt;Count&lt;\/PropertyName&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/TableColumnItem&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TableColumnItem&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PropertyName&gt;Name&lt;\/PropertyName&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/TableColumnItem&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TableColumnItem&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;PropertyName&gt;Group&lt;\/PropertyName&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/TableColumnItem&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/TableColumnItems&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/TableRowEntry&gt;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/TableRowEntries&gt;<br \/>&nbsp;&nbsp;&nbsp; &lt;\/TableControl&gt;<br \/>&lt;\/View&gt;<\/font><\/p>\n<p>What this is showing you is that you have a view which is selected&nbsp;by the groupinfo type, that this object should be rendered as a table, it defines the headers and the data for that table.&nbsp; Examine the TableHeaders section and you&#8217;ll see that the first 2 TableColumnHeaders provide a&nbsp;LABEL and a WIDTH but&nbsp;the last one does not.&nbsp; When no&nbsp;LABEL is specified, the name of the property is used <\/p>\n<p><strong>PSMDTAG:PHILOSOPHY: &#8211; IT IS STRONGLY RECOMMENDED THAT YOU NEVER PROVIDE A LABEL.<\/strong>&nbsp; <br \/>One of the great things about Windows PowerShell is its transparency and discoverability The views are critical to that.&nbsp; The&nbsp;output is what tells the user what properties they can expect to get from an object.&nbsp; If your label is different than the object, then you misset their expectations.&nbsp; We realized this after the fact otherwise there is a strong chance we would not have allowed you to use a LABEL.&nbsp; Now one of the reasons why you might be tempted to use a label is because in the data definitions, you might want to use a SCRIPT to calculate a value &#8211; THIS <strong>IS A BAD IDEA TOO<\/strong> [I know because I&#8217;ve stepped on that rake].&nbsp; If you ever find yourself wanting to do this, the best thing to do is to extend the type itself with a scriptproperty and then specify that script property in formating.<\/p>\n<p>The way formatting works is that it calculates the widths of the fields based upon the data in this view and the width of the console host.&nbsp; You can see this by doing a dir of some long names and then change your CONSOLE properties to vary the WIDTH of the console (this is under the LAYOUT TAB).&nbsp; Make it large and small and do the same diff every time and you&#8217;ll see what I mean.&nbsp; <\/p>\n<p>The formatter looks at the console width and then allocates the space explicitly reserved by the view (in this case Count reserves 5 spaces and Name reserves 25) and then allocates the remaining space evenly between all the other fields. This explains a couple of things:<\/p>\n<ol>\n<li>If you make your console very wide, the GROUP column will show more data but the NAME column won&#8217;t (because it asked for fixed width of 25)\n<li>PowerShell tries to put those fields whose width will vary the most&nbsp;in the rightmost columns. This minimizes the visual variance of the display as you change the width of your console (We thought all this stuff through).<\/li>\n<\/ol>\n<p>You might think that specifying -NoElement on the group command will fix this.&nbsp; The GROUP command creates GroupInfo objects which give you a NAME (which is the VALUE of the property you are groupping by), the COUNT, and then the GROUP.&nbsp; The GROUP is an array of all the original elements (objects) that where grouped into this GroupInfo.&nbsp; There are lots of cases where that is really useful but it can be expensive so we provided the -NOELEMENT Switch which does not create this array.&nbsp; That said, we still emit a GROUPINFO object and thus it still binds the the same view and thus it still allocates 25 characters for the Name.<\/p>\n<p>There are a couple of ways around this:<\/p>\n<ol>\n<li>You can pipe things into format-table and specify count,name -auto<br \/>PS&gt; gps |group company |ft count,name -auto\n<li>You can define your own view in your own FORMAT.PS1XML file and then ask for that view.&nbsp; Make sure you give it a different name (e.g. MyView) and then ask for that view<br \/>PS&gt; gps |group company |ft -View MyView<\/li>\n<\/ol>\n<p>Enjoy!<br \/>Jeffrey Snover<br \/>Windows PowerShell Architect<\/p>\n<p>PSMDTAG:CMDLET:FORMAT: truncating data, use of formatting metadata<br \/>PSMDTAG:INTERNAL: How formating uses metadata<br \/>PSMDTAG:CMDLET:FORMAT: How formating uses metadata<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&lt;Edited 7\/2\/2006 with tags and categories&gt;PSMDTAG:FAQ: Why doesn&#8217;t output expand&nbsp;when I expand the width of the console?PSMDTAG:FAQ: Why doesn&#8217;t output expand&nbsp;when I use -noElements on GROUP? Consider the example: PS&gt; gps |group company Count Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Group&#8212;&#8211; &#8212;-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8211;&nbsp;&nbsp; 34 Microsoft Corporation&nbsp;&nbsp;&nbsp;&nbsp; {alg, CcmExec, ctfmon, dsamain&#8230;}&nbsp;&nbsp;&nbsp; 1 Adobe Systems Incorpor&#8230; {apdproxy}&nbsp;&nbsp;&nbsp; 2 Alps Electric Co., Ltd.&nbsp;&nbsp; [&hellip;]<\/p>\n","protected":false},"author":600,"featured_media":13641,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[18,10,19,11],"class_list":["post-10211","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell","tag-cmdletformat","tag-faq","tag-internal","tag-philosophy"],"acf":[],"blog_post_summary":"<p>&lt;Edited 7\/2\/2006 with tags and categories&gt;PSMDTAG:FAQ: Why doesn&#8217;t output expand&nbsp;when I expand the width of the console?PSMDTAG:FAQ: Why doesn&#8217;t output expand&nbsp;when I use -noElements on GROUP? Consider the example: PS&gt; gps |group company Count Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Group&#8212;&#8211; &#8212;-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8211;&nbsp;&nbsp; 34 Microsoft Corporation&nbsp;&nbsp;&nbsp;&nbsp; {alg, CcmExec, ctfmon, dsamain&#8230;}&nbsp;&nbsp;&nbsp; 1 Adobe Systems Incorpor&#8230; {apdproxy}&nbsp;&nbsp;&nbsp; 2 Alps Electric Co., Ltd.&nbsp;&nbsp; [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/10211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/users\/600"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/comments?post=10211"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/10211\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media\/13641"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media?parent=10211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/categories?post=10211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/tags?post=10211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}