<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Windows PowerShell Blog</title><subtitle type="html">Automating the world one-liner at a time...</subtitle><id>http://blogs.msdn.com/b/powershell/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/powershell/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/powershell/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2012-08-24T23:42:26Z</updated><entry><title>Microsoft Script Explorer: Next Steps</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/powershell/archive/2013/04/05/microsoft-script-explorer-next-steps.aspx" /><id>http://blogs.msdn.com/b/powershell/archive/2013/04/05/microsoft-script-explorer-next-steps.aspx</id><published>2013-04-05T19:56:00Z</published><updated>2013-04-05T19:56:00Z</updated><content type="html">&lt;p&gt;For those who are familiar with Microsoft Script Explorer for Windows PowerShell, you know that we haven't released additional updates to it since we published the release candidate (RC) in August 2012. Over the past few months, we have been talking with customers and partners and taking a hard look at the adoption rate of the RC in terms of the number of downloads and the feedback we're received to date.&lt;/p&gt;
&lt;p&gt;One of the results of this analysis was that the adoption and usage of the pre-release versions of Script Explorer were not at the level we had hoped. Part of this stems from the fact that customers already have a number of options in the market for discovering and sharing PowerShell scripts, and most appear content to continue using these existing mechanisms. As a result, we've decided not to bring the Script Explorer project to RTM.&lt;/p&gt;
&lt;p&gt;In the meantime, we will start winding down the Script Explorer project. This will be a gradual process to allow time for existing users to move to other tools. We'll start by removing the RC package from the Download Center this week.&lt;/p&gt;
&lt;p&gt;For those who have already downloaded pre-release versions and are actively using Script Explorer in their environments, we will continue to operate the back-end script aggregation service used by Script Explorer for a few more months. We plan to turn off the service on June 14, 2013.&lt;/p&gt;
&lt;p&gt;To help with migrating from Script Explorer to other solutions, we would like to highlight a few of the existing options that you might find useful for discovering and sharing PowerShell scripts:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/scriptcenter/"&gt;TechNet Script Center&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://poshcode.org/"&gt;PowerShell Code Repository&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://powershell.com/"&gt;PowerShell.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://powershell.org/"&gt;PowerShell.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.bing.com/"&gt;Bing&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.idera.com/Free-Tools/PowerShell-Plus/"&gt;PowerShell Plus&lt;/a&gt; and &lt;a href="http://www.idera.com/Free-Tools/PowerShell-scripts/"&gt;PowerShell Scripts&lt;/a&gt; by Idera&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.powergui.org/"&gt;PowerGUI&lt;/a&gt; by Quest&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sapien.com/software/powershell_studio"&gt;PowerShell Studio&lt;/a&gt;&amp;nbsp;by SAPIEN&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/"&gt;Microsoft Developer Network&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeplex.com/"&gt;CodePlex&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And there are lots of others. Feel free to add your favorites in the comments below.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;The PowerShell Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10409441" width="1" height="1"&gt;</content><author><name>PowerShell Team</name><uri>http://blogs.msdn.com/powershellteam_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="PowerShell" scheme="http://blogs.msdn.com/b/powershell/archive/tags/PowerShell/" /></entry><entry><title>Windows PowerShell 3.0 SDK Sample Pack</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/powershell/archive/2013/03/17/windows-powershell-3-0-sample-pack.aspx" /><id>http://blogs.msdn.com/b/powershell/archive/2013/03/17/windows-powershell-3-0-sample-pack.aspx</id><published>2013-03-17T22:45:00Z</published><updated>2013-03-17T22:45:00Z</updated><content type="html">&lt;p&gt;We're pleased to announce the availability of the Windows PowerShell 3.0 SDK Sample Pack. For Windows PowerShell 3.0, the SDK samples work a little differently than in previous releases of Windows PowerShell. For Windows PowerShell 2.0, we released a separate standalone SDK to the Download Center at &lt;a href="http://go.microsoft.com/fwlink/?LinkID=180421"&gt;http://go.microsoft.com/fwlink/?LinkID=180421&lt;/a&gt;. This download contained both the reference assemblies and code samples in a single SDK package.&lt;/p&gt;
&lt;p&gt;For Windows PowerShell 3.0, we are more closely following the format used by the Windows SDK. The reference assemblies for Windows PowerShell 3.0 are included in the Windows 8 SDK which is available at &lt;a href="http://msdn.microsoft.com/en-us/windows/hardware/hh852363.aspx"&gt;http://msdn.microsoft.com/en-us/windows/hardware/hh852363.aspx&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Similar to the Windows SDK, the code samples are available from the Dev Center on MSDN at &lt;a href="http://code.msdn.microsoft.com/"&gt;http://code.msdn.microsoft.com/&lt;/a&gt;. You can download individual samples from the Dev Center at &lt;a href="http://code.msdn.microsoft.com/site/search?f%5B0%5D.Type=User&amp;amp;f%5B0%5D.Value=PowerShell%20Team"&gt;http://code.msdn.microsoft.com/site/search?f%5B0%5D.Type=User&amp;amp;f%5B0%5D.Value=PowerShell%20Team&lt;/a&gt;.&lt;br /&gt;Alternatively, you can download the Windows PowerShell 3.0 SDK Sample Pack which includes all the samples at &lt;a href="http://code.msdn.microsoft.com/Windows-PowerShell-30-SDK-9a34641d"&gt;http://code.msdn.microsoft.com/Windows-PowerShell-30-SDK-9a34641d&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here are the links to the Windows PowerShell 3.0 SDK Sample Pack.&lt;/p&gt;
&lt;p&gt;Windows PowerShell 3.0 Sample Pack: &lt;a href="http://code.msdn.microsoft.com/Windows-PowerShell-30-SDK-9a34641d"&gt;http://code.msdn.microsoft.com/Windows-PowerShell-30-SDK-9a34641d&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Individual Samples&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/AccessDB-Provider-Sample01-b3dbef12"&gt;AccessDB Provider Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/AccessDB-Provider-Sample-02-bbf9e959"&gt;AccessDB Provider Sample 02&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/AccessDB-Provider-Sample-03-c1ec06ce"&gt;AccessDB Provider Sample 03&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/AccessDB-Provider-Sample-04-135e4ee6"&gt;AccessDB Provider Sample 04&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/AccessDB-Provider-Sample-05-a561d1ba"&gt;AccessDB Provider Sample 05&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/AccessDB-Provider-Sample-06-4e0a6845"&gt;AccessDB Provider Sample 06&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Activity-Controller-2dade7c3"&gt;Activity Controller Extensibility Sample&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Activity-Generator-Sample-0b299e3e"&gt;Activity Generator Sample&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Event-Notification-Sample-b4b7e398"&gt;Event Notification Sample&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Event-Registration-Sample-0ce177da"&gt;Event Registration Sample&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Get-Process-Sample-01-d51ab104"&gt;Get-Process Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Get-Process-Sample-02-9aa13d73"&gt;Get-Process Sample 02&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Get-Process-Sample-03-8e79bd69"&gt;Get-Process Sample 03&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Get-Process-Sample-04-665f5d7d"&gt;Get-Process Sample 04&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Get-Process-Sample-05-dcde8b67"&gt;Get-Process Sample 05&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Host-Sample-01-473eef39"&gt;Host Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Host-Sample-02-d8f5bfbb"&gt;Host Sample 02&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Host-Sample-03-49331f08"&gt;Host Sample 03&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Host-Sample-04-2966b575"&gt;Host Sample 04&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Host-Sample-05-7087fb3e"&gt;Host Sample 05&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Host-Sample-06-d5347a2a"&gt;Host Sample 06&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/JobSourceAdapter-Sample-1abf034d"&gt;Job Source Adapter Sample&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/PowerShell-Sample-01-ec9c1334"&gt;PowerShell Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/PowerShell-Sample-02-affe8453"&gt;PowerShell Sample 02&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Remote-Runspace-Pool-81152ea0"&gt;Remote Runspace Pool Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Remote-Runspace-Sample-01-4d1c2242"&gt;Remote Runspace Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Remoting-Disconnect-ddbf0791"&gt;Remoting Disconnect Reconnect Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Runspace-Sample-01-a6507b18"&gt;Runspace Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Runspace-Sample-02-a51e8c19"&gt;Runspace Sample 02&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Runspace-Sample-03-fe656d84"&gt;Runspace Sample 03&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Runspace-Sample-04-dc70ac78"&gt;Runspace Sample 04&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Runspace-Sample-05-479312e5"&gt;Runspace Sample 05&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Runspace-Sample-06-54a04348"&gt;Runspace Sample 06&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Runspace-Sample-07-337e86a5"&gt;Runspace Sample 07&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Runspace-Sample-08-03e73ed3"&gt;Runspace Sample 08&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Runspace-Sample-09-15ca3c68"&gt;Runspace Sample 09&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Runspace-Sample-10-721f9f79"&gt;Runspace Sample 10&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Runspace-Sample-11-e259ac3b"&gt;Runspace Sample 11&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Script-Line-Profiler-Sample-80380291"&gt;Script Line Profiler Sample&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Select-Object-Sample-01-eb0e7285"&gt;Select-Object Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Select-String-Sample-1ea0016a"&gt;Select-String Sample&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Serialization-Sample-01-117319b4"&gt;Serialization Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Serialization-Sample-02-ec34d1f0"&gt;Serialization Sample 02&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Serialization-Sample-03-6576c928"&gt;Serialization Sample 03&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Simple-Workflow-Extensibili-8e50d01d"&gt;Simple Workflow Extensibility Sample&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/SQL-Store-Extensibility-e70c55e8"&gt;SQL Store Extensibility Sample&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Stop-Process-Sample-01-21ab7c8f"&gt;Stop-Process Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Stop-Process-Sample-02-d873577e"&gt;Stop-Process Sample 02&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Stop-Process-Sample-03-b7ebb5c7"&gt;Stop-Process Sample 03&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Stop-Process-Sample-04-d077f542"&gt;Stop-Process Sample 04&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Supports-Paging-01-Sample-d68a7181"&gt;Supports Paging 01 Sample&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Template-Provider-Sample-01-8d5b0cc0"&gt;Template Provider Sample 01&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/Transacted-Comment-Sample-47e3843f"&gt;Transacted Comment Sample&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt;Dan Harman&lt;/p&gt;
&lt;p&gt;Senior Program Manager&lt;/p&gt;
&lt;p&gt;Windows PowerShell&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10403331" width="1" height="1"&gt;</content><author><name>PowerShell Team</name><uri>http://blogs.msdn.com/powershellteam_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="SDK" scheme="http://blogs.msdn.com/b/powershell/archive/tags/SDK/" /><category term="Release/Download" scheme="http://blogs.msdn.com/b/powershell/archive/tags/Release_2F00_Download/" /><category term="PowerShell" scheme="http://blogs.msdn.com/b/powershell/archive/tags/PowerShell/" /><category term="PowerShell Release" scheme="http://blogs.msdn.com/b/powershell/archive/tags/PowerShell+Release/" /></entry><entry><title>First German PowerShell Community Conference </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/powershell/archive/2013/01/25/first-german-powershell-community-conference.aspx" /><id>http://blogs.msdn.com/b/powershell/archive/2013/01/25/first-german-powershell-community-conference.aspx</id><published>2013-01-25T23:22:00Z</published><updated>2013-01-25T23:22:00Z</updated><content type="html">&lt;p&gt;We are delighted to broadcast that the community will hold the first German PowerShell Community Conference on April 10 and 11, 2013 in Oberhausen, Germany.&amp;nbsp; As shown by the &amp;ldquo;sold out&amp;rdquo; PowerShell Summit for North America, there is a real need for PowerShell focused conferences that offer the attendees the opportunity to dig deep into PowerShell internals and experiences.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agenda:&lt;/strong&gt; &lt;br /&gt; &lt;a href="http://www.powershell.de/powershell/konferenz/Zeitplan.aspx"&gt;http://www.powershell.de/powershell/konferenz/Zeitplan.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Press release&lt;/strong&gt;:&lt;br /&gt; &amp;ldquo;In the setting of the Museum for Industrial and Social History in Oberhausen, Germany, the first German PowerShell Community Conference will take place April 10 and 11, 2013. &amp;lsquo;PowerShell quickly becomes a core competence for IT people in administration and development&amp;rsquo;, Conference Co-Initiator Dr. Tobias Weltner said. &amp;lsquo;In a fantastic atmosphere, you get quality information and a chance to network&amp;rsquo;. Leading experts like Dr. Holger Schwichtenberg (MVP .NET Framework), Peter Monadjemi and Dr. Tobias Weltner (MVP PowerShell) present topics from the field and development and are available for questions and discussions. A separate pre-conference prep course is available for those who did not yet have the time to dive into PowerShell that much. Information and booking is available at &lt;a href="http://www.powershell.de/konferenz"&gt;www.powershell.de/konferenz&lt;/a&gt;. Please note that this is a German-speaking event.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #000000; font-family: 'Segoe UI','sans-serif'; font-size: 9.5pt; mso-ansi-language: EN;" lang="EN"&gt;The Windows PowerShell Team&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10388460" width="1" height="1"&gt;</content><author><name>PowerShell Team</name><uri>http://blogs.msdn.com/powershellteam_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Updatable Help speaks only English!  What’s up with that?</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/powershell/archive/2013/01/17/updatable-help-speaks-only-english-whats-up-with-that.aspx" /><id>http://blogs.msdn.com/b/powershell/archive/2013/01/17/updatable-help-speaks-only-english-whats-up-with-that.aspx</id><published>2013-01-17T19:20:00Z</published><updated>2013-01-17T19:20:00Z</updated><content type="html">&lt;p&gt;Our customers have certainly not been shy about their interest in multiple languages of Windows PowerShell Updatable Help, and we're grateful to hear how much they would value localized Help. Our challenge is this: Updatable Help is a new feature for this release of Windows PowerShell, and we have so very many new cmdlets and modules for Windows PowerShell 3.0 (over 2,300 new cmdlets in 95 modules). It takes time to translate the content once it's available in English, and we can't translate all of it. There's just too much new content. One of the Windows PowerShell Core modules just by itself contains over 87,000 words, meaning it's roughly the same size as Jane Austen's &lt;em&gt;Persuasion&lt;/em&gt;, or J.K. Rowling's &lt;em&gt;Harry Potter and the Chamber of Secrets&lt;/em&gt;. That's one module. We must make judicious choices about which modules get localized, and which are the most sought-after languages.&lt;/p&gt;
&lt;p&gt;To determine which modules most urgently require translated Help, we're looking primarily at the number of page views of the &lt;a href="http://technet.microsoft.com/library/hh801904.aspx"&gt;cmdlet Help topics in the TechNet Library&lt;/a&gt;. Although we don't yet have the full picture at just five months after General Availability, this is giving us a good idea of which of the new modules are most read by our customers. Here's a look at the current page view count for the top three non-Core modules, for example:&lt;/p&gt;
&lt;table style="border: 1px solid currentColor;" border="0" rules="all"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="180"&gt;Module Name&lt;/td&gt;
&lt;td align="right" width="138"&gt;Page View Count&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="180"&gt;Hyper-V&lt;/td&gt;
&lt;td align="right" width="138"&gt;114701&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="180"&gt;Storage&lt;/td&gt;
&lt;td align="right" width="138"&gt;48653&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="180"&gt;PrintManagement&lt;/td&gt;
&lt;td align="right" width="138"&gt;23915&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;We're also viewing suggestions filed on the &lt;a href="http://connect.microsoft.com/PowerShell"&gt;Microsoft Connect feedback website&lt;/a&gt; for Windows PowerShell. Some of our customers are filing suggestion bugs for getting the Updatable Help translated into languages that they'd like. We welcome and are reviewing these suggestions, too; but again, we will not be able to localize all modules of Updatable Help at this time. Additionally, it's unlikely that there will be support for languages beyond those in which Windows Server 2012 was shipped. The languages in which the first-localized modules would most likely be available, within three to six months from now, are the following four:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chinese (Traditional)&lt;/li&gt;
&lt;li&gt;French&lt;/li&gt;
&lt;li&gt;German&lt;/li&gt;
&lt;li&gt;Japanese&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;While other languages might be supported, these are the most likely languages, based on known consumption of Windows Server (and other server and management software from Microsoft, such as the System Center suite, or SQL Server) in non-English languages. We are still open to considering additional language support for Windows PowerShell. Furthermore, we continuously update the localized content, potentially adding new languages, and new topics in previously-available languages.&lt;/p&gt;
&lt;p&gt;Please do continue to give us your feedback about languages that you'd like to see, and the updatable Help that's most valuable to you. And vote with your browsing, by viewing the &lt;a href="http://technet.microsoft.com/library/hh801904.aspx"&gt;cmdlet reference topics&lt;/a&gt; in your preferred language.&lt;/p&gt;
&lt;p&gt;Thanks for your patience, while we work to get our international customers the module Help that they need the most.&lt;/p&gt;
&lt;p&gt;The Windows PowerShell Team&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10386102" width="1" height="1"&gt;</content><author><name>PowerShell Team</name><uri>http://blogs.msdn.com/powershellteam_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="DOCUMENTATION" scheme="http://blogs.msdn.com/b/powershell/archive/tags/DOCUMENTATION/" /><category term="Get-Help" scheme="http://blogs.msdn.com/b/powershell/archive/tags/Get_2D00_Help/" /><category term="PowerShell" scheme="http://blogs.msdn.com/b/powershell/archive/tags/PowerShell/" /><category term="Help" scheme="http://blogs.msdn.com/b/powershell/archive/tags/Help/" /><category term="Updatable Help" scheme="http://blogs.msdn.com/b/powershell/archive/tags/Updatable+Help/" /></entry><entry><title>Windows Management Framework 3.0 Compatibility Update</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/powershell/archive/2012/12/20/windows-management-framework-3-0-compatibility-update.aspx" /><id>http://blogs.msdn.com/b/powershell/archive/2012/12/20/windows-management-framework-3-0-compatibility-update.aspx</id><published>2012-12-20T02:11:22Z</published><updated>2012-12-20T02:11:22Z</updated><content type="html">&lt;p&gt;Windows Management Framework (WMF) 3.0, (currently distributed as &lt;a href="http://support.microsoft.com/kb/2506146"&gt;&lt;strong&gt;KB2506146&lt;/strong&gt;&lt;/a&gt; for Windows Server 2008 SP2 and &lt;a href="http://support.microsoft.com/kb/2506143"&gt;&lt;strong&gt;KB2506143&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;,&lt;/strong&gt; for Windows 7 SP1 and Windows Server 2008 R2 SP1) has been temporarily removed from Windows Update to protect from accidental installations on unsupported systems. Those who want to install WMF 3.0 to take advantage of all the great features this update provides can do so by installing the update from the &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=34595"&gt;Microsoft Download Center&lt;/a&gt;, after reading the known compatibility issues detailed below.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Windows Management Framework (WMF 3.0) was released to the Download Center on September 17, 2012. On December 11, 2012,this package was released through Windows Update. Although it was released as an optional update, many customers chose to deploy the package automatically.&amp;nbsp; Because there are compatibility issues between some released server applications and WMF 3.0, we have temporarily removed WMF 3.0 from Windows Update. This should prevent customers from inadvertently installing the package on unsupported systems.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Known Compatibility Issues:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Windows Management Framework 3.0 (WMF 3.0) is not currently compatible with the following applications.&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System Center 2012 Configuration Manager&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;a href="http://support.microsoft.com/kb/2796086"&gt;http://support.microsoft.com/kb/2796086&lt;/a&gt;&amp;nbsp; (Configuration Manager Management Points collocated with clients fail after installing Windows Management Framework 3.0 and running Client Health Evaluation)&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System Center Virtual Machine Manager&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;a href="http://support.microsoft.com/kb/2795043"&gt;http://support.microsoft.com/kb/2795043&lt;/a&gt; (Managing Hyper-V hosts using Virtual Machine Manager fails with Error: 0x8033803b after installing WMF 3.0)&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Microsoft Exchange Server 2007 and Microsoft Exchange Server 2010&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;a href="http://blogs.technet.com/b/exchange/archive/2012/12/14/windows-management-framework-3-0-on-exchange-2007-and-exchange-2010.aspx"&gt;http://blogs.technet.com/b/exchange/archive/2012/12/14/windows-management-framework-3-0-on-exchange-2007-and-exchange-2010.aspx&lt;/a&gt; (Windows Management Framework 3.0 on Exchange 2007 and Exchange 2010)&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Microsoft SharePoint 2010&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;a href="http://connect.microsoft.com/PowerShell/feedback/details/746908/powershell-3-0-and-sharepoint-2010"&gt;http://connect.microsoft.com/PowerShell/feedback/details/746908/powershell-3-0-and-sharepoint-2010&lt;/a&gt;&amp;nbsp; (Windows PowerShell 3.0 and SharePoint 2010)&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows Small Business Server 2008 and Windows Small Business Server 2011&lt;/p&gt;
&lt;p style="padding-left: 60px;"&gt;&lt;a href="http://blogs.technet.com/b/sbs/archive/2012/12/15/windows-management-framework-3-0-applicability-on-windows-small-business-server-2008-2011-standard.aspx"&gt;http://blogs.technet.com/b/sbs/archive/2012/12/15/windows-management-framework-3-0-applicability-on-windows-small-business-server-2008-2011-standard.aspx&lt;/a&gt;&amp;nbsp; (Windows Management Framework 3.0 applicability on Windows Small Business Server 2008/2011 Standard)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Systems that are running the above server applications should not run Windows Management Framework 3.0 at this time. WMF 3.0 is otherwise supported on Windows 7 SP1, Windows Server 2008 R2 SP1, and Windows Server 2008 SP2.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10379627" width="1" height="1"&gt;</content><author><name>PowerShell Team</name><uri>http://blogs.msdn.com/powershellteam_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="WMF &amp;quot;Windows Management Framework 3.0&amp;quot; PowerShell WMI" scheme="http://blogs.msdn.com/b/powershell/archive/tags/WMF+_2600_quot_3B00_Windows+Management+Framework+3-0_2600_quot_3B00_+PowerShell+WMI/" /></entry><entry><title>WMI cheat sheet for PS users</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/powershell/archive/2012/10/28/wmi-cheat-sheet-for-ps-users.aspx" /><link rel="enclosure" type="application/pdf" length="289863" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-36-34-70/WMI-CheatSheet-for-PS.pdf" /><id>http://blogs.msdn.com/b/powershell/archive/2012/10/28/wmi-cheat-sheet-for-ps-users.aspx</id><published>2012-10-28T21:10:13Z</published><updated>2012-10-28T21:10:13Z</updated><content type="html">&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;We got multiple requests to publish the cheat sheet for CIM Cmdlets that was distributed in Tech Ed NA&amp;nbsp;this year. Responding to popular demand, this document is attached as PDF . This is a great resource put together by WMI team for people who want to get started with CIM cmdlets.&lt;/p&gt;
&lt;p&gt;Standard disclaimer :-). Cheat sheet is just for a quick start to get people started&amp;nbsp;- real documentation is here &lt;a href="http://technet.microsoft.com/en-us/library/jj553783.aspx"&gt;http://technet.microsoft.com/en-us/library/jj553783.aspx&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Osama Sajid&lt;/p&gt;
&lt;p&gt;Program Manager&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10363470" width="1" height="1"&gt;</content><author><name>PowerShell Team</name><uri>http://blogs.msdn.com/powershellteam_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="WMI" scheme="http://blogs.msdn.com/b/powershell/archive/tags/WMI/" /><category term="CIM" scheme="http://blogs.msdn.com/b/powershell/archive/tags/CIM/" /><category term="CimCmdlets" scheme="http://blogs.msdn.com/b/powershell/archive/tags/CimCmdlets/" /></entry><entry><title>Joining Multiple Tables, Grouping and Evaluating Totals</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/powershell/archive/2012/10/04/joining-multiple-tables-grouping-and-evaluating-totals.aspx" /><id>http://blogs.msdn.com/b/powershell/archive/2012/10/04/joining-multiple-tables-grouping-and-evaluating-totals.aspx</id><published>2012-10-04T00:12:00Z</published><updated>2012-10-04T00:12:00Z</updated><content type="html">&lt;div class="WordSection1"&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;Joining Multiple Tables, Grouping And Evaluating Totals&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;This is a continuation to the &lt;a href="http://blogs.msdn.com/b/powershell/archive/2012/07/13/join-object.aspx"&gt;Join-Object&lt;/a&gt; blog post considering multiple joins and SQL style grouping and total evaluation.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;In the &lt;a href="http://blogs.msdn.com/b/powershell/archive/2012/07/13/join-object.aspx"&gt;Join-Object&lt;/a&gt; blog we&amp;rsquo;ve seen that relational data naturally organizes in multiple tables.&amp;nbsp;Once we have those tables, we frequently want to see&amp;nbsp;the information back together, so we need something like &lt;a href="http://blogs.msdn.com/b/powershell/archive/2012/07/13/join-object.aspx"&gt;Join-Object&lt;/a&gt;. Sometimes we also need to group the information and evaluate totals inside the groups. For instance, what are the total sales for each customer?&lt;/p&gt;
&lt;p class="MsoNormal"&gt;How can we use &lt;a href="http://blogs.msdn.com/b/powershell/archive/2012/07/13/join-object.aspx"&gt;Join-Object&lt;/a&gt;&lt;span class="MsoHyperlink"&gt; &lt;/span&gt;in multiple tables and group information from the tables to report totals?&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;Joining multiple tables:&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Consider the following tables describing sales at a fruit stand:&lt;/p&gt;
&lt;div align="center"&gt;
&lt;table class="MsoTableGrid" style="border: currentColor; border-collapse: collapse;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="271" valign="top" style="padding: 0in 5.4pt; width: 203.4pt;" colspan="3"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: normal;"&gt;&lt;b&gt;Customers&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Id&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Name&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Phone&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;John Smith&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;(206)555-8899&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Mark Stone&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;(425)999-8811&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;3&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Ruth Moore&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;(425)888-3355&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;div align="center"&gt;
&lt;table class="MsoTableGrid" style="border: currentColor; border-collapse: collapse;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="271" valign="top" style="padding: 0in 5.4pt; width: 203.4pt;" colspan="3"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;&lt;b&gt;Products&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Id&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Name&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Price&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Apple&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;10&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Orange&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;12&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;3&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Kiwi&lt;/p&gt;
&lt;/td&gt;
&lt;td width="114" valign="top" style="padding: 0in 5.4pt; width: 85.5pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;15&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%; font-size: 7pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;table align="center" class="MsoTableGrid" style="border: currentColor; margin-right: 6.75pt; margin-left: 6.75pt; border-collapse: collapse;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="319" valign="top" style="padding: 0in 5.4pt; width: 239.4pt;" colspan="3"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;&lt;b&gt;Orders&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Id&lt;/p&gt;
&lt;/td&gt;
&lt;td width="174" valign="top" style="padding: 0in 5.4pt; width: 130.5pt; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Date&lt;/p&gt;
&lt;/td&gt;
&lt;td width="102" valign="top" style="padding: 0in 5.4pt; width: 76.5pt; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;CustomerId&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="174" valign="top" style="padding: 0in 5.4pt; width: 130.5pt; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;6/6/2012 9:12:44 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td width="102" valign="top" style="padding: 0in 5.4pt; width: 76.5pt; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;td width="174" valign="top" style="padding: 0in 5.4pt; width: 130.5pt; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;6/7/2012 6:12:10 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td width="102" valign="top" style="padding: 0in 5.4pt; width: 76.5pt; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;3&lt;/p&gt;
&lt;/td&gt;
&lt;td width="174" valign="top" style="padding: 0in 5.4pt; width: 130.5pt; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;6/5/2012 12:05:03 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td width="102" valign="top" style="padding: 0in 5.4pt; width: 76.5pt; text-align: center;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table align="center" class="MsoTableGrid" style="border: currentColor; margin-right: 6.75pt; margin-left: 6.75pt; border-collapse: collapse;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="259" valign="top" style="padding: 0in 5.4pt; width: 2.7in;" colspan="4"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;&lt;b&gt;OrderItems&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p align="center" class="MsoNormal" style="text-align: center; line-height: 115%; margin-bottom: 10pt;"&gt;Id&lt;/p&gt;
&lt;/td&gt;
&lt;td width="72" valign="top" style="padding: 0in 5.4pt; width: 0.75in;"&gt;
&lt;p align="center" class="MsoNormal" style="text-align: center; line-height: 115%; margin-bottom: 10pt;"&gt;Quantity&lt;/p&gt;
&lt;/td&gt;
&lt;td width="78" valign="top" style="padding: 0in 5.4pt; width: 58.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="text-align: center; line-height: 115%; margin-bottom: 10pt;"&gt;ProductId&lt;/p&gt;
&lt;/td&gt;
&lt;td width="66" valign="top" style="padding: 0in 5.4pt; width: 49.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="text-align: center; line-height: 115%; margin-bottom: 10pt;"&gt;OrderId&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="72" valign="top" style="padding: 0in 5.4pt; width: 0.75in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;td width="78" valign="top" style="padding: 0in 5.4pt; width: 58.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;3&lt;/p&gt;
&lt;/td&gt;
&lt;td width="66" valign="top" style="padding: 0in 5.4pt; width: 49.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;td width="72" valign="top" style="padding: 0in 5.4pt; width: 0.75in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="78" valign="top" style="padding: 0in 5.4pt; width: 58.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;td width="66" valign="top" style="padding: 0in 5.4pt; width: 49.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;3&lt;/p&gt;
&lt;/td&gt;
&lt;td width="72" valign="top" style="padding: 0in 5.4pt; width: 0.75in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;4&lt;/p&gt;
&lt;/td&gt;
&lt;td width="78" valign="top" style="padding: 0in 5.4pt; width: 58.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;5&lt;/p&gt;
&lt;/td&gt;
&lt;td width="66" valign="top" style="padding: 0in 5.4pt; width: 49.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;4&lt;/p&gt;
&lt;/td&gt;
&lt;td width="72" valign="top" style="padding: 0in 5.4pt; width: 0.75in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;5&lt;/p&gt;
&lt;/td&gt;
&lt;td width="78" valign="top" style="padding: 0in 5.4pt; width: 58.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="66" valign="top" style="padding: 0in 5.4pt; width: 49.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;5&lt;/p&gt;
&lt;/td&gt;
&lt;td width="72" valign="top" style="padding: 0in 5.4pt; width: 0.75in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;4&lt;/p&gt;
&lt;/td&gt;
&lt;td width="78" valign="top" style="padding: 0in 5.4pt; width: 58.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;td width="66" valign="top" style="padding: 0in 5.4pt; width: 49.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="43" valign="top" style="padding: 0in 5.4pt; width: 0.45in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;6&lt;/p&gt;
&lt;/td&gt;
&lt;td width="72" valign="top" style="padding: 0in 5.4pt; width: 0.75in;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="78" valign="top" style="padding: 0in 5.4pt; width: 58.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="66" valign="top" style="padding: 0in 5.4pt; width: 49.5pt;"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;3&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;As we saw in the &lt;a href="http://blogs.msdn.com/b/powershell/archive/2012/07/13/join-object.aspx"&gt;Join-Object&lt;/a&gt; blog, we need this many tables to deal with the simple conceptual problem of selling fruit!&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;One might question the need for the OrderItems table. An order item is a line in the receipt for an order that lists a product and its quantity. Since there can be many items per order, it needs its own table as mentioned in the &lt;a href="http://blogs.msdn.com/b/powershell/archive/2012/07/13/join-object.aspx"&gt;Join-Object&lt;/a&gt; blog.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;As we can see from the data, we have 3 customers, 3 products, 3 orders, and 6 order items. The three first order items are for the Order with Id 1.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;Good data design forces us to split the tables, but after this is done, we frequently need to see the data together.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;For example, suppose I want a report with all basic receipt information, including customer name, order date, all products bought, their quantity, and price. Here is the SQL statement that produces the report:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;SELECT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Customer.Name, [Order].Date, OrderItem.Quantity,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Product.Name AS [Product Name], Product.Price&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OrderItem INNER JOIN Product ON OrderItem.ProductId = Product.id INNER JOIN&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Customer INNER JOIN&amp;nbsp; [Order] ON Customer.id = [Order].CustomerId ON OrderItem.OrderId = [Order].id&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;Here is the result:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;div align="center"&gt;
&lt;table class="MsoTableGrid" style="border: currentColor; border-collapse: collapse;" border="0" cellspacing="0" cellpadding="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="559" valign="top" style="padding: 0in 5.4pt; width: 419.4pt;" colspan="5"&gt;
&lt;p align="center" class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: center; line-height: 115%;"&gt;&lt;b&gt;Joining All Tables&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115" valign="top" style="padding: 0in 5.4pt; width: 1.2in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Name&lt;/p&gt;
&lt;/td&gt;
&lt;td width="156" valign="top" style="padding: 0in 5.4pt; width: 117pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Date&lt;/p&gt;
&lt;/td&gt;
&lt;td width="112" valign="top" style="padding: 0in 5.4pt; width: 83.85pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Quantity&lt;/p&gt;
&lt;/td&gt;
&lt;td width="128" valign="top" style="padding: 0in 5.4pt; width: 95.75pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Product Name&lt;/p&gt;
&lt;/td&gt;
&lt;td width="49" valign="top" style="padding: 0in 5.4pt; width: 36.4pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Price&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115" valign="top" style="padding: 0in 5.4pt; width: 1.2in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;John Smith&lt;/p&gt;
&lt;/td&gt;
&lt;td width="156" valign="top" style="padding: 0in 5.4pt; width: 117pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;6/6/2012 9:12:44 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td width="112" valign="top" style="padding: 0in 5.4pt; width: 83.85pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;td width="128" valign="top" style="padding: 0in 5.4pt; width: 95.75pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Apple&lt;/p&gt;
&lt;/td&gt;
&lt;td width="49" valign="top" style="padding: 0in 5.4pt; width: 36.4pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;10&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115" valign="top" style="padding: 0in 5.4pt; width: 1.2in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;John Smith&lt;/p&gt;
&lt;/td&gt;
&lt;td width="156" valign="top" style="padding: 0in 5.4pt; width: 117pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;6/6/2012 9:12:44 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td width="112" valign="top" style="padding: 0in 5.4pt; width: 83.85pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="128" valign="top" style="padding: 0in 5.4pt; width: 95.75pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Orange&lt;/p&gt;
&lt;/td&gt;
&lt;td width="49" valign="top" style="padding: 0in 5.4pt; width: 36.4pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;12&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115" valign="top" style="padding: 0in 5.4pt; width: 1.2in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;John Smith&lt;/p&gt;
&lt;/td&gt;
&lt;td width="156" valign="top" style="padding: 0in 5.4pt; width: 117pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;6/6/2012 9:12:44 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td width="112" valign="top" style="padding: 0in 5.4pt; width: 83.85pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;4&lt;/p&gt;
&lt;/td&gt;
&lt;td width="128" valign="top" style="padding: 0in 5.4pt; width: 95.75pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Kiwi&lt;/p&gt;
&lt;/td&gt;
&lt;td width="49" valign="top" style="padding: 0in 5.4pt; width: 36.4pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;5&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115" valign="top" style="padding: 0in 5.4pt; width: 1.2in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;John Smith&lt;/p&gt;
&lt;/td&gt;
&lt;td width="156" valign="top" style="padding: 0in 5.4pt; width: 117pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;6/7/2012 6:12:10 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td width="112" valign="top" style="padding: 0in 5.4pt; width: 83.85pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;5&lt;/p&gt;
&lt;/td&gt;
&lt;td width="128" valign="top" style="padding: 0in 5.4pt; width: 95.75pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Apple&lt;/p&gt;
&lt;/td&gt;
&lt;td width="49" valign="top" style="padding: 0in 5.4pt; width: 36.4pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;10&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115" valign="top" style="padding: 0in 5.4pt; width: 1.2in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;John Smith&lt;/p&gt;
&lt;/td&gt;
&lt;td width="156" valign="top" style="padding: 0in 5.4pt; width: 117pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;6/7/2012 6:12:10 PM&lt;/p&gt;
&lt;/td&gt;
&lt;td width="112" valign="top" style="padding: 0in 5.4pt; width: 83.85pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;4&lt;/p&gt;
&lt;/td&gt;
&lt;td width="128" valign="top" style="padding: 0in 5.4pt; width: 95.75pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Orange&lt;/p&gt;
&lt;/td&gt;
&lt;td width="49" valign="top" style="padding: 0in 5.4pt; width: 36.4pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;12&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="115" valign="top" style="padding: 0in 5.4pt; width: 1.2in;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Mark Stone&lt;/p&gt;
&lt;/td&gt;
&lt;td width="156" valign="top" style="padding: 0in 5.4pt; width: 117pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;6/5/2012 12:00:00 AM&lt;/p&gt;
&lt;/td&gt;
&lt;td width="112" valign="top" style="padding: 0in 5.4pt; width: 83.85pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="128" valign="top" style="padding: 0in 5.4pt; width: 95.75pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;Apple&lt;/p&gt;
&lt;/td&gt;
&lt;td width="49" valign="top" style="padding: 0in 5.4pt; width: 36.4pt;"&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal;"&gt;10&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;A little explanation of the SQL statement&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;The&amp;nbsp; &amp;ldquo;AS [Product Name]&amp;rdquo; segment sets the column name in the output. Both product name and customer name are called &amp;ldquo;Name&amp;rdquo; in their own tables, so we need to differentiate them in the output.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;The brackets around &amp;ldquo;[Order]&amp;rdquo; differentiate it from the SQL "Order" keyword.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;The Inner Join shows only the items present in both tables.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;All 4 tables are &amp;ldquo;inner joined&amp;rdquo; in the statement.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;Putting the data in Windows PowerShell&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;From here on, we will use Windows PowerShell to manipulate this data, so let&amp;rsquo;s start by putting this data in PowerShell.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;The following script creates four CSV files and then imports them into four variables that contain our data.&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;@"&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Id,Name,Phone&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;1,John Smith,(206)555-8899&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;2,Mark Stone,(425)999-8811&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;3,Ruth Moore,(425)888-3355&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;"@&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: darkgray;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;c:\temp\customers.csv&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 9pt;"&gt;$customers&lt;/span&gt;&lt;span style="color: darkgray; font-family: 'Lucida Console'; font-size: 9pt;"&gt;=&lt;/span&gt;&lt;span style="color: blue; font-family: 'Lucida Console'; font-size: 9pt;"&gt;import-csv&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: blueviolet;"&gt;c:\temp\customers.csv&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;@"&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Id,Name,Price&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;1,Apple,10&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;2,Orange,12&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;3,Kiwi,15&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;"@&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: darkgray;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;c:\temp\products.csv&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 9pt;"&gt;$products&lt;/span&gt;&lt;span style="color: darkgray; font-family: 'Lucida Console'; font-size: 9pt;"&gt;=&lt;/span&gt;&lt;span style="color: blue; font-family: 'Lucida Console'; font-size: 9pt;"&gt;import-csv&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: blueviolet;"&gt;c:\temp\products.csv&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;@"&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Id,Date,CustomerId&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;1,6/6/2012 9:12:44 AM,1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;2,6/7/2012 6:12:10 PM,1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;3,6/5/2012 12:05:03 PM,2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;"@&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: darkgray;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;c:\temp\orders.csv&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 9pt;"&gt;$orders&lt;/span&gt;&lt;span style="color: darkgray; font-family: 'Lucida Console'; font-size: 9pt;"&gt;=&lt;/span&gt;&lt;span style="color: blue; font-family: 'Lucida Console'; font-size: 9pt;"&gt;import-csv&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: blueviolet;"&gt;c:\temp\orders.csv&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;@"&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Id,Quantity,ProductId,OrderId&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;1,2,1,1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;2,1,2,1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;3,4,3,1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;4,5,1,2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;5,4,2,2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;6,1,1,3&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;"@&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: darkgray;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;c:\temp\orderItems.csv&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 9pt;"&gt;$orderItems&lt;/span&gt;&lt;span style="color: darkgray; font-family: 'Lucida Console'; font-size: 9pt;"&gt;=&lt;/span&gt;&lt;span style="color: blue; font-family: 'Lucida Console'; font-size: 9pt;"&gt;import-csv&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: blueviolet;"&gt;c:\temp\orderItems.csv&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;"Customers "&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;;&lt;span style="color: orangered;"&gt;$customers&lt;/span&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;format-table&lt;/span&gt; &lt;span style="color: navy;"&gt;-AutoSize&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;"`r`nProducts "&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;;&lt;span style="color: orangered;"&gt;$products&lt;/span&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;format-table&lt;/span&gt; &lt;span style="color: navy;"&gt;-AutoSize&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;"`r`nOrders "&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;;&lt;span style="color: orangered;"&gt;$orders&lt;/span&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;format-table&lt;/span&gt; &lt;span style="color: navy;"&gt;-AutoSize&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkred; font-family: 'Lucida Console'; font-size: 9pt;"&gt;"`r`nOrder Items "&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;;&lt;span style="color: orangered;"&gt;$orderItems&lt;/span&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;format-table&lt;/span&gt; &lt;span style="color: navy;"&gt;-AutoSize &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Here is the output:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Customers &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Id Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Phone &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;-- ----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----- &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;1&amp;nbsp; John Smith&amp;nbsp; (206)555-8899&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;2&amp;nbsp; Mark Stone&amp;nbsp; (425)999-8811&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;3&amp;nbsp; Ruth Moore&amp;nbsp; (425)888-3355&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Products &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Id Name&amp;nbsp;&amp;nbsp;&amp;nbsp; Price&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;-- ----&amp;nbsp;&amp;nbsp;&amp;nbsp; -----&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;1&amp;nbsp; Apple&amp;nbsp;&amp;nbsp; 10 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;2&amp;nbsp; Orange&amp;nbsp; 12 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;3&amp;nbsp; Kiwi&amp;nbsp;&amp;nbsp;&amp;nbsp; 15 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Orders &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Id Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CustomerId&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;-- ----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----------&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;1&amp;nbsp; 6/6/2012&amp;nbsp; 9:12:44 AM 1 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;2&amp;nbsp; 6/7/2012&amp;nbsp; 6:12:10 PM 1 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;3&amp;nbsp; 6/5/2012&amp;nbsp; 12:05:03 PM 2 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Order Items &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Id Quantity ProductId OrderId&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;-- -------- --------- -------&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;1&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;1 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 1 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;2&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 1 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;3&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;1 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;4&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;2 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;5&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 2 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;6&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;3 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; line-height: normal; background: #012456; text-autospace: none;"&gt;&lt;span style="font-size: 9.0pt; font-family: 'Lucida Console'; color: whitesmoke;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;The equivalent joins in PowerShell with the help of &lt;a href="http://blogs.msdn.com/b/powershell/archive/2012/07/13/join-object.aspx"&gt;Join-Object&lt;/a&gt; are as follows:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# Joins the customer to his orders and places Name(from Customer),&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# Date(from Order) and Id (from Order)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 8pt;"&gt;$customerOrders&lt;/span&gt;&lt;span style="color: darkgray; font-family: 'Lucida Console'; font-size: 8pt;"&gt;=&lt;/span&gt;&lt;span style="color: blue; font-family: 'Lucida Console'; font-size: 8pt;"&gt;Join-Object&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt; &lt;span style="color: navy;"&gt;-Left&lt;/span&gt; &lt;span style="color: orangered;"&gt;$customers&lt;/span&gt; &lt;span style="color: navy;"&gt;-Right&lt;/span&gt; &lt;span style="color: orangered;"&gt;$orders&lt;/span&gt; &lt;span style="color: navy;"&gt;-LeftProperties&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Name&lt;/span&gt; &lt;span style="color: navy;"&gt;-RightProperties&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Date&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;Id&lt;/span&gt; &lt;span style="color: navy;"&gt;-Where&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;Id &lt;span style="color: darkgray;"&gt;-eq&lt;/span&gt; &lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;CustomerId}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# Adds the OrderItems to the data already gathered. The output objects will&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# have Name(from Customer), Date(from Order), Quantity(from OrderItem) &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# and ProductId (from OrderItem).&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 8pt;"&gt;$customerOrderItems&lt;/span&gt;&lt;span style="color: darkgray; font-family: 'Lucida Console'; font-size: 8pt;"&gt;=&lt;/span&gt;&lt;span style="color: blue; font-family: 'Lucida Console'; font-size: 8pt;"&gt;Join-Object&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt; &lt;span style="color: navy;"&gt;-Left&lt;/span&gt; &lt;span style="color: orangered;"&gt;$customerOrders&lt;/span&gt; &lt;span style="color: navy;"&gt;-Right&lt;/span&gt; &lt;span style="color: orangered;"&gt;$orderItems&lt;/span&gt; &lt;span style="color: navy;"&gt;-LeftProperties&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Name&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;Date&lt;/span&gt; &lt;span style="color: navy;"&gt;-RightProperties&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Quantity&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;ProductId&lt;/span&gt; &lt;span style="color: navy;"&gt;-Where&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;Id &lt;span style="color: darkgray;"&gt;-eq&lt;/span&gt; &lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;OrderId}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# Adds the Products to the data already gathered. The output objects will&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# have Name (from Customer), Date(from Order), Quantity (from OrderItem)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# Product Name (from Product) and Price from Product&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# We use a Hashtable instead of simply "Name" for Product Name because&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# "Name" is already present in the output object for the customer name,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# so we need to differentiate the Product name from that.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# If you did not know the syntax for the Hashtable Expression, you will&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: darkgreen; font-family: 'Lucida Console'; font-size: 8pt;"&gt;# be interested in the fact it also works for Select-Object properties&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 8pt;"&gt;$customerProducts&lt;/span&gt;&lt;span style="color: darkgray; font-family: 'Lucida Console'; font-size: 8pt;"&gt;=&lt;/span&gt;&lt;span style="color: blue; font-family: 'Lucida Console'; font-size: 8pt;"&gt;Join-Object&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt; &lt;span style="color: navy;"&gt;-Left&lt;/span&gt; &lt;span style="color: orangered;"&gt;$customerOrderItems&lt;/span&gt; &lt;span style="color: navy;"&gt;-Right&lt;/span&gt; &lt;span style="color: orangered;"&gt;$products&lt;/span&gt; &lt;span style="color: navy;"&gt;-LeftProperties&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Name&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;Date&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;Quantity&lt;/span&gt; &lt;span style="color: navy;"&gt;-RightProperties&lt;/span&gt; @{Name&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: darkred;"&gt;"Product Name"&lt;/span&gt;;Expression&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;{&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Name}}&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;Price&lt;/span&gt; &lt;span style="color: navy;"&gt;-Where&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;ProductId &lt;span style="color: darkgray;"&gt;-eq&lt;/span&gt; &lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;Id}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 8pt;"&gt;$customerProducts&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;format-table &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: blue; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Here is the output:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Quantity Product Name Price&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -------- ------------ -----&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;John Smith 6/6/2012 9:12:44 AM&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;John Smith 6/6/2012 9:12:44 AM&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Orange&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;John Smith 6/6/2012 9:12:44 AM&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kiwi&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;John Smith 6/7/2012 6:12:10 PM&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;John Smith 6/7/2012 6:12:10 PM&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Orange&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Mark Stone 6/5/2012 12:05:03 PM 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;So, the following three lines of code &amp;hellip;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 8pt;"&gt;$customerOrders&lt;/span&gt;&lt;span style="color: darkgray; font-family: 'Lucida Console'; font-size: 8pt;"&gt;=&lt;/span&gt;&lt;span style="color: blue; font-family: 'Lucida Console'; font-size: 8pt;"&gt;Join-Object&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt; &lt;span style="color: navy;"&gt;-Left&lt;/span&gt; &lt;span style="color: orangered;"&gt;$customers&lt;/span&gt; &lt;span style="color: navy;"&gt;-Right&lt;/span&gt; &lt;span style="color: orangered;"&gt;$orders&lt;/span&gt; &lt;span style="color: navy;"&gt;-LeftProperties&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Name&lt;/span&gt; &lt;span style="color: navy;"&gt;-RightProperties&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Date&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;Id&lt;/span&gt; &lt;span style="color: navy;"&gt;-Where&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;Id &lt;span style="color: darkgray;"&gt;-eq&lt;/span&gt; &lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;CustomerId}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 8pt;"&gt;$customerOrderItems&lt;/span&gt;&lt;span style="color: darkgray; font-family: 'Lucida Console'; font-size: 8pt;"&gt;=&lt;/span&gt;&lt;span style="color: blue; font-family: 'Lucida Console'; font-size: 8pt;"&gt;Join-Object&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt; &lt;span style="color: navy;"&gt;-Left&lt;/span&gt; &lt;span style="color: orangered;"&gt;$customerOrders&lt;/span&gt; &lt;span style="color: navy;"&gt;-Right&lt;/span&gt; &lt;span style="color: orangered;"&gt;$orderItems&lt;/span&gt; &lt;span style="color: navy;"&gt;-LeftProperties&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Name&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;Date&lt;/span&gt; &lt;span style="color: navy;"&gt;-RightProperties&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Quantity&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;ProductId&lt;/span&gt; &lt;span style="color: navy;"&gt;-Where&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;Id &lt;span style="color: darkgray;"&gt;-eq&lt;/span&gt; &lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;OrderId}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 8pt;"&gt;$customerProducts&lt;/span&gt;&lt;span style="color: darkgray; font-family: 'Lucida Console'; font-size: 8pt;"&gt;=&lt;/span&gt;&lt;span style="color: blue; font-family: 'Lucida Console'; font-size: 8pt;"&gt;Join-Object&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 8pt;"&gt; &lt;span style="color: navy;"&gt;-Left&lt;/span&gt; &lt;span style="color: orangered;"&gt;$customerOrderItems&lt;/span&gt; &lt;span style="color: navy;"&gt;-Right&lt;/span&gt; &lt;span style="color: orangered;"&gt;$products&lt;/span&gt; &lt;span style="color: navy;"&gt;-LeftProperties&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Name&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;Date&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;Quantity&lt;/span&gt; &lt;span style="color: navy;"&gt;-RightProperties&lt;/span&gt; @{Name&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: darkred;"&gt;"Product Name"&lt;/span&gt;;Expression&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;{&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Name}}&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;&lt;span style="color: blueviolet;"&gt;Price&lt;/span&gt; &lt;span style="color: navy;"&gt;-Where&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;ProductId &lt;span style="color: darkgray;"&gt;-eq&lt;/span&gt; &lt;span style="color: orangered;"&gt;$args&lt;/span&gt;&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;Id}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&amp;hellip; do the same job as the SQL statement:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;SELECT&amp;nbsp;&amp;nbsp;&amp;nbsp;Customer.Name, [Order].Date, OrderItem.Quantity,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Product.Name AS [Product Name], Product.Price&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OrderItem INNER JOIN Product ON OrderItem.ProductId = Product.id INNER JOIN&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Customer INNER JOIN&amp;nbsp; [Order] ON Customer.id = [Order].CustomerId ON OrderItem.OrderId = [Order].id&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: justify;"&gt;There are some advantages to the SQL statement:&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="margin: 0pt; padding: 0pt; text-align: justify; text-indent: -0.25in;"&gt;&lt;span style="font-family: Symbol;"&gt;&amp;middot;&lt;span style="font: 7pt/normal 'Times New Roman'; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;It is a single statement that is somewhat shorter than the three statements&amp;nbsp; in PowerShell.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="margin: 0pt; padding: 0pt; text-align: justify; text-indent: -0.25in;"&gt;&lt;span style="font-family: Symbol;"&gt;&amp;middot;&lt;span style="font: 7pt/normal 'Times New Roman'; font-size-adjust: none; font-stretch: normal;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;It has a better syntax for aliasing a property in the output (&amp;ldquo;as ProductName&amp;rdquo; as opposed to &amp;ldquo;&lt;span style="line-height: 115%; font-family: 'Lucida Console'; font-size: 9pt;"&gt;@{Name&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: darkred;"&gt;"Product Name"&lt;/span&gt;;Expression&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;{&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Name}}&lt;/span&gt;&amp;rdquo;).&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;In my opinion, those are small advantages. Each one of the PowerShell join statements is easy to understand in isolation. The hashtable syntax used in the third command (to change a property name) is a bit long, but very common to PowerShell users, because&amp;nbsp; it is useful for other cmdlets including Select-Object.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;I considered changing Join-Object to take all the lists and Where clauses in a single cmdlet call, but the need to pair each of two lists with a Where clause (and a Join type) makes the command a bit too cryptic for my taste. I prefer three statements that are easy to understand to one that is not. Performance-wise, there is no difference, because each Join has to be considered in isolation.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;Now that the data is joined, what about getting the total money spent by each customer, the total money spent in each product and the total money spent?&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;Total Money Spent by Each Customer&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;Let&amp;rsquo;s start with the whole command:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 9pt;"&gt;$customerProducts&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Group-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;name&lt;/span&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;Select-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Name&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;@{Name&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: darkred;"&gt;'Total'&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Expression&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;{&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Group &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;ForEach-Object&lt;/span&gt; `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-Begin&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;;} `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-Process&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;&lt;span style="color: darkgray;"&gt;+=[&lt;/span&gt;&lt;span style="color: teal;"&gt;int&lt;/span&gt;&lt;span style="color: darkgray;"&gt;]&lt;/span&gt;&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Price&lt;span style="color: darkgray;"&gt;*&lt;/span&gt;&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Quantity} `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-End&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;}}} &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;format-table&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;It produces this output:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: courier new,courier; font-size: 9pt;"&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sum&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: courier new,courier; font-size: 9pt;"&gt;----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: courier new,courier; font-size: 9pt;"&gt;John Smith 190&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: courier new,courier; font-size: 9pt;"&gt;Mark Stone&amp;nbsp; 10&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;The first line:&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="color: orangered; line-height: 115%; font-family: 'Lucida Console'; font-size: 9pt;"&gt;$customerProducts&lt;/span&gt;&lt;span style="line-height: 115%; font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Group-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;name&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;Produces two groups:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: courier new,courier; font-size: 9pt;"&gt;Count Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Group&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: courier new,courier; font-size: 9pt;"&gt;----- ----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: courier new,courier; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 John Smith&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {@{Name=John Smith; Date=6/6/2012 9:12:44 AM;...&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: courier new,courier; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 Mark Stone&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {@{Name=Mark Stone; Date=6/5/2012 12:05:03 PM;...&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;In order to better see what is in each group, we run:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;(&lt;span style="color: orangered;"&gt;$customerProducts&lt;/span&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Group-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;name&lt;/span&gt;)&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;Group &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;Which produces:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : John Smith&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 6/6/2012 9:12:44 AM&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Quantity&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;ProductName : Apple&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Price&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;: 10&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : John Smith&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 6/6/2012 9:12:44 AM&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Quantity&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;ProductName : Orange&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Price&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 12&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : John Smith&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 6/6/2012 9:12:44 AM&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Quantity&amp;nbsp;&amp;nbsp;&amp;nbsp; : 4&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;ProductName : Kiwi&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Price&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 15&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : John Smith&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 6/7/2012 6:12:10 PM&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Quantity&amp;nbsp;&amp;nbsp;&amp;nbsp; : 5&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;ProductName : Apple&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Price&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 10&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : John Smith&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 6/7/2012 6:12:10 PM&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Quantity&amp;nbsp;&amp;nbsp;&amp;nbsp; : 4&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;ProductName : Orange&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Price&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 12 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;And:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;(&lt;span style="color: orangered;"&gt;$customerProducts&lt;/span&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Group-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;name&lt;/span&gt;)&lt;span style="color: darkgray;"&gt;[&lt;/span&gt;&lt;span style="color: purple;"&gt;1&lt;/span&gt;&lt;span style="color: darkgray;"&gt;].&lt;/span&gt;Group &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;Which produces:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Mark Stone&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 6/5/2012 12:05:03 PM&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Quantity&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;ProductName : Apple&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Price&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 10 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;So, inside the &amp;ldquo;Group&amp;rdquo; property of each object in the output of group-object is the Price and Quantity we want to multiply in order to get a total. If we wanted just the total quantity of fruit we could do:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 9pt;"&gt;$customerProducts&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Group-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;name&lt;/span&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;Select-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Name&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt; `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @{Name&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: darkred;"&gt;'Total'&lt;/span&gt;;Expression&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;{(&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Group &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Measure-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Quantity&lt;/span&gt; &lt;span style="color: navy;"&gt;-Sum&lt;/span&gt;)&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Sum}} `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;format-table&lt;/span&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;With output:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Total&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -----&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;John Smith&amp;nbsp;&amp;nbsp;&amp;nbsp; 16&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Mark Stone&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: blueviolet; font-family: 'Lucida Console';"&gt;Name&lt;/span&gt; is the first column in the output. The second column is given by:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;@{Name&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: darkred;"&gt;'Total'&lt;/span&gt;; Expression&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;{(&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Group &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Measure-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Quantity&lt;/span&gt; &lt;span style="color: navy;"&gt;-Sum&lt;/span&gt;)&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Sum}}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;This hashtable is a syntax for select object which means a column with a Name = Total and a value which is the Expression. The Expression gets the value of the Group property and pipes to Measure-Object to sum the &amp;lsquo;Quantity&amp;rsquo; property of each member of the Group. Finally the Sum property of the Measure-Object result is retrieved. That property contains the actual sum.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;Since we want to get Price * Quantity and measure-object only supports plain properties we end up with the full command repeated here:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 9pt;"&gt;$customerProducts&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Group-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;name&lt;/span&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;Select-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Name&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;@{Name&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: darkred;"&gt;'Total'&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Expression&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;{&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Group &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;ForEach-Object&lt;/span&gt; `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-Begin&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;;} `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-Process&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;&lt;span style="color: darkgray;"&gt;+=[&lt;/span&gt;&lt;span style="color: teal;"&gt;int&lt;/span&gt;&lt;span style="color: darkgray;"&gt;]&lt;/span&gt;&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Price&lt;span style="color: darkgray;"&gt;*&lt;/span&gt;&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Quantity} `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-End&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;}}} &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;format-table&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;Instead of | measure-object we have a | ForEach-Object where we use &amp;ndash;Begin, -Process and &amp;ndash;End to evaluate the total. This could be easily modified to calculate anything else, including averages, standard deviations, etc.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height: 115%; font-size: 4pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt; text-align: justify;"&gt;Note: The [int] cast in front of $_.Price is required because the price is a string out of our CSV file. This could be avoided by using Export-CliXml and Import-CliXml for our data, whioch would preserve the data type.&lt;/p&gt;
&lt;p class="MsoListParagraph" style="text-align: justify;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;Here is the corresponding SQL statement:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;SELECT&amp;nbsp;&amp;nbsp;&amp;nbsp;Customer.Name, &lt;b&gt;SUM(OrderItem.Quantity * Product.Price)&lt;/b&gt; AS SUM&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OrderItem INNER JOIN&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Product ON OrderItem.ProductId = Product.id INNER JOIN&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Customer INNER JOIN&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Order] ON Customer.id = [Order].CustomerId ON OrderItem.OrderId = [Order].id&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&lt;b&gt;GROUP BY Customer.Name&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;The SQL statement combines the joining, grouping and total evaluation(Price * Quantity) operations.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;The Powershell statement is only doing the grouping and total evaluation, since the $customerProducts variable has the result of the joins performed in the previous section of this blog post.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;The bold segments of the SQL statement are performing the grouping and the PowerShell statement.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;SQL is designed specifically for this kind of data, so it provides a shorter syntax overall, but I believe the PowerShell equivalent is simple enough to understand.&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;b&gt;Total Money Spent in Each Product&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align: justify;"&gt;The only thing that changes from the previous section is that the property we&amp;rsquo;re passing to Group-Object is &amp;ldquo;ProductName&amp;rdquo;:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 9pt;"&gt;$customerProducts&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;Group-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;ProductName&lt;/span&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;Select-Object&lt;/span&gt; &lt;span style="color: blueviolet;"&gt;Name&lt;/span&gt;&lt;span style="color: darkgray;"&gt;,&lt;/span&gt;@{Name&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: darkred;"&gt;'Total'&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Expression&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;{&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Group &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;ForEach-Object&lt;/span&gt; `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-Begin&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;;} `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-Process&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;&lt;span style="color: darkgray;"&gt;+=[&lt;/span&gt;&lt;span style="color: teal;"&gt;int&lt;/span&gt;&lt;span style="color: darkgray;"&gt;]&lt;/span&gt;&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Price&lt;span style="color: darkgray;"&gt;*&lt;/span&gt;&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Quantity} `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-End&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;}}} &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;format-table&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Name&amp;nbsp;&amp;nbsp; Sum&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;----&amp;nbsp;&amp;nbsp; ---&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Apple&amp;nbsp;&amp;nbsp; 80&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Orange&amp;nbsp; 60&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: #012456; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: whitesmoke; font-family: 'Lucida Console'; font-size: 9pt;"&gt;Kiwi&amp;nbsp;&amp;nbsp;&amp;nbsp; 60 &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;The corresponding SQL is:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;SELECT&amp;nbsp;&amp;nbsp;Product.Name, &lt;b&gt;SUM(OrderItem.Quantity * Product.Price)&lt;/b&gt; AS Sum&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OrderItem INNER JOIN&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Product ON OrderItem.ProductId = Product.id&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&lt;b&gt;GROUP BY Product.Name&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;Total Money Spent&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;Here is the command that produces this total:&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="color: orangered; font-family: 'Lucida Console'; font-size: 9pt;"&gt;$customerProducts&lt;/span&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt; &lt;span style="color: darkgray;"&gt;|&lt;/span&gt; &lt;span style="color: blue;"&gt;ForEach-Object&lt;/span&gt; `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-Begin&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;&lt;span style="color: darkgray;"&gt;=&lt;/span&gt;&lt;span style="color: purple;"&gt;0&lt;/span&gt;;} `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-Process&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;&lt;span style="color: darkgray;"&gt;+=[&lt;/span&gt;&lt;span style="color: teal;"&gt;int&lt;/span&gt;&lt;span style="color: darkgray;"&gt;]&lt;/span&gt;&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Price&lt;span style="color: darkgray;"&gt;*&lt;/span&gt;&lt;span style="color: orangered;"&gt;$_&lt;/span&gt;&lt;span style="color: darkgray;"&gt;.&lt;/span&gt;Quantity} `&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: navy;"&gt;-End&lt;/span&gt; {&lt;span style="color: orangered;"&gt;$total&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="background: white; margin: 0pt; padding: 0pt; line-height: normal;"&gt;&lt;span style="font-family: 'Lucida Console'; font-size: 9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Here is the corresponding SQL:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;SELECT&amp;nbsp; &lt;b&gt;SUM(OrderItem.Quantity * Product.Price)&lt;/b&gt; AS Sum&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OrderItem INNER JOIN&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Product ON OrderItem.ProductId = Product.id&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0pt; padding: 0pt;"&gt;Lucio Silveira[MSFT]&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10355722" width="1" height="1"&gt;</content><author><name>PowerShell Team</name><uri>http://blogs.msdn.com/powershellteam_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Windows Management Framework 3.0 Available for Download</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/powershell/archive/2012/09/17/windows-management-framework-3-0-available-for-download.aspx" /><id>http://blogs.msdn.com/b/powershell/archive/2012/09/17/windows-management-framework-3-0-available-for-download.aspx</id><published>2012-09-17T19:38:00Z</published><updated>2012-09-17T19:38:00Z</updated><content type="html">&lt;p&gt;We hope that you&amp;rsquo;ve been enjoying all of the great new Windows PowerShell 3.0 features in &lt;a href="http://www.windows-server-launch.com/"&gt;Windows Server 2012&lt;/a&gt;. We wanted to make sure that everyone knows the final release of Windows Management Framework 3.0 is also available for download from the &lt;a href="http://go.microsoft.com/fwlink/?LinkId=251995"&gt;Microsoft Download Center&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Windows Management Framework 3.0 makes much of the same great management functionality from Windows Server 2012 available to earlier versions of Windows. Windows Management Framework 3.0 allows you to install Windows PowerShell 3.0 (including a new version of WMI and WinRM) on the following Operating Systems:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows 7 Service Pack 1 (32-bit &amp;amp; 64-bit)&lt;/li&gt;
&lt;li&gt;Windows Server 2008 R2 Service Pack 1 (64-bit only, includes Server Core)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Windows Server 2008 Service Pack 2 (32-bit &amp;amp; 64-bit)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note: You must uninstall any of the pre-release packages of Windows Management Framework prior to installing the final release.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Travis Jones [MSFT] &lt;br /&gt;Program Manager &amp;ndash; Windows PowerShell &lt;br /&gt;Microsoft Corporation&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10350225" width="1" height="1"&gt;</content><author><name>PowerShell Team</name><uri>http://blogs.msdn.com/powershellteam_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Managing Hardware devices from PowerShell</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/powershell/archive/2012/09/10/managing-hardware-devices-from-powershell.aspx" /><id>http://blogs.msdn.com/b/powershell/archive/2012/09/10/managing-hardware-devices-from-powershell.aspx</id><published>2012-09-10T17:52:52Z</published><updated>2012-09-10T17:52:52Z</updated><content type="html">&lt;p&gt;Steve did a very cool blog post last month about managing hardware that implements standard DMTF profiles (examples: Intel AMT , Broadcom TruManage )&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/wmi/archive/2012/08/08/standards-based-hardware-management-using-powershell.aspx"&gt;http://blogs.msdn.com/b/wmi/archive/2012/08/08/standards-based-hardware-management-using-powershell.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;He has also published a PowerShell module on TechNet script center to help IT Pros. This module has been built on top of new CIM Cmdlets.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://gallery.technet.microsoft.com/scriptcenter/PowerShell-Out-of-Band-84009c12"&gt;http://gallery.technet.microsoft.com/scriptcenter/PowerShell-Out-of-Band-84009c12&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Take a look, and send your feedback.&lt;/p&gt;
&lt;p&gt;Osama Sajid&lt;/p&gt;
&lt;p&gt;Program Manager, WMI&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10347897" width="1" height="1"&gt;</content><author><name>PowerShell Team</name><uri>http://blogs.msdn.com/powershellteam_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="WMI" scheme="http://blogs.msdn.com/b/powershell/archive/tags/WMI/" /><category term="CIM" scheme="http://blogs.msdn.com/b/powershell/archive/tags/CIM/" /><category term="DMTF" scheme="http://blogs.msdn.com/b/powershell/archive/tags/DMTF/" /><category term="Hardware Management" scheme="http://blogs.msdn.com/b/powershell/archive/tags/Hardware+Management/" /></entry><entry><title>Introduction to CIM Cmdlets</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/powershell/archive/2012/08/24/introduction-to-cim-cmdlets.aspx" /><id>http://blogs.msdn.com/b/powershell/archive/2012/08/24/introduction-to-cim-cmdlets.aspx</id><published>2012-08-24T22:42:26Z</published><updated>2012-08-24T22:42:26Z</updated><content type="html">&lt;p&gt;PowerShell 3.0 shipping with Windows server 2012 and Windows 8 brings a new set of Cmdlets to manage any server or device that complies with CIM and WS-Man standards defined by DMTF. In this blog post we will explore these new Cmdlets and how can they help IT Pros in managing a datacenter.&lt;/p&gt;  &lt;p&gt;The list of new Cmdlets is given in the table below:    &lt;table border="1" cellspacing="0" cellpadding="0" width="668"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;&lt;b&gt;Cmdlet&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;&lt;b&gt;Purpose&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;Get-CimInstance&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Gets instances of a class.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;New-CimInstance&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Creates a new instance of a class.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;Remove-CimInstance&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Removes one of more instances of a class.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;Set-CimInstance&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Modifies one or more instances of a class.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;Get-CimAssociatedInstance&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Gets all the associated instances for a particular instance.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;Invoke-CimMethod&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Invokes instance or static method of a class.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;Get-CimClass&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Gets class schema of a CIM class.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;Register-CimIndicationEvent&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Helps subscribe to events.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;New-CimSession&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Creates a CIM Session with local or a remote machine&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;Get-CimSession&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Gets a list of CIM Sessions that have been made.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;Remove-CimSession&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Removes CimSessions that are there on a machine.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="205"&gt;           &lt;p&gt;New-CimSessionOption&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="461"&gt;           &lt;p&gt;Creates a set of options that can be used while creating a CIM session.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Basic terminology&lt;/h3&gt;  &lt;p&gt;If you are already familiar with terms like WMI, CIM, WinRM and WS-Man, you can skip this section.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;CIM&lt;/b&gt;: Common Information Model (CIM) is the DMTF standard [DSP0004] for describing the structure and behavior of managed resources such as storage, network, or software components.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;WMI&lt;/b&gt;: Windows Management Instrumentation (WMI) is a CIM server that implements the CIM standard on Windows. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;WS-Man&lt;/b&gt;: WS-Management (WS-Man) protocol is a SOAP-based, firewall-friendly protocol for management clients to communicate with CIM servers.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;WinRM:&lt;/b&gt; Windows Remote Management (WinRM) is the Microsoft implementation of the WS-Man protocol on Windows.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Why new Cmdlets&lt;/h3&gt;  &lt;p&gt;With Windows Server 2012, Windows has shifted its focus to become a Cloud OS. In a datacenter running a private or public cloud – there are always set of devices and servers from different vendors. We strongly believe that the only way to reduce the cost of running datacenters is through automation built on top of standards. There is less learning and less chances of error when IT Pros are able to automate heterogeneous environment using same set of tools that they have learned for Windows.&lt;/p&gt;  &lt;p&gt;This was not the case with previous versions of PowerShell. We had two set of Cmdlets to manage Windows and Non-Windows. WMI Cmdlets were primarily used to manage Windows and WsMan Cmdlets were targeted at non-Windows that implemented WsMan standard.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;WMI Cmdlets: &lt;/b&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;- Pros: Provided better task abstraction compared to WsMan Cmdlets, output is a .NET object.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;- Cons: Use of non-standard DCOM protocol. Does not work for non-Windows. &lt;b&gt;&lt;/b&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;b&gt;WinRM Cmdlets&lt;/b&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;- Pros: Works with Windows and non-Windows using standard protocol.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;- Cons: Poor task abstraction. Output is XML , scaring most IT Pros away&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;We heard from you that the major obstacle in PS scripting for WMI is lack of discoverability. We also heard that WMI Cmdlets don’t provide first class PS experience. There are issues with serializing a WMI object, there is no concept of session reuse and WMI object has weird looking property names (like __Server). Last but not least, there is poor formatting for most of the commonly used WMI classes. Someone said “When I run Get-WmiObject Win32_process, I feel like standing on bridge above freeway and lot of traffic zipping in front of my eyes”.&lt;/p&gt;  &lt;h3&gt;Key goals for new CIM Cmdlets&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;- &lt;strong&gt;Rich PowerShell experience&lt;/strong&gt;. Make CIM a first class citizen of PS, addressing usability concerns and user feedback for WMI and WsMan Cmdlets. &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;- &lt;strong&gt;Standard compliance&lt;/strong&gt;. With so much focus on standards, our goal is to make PowerShell the best platform for managing Windows and Non-Windows. New CIM Cmdlets should be able to manage any CIM + WsMan compliant endpoint, including Windows.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;- &lt;strong&gt;Support for down-level machines&lt;/strong&gt;. We understand that there are more down-level servers in a datacenter than there would be Windows Server 2012 for some time to come. We want to make sure same set of Cmdlets can be used to manage down-level Windows as well.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In the subsequent sections we will talk about each of these goals in detail.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;u&gt;Goal 1 - Rich PowerShell experience&lt;/u&gt; &lt;/h3&gt;  &lt;h4&gt;&lt;strong&gt;1. Discovery of classes and namespaces.&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;There is a famous joke about WMI, often attributed to Jeffrey Snover. “IT Pros love and hate WMI. They love it because there is so much they accomplish with WMI and PowerShell. They hate it because it is very difficult to discover what’s in there”&lt;/p&gt;  &lt;p&gt;To address this, we have done key improvements in new CIM Cmdlets&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Tab completion for classname and namespace parameters. &lt;/li&gt;    &lt;li&gt;Get-CimClass Cmdlet &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;   &lt;table style="color: #ffffff" border="1" cellspacing="0" cellpadding="0" bgcolor="#000066"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="638"&gt;           &lt;p&gt;# Using tab completion for CIM cmdlet parameters ( Tab+Space in ISE shows a drop down)&lt;/p&gt;            &lt;p&gt;Get-CimInstance –Namespace &amp;lt;Tab&amp;gt; #Finding top-level namespaces&lt;/p&gt;            &lt;p&gt;# Tab completion for class names&lt;/p&gt;            &lt;p&gt;# If namespace is not specified, shows classes from default root/cimv2 namespace&lt;/p&gt;            &lt;p&gt;Get-CimInstance -ClassName *Bios&amp;lt;Tab&amp;gt;&lt;/p&gt;            &lt;p&gt;Get-CimInstance –Namespace root/Microsoft/Windows/smb –ClassName &amp;lt;tab&amp;gt;&lt;/p&gt;            &lt;p&gt;# Note: Tab completion only works for local machine.&lt;/p&gt;            &lt;p&gt;#Using Get-CimClass for advanced class search&lt;/p&gt;            &lt;p&gt;#All classes in root/cimv2&lt;/p&gt;            &lt;p&gt;PS:&amp;gt;Get-CimClass &lt;/p&gt;            &lt;p&gt;#Classes named like disk&lt;/p&gt;            &lt;p&gt;PS:&amp;gt;Get-CimClass -ClassName *disk*&lt;/p&gt;            &lt;p&gt;# The Cmdlet makes querying much easier (what would require scripting before)&lt;/p&gt;            &lt;p&gt;# Get all classes starting with &amp;quot;Win32&amp;quot; that have method starting with &amp;quot;Term&amp;quot; &lt;/p&gt;            &lt;p&gt;PS:&amp;gt;Get-CimClass Win32* -MethodName Term* &lt;/p&gt;            &lt;p&gt;# Get classes starting with &amp;quot;Win32&amp;quot; that have a property named &amp;quot;Handle&amp;quot;&lt;/p&gt;            &lt;p&gt;PS:&amp;gt;Get-CimClass Win32* -PropertyName Handle&lt;/p&gt;            &lt;p&gt;# Get classes starting with &amp;quot;Win32&amp;quot; that have the &amp;quot;Association&amp;quot; qualifier&lt;/p&gt;            &lt;p&gt;PS:&amp;gt;Get-CimClass Win32* -QualifierName Association&lt;/p&gt;            &lt;p&gt;#Find classes used for events&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimClass -Namespace root/Microsoft/Windows/smb -class *Smb* -QualifierName Indication&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;Get-CimClass and tab completion described above only works for local machine. If you specify ComputerName or CimSession parameter, tab completion would not work. In order to make tab completion more efficient, PowerShell caches the list of namespaces and classnames.&lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;2. Getting Instances&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;Getting/Enumerating instance of a class is the most commonly performed operation. We wanted the new Get-CimInstance Cmdlet to have better performance and even better user experience as compared to the old Get-WmiObject cmdlet. To achieve these goals we made the following design decisions:&lt;/p&gt;  &lt;p&gt;a. The Get-CimInstance cmdlet returns one or more instances of CimInstance. CimInstance is different from the object returned by Get-WmiObject. &lt;/p&gt;  &lt;p&gt;b. __Properties are no longer mixed with properties of an instance.&lt;/p&gt;  &lt;p&gt;c. Reduce memory and on-the-wire footprint by allowing retrieval of a subset of properties. &lt;/p&gt;  &lt;p&gt;d. Allow retrieval of key properties.&lt;/p&gt;  &lt;p&gt;e. Allow creation of in-memory instance to reduce round trips.&lt;/p&gt;  &lt;p&gt;f. Allow retrieval of specific instances using in-memory instances or actual instances.&lt;/p&gt;  &lt;p&gt;g. DateTime values are returned as objects of System.DateTime type. Old cmdlets treat them as strings.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;table style="color: #ffffff" border="1" cellspacing="0" cellpadding="0" bgcolor="#000066"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="638"&gt;           &lt;p&gt;# Get-CimInstance was designed to be similar to the Get-WmiObject&lt;/p&gt;            &lt;p&gt;# WMI Cmdlet : Get-WmiObject -class Win32_Process&lt;/p&gt;            &lt;p&gt;# WsMan Cmdlet : get-wsmaninstance wmicimv2/win32_process -Enumerate&lt;/p&gt;            &lt;p&gt;# The default value of -Namespace is root/cimv2, and the default value of -ComputerName is local computer &lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimInstance -Class Win32_Process&lt;/p&gt;            &lt;p&gt;# Filtering using WQL&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimInstance -Query &amp;quot;SELECT * FROM Win32_Process WHERE Name Like 'power%'&amp;quot; &lt;/p&gt;            &lt;p&gt;# use the -Filter parameter with -classname&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimInstance -Class Win32_Process -Filter &amp;quot;Name Like 'power%'&amp;quot; &lt;/p&gt;            &lt;p&gt;#Retrieving a subset of properties : To reduce memory and on-the-wire footprint&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimInstance -Class Win32_Process -Property Name, Handle &lt;/p&gt;            &lt;p&gt;#Only get the key properties&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimInstance -Class Win32_Process -KeyOnly&lt;/p&gt;            &lt;p&gt;########################## Looking into CimInstance #########################&lt;/p&gt;            &lt;p&gt;PS:&amp;gt;&amp;#160; $x, $y = Get-CimInstance Win32_Process&lt;/p&gt;            &lt;p&gt;PS:&amp;gt;&amp;#160; $x | gm&lt;/p&gt;            &lt;p&gt;# The object contains the full CIM class derivation hierarchy&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $x.pstypenames&lt;/p&gt;            &lt;p&gt;# The object also has a reference to its class declaration&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $x.CimClass | gm&lt;/p&gt;            &lt;p&gt;# DateTime values are returned as strings&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-WmiObject Win32_OperatingSystem | Select *Time*&lt;/p&gt;            &lt;p&gt;# DateTime values are returned as System.DateTime&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimInstance Win32_OperatingSystem | Select *Time*#&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;3. Working with associations&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;Working with associations was not straight forward in the old WMI cmdlets. Customers wanted a way to find out associated instances of a particular instance. To resolve this issue we came up with a cmdlet called Get-CimAssociatedInstance. The following example shows some of the important features of this cmdlet.&lt;/p&gt;  &lt;p&gt;   &lt;table style="color: #ffffff" border="1" cellspacing="0" cellpadding="0" bgcolor="#000066"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="638"&gt;           &lt;p&gt;# Get instance of Win32_LogicalDisk class with DriveType =3 (hard drives)&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $disk1, $diskn = Get-CimInstance -class Win32_LogicalDisk -Filter 'DriveType = 3'&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $disk1&lt;/p&gt;            &lt;p&gt;# Get the all instances associated with this disk&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimAssociatedInstance -CimInstance $disk1&lt;/p&gt;            &lt;p&gt;# Get instances of a specific type&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimAssociatedInstance -CimInstance $disk1 -ResultClassName Win32_DiskPartition&lt;/p&gt;            &lt;p&gt;# Finding associated instances through a specific CIM relationship &lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimAssociatedInstance -CimInstance $diskn -Association Win32_LogicalDiskRootDirectory&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;4. Working with methods&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;A large number of tasks in WMI are achieved by invoking methods. The new Invoke-CimMethod makes two things really easy: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;a. Discovery of method and method parameters&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;b. Execution of methods with parameters. Using feedback from our customers: &lt;a href="https://connect.microsoft.com/PowerShell/feedback/details/624263/invoking-wmi-methods-with-invoke-wmimethod"&gt;Connect bug&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The following examples show how easy it is to discover and execute methods using Invoke-CimMethod: &lt;/p&gt;  &lt;p&gt;   &lt;table style="color: #ffffff" border="1" cellspacing="0" cellpadding="0" width="725" bgcolor="#000066"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="723"&gt;           &lt;p&gt;PS:&amp;gt; $class = Get-CimClass Win32_Process&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $class.CimClassMethods&lt;/p&gt;            &lt;p&gt;# Get the parameters of the Create method&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $class.CimClassMethods[&amp;quot;Create&amp;quot;].Parameters&lt;/p&gt;            &lt;p&gt;# Invoke the static Create method on the Win32_Process class to create an instance of the Notepad &lt;/p&gt;            &lt;p&gt;# application. Notice that the method parameters are given in a hash table since CIM method arguments&lt;/p&gt;            &lt;p&gt;# are unordered by definition. &lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Invoke-CimMethod -Class win32_process -MethodName Create -Argument @{CommandLine='notepad.exe';&lt;/p&gt;            &lt;p&gt;CurrentDirectory = &amp;quot;c:\windows\system32&amp;quot;}&lt;/p&gt;            &lt;p&gt;# Get the owners of the running Notepad instances&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $result = Invoke-CimMethod -Query 'SELECT * FROM Win32_Process WHERE name like &amp;quot;notepad%&amp;quot;' &lt;/p&gt;            &lt;p&gt;-MethodName GetOwner&lt;/p&gt;            &lt;p&gt;# The result has the returned value and out parameters of the method&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $result&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;5. CliXML serialization.&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;CimInstance supports full fidelity serialization and deserialization. This is an important feature for those who wish to save state of an instance or result of a cmdlet and then want to use it later. The WMI cmdlets do not support full-fidelity serialization/deserialization.    &lt;table style="color: #ffffff" border="1" cellspacing="0" cellpadding="0" bgcolor="#000066"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="638"&gt;           &lt;p&gt;# CimInstances are serialized and deserialized with full fidelity&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $x = Get-CimInstance Win32_Service &lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $x&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $x[0].pstypenames&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $x | Export-CliXml t1.xml&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $y = Import-CliXml .\t1.xml&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $y&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $y[0].pstypenames&lt;/p&gt;            &lt;p&gt;# The deserialized objects are identical to the ones obtained from the server&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; diff ($y) (Get-CimInstance win32_service )&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;6. Remote management&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;Managing remote machines with the new cmdlets is also pretty simple and straight forward. The two parameters that can be used to manage remote machines are:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;a. ComputerName&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;b. CimSession&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The following example will explain how these two parameters can be used to manage a remote machine. &lt;/p&gt;  &lt;p&gt;   &lt;table style="color: #ffffff" border="1" cellspacing="0" cellpadding="0" width="729" bgcolor="#000066"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="727"&gt;           &lt;p&gt;PS:&amp;gt; $props = @{v_Key = [UInt64] 8;}&lt;/p&gt;            &lt;p&gt;# If ComputerName parameter is used, the cmdlets create an implicit session during the execution.&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $inst = New-CimInstance -ClassName TestClass -Namespace root\test -Key v_Key -Property $props &lt;/p&gt;            &lt;p&gt;-ComputerName SecondWin8Server&lt;/p&gt;            &lt;p&gt;# Create a session&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $session = New-CimSession –ComputerName SecondWin8Server&lt;/p&gt;            &lt;p&gt;# Use the session &lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $inst = New-CimInstance -ClassName TestClass -Namespace root\test -Key v_Key -Property $props &lt;/p&gt;            &lt;p&gt;–CimSession $session&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; If a large number of remote operations are to be performed then session reuse is highly recommended. This can provide a significant performance gain.&lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;7. Easy migration from WMI cmdlets&lt;/strong&gt;&lt;/h4&gt;  &lt;p&gt;Last, but not the least, a very important aspect is to reduce learning. If you know how to use WMI cmdlets from PowerShell 2.0, you will find learning new CIM cmdlets easy. These cmdlets follow similar patterns as WMI cmdlets -including parameter names and alias. Let’s see how easy or difficult it is to move to new cmdlets    &lt;table style="color: #ffffff" border="1" cellspacing="0" cellpadding="0" bgcolor="#000066"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="638"&gt;           &lt;p&gt;&lt;b&gt;# OLD: One liner to get ComputerSystem information&lt;/b&gt;&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-WmiObject Win32_ComputerSystem&lt;/p&gt;            &lt;p&gt;&lt;b&gt;# NEW:&lt;/b&gt;&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimInstance Win32_ComputerSystem&lt;/p&gt;            &lt;p&gt;# ClassName is position and mandatory.&lt;/p&gt;            &lt;p&gt;# Namespace default is root/cimv2 namespace&lt;/p&gt;            &lt;p&gt;#WMI Cmdlet – with classnames and Namespace&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-WmiObject –ClassName Win32_Process –Namespace root/cimv2&lt;/p&gt;            &lt;p&gt;#CIM cmdlet follows the same pattern&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimInstance –ClassName Win32_Process –Namespace root/cimv2&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;The table below shows the list of WMI cmdlets and their CIM equivalent:    &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="319"&gt;           &lt;p&gt;&lt;b&gt;Old cmdlet&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="319"&gt;           &lt;p&gt;&lt;b&gt;New Cmdlet&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="319"&gt;           &lt;p&gt;Get-WmiObject&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="319"&gt;           &lt;p&gt;Get-CimInstance&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="319"&gt;           &lt;p&gt;Get-WmiObject -list&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="319"&gt;           &lt;p&gt;Get-CimClass&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="319"&gt;           &lt;p&gt;Set-WmiInstance&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="319"&gt;           &lt;p&gt;Set-CimInstance&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="319"&gt;           &lt;p&gt;Set-WmiInstance –PutType CreateOnly&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="319"&gt;           &lt;p&gt;New-CimInstance&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="319"&gt;           &lt;p&gt;Remove-WmiObject&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="319"&gt;           &lt;p&gt;Remove-CimInstance &lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="319"&gt;           &lt;p&gt;Invoke-WmiMethod&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="319"&gt;           &lt;p&gt;Invoke-CimMethod&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Note: &lt;/b&gt;In old cmdlets Set-WmiInstance was used to perform update and create operations. The new cmdlets clearly define the distinction between the two operations i.e. New-CimInstance is used to create an instance and Set-CimInstance is used to update an existing instance.&lt;/p&gt;  &lt;p&gt;You will also notice that in some places we have broken this rule – and script using WMI cmdlet can’t be simply changed to CIM cmdlet by changing the cmdlet name. e.g.    &lt;table style="color: #ffffff" border="1" cellspacing="0" cellpadding="0" bgcolor="#000066"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="638"&gt;           &lt;p&gt;&lt;b&gt;# OLD:&lt;/b&gt;&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Invoke-WMIMethod -class Win32_Process -Name create -ArgumentList 'calc.exe'&lt;/p&gt;            &lt;p&gt;&lt;b&gt;# NEW:&lt;/b&gt;&lt;/p&gt;            &lt;p&gt;PS:&amp;gt;Invoke-CimMethod Win32_Process -MethodName create -Arguments @{CommandLine='calc.exe'}&lt;/p&gt;            &lt;p&gt;New Cmdlet takes a hash table or ordered dictionary as input not an Object.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;The rule here is, if the WMI cmdlet experience is not ideal, we don’t want to carry it forward. It’s better to break a bad experience (like in the example given above)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;u&gt;Goal 2 - Standard Compliance&lt;/u&gt;&lt;/h3&gt;  &lt;p&gt;· CIM cmdlets are modeled on generic CIM operations&lt;/p&gt;  &lt;p&gt;· Work over WsMan for remote management, making it possible to manage any server or device that implements WsMan and CIM standard.&lt;/p&gt;  &lt;p&gt;· Removes the need to build custom agents and/or protocol to manage complex heterogeneous environments&lt;/p&gt;  &lt;p&gt;· CIM cmdlets will work seamlessly with the new Open Management Infrastructure. &lt;a href="http://blogs.technet.com/b/windowsserver/archive/2012/06/28/open-management-infrastructure.aspx"&gt;http://blogs.technet.com/b/windowsserver/archive/2012/06/28/open-management-infrastructure.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The following example shows that CimCmdlets can be used to manage a non-windows device (i.e. an Intel AMT box):    &lt;table style="color: #ffffff" border="1" cellspacing="0" cellpadding="0" bgcolor="#000066"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="638"&gt;           &lt;p&gt;# Save credentials in an object&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $cred = Get-Credential -UserName admin&lt;/p&gt;            &lt;p&gt;# Create a session with Intel AMT machine.&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $s = New-CimSession -ComputerName $serverAMT -Port 16992 -Authentication Digest -Credential $cred&lt;/p&gt;            &lt;p&gt;# Use classname to get instances from an Intel AMT machine.&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimInstance -class CIM_ComputerSystem -Namespace interop -CimSession $s&lt;/p&gt;            &lt;p&gt;# Use resourceURI to get instances from an Intel AMT machine.&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $resourceURI = “http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings”&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; Get-CimInstance -ResourceUri $resourceURI -Namespace interop -CimSession $s&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;h3&gt;&lt;u&gt;&lt;/u&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;u&gt;&lt;/u&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;u&gt;Goal 3 - Support for down-level OS or non-windows machines&lt;/u&gt;&lt;/h3&gt;  &lt;p&gt;CimCmdlets can be used to manage Windows 8, down-level windows machines and any machine that has a CIM standards compliant CIMOM. So, IT pros can now manage non-windows machines with PowerShell in the exact same fashion as they could manage a windows box.&lt;/p&gt;  &lt;p&gt;To manage these machines, a CimSession to the machine is required. Once a CimSession is created, the machine can be managed irrespective of the operating system. &lt;/p&gt;  &lt;p&gt;WinRM support on down-level windows machines is limited. The latest WMF-V1 release will enable the latest version of WinRM on the down-level machines; this will help our customers in making best use of these new cmdlets. &lt;/p&gt;  &lt;p&gt;If customers do not want to install WMF-V1 or do not wish to use WinRM then they can always use DCOM protocol to achieve the same results. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;table style="color: #ffffff" border="1" cellspacing="0" cellpadding="0" width="824" bgcolor="#000066"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="822"&gt;           &lt;p&gt;# If ComputerName is specified, WinRM protocol is used&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $serverwin8 = New-CimSession –ComputerName &amp;quot;ServerWin8&amp;quot;&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $serverwin2k8r2 = New-CimSession –ComputerName “Serverwin2k8r2 &amp;quot;&lt;/p&gt;            &lt;p&gt;# For a remote machine, if you wish to go over DCOM, you need to explicitly specify &lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $sOpt = New-CimSessionOption –Protocol DCOM&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $sessionWin2k8r2Dcom = New-CimSession –ComputerName “Serverwin2k8r2 &amp;quot; –SessionOption $sOpt&lt;/p&gt;            &lt;p&gt;# User Experience remains same irrespective of the target machine.&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $instanceServerWin8 = Get-CimInstance –CimSession $ serverwin8&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $instanceServerWin2k8r2 = Get-CimInstance –CimSession $ serverwin2k8r2&lt;/p&gt;            &lt;p&gt;PS:&amp;gt; $instanceServerWin2k8r2DCOM = Get-CimInstance –CimSession $ sessionWin2k8r2Dcom&lt;/p&gt;            &lt;p&gt;#Note: The results in $instanceServerWin2k8r2 and $instanceServerWin2k8r2DCOM are identical in all aspects. &lt;/p&gt;            &lt;p&gt;# Only the protocol used to get them is different.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;Our objective is to provide the best user experience to all the IT professionals. We would love to know what you think about these new cmdlets. Please give us your comments below.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Vaibhav Chugh&lt;/p&gt;  &lt;p&gt;SDET, WMI&lt;/p&gt;  &lt;p&gt;Osama Sajid&lt;/p&gt;  &lt;p&gt;Program Manager, WMI&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10343415" width="1" height="1"&gt;</content><author><name>PowerShell Team</name><uri>http://blogs.msdn.com/powershellteam_4000_hotmail.com/ProfileUrlRedirect.ashx</uri></author><category term="WMI" scheme="http://blogs.msdn.com/b/powershell/archive/tags/WMI/" /><category term="CIM" scheme="http://blogs.msdn.com/b/powershell/archive/tags/CIM/" /><category term="MI Client" scheme="http://blogs.msdn.com/b/powershell/archive/tags/MI+Client/" /><category term="CimInstance" scheme="http://blogs.msdn.com/b/powershell/archive/tags/CimInstance/" /></entry></feed>