{"id":2441,"date":"2012-03-16T20:08:19","date_gmt":"2012-03-16T20:08:19","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/powershell\/2012\/03\/16\/when-windows-powershell-met-workflow\/"},"modified":"2024-02-28T11:32:14","modified_gmt":"2024-02-28T19:32:14","slug":"when-windows-powershell-met-workflow","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powershell\/when-windows-powershell-met-workflow\/","title":{"rendered":"When Windows PowerShell Met Workflow"},"content":{"rendered":"<p><span style=\"font-size: small;\">Meet the new kid on the block! <b>Windows PowerShell Workflow <\/b>(PSWF) is the latest addition to the Windows PowerShell family. <\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/7230.clip_image001_thumb_59B94586.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-20426\" src=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/7230.clip_image001_thumb_59B94586.png\" alt=\"Image 7230 clip image001 thumb 59B94586\" width=\"344\" height=\"216\" srcset=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/7230.clip_image001_thumb_59B94586.png 344w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/7230.clip_image001_thumb_59B94586-300x188.png 300w\" sizes=\"(max-width: 344px) 100vw, 344px\" \/><\/a><\/p>\n<p><span style=\"font-size: small;\">First, let\u2019s establish the context for the decision to integrate workflows into Windows PowerShell. It starts with cloud computing and Windows-based datacenters. Cloud computing provides a set of highly available, scalable computing services that leverage high volume components (servers, disks, RAM, etc.) High volume components are less reliable than their tier 1 counterparts and even those occasionally fail. The key to cloud computing is to use software to deliver a reliable service in spite of failures. Cloud computing management needs to be reliable in spite of failures. This is where workflows come in. Workflows are typically long-running scripts that are designed to survive component or network errors and reboots. <\/span><\/p>\n<p><span style=\"font-size: small;\">Automation is the heart of creating and running private and public clouds at scale. By automating administration tasks and operations, you decrease cost and improve repeatability, quality, auditing and logging. This allows you to increase your server-to-admin ratio, take on more business and increase the value of your employees by freeing them up to deliver higher value functions. As an example, <\/span><a href=\"http:\/\/blogs.technet.com\/b\/windowsserver\/archive\/2012\/03\/07\/rocking-the-windows-server-8-administrative-experience.aspx\"><span style=\"font-size: small;\">Erin Chapple explains<\/span><\/a><span style=\"font-size: small;\">:<\/span><\/p>\n<blockquote><p><span style=\"font-size: small;\"><i>\u201c<\/i><i>Server Manager accomplishes this by leveraging the multi-machine management capabilities of WMI, Windows PowerShell and Windows PowerShell\u2019s new workflow capabilities. Virtually every operation done using Server Manager can also be done via Windows PowerShell\u201d<\/i>.<\/span><\/p><\/blockquote>\n<p><span style=\"font-size: small;\">While building Windows PowerShell Workflow, we took advantage of the scalability and maturity of Windows Workflow Foundation 4.0 (WF) to bring the benefits of workflows &#8212; long running capability and reliability &#8212; to scripters and the Windows PowerShell ecosystem. <\/span><\/p>\n<p><span style=\"font-size: small;\">In one sentence, Windows PowerShell Workflow is all about:<\/span><\/p>\n<blockquote><p><b><span style=\"color: #4f81bd; font-size: small;\">Reliably executing long-running tasks across multiple computers, devices or IT processes<\/span><\/b><\/p><\/blockquote>\n<p><span style=\"font-size: small;\">Until Windows PowerShell 3.0, the approach to solving this problem has been to combine Windows PowerShell and Windows Workflow Foundation with proprietary implementations. As part of our planning process, we talked to many customers and found many cloud providers and hosters who took WF and Windows PowerShell and put them together. Hundreds of design decisions need to be made during that process so the workflows for any implementation did not work with other solutions. We wanted to deliver the definitive integration of these two technologies in a way that could be used out-of-the box or as a reusable library in a third-party solution. For example, we have designed our implementation with extension points that allow applications to host our engine in a fault tolerant, scale out configuration with detailed auditing. The goal is for the community to write workflows that work with our in-box solution and then light up without modification in third-party solutions.<\/span><\/p>\n<p><span style=\"font-size: small;\">In Windows 8, we introduce Windows PowerShell Workflow with two key goals:<\/span><\/p>\n<blockquote><p><span style=\"font-size: small;\">&#8211; Minimizing the complexity of automating across a large number of cloud or datacenter computers and devices.<\/span><\/p><\/blockquote>\n<blockquote><p><span style=\"font-size: small;\">&#8211; Creating an <b>ecosystem<\/b> where ISVs and partners can build solutions on top of Windows PowerShell Workflow and the <b>artifacts<\/b> can be shared with the community and used in any solution. <\/span><\/p><\/blockquote>\n<p><span style=\"font-size: small;\">To achieve these goals, we decided to invest in the following areas for our first PSWF release:<\/span><\/p>\n<blockquote><p><span style=\"font-size: small;\">&#8211; Simplified workflow authoring<\/span><\/p><\/blockquote>\n<blockquote><p><span style=\"font-size: small;\">&#8211; Leverage your existing knowledge<\/span><\/p><\/blockquote>\n<blockquote><p><span style=\"font-size: small;\">&#8211; Reliable workflow execution<\/span><\/p><\/blockquote>\n<blockquote><p><span style=\"font-size: small;\">&#8211; Performance and Scalability<\/span><\/p><\/blockquote>\n<h5><span style=\"color: #4f81bd; font-size: small;\">Simplified Workflow Authoring<\/span><\/h5>\n<p><span style=\"font-size: small;\">Windows PowerShell Workflow enables IT professionals and developers to author sequences of activities that are long-running, repeatable, frequent, parallelizable, interruptible, suspendable, and\/or restartable as workflows. <\/span><\/p>\n<p><span style=\"font-size: small;\">A workflow is a set of activities. An activity is an individual step within a workflow that performs a defined task, such as getting the list of virtual machines in a host computer.<\/span><\/p>\n<h5><span style=\"color: #4f81bd; font-size: small;\">Leverage Your Existing Knowledge<\/span><\/h5>\n<p><span style=\"font-size: small;\">We designed PSWF with our sacred vow in mind: <\/span><\/p>\n<p><span style=\"font-size: small;\"><b>We respect your investment in learning Windows PowerShell by reusing concepts over and over to make sure learning Windows PowerShell was the best thing you ever did.<\/b><b><\/b><\/span><\/p>\n<p><span style=\"font-size: small;\">This is very important to us: making the most of your time and leveraging the investment you have already made in Windows PowerShell instead of asking you to learn a whole new language for authoring workflows. <b>We care deeply about your ROI, so instead of creating new workflow abstractions, we used and built Windows PowerShell abstractions with workflow semantics.<\/b><\/span><\/p>\n<p><span style=\"font-size: small;\">At the same time, we want to work within the existing Windows Workflow Foundation ecosystem. This is why you have two options for writing a Windows PowerShell workflow:<\/span><\/p>\n<blockquote><p><span style=\"font-size: small;\">&#8211; PowerShell script-based workflow: If you know how to write PowerShell scripts, you can reuse your assets and skills and learn a few new constructs to create workflows. For instance:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: Lucida Console; font-size: small;\">workflow <\/span><\/li>\n<li><span style=\"font-family: Lucida Console; font-size: small;\">inlinescript { }<\/span><\/li>\n<li><span style=\"font-family: Lucida Console; font-size: small;\">foreach \u2013parallel<\/span><\/li>\n<li><span style=\"font-family: Lucida Console; font-size: small;\">parallel { }<\/span><\/li>\n<li><span style=\"font-family: Lucida Console; font-size: small;\">sequence { }<\/span><\/li>\n<\/ul>\n<\/blockquote>\n<blockquote><p><span style=\"font-size: small;\">&#8211; XAML: If you have used WF or have existing XAML workflows from the community, your XAML workflows will still work in the PSWF world.<\/span><\/p><\/blockquote>\n<p><span style=\"font-size: small;\">We will analyze these new constructs in the upcoming workflow posts to help you get started quickly.<\/span><\/p>\n<h5><span style=\"color: #4f81bd; font-size: small;\">Reliable Workflow Execution<\/span><\/h5>\n<p><span style=\"font-size: small;\">Windows PowerShell Workflow helps you <b>orchestrate<\/b> the <b>reliable<\/b> <b>execution <\/b>of management workflows across multiple computers that target Windows and standard supporting devices in an IT environment.<\/span><\/p>\n<p><span style=\"font-size: small;\">To help increase the reliability and robustness of your workflows, we provide the following workflow features:<\/span><\/p>\n<blockquote><p><span style=\"font-size: small;\">&#8211; Checkpoint-Workflow activity<\/span><\/p><\/blockquote>\n<blockquote><p><span style=\"font-size: small;\">&#8211; PSPersist parameter<\/span><\/p><\/blockquote>\n<blockquote><p><span style=\"font-size: small;\">&#8211; $PSPersistPreference variable<\/span><\/p><\/blockquote>\n<blockquote><p><span style=\"font-size: small;\">&#8211; Suspend-Workflow activity<\/span><\/p><\/blockquote>\n<h5><span style=\"color: #4f81bd; font-size: small;\">Performance and Scalability<\/span><\/h5>\n<p><span style=\"font-size: small;\">In addition to the areas above, we also invested heavily in improving the performance and scalability of the PSWF engine. Using PSWF, you can scale out workflow execution to thousands of managed nodes. The core investments that helped make this a reality are:<\/span><\/p>\n<blockquote><p><span style=\"font-size: small;\">&#8211; Parallel Task Execution (parallel, foreach -parallel)<\/span><\/p>\n<p><span style=\"font-size: small;\">&#8211; Workflow Throttling<\/span><\/p>\n<p><span style=\"font-size: small;\">&#8211; Connection Throttling<\/span><\/p>\n<p><span style=\"font-size: small;\">&#8211; Connection Pooling<\/span><\/p>\n<p><span style=\"font-size: small;\">&#8211; Integration with the Disconnected Sessions feature<\/span><\/p>\n<p><span style=\"font-size: small;\">&#8211; PSWF Extensibility API<\/span><\/p><\/blockquote>\n<p><span style=\"font-size: small;\">A set of future blog posts will analyze each of the investments above in detail.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #4f81bd; font-size: medium;\">Setup and Down-Level Support<\/span><\/h4>\n<p><span style=\"font-size: small;\">Some of the questions we received after introducing this feature set and the investments above to our <\/span><a href=\"https:\/\/mvp.support.microsoft.com\/communities\/mvp.aspx?product=1&amp;competency=PowerShell\"><span style=\"font-size: small;\">awesome Windows PowerShell MVPs<\/span><\/a><span style=\"font-size: small;\"> were: \u201cHow do I install PSWF?\u201d and \u201cCan I use this feature set in down-level machines?\u201d The good news is that Windows PowerShell Workflow ships as part of Windows PowerShell 3.0, which means that it is available wherever Windows PowerShell is installed. This includes the Server Core installation option, in which Windows PowerShell is available out of the box starting in Windows 8. <b>PSWF is even available for down-level<\/b> installations of Windows Server 2008 R2, Windows Server 2008 and Windows 7 via the Windows Management Framework 3.0 (<\/span><a href=\"http:\/\/www.microsoft.com\/download\/en\/details.aspx?id=28998\"><span style=\"font-size: small;\">Beta Release<\/span><\/a><span style=\"font-size: small;\">).<\/span><\/p>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #4f81bd; font-size: medium;\">To Workflow or To Script\u2026 That is the Question<\/span><\/h4>\n<p><span style=\"font-size: small;\">This post covered some of the common questions but the top five would not be complete without the following:<\/span><\/p>\n<p><span style=\"font-size: small;\">When should I write a PowerShell workflow vs. a script?<\/span><\/p>\n<p><span style=\"font-size: small;\">This question requires deeper analysis so we will answer it fully in a separate article. However, here are the basic reasons for writing a workflow so we help you start thinking about this.<\/span><\/p>\n<p><span style=\"font-size: small;\">For \u201cReliably executing long running tasks across multiple computers, devices or IT processes\u201d you will typically need:<\/span><\/p>\n<blockquote><p><span style=\"font-size: small;\">&#8211; <strong>Robustness<\/strong> (persistence, suspension and resumption capabilities, tracked execution)<\/span><\/p><\/blockquote>\n<blockquote><p><span style=\"font-size: small;\">&#8211; <strong>Enhanced PowerShell assets and skills<\/strong> (built-in library of management tasks, built-in parameters for multi-machine management, authoring workflows as scripts, workflow management through job cmdlets or APIs)<\/span><\/p><\/blockquote>\n<blockquote><p><span style=\"font-size: small;\">&#8211; <strong>Scalability and Reliability<\/strong> (parallel<b> <\/b>execution, connection and action retry, etc.)<\/span><\/p><\/blockquote>\n<p><span style=\"font-size: small;\">If you need the above, you may want to consider writing a workflow instead of a regular script. More of this in an upcoming episode of Workflow awesomeness\u2026<\/span><\/p>\n<h4><span style=\"color: #4f81bd; font-size: medium;\">Show me the Money!<\/span><\/h4>\n<p><span style=\"font-size: small;\">I know, I know, you can\u2019t wait to get started! J Here is one of the most basic workflows you can write:<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/1447.clip_image0011_thumb_79681F4E.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-20427\" src=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/1447.clip_image0011_thumb_79681F4E.png\" alt=\"Image 1447 clip image0011 thumb 79681F4E\" width=\"334\" height=\"210\" srcset=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/1447.clip_image0011_thumb_79681F4E.png 334w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/1447.clip_image0011_thumb_79681F4E-300x189.png 300w\" sizes=\"(max-width: 334px) 100vw, 334px\" \/><\/a><\/p>\n<p><span style=\"font-size: small;\">Now\u2026 How do you find it? How do you run it? How do you get help for it? So many questions, so little time! We wanted the answers to be as simple and as consistent with your existing knowledge as possible: <span style=\"color: #4f81bd;\"><b>Workflows behave just like every other Windows PowerShell command<\/b>!<\/span> <\/span><\/p>\n<blockquote><p><span style=\"font-size: small;\">&#8211; How do you find it? <\/span><\/p>\n<p><span style=\"color: #4f81bd; font-size: small;\">Get-Command Test-Workflow<\/span><\/p>\n<p><span style=\"color: #4f81bd; font-size: small;\">Get-Command Test-Workflow -Syntax<\/span><\/p>\n<p><span style=\"font-size: small;\">&#8211; What is the proper way to name a workflow?<\/span><\/p>\n<p><span style=\"font-size: small;\"><span style=\"color: #4f81bd;\">Verb-noun<\/span>, just like you name any PowerShell cmdlet! Please remember to use <\/span><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=160773\"><span style=\"font-size: small;\">approved verbs<\/span><\/a><span style=\"font-size: small;\">.<\/span><\/p>\n<p><span style=\"font-size: small;\">&#8211; How do you run it? <\/span><\/p>\n<p><span style=\"color: #4f81bd; font-size: small;\">Test-Workflow<\/span><\/p>\n<p><span style=\"font-size: small;\">&#8211; How do you get help for it?<\/span><\/p>\n<p><span style=\"color: #4f81bd; font-size: small;\">Get-Help Test-Workflow<\/span><\/p>\n<p><span style=\"font-size: small;\">&#8211; How do I run it against other computers?<\/span><\/p>\n<p><span style=\"color: #4f81bd; font-size: small;\">Test-Workflow \u2013PSComputerName ManagedNode1, ManagedNode2<\/span><\/p>\n<p><span style=\"font-size: small;\">&#8211; Will the awesome ISE Intellisense feature work for PSWF at some point?<\/span><\/p>\n<p><span style=\"font-size: small;\">That\u2019d be a smart thing to do, wouldn\u2019t it? As Cato said, <i>patience is the greatest of all virtues<\/i>.<\/span><\/p><\/blockquote>\n<p><span style=\"font-size: small;\">But wait, there is more! Stay tuned for upcoming blog posts about using the new workflow common parameters such as PSComputerName and PSCredentials (the keys of the kingdom for running workflows in multi-machine environments), and the Windows PowerShell jobs and modules infrastructure for workflow execution. This is just the beginning!<\/span><\/p>\n<p><span style=\"font-size: small;\">Here is a sneak peak at what is coming next. These examples use some of the concepts that we will dive into during the next few weeks.<\/span><\/p>\n<blockquote><p>&nbsp;<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/1616.image_thumb_6F8B2BB2.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-20429\" src=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/1616.image_thumb_6F8B2BB2.png\" alt=\"Image 1616 image thumb 6F8B2BB2\" width=\"508\" height=\"443\" srcset=\"https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/1616.image_thumb_6F8B2BB2.png 508w, https:\/\/devblogs.microsoft.com\/powershell\/wp-content\/uploads\/sites\/30\/2012\/03\/1616.image_thumb_6F8B2BB2-300x262.png 300w\" sizes=\"(max-width: 508px) 100vw, 508px\" \/><\/a><\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #4f81bd; font-size: medium;\">We Want You!<\/span><\/h4>\n<p><span style=\"font-size: small;\">Now that you know the basics, we want to hear from you!<\/span><\/p>\n<p><span style=\"font-size: small;\">You can send feedback directly to the Windows PowerShell Workflow team by using the Windows PowerShell Connect site at <\/span><a href=\"http:\/\/connect.microsoft.com\/powershell\"><span style=\"font-size: small;\">http:\/\/connect.microsoft.com\/powershell<\/span><\/a><span style=\"font-size: small;\">. We triage Connect bugs several times a week and make a point to add comments to each of the bugs.<\/span><\/p>\n<p><span style=\"font-size: small;\">While you wait for our next post, here are some additional resources about Windows PowerShell 3.0 and Windows PowerShell Workflow:<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/www.microsoft.com\/download\/en\/details.aspx?id=27548\"><span style=\"font-size: small;\">Getting started with Windows PowerShell Workflow<\/span><\/a><span style=\"font-size: small;\"> (Download <i>WMF3 CTP2 Windows PowerShell Workflow.pdf<\/i>)<\/span><\/p>\n<p><a href=\"http:\/\/www.windowsitpro.com\/blog\/powershell-with-a-purpose-blog-36\/windows-powershell\/powershell-v3-workflow-flagship-feature-140712\"><span style=\"font-size: small;\">PowerShell v3: Workflow is the Flagship Feature<\/span><\/a><span style=\"font-size: small;\"> (by Don Jones \u2013 PowerShell MVP)<\/span><\/p>\n<p><a href=\"http:\/\/halr9000.com\/article\/947\"><span style=\"font-size: small;\">PowerShell Workflow, Defined<\/span><\/a><span style=\"font-size: small;\"> (by Hal Rottenberg \u2013 PowerShell MVP)<\/span><\/p>\n<p><a href=\"http:\/\/blogs.technet.com\/b\/windowsserver\/archive\/2012\/03\/07\/rocking-the-windows-server-8-administrative-experience.aspx\"><span style=\"font-size: small;\">Rocking the Windows Server 8 Administrative Experience<\/span><\/a><\/p>\n<p><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=246563\"><span style=\"font-size: small;\">TechNet docs on the Workflow module<\/span><\/a><\/p>\n<p><a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkId=246399\"><span style=\"font-size: small;\">Writing a Windows PowerShell Workflow in the Visual Studio Designer<\/span><\/a><\/p>\n<p><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/microsoft.powershell.workflow(v=VS.85).aspx\"><span style=\"font-size: small;\">SDK\/MSDN documentation<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: small;\">We hope you enjoy the new Windows PowerShell Workflow functionality of Windows 8. We are having lots of fun building it!<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: small;\">Mir Rosenberg [MSFT]<\/span><\/p>\n<p><span style=\"font-size: small;\">Senior Program Manager <\/span><\/p>\n<p><span style=\"font-size: small;\">Windows PowerShell<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Meet the new kid on the block! Windows PowerShell Workflow (PSWF) is the latest addition to the Windows PowerShell family. First, let\u2019s establish the context for the decision to integrate workflows into Windows PowerShell. It starts with cloud computing and Windows-based datacenters. Cloud computing provides a set of highly available, scalable computing services that leverage [&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":[44,124,141,184,73,248,266,272,287,309,344,349,352,354,359,365],"class_list":["post-2441","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell","tag-3rd-party-products","tag-community","tag-demos","tag-getting-started","tag-installation","tag-powershell","tag-powershell-release","tag-powershell-workflow","tag-releasedownload","tag-server-core","tag-windows-management-framework","tag-windows-server","tag-windows-server-2012","tag-windows7","tag-workflow","tag-xaml"],"acf":[],"blog_post_summary":"<p>Meet the new kid on the block! Windows PowerShell Workflow (PSWF) is the latest addition to the Windows PowerShell family. First, let\u2019s establish the context for the decision to integrate workflows into Windows PowerShell. It starts with cloud computing and Windows-based datacenters. Cloud computing provides a set of highly available, scalable computing services that leverage [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/2441","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=2441"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/2441\/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=2441"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/categories?post=2441"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/tags?post=2441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}