<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Virtualization Team Blog : WMI, Hyper-V</title><link>http://blogs.technet.com/virtualization/archive/tags/WMI/Hyper-V/default.aspx</link><description>Tags: WMI, Hyper-V</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Hyper-V WMI – Startup-Shutdown-Recover/Snapshots/Error Messages</title><link>http://blogs.technet.com/virtualization/archive/2008/06/18/hyper-v-wmi-startup-shutdown-recover-snapshots-error-messages.aspx</link><pubDate>Thu, 19 Jun 2008 07:36:51 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3074102</guid><dc:creator>Taylorb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/virtualization/comments/3074102.aspx</comments><wfw:commentRss>http://blogs.technet.com/virtualization/commentrss.aspx?PostID=3074102</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;On Saturday I posted that I have started my own blog and promised to provide summery post to this blog for a while…&amp;#160; There are new three posts at &lt;a href="http://blogs.msdn.com/taylorb"&gt;http://blogs.msdn.com/taylorb&lt;/a&gt; that are not on this blog.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/taylorb/archive/2008/06/14/hyper-v-wmi-configuring-automatic-startup-shutdown-recovery-action-s-for-virtual-machines.aspx" target="_blank"&gt;Hyper-V WMI – Configuring Automatic Startup/Shutdown/Recovery Action’s For Virtual Machines&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/taylorb/archive/2008/06/16/hyper-v-wmi-creating-applying-deleting-virtual-machine-snapshots.aspx" target="_blank"&gt;Hyper-V WMI: Creating/Applying/Deleting Virtual Machine Snapshots&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/taylorb/archive/2008/06/18/hyper-v-wmi-rich-error-messages-for-non-zero-returnvalue-no-more-32773-32768-32700.aspx" target="_blank"&gt;Hyper-V WMI: Rich Error Messages for Non-Zero ReturnValue (no more 32773, 32768, 32700…)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Thank’s and Happy Virtualizing!&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Taylor Brown&lt;/b&gt;&lt;b&gt;&lt;/b&gt;    &lt;br /&gt;Hyper-V Integration Test Lead     &lt;br /&gt;&lt;a href="http://blog.msdn.com/taylorb"&gt;http://blogs.msdn.com/taylorb&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/taylorb/WindowsLiveWriter/HyperVWMIConfiguringAutomaticStartupShut_E564/clip_image001_2.jpg"&gt;&lt;img title="clip_image001" height="58" alt="clip_image001" src="http://blogs.msdn.com/blogfiles/taylorb/WindowsLiveWriter/HyperVWMIConfiguringAutomaticStartupShut_E564/clip_image001_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3074102" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/virtualization/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.technet.com/virtualization/archive/tags/WMI/default.aspx">WMI</category></item><item><title>Hyper-V WMI – Cloning Virtual Machines Using Import/Export</title><link>http://blogs.technet.com/virtualization/archive/2008/06/07/hyper-v-wmi-cloning-virtual-machines-using-import-export.aspx</link><pubDate>Sun, 08 Jun 2008 00:38:55 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3067493</guid><dc:creator>Taylorb</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.technet.com/virtualization/comments/3067493.aspx</comments><wfw:commentRss>http://blogs.technet.com/virtualization/commentrss.aspx?PostID=3067493</wfw:commentRss><description>&lt;p&gt;I have officially given up on the “Hyper-V WMI Using PowerShell Scripts” serious, not because of lack of interest but because or extreme interest implying that I would need to do Part 5, 6, 7, 99…&amp;#160; Counting past 5 is hard so from now on I will just title the posts for what they are doing.&amp;#160; Today’s post is going to be an end-to-end script to create 10 clones of a given VM.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Here’s a quick tour of the script…&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;This script takes 4 parameters:    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MasterVM – this is the name of the VM that will be cloned     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Path – this is the base path where the clones will reside     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NewName – this is what the cloned VM’s will be named     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; HyperVHost – this is the name of the host that the script will execute against&lt;/p&gt;  &lt;p&gt;The function ProcessWMIJob takes the return of a WMI method call and then processes the job waiting for the job to complete&amp;#160; and throwing an exception if the job failed.&lt;/p&gt;  &lt;p&gt;The main part of the script retrieves the Msvm_VirtualSystemManagmentService class and the MasterVM’s Msvm_ComputerSystem.&amp;#160; It then loops 10 times, first changing the name of the VM and then exporting the VM and finally re-importing the VM.&amp;#160; After it completes the 10 interactions it restores the name of original name of the MasterVM.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #0000ff"&gt;param&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;(       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; [&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;]&lt;/span&gt;&lt;span style="color: #800080"&gt;$MasterVM&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;$&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Throw&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;MasterVM required&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; [&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;]&lt;/span&gt;&lt;span style="color: #800080"&gt;$Path&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;$&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;Throw&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;Path required&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; [&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;]&lt;/span&gt;&lt;span style="color: #800080"&gt;$NewName&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;VMCopy&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; [&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;]&lt;/span&gt;&lt;span style="color: #800080"&gt;$HyperVHost&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;)       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000cd"&gt;ProcessWMIJob      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;{      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;param&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; (       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [&lt;/span&gt;&lt;span style="color: #8b4513"&gt;System.Management.ManagementBaseObject&lt;/span&gt;&lt;span style="color: #000000"&gt;]&lt;/span&gt;&lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; )       &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt; (&lt;/span&gt;&lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;ReturnValue&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;-eq&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;4096&lt;/span&gt;&lt;span style="color: #000000"&gt;)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #800080"&gt;$Job&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; [&lt;/span&gt;&lt;span style="color: #0000ff"&gt;WMI&lt;/span&gt;&lt;span style="color: #000000"&gt;]&lt;/span&gt;&lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;Job&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;while&lt;/span&gt;&lt;span style="color: #000000"&gt; (&lt;/span&gt;&lt;span style="color: #800080"&gt;$Job&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;JobState&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;-eq&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;4&lt;/span&gt;&lt;span style="color: #000000"&gt;)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #5f9ea0"&gt;Write-Progress&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Id&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-ParentId&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$Job&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;Caption&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Status&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;Executing&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-PercentComplete&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$Job&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;PercentComplete&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #5f9ea0"&gt;Start-Sleep&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #800080"&gt;$Job&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;PSBase&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;Get&lt;/span&gt;&lt;span style="color: #000000"&gt;()      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt; (&lt;/span&gt;&lt;span style="color: #800080"&gt;$Job&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;JobState&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;-ne&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;7&lt;/span&gt;&lt;span style="color: #000000"&gt;)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #5f9ea0"&gt;Write-Error&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$Job&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;ErrorDescription&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;Throw&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$Job&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;ErrorDescription&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;elseif&lt;/span&gt;&lt;span style="color: #000000"&gt; (&lt;/span&gt;&lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;ReturnValue&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;-ne&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;Throw&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;ReturnValue&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #5f9ea0"&gt;Write-Progress&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$Job&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;Caption&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Status&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;Completed&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-PercentComplete&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;100&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Id&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-ParentId&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;}       &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #000000"&gt;#Main Script Body      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #800080"&gt;$VMManagementService&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Namespace&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;root&lt;/span&gt;&lt;span style="color: #000000"&gt;\&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtualization&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Class&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;Msvm_VirtualSystemManagementService&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-ComputerName&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$HyperVHost&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #800080"&gt;$SourceVm&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Namespace&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;root&lt;/span&gt;&lt;span style="color: #000000"&gt;\&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtualization&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Query&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;Select * From Msvm_ComputerSystem Where ElementName='$MasterVM'&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-ComputerName&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$HyperVHost&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #800080"&gt;$a&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #000000"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;while&lt;/span&gt;&lt;span style="color: #000000"&gt; (&lt;/span&gt;&lt;span style="color: #800080"&gt;$a&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;-lt&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;10&lt;/span&gt;&lt;span style="color: #000000"&gt;) {      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #5f9ea0"&gt;write-progress&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Id&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;Cloning Vm's&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Status&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;Executing&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-percentcomplete&lt;/span&gt;&lt;span style="color: #000000"&gt; ((&lt;/span&gt;&lt;span style="color: #800080"&gt;$a&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;/&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;10&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;/span&gt;&lt;span style="color: #ff0000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;100&lt;/span&gt;&lt;span style="color: #000000"&gt;)      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #800080"&gt;$tempVMName&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;$NewName - $a&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #800080"&gt;$VMSettingData&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Namespace&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;root&lt;/span&gt;&lt;span style="color: #000000"&gt;\&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtualization&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Query&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;Associators of {$SourceVm} Where ResultClass=Msvm_VirtualSystemSettingData AssocClass=Msvm_SettingsDefineState&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-ComputerName&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$HyperVHost&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #800080"&gt;$VMSettingData&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;ElementName&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$tempVMName&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$VMManagementService&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;ModifyVirtualSystem&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800080"&gt;$SourceVm&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$VMSettingData&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;PSBase&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;GetText&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;))      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;ProcessWMIJob&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$VMManagementService&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;ExportVirtualSystem&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800080"&gt;$SourceVm&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;$TRUE&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;$Path&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;)      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;ProcessWMIJob&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$VMManagementService&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;ImportVirtualSystem&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;$Path\$tempVMName&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;$TRUE&lt;/span&gt;&lt;span style="color: #000000"&gt;)      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #0000ff"&gt;ProcessWMIJob&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #800080"&gt;$a&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;++&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;} &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color: #000000"&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;write-progress&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Id&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Completed&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;$TRUE&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Activity&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;Cloning Vm's&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #800080"&gt;$VMSettingData&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;Get-WmiObject&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Namespace&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #0000ff"&gt;root&lt;/span&gt;&lt;span style="color: #000000"&gt;\&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtualization&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-Query&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800000"&gt;&amp;quot;Associators of {$SourceVm} Where ResultClass=Msvm_VirtualSystemSettingData AssocClass=Msvm_SettingsDefineState&amp;quot;&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #5f9ea0"&gt;-ComputerName&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$HyperVHost&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #800080"&gt;$VMSettingData&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;ElementName&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$MasterVM&lt;/span&gt;&lt;span style="color: #000000"&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #800080"&gt;$Result&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #ff0000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$VMManagementService&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;ModifyVirtualSystem&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800080"&gt;$SourceVm&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$VMSettingData&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;PSBase&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;/span&gt;&lt;span style="color: #8b4513"&gt;GetText&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;))      &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;ProcessWMIJob&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #800080"&gt;$Result&lt;/span&gt;     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Taylor Brown      &lt;br /&gt;- Hyper-V Test Team&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVRC1ReleaseAvailableofMicrosoftDown_EC08/image_2.png"&gt;&lt;img title="image" height="60" alt="image" src="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVRC1ReleaseAvailableofMicrosoftDown_EC08/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;br /&gt;&lt;!-- Start of StatCounter Code --&gt;&lt;SCRIPT type=text/javascript&gt;
sc_project=3725534; 
sc_invisible=1; 
sc_partition=45; 
sc_security="9a688012"; 
&lt;/SCRIPT&gt;&lt;SCRIPT src="http://www.statcounter.com/counter/counter_xhtml.js" type="text/javascript"&gt;&lt;/SCRIPT&gt;&lt;noscript&gt;&lt;/noscript&gt;&lt;!-- End of StatCounter Code --&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3067493" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/virtualization/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.technet.com/virtualization/archive/tags/virtualization/default.aspx">virtualization</category><category domain="http://blogs.technet.com/virtualization/archive/tags/WMI/default.aspx">WMI</category></item><item><title>Hyper-V WMI Using PowerShell Scripts – Part 5</title><link>http://blogs.technet.com/virtualization/archive/2008/05/26/hyper-v-wmi-using-powershell-scripts-part-5.aspx</link><pubDate>Tue, 27 May 2008 09:31:06 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3061488</guid><dc:creator>Taylorb</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/virtualization/comments/3061488.aspx</comments><wfw:commentRss>http://blogs.technet.com/virtualization/commentrss.aspx?PostID=3061488</wfw:commentRss><description>&lt;p&gt;I hope everyone had a great Memorial Day weekend – we had a four day weekend on the Hyper-V team which was excellent!&amp;#160; In this post I am going to show how to create a new virtual switch attached to an external network.&amp;#160; I’ll start with a complete script and then take it apart and explain what each part is doing.&lt;/p&gt;  &lt;table class="" cellspacing="0" cellpadding="0" width="95%" bgcolor="#fafafa" border="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="" valign="top"&gt;         &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;$VirtualSwitchService = get-wmiobject -class &amp;quot;Msvm_VirtualSwitchManagementService&amp;quot; -namespace &amp;quot;root\virtualization&amp;quot;              &lt;br /&gt;$ReturnObject = $VirtualSwitchService.CreateSwitch([guid]::NewGuid().ToString(), &amp;quot;New External Switch&amp;quot;, &amp;quot;1024&amp;quot;,&amp;quot;&amp;quot;) &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;#Create New Virtual Switch              &lt;br /&gt;$CreatedSwitch = [WMI]$ReturnObject.CreatedVirtualSwitch &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;#Create Internal Switch Port              &lt;br /&gt;$ReturnObject = $VirtualSwitchService.CreateSwitchPort($CreatedSwitch, [guid]::NewGuid().ToString(), &amp;quot;InternalSwitchPort&amp;quot;, &amp;quot;&amp;quot;)               &lt;br /&gt;$InternalSwitchPort = [WMI]$ReturnObject.CreatedSwitchPort &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;#Create External Switch Port              &lt;br /&gt;$ReturnObject = $VirtualSwitchService.CreateSwitchPort($CreatedSwitch, [guid]::NewGuid().ToString(), &amp;quot;ExternalSwitchPort&amp;quot;, &amp;quot;&amp;quot;)               &lt;br /&gt;$ExternalSwitchPort = [WMI]$ReturnObject.CreatedSwitchPort &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;$ExternalNic = get-wmiobject -namespace &amp;quot;root\virtualization&amp;quot; -Query &amp;quot;Select * From Msvm_ExternalEthernetPort WHERE IsBound=False&amp;quot;&lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;#Call SetupSwitch              &lt;br /&gt;$Job = $VirtualSwitchService.SetupSwitch($ExternalSwitchPort, $InternalSwitchPort, $ExternalNic, [guid]::NewGuid().ToString(), &amp;quot;InternalEthernetPort&amp;quot;)               &lt;br /&gt;while (([WMI]$Job.Job.JobState -eq 2) -or ([WMI]$Job.Job.JobState -eq 3) -or ([WMI]$Job.Job.JobState -eq 4)) {Start-Sleep -m 100}               &lt;br /&gt;[WMI]$Job.Job&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Before explaining the elements of the script, I think it’s important to explain a little about Hyper-V’s networking model.&amp;#160; Hyper-V’s networking model attempts to be a similar to a real network, there are virtual switches, virtual switch ports and network adapters.&amp;#160; When you create a new external virtual network you are actually creating a virtual switch, an internal and external switch port and a virtual network adapter on the host.&lt;/p&gt;  &lt;p&gt;So let's look at the script above section by section.&lt;/p&gt;  &lt;h1&gt;Section 1 - Creating The Switch&lt;/h1&gt;  &lt;table class="" cellspacing="0" cellpadding="0" width="1077" bgcolor="#fafafa" border="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="" valign="top" width="1073"&gt;         &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;$VirtualSwitchService = get-wmiobject -class &amp;quot;Msvm_VirtualSwitchManagementService&amp;quot; -namespace &amp;quot;root\virtualization&amp;quot;              &lt;br /&gt;$ReturnObject = $VirtualSwitchService.CreateSwitch([guid]::NewGuid().ToString(), &amp;quot;DemoExternal&amp;quot;, &amp;quot;1024&amp;quot;,&amp;quot;&amp;quot;) &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;Create New Virtual Switch              &lt;br /&gt;$CreatedSwitch = [WMI]$ReturnObject.CreatedVirtualSwitch &lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;This section get's the Msvm_VirtualSwtichManagmentService, this is similar to other management service classes like msvm_imagemanagmentsevice.&amp;#160; The second line creates the switch, the first parameter to this function is the switch name, typically a guid is a good unique name, the second parameter is the friendly name (what you will see in the UI), the third parameter is the number of learnable addresses in the switch, the last parameter the AzMan scope name (I'll talk more about those in a later post).&amp;#160; The third line retrieves the WMI object for the created switch.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Section 2 - Creating Switch Ports    &lt;br /&gt;&lt;/h1&gt;  &lt;table class="" cellspacing="0" cellpadding="0" width="1077" bgcolor="#fafafa" border="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="" valign="top" width="1073"&gt;         &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;#Create Internal Switch Port              &lt;br /&gt;$ReturnObject = $VirtualSwitchService.CreateSwitchPort($CreatedSwitch, [guid]::NewGuid().ToString(), &amp;quot;InternalSwitchPort&amp;quot;, &amp;quot;&amp;quot;)               &lt;br /&gt;$InternalSwitchPort = [WMI]$ReturnObject.CreatedSwitchPort &lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;#Create External Switch Port              &lt;br /&gt;$ReturnObject = $VirtualSwitchService.CreateSwitchPort($CreatedSwitch, [guid]::NewGuid().ToString(), &amp;quot;ExternalSwitchPort&amp;quot;, &amp;quot;&amp;quot;)               &lt;br /&gt;$ExternalSwitchPort = [WMI]$ReturnObject.CreatedSwitchPort &lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;This section creates the internal and external switch ports, think of these as the ports on a physical switch that you would attach to your PC or Modem.&amp;#160; In both cases we are calling the CreateSwitchPort method.&amp;#160; The first parameter is switch we created in the previous section, the second parameter is the switch port name again we using a guid, the third the friendly name this name does not have to be unique and can be anything you want, and the final parameter again is the AzMan scope.&amp;#160; We again retrieve the created switch port's as WMI objects.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Section 3 - Retrieving External Ethernet Connection    &lt;br /&gt;&lt;/h1&gt;  &lt;table class="" cellspacing="0" cellpadding="0" width="1077" bgcolor="#fafafa" border="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="" valign="top" width="1073"&gt;         &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;$ExternalNic = get-wmiobject -namespace &amp;quot;root\virtualization&amp;quot; -Query &amp;quot;Select * From Msvm_ExternalEthernetPort WHERE IsBound=False&amp;quot;&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;This section retrieves the external Ethernet port think of this as the port on the modem or the actual network adapter on the physical machine.&amp;#160; This query should return only one adapter, in the query above I select all adapters on the machine that are not already bound to a switch (hence the IsBound=False) so if I had two network adapters that not bound this query would need to be more specific.&amp;#160; You'll need to figure out what your criteria will be try running &amp;quot;&lt;font size="2"&gt;&lt;font face="Courier New"&gt;get-wmiobject -namespace &amp;quot;root\virtualization&amp;quot; -Query &amp;quot;Select * From Msvm_ExternalEthernetPort&amp;quot; &lt;/font&gt;&lt;/font&gt;this will return all of the information available to query against.&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h1&gt;Section 4 - Bringing It All Together&lt;/h1&gt;  &lt;table class="" cellspacing="0" cellpadding="0" width="1077" bgcolor="#fafafa" border="2"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td class="" valign="top" width="1073"&gt;         &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;$Job = $VirtualSwitchService.SetupSwitch($ExternalSwitchPort, $InternalSwitchPort, $ExternalNic, [guid]::NewGuid().ToString(), &amp;quot;InternalEthernetPort&amp;quot;)&lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;&amp;#160; &lt;br /&gt;while (([WMI]$Job.Job.JobState -eq 2) -or ([WMI]$Job.Job.JobState -eq 3) -or ([WMI]$Job.Job.JobState -eq 4)) {Start-Sleep -m 100}               &lt;br /&gt;[WMI]$Job.Job&lt;/font&gt; &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;This final section bring's it all together.&amp;#160; The SetupSwitch method takes the WMI objects for the switch, switch ports, external Ethernet port as well as a name and friendly name and binds all the switch port's together.&amp;#160; Up to this point if you looked in the Hyper-V Network Manger you would see your switch but it would be a private switch; after this it will be an external switch.&amp;#160; The last two lines just wait for the returned WMI object to complete and then prints out the object.&lt;/p&gt;  &lt;p&gt;That's it!&amp;#160; You now have an external network.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;- Taylor Brown      &lt;br /&gt;- Hyper-V Test Team&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVRC1ReleaseAvailableofMicrosoftDown_EC08/image_2.png"&gt;&lt;img title="image" height="60" alt="image" src="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVRC1ReleaseAvailableofMicrosoftDown_EC08/image_thumb.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;!-- Start of StatCounter Code --&gt;&lt;SCRIPT type=text/javascript&gt;
sc_project=3725534; 
sc_invisible=1; 
sc_partition=45; 
sc_security="9a688012"; 
&lt;/SCRIPT&gt;&lt;SCRIPT src="http://www.statcounter.com/counter/counter_xhtml.js" type="text/javascript"&gt;&lt;/SCRIPT&gt;&lt;noscript&gt;&lt;/noscript&gt;&lt;!-- End of StatCounter Code --&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3061488" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/virtualization/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.technet.com/virtualization/archive/tags/virtualization/default.aspx">virtualization</category><category domain="http://blogs.technet.com/virtualization/archive/tags/WMI/default.aspx">WMI</category></item><item><title>Hyper-V WMI Using PowerShell - Part 4 and Negative 1</title><link>http://blogs.technet.com/virtualization/archive/2008/05/21/hyper-v-wmi-using-powershell-part-4-and-negative-1.aspx</link><pubDate>Wed, 21 May 2008 10:10:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3057646</guid><dc:creator>Taylorb</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.technet.com/virtualization/comments/3057646.aspx</comments><wfw:commentRss>http://blogs.technet.com/virtualization/commentrss.aspx?PostID=3057646</wfw:commentRss><description>&lt;P&gt;I hope&amp;nbsp;everyone is enjoying&amp;nbsp;&lt;A class="" href="http://blogs.technet.com/virtualization/archive/2008/05/20/hyper-v-rc1-release-available-on-microsoft-download-center.aspx" target=_blank mce_href="http://blogs.technet.com/virtualization/archive/2008/05/20/hyper-v-rc1-release-available-on-microsoft-download-center.aspx"&gt;Hyper-V RC1&lt;/A&gt;&amp;nbsp;&lt;EM&gt;(yep I just linked to my own post -shamless maybe) &lt;/EM&gt;but, as promissed here's&amp;nbsp;some more WMI goodness.&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;Title got your attention?&amp;nbsp; Well&amp;nbsp;this is a two part post…&amp;nbsp; First I will show how to use the Shutdown IC to initiate a shutdown of a guest using&amp;nbsp;PowerShell (that's part 4)&amp;nbsp; Ok so why Negative 1?&amp;nbsp; Well what did we do before PowerShell &lt;EM&gt;(yeah yeah vbscript but go with me)&lt;/EM&gt; one option was C# so Part Negative 1 is a C# Example… &lt;/P&gt;
&lt;P&gt;Here’s the PowerShell to shutdown a VM named “Vista”… Just like previous examples, we get the Msvm_ComputerSystem… then we use the Associators of query to get the Msvm_ShutdownComponent associated with that VM.&amp;nbsp; Then we just call InitiateShutdown, the first parameter is wether to force a shutdown (like running shutdown /f inside the virtual machine) and the second is the reason for the shutdown.&amp;nbsp; It really is that simple.&lt;/P&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=0 width="95%" bgColor=#fafafa border=2&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#000000 size=3&gt;$Vm = Get-WmiObject -Namespace root\virtualization&amp;nbsp; -Query "Select * From Msvm_ComputerSystem Where ElementName='Vista'"&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face="Courier New" color=#000000 size=3&gt;
&lt;P&gt;&lt;BR&gt;$ShutdownIC = Get-WmiObject -Namespace root\virtualization&amp;nbsp; -Query "Associators of {$Vm} Where AssocClass=Msvm_SystemDevice ResultClass=Msvm_ShutdownComponent"&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;$ShutdownIC.InitiateShutdown("TRUE", "Need to shutdown")&lt;/P&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;And here’s the same code in C#…&lt;/P&gt;
&lt;DIV&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System;
&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Collections;
&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Text;
&lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Management;


&lt;SPAN style="COLOR: #0000ff"&gt;namespace&lt;/SPAN&gt; ShutdownViaIC
{
    &lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; Program
    {
        &lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)
        {
            &lt;SPAN style="COLOR: #008000"&gt;//Connect to the Remote Machines Management Scope&lt;/SPAN&gt;
            ConnectionOptions options =  &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; ConnectionOptions();
            ManagementScope scope = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; ManagementScope(&lt;SPAN style="COLOR: #006080"&gt;@"\\localhost\root\virtualization"&lt;/SPAN&gt;); scope.Connect();

            &lt;SPAN style="COLOR: #008000"&gt;//Get the msvm_computersystem for the given VM (Vista)         &lt;/SPAN&gt;
            ManagementObjectSearcher searcher = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; ManagementObjectSearcher(scope,
                &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; ObjectQuery(&lt;SPAN style="COLOR: #006080"&gt;"SELECT * FROM Msvm_ComputerSystem WHERE ElementName = 'Vista'"&lt;/SPAN&gt;));

            &lt;SPAN style="COLOR: #008000"&gt;//Select the first object in the Searcher collection&lt;/SPAN&gt;
            IEnumerator enumr = searcher.Get().GetEnumerator();
            enumr.MoveNext();
            ManagementObject msvm_computersystem = (ManagementObject)(enumr.Current);

            &lt;SPAN style="COLOR: #008000"&gt;//Use the association to get the msvm_shutdowncomponent for the msvm_computersystem&lt;/SPAN&gt;
            ManagementObjectCollection collection = msvm_computersystem.GetRelated(&lt;SPAN style="COLOR: #006080"&gt;"Msvm_ShutdownComponent"&lt;/SPAN&gt;);
            ManagementObjectCollection.ManagementObjectEnumerator enumerator = collection.GetEnumerator();
            enumerator.MoveNext();
            ManagementObject msvm_shutdowncomponent = (ManagementObject)enumerator.Current;

            &lt;SPAN style="COLOR: #008000"&gt;//Get the InitiateShudown Parameters&lt;/SPAN&gt;
            ManagementBaseObject inParams = msvm_shutdowncomponent.GetMethodParameters(&lt;SPAN style="COLOR: #006080"&gt;"InitiateShutdown"&lt;/SPAN&gt;);
            inParams[&lt;SPAN style="COLOR: #006080"&gt;"Force"&lt;/SPAN&gt;] = &lt;SPAN style="COLOR: #0000ff"&gt;true&lt;/SPAN&gt;;
            inParams[&lt;SPAN style="COLOR: #006080"&gt;"Reason"&lt;/SPAN&gt;] = &lt;SPAN style="COLOR: #006080"&gt;"Need to Shutdown"&lt;/SPAN&gt;;

            &lt;SPAN style="COLOR: #008000"&gt;//Invoke the Method&lt;/SPAN&gt;
            ManagementBaseObject outParams = msvm_shutdowncomponent.InvokeMethod(&lt;SPAN style="COLOR: #006080"&gt;"InitiateShutdown"&lt;/SPAN&gt;, inParams, &lt;SPAN style="COLOR: #0000ff"&gt;null&lt;/SPAN&gt;);
            &lt;SPAN style="COLOR: #0000ff"&gt;uint&lt;/SPAN&gt; returnValue = (&lt;SPAN style="COLOR: #0000ff"&gt;uint&lt;/SPAN&gt;)outParams[&lt;SPAN style="COLOR: #006080"&gt;"ReturnValue"&lt;/SPAN&gt;];

            &lt;SPAN style="COLOR: #008000"&gt;//Zero indicates success&lt;/SPAN&gt;
            &lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt; (returnValue != 0)
                Console.WriteLine(&lt;SPAN style="COLOR: #006080"&gt;"SHUTDOWN Failed"&lt;/SPAN&gt;);            
        }
    }
}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;PowerShell like most scripting languages can do simple tasks well simply, but your power and control is limited… This is still the case with PowerShell the code to initiate this shutdown is dead simple in PowerShell and all of three lines, you have more ‘using’ lines than that in the C# code…&amp;nbsp; However when it comes to writing more complex solutions like a Windows service that monitors Hyper-V and implements some custom business logic C# is a great choice… (it’s what the Hyper-V UI is written in).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;--Taylor Brown &lt;BR&gt;--Hyper-V test team&lt;/STRONG&gt;&lt;/P&gt;&lt;!-- Start of StatCounter Code --&gt;
&lt;SCRIPT type=text/javascript&gt;
sc_project=3725534; 
sc_invisible=1; 
sc_partition=45; 
sc_security="9a688012"; 
&lt;/SCRIPT&gt;

&lt;SCRIPT src="http://www.statcounter.com/counter/counter_xhtml.js" type=text/javascript&gt;&lt;/SCRIPT&gt;
&lt;NOSCRIPT&gt;&lt;/NOSCRIPT&gt;&lt;!-- End of StatCounter Code --&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3057646" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/virtualization/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.technet.com/virtualization/archive/tags/virtualization+management/default.aspx">virtualization management</category><category domain="http://blogs.technet.com/virtualization/archive/tags/WMI/default.aspx">WMI</category></item><item><title>Hyper-V WMI Using PowerShell Scripts – Part 3</title><link>http://blogs.technet.com/virtualization/archive/2008/05/06/hyper-v-wmi-using-powershell-scripts-part-3.aspx</link><pubDate>Tue, 06 May 2008 19:14:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3051087</guid><dc:creator>Taylorb</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.technet.com/virtualization/comments/3051087.aspx</comments><wfw:commentRss>http://blogs.technet.com/virtualization/commentrss.aspx?PostID=3051087</wfw:commentRss><description>&lt;P&gt;In part 1 we went over basic scripts and tools for gathering some generic information about virtual machines and in part 2 we went over VHD creation and WMI job’s.&amp;nbsp; In part 3 I am going to cover getting more detailed information about a guest operating system by using the KVP Exchange integration component.&amp;nbsp; KVP stands for Key Value Pair this is a service that runs in the guest operating system and allows some limited information to be passed from the guest to the host or parent and vice-verse.&amp;nbsp; For now we are going to focus only on the intrinsic KVP’s these are provided by default on virtual machines that have the integration components installed.&amp;nbsp; The intrinsic KVP’s include: FullyQualifiedDomainName, OsName, OsVersion, CSDVersion, OsMajorVersion, OsMinorVersion, OsBuildNumber, OsPlatformID, ServicePackMajor, SuiteMask, ProductType, ProcessorArhitecture.&lt;/P&gt;
&lt;P&gt;I’ll start with the PowerShell script and results and then explain how to decipher each of the KVP’s values but first I want to thank Ed one of our top notch developers that provided me this script...&lt;/P&gt;
&lt;P&gt;In the gray box is the body of the script, it’s a bit different then what we have seen in the past primarily because is what looks like a function at the top.&amp;nbsp; This function looking thing is a PowerShell filter, what the filter does is take a bunch of XML known in WMI as an “embedded instance" and converts it into objects.&amp;nbsp; If you want to see the XML in it’s raw form remove the "|Import-CimXml” from the last line of the script and you’ll see how handy this little filter is.&lt;/P&gt;
&lt;P&gt;So what’s happening in this script?&amp;nbsp; I will ignore the filter for a moment so the first line is the the $Vm = Get-Wmi… So the first line should look pretty common now, we are getting a Msvm_ComputerSystem WMI object for a given virtual machine “Server 2008 – Test1".&amp;nbsp; The second line is new, we are running an Association query to get a Msvm_KvpExchangeCompoents WMI object for this VM, associations are an optimization in WMI you can think of them like a SQL join statement “Please give me all of the X that corresponds to Y”.&amp;nbsp; The third line is just taking the GuestIntrinsicExchangeItems property of the Msvm_KvpExchangeCompoents and piping or sending it (that’s the | character) to the Import-CimXml filter that’s written above.&amp;nbsp; Now for the filter, so all this filter is doing is using an XML xpath query to go over each “Instance/Property” node and adding it’s name and value to this CimObj object and then returning that object…&lt;/P&gt;
&lt;H1&gt;WMIKVP.ps1 PowerShell Script&lt;/H1&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=0 width="95%" bgColor=#fafafa border=2&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#000000 size=2&gt;filter Import-CimXml &lt;BR&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $CimXml = [Xml]$_ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $CimObj = New-Object -TypeName System.Object &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach ($CimProperty in $CimXml.SelectNodes("/INSTANCE/PROPERTY")) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $CimObj | Add-Member -MemberType NoteProperty -Name $CimProperty.NAME -Value $CimProperty.VALUE &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $CimObj &lt;BR&gt;} &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#000000 size=2&gt;$Vm = Get-WmiObject -Namespace root\virtualization -Query "Select * From Msvm_ComputerSystem Where ElementName='Server 2008 - Test1'" &lt;BR&gt;$Kvp = Get-WmiObject -Namespace root\virtualization -Query "Associators of {$Vm} Where AssocClass=Msvm_SystemDevice ResultClass=Msvm_KvpExchangeComponent" &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#000000 size=2&gt;&lt;BR&gt;$Kvp.GuestIntrinsicExchangeItems | Import-CimXml&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;H1&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H1&gt;Output of the WMIKVP.ps1 Script&lt;/H1&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=0 width="95%" bgColor=#000066 border=2&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;PS C:\&amp;gt; . 'D:\BlogsDemo\powerShell\Demo\WMIKVP.ps1'&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : AUTOBVT-M02LJSS &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : FullyQualifiedDomainName &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Windows Server (R) 2008 Enterprise &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : OSName &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 6.0.6001 &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : OSVersion &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Service Pack 1 &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : CSDVersion &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 6 &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : OSMajorVersion &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0 &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : OSMinorVersion &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 6001 &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : OSBuildNumber &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : OSPlatformId &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1 &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ServicePackMajor &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0 &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ServicePackMinor &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 274 &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : SuiteMask &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 3 &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ProductType &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 9 &lt;BR&gt;Description : &lt;BR&gt;ElementName : &lt;BR&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ProcessorArchitecture &lt;BR&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Ok now how do you decipher all of these values like SuiteMask?&amp;nbsp;&amp;nbsp; All of this data except the fully qualified domain name come from a Windows API &lt;A href="http://msdn.microsoft.com/en-us/library/ms724451(VS.85).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms724451(VS.85).aspx"&gt;GetVersionEx&lt;/A&gt; but what you really want to look at is the &lt;A href="http://msdn.microsoft.com/en-us/library/ms724833(VS.85).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms724833(VS.85).aspx"&gt;OSVERSIONINFOEX&lt;/A&gt; structure.&amp;nbsp; That documents each of these values, for example SuiteMask has a value of 274 above that's 0x112 and according to the documents that means this guest has: Remote Desktop support, Terminal Services is installed, and it's running an Enterprise SKU of Windows...&amp;nbsp; &lt;/P&gt;
&lt;P&gt;There's a lot more you can do with the KVP's such as pushing custom data into the guest from the parent partition/host or providing data from the guest so that the parent partition/host can query it.&amp;nbsp; I can provide samples for this in a future post &lt;STRONG&gt;but only if you want me to - so tell me, actually tell me what posts you want maybe networking or offline vhd servicing or maybe import/export?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;--Taylor Brown &lt;BR&gt;--Hyper-V test team&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;!-- Start of StatCounter Code --&gt;
&lt;SCRIPT type=text/javascript&gt;
sc_project=3725534; 
sc_invisible=1; 
sc_partition=45; 
sc_security="9a688012"; 
&lt;/SCRIPT&gt;

&lt;SCRIPT src="http://www.statcounter.com/counter/counter_xhtml.js" type=text/javascript&gt;&lt;/SCRIPT&gt;
&lt;NOSCRIPT&gt;&lt;/NOSCRIPT&gt;&lt;!-- End of StatCounter Code --&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3051087" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/virtualization/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.technet.com/virtualization/archive/tags/WMI/default.aspx">WMI</category></item><item><title>Hyper-V WMI Using PowerShell Scripts – Part 2</title><link>http://blogs.technet.com/virtualization/archive/2008/05/02/hyper-v-wmi-using-powershell-scripts-part-2.aspx</link><pubDate>Sat, 03 May 2008 07:37:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3049074</guid><dc:creator>Taylorb</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.technet.com/virtualization/comments/3049074.aspx</comments><wfw:commentRss>http://blogs.technet.com/virtualization/commentrss.aspx?PostID=3049074</wfw:commentRss><description>&lt;P&gt;In part 1 we went over some basic scripts and tools for gathering information about running virtual machines.&amp;nbsp; In part 2 I am going to cover two things, first basic VHD creation and second determining if Hyper-V WMI methods are succeeding or failing and what the error message is.&lt;/P&gt;
&lt;H3&gt;PowerShellPlus&lt;/H3&gt;
&lt;P&gt;Last time I showed the PowerShell 2.0CTP which includes the Graphical PowerShell interface… Those of you that plan to do a lot PowerShell development might want to check out PowerShellPlus (&lt;A href="http://www.powershell.com/index.html" target=_blank mce_href="http://www.powershell.com/index.html"&gt;http://www.powershell.com/index.html&lt;/A&gt;).&amp;nbsp; It’s a $79 investment if you are using it for commercial use, but there is a 30 day trial – 1 day down and so far I think it’s worth $79…&amp;nbsp; As you can see from the screen capture below the editor offers auto-complete as well as a pretty good debugger.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowerShellScriptsPart2_1215D/PowerShellPlus_2.jpg" mce_href="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowerShellScriptsPart2_1215D/PowerShellPlus_2.jpg"&gt;&lt;IMG title=PowerShellPlus style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=348 alt=PowerShellPlus src="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowerShellScriptsPart2_1215D/PowerShellPlus_thumb.jpg" width=527 border=0 mce_src="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowerShellScriptsPart2_1215D/PowerShellPlus_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H3&gt;Creating a VHD Using PowerShell WMI&lt;/H3&gt;
&lt;P&gt;Creating a VHD using the Hyper-V WMI is pretty easy… And once again PowerShell makes it even easier…&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The first command retrieves a WMI object for &lt;A href="http://msdn.microsoft.com/en-us/library/cc136845(VS.85).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/cc136845(VS.85).aspx"&gt;Msvm_ImageManagmentService&lt;/A&gt;.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The second command executes the CreateDynamicVirtualHardDisk method to create a new dynamic VHD.&amp;nbsp; PowerShell is smart enough to know that 20GB = 20 * 1073741824... &lt;EM&gt;That’s so COOL!.&lt;/EM&gt;&lt;/P&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=0 width="95%" bgColor=#000066 border=2&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=997&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;&lt;STRONG&gt;PS D:\&amp;gt; $VHDService = get-wmiobject -class "Msvm_ImageManagementService" -namespace "root\virtualization" &lt;BR&gt;PS D:\&amp;gt; $VHDService.CreateDynamicVirtualHardDisk("D:\vhds\TestVhd1.vhd", 20GB) &lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;&lt;STRONG&gt;__GENUS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;BR&gt;__CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : __PARAMETERS &lt;BR&gt;__SUPERCLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;__DYNASTY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : __PARAMETERS &lt;BR&gt;__RELPATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;__PROPERTY_COUNT : 2 &lt;BR&gt;__DERIVATION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : {} &lt;BR&gt;__SERVER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;__NAMESPACE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;__PATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Job&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : \\TAYLORB-DP490\root\virtualization:Msvm_StorageJob.InstanceID='Microsoft:Msvm_{B5A1A0EC-6A86-4CB0-AF7A-B336CBA2DCFF}' &lt;BR&gt;ReturnValue&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 4096&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;H3&gt;Finding Out If Your VHD Creation Succeeded Or Not…&lt;/H3&gt;
&lt;P&gt;Let’s say you actually want to know if the VHD was created successfully or not (&lt;EM&gt;crazy I know…&lt;/EM&gt;).&amp;nbsp; Well normally you would just check ReturnValue, but what the heck does 4096 mean?&amp;nbsp; 4096 means that the method is executing asynchronously (in the background) and you need to check it’s Job object to see when it’s finished and if it was successful…&lt;/P&gt;
&lt;P&gt;As you can see from the ErrorDescription below my job actually failed since I didn’t delete the VHD between the first and second sample…&amp;nbsp; Most of the Hyper-V WMI uses these Job objects so this is a pretty handy bit of code to know…&lt;/P&gt;
&lt;P&gt;Again the first command just retrieves a WMI object for &lt;A href="http://msdn.microsoft.com/en-us/library/cc136845(VS.85).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/cc136845(VS.85).aspx"&gt;Msvm_ImageManagmentService&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;The second command is mostly the same except for three key parts, first you can see it stores the return object in $Job but the real magic is the &lt;STRONG&gt;[WMI]&lt;/STRONG&gt; before the $VHDSer…&amp;nbsp; What’s happening is your telling PowerShell to make you a PowerShell WMI object for the Job path stored in the Job field. &lt;EM&gt;Look at the output from the sample above the Job field is a path to a WMI job object...&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The third command is just showing the output of the $Job… You could do $Job.ErrorDesciption if you wanted to just get the ErrorDescription..&lt;/P&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=0 width="95%" bgColor=#000066 border=2&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=997&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;PS D:\&amp;gt; $VHDService = get-wmiobject -class "Msvm_ImageManagementService" -namespace "root\virtualization" &lt;BR&gt;PS D:\&amp;gt; $Job = [WMI]$VHDService.CreateDynamicVirtualHardDisk("D:\Users\Public\Documents\Hyper-V\Virtual hard disks\TestVhd1.vhd", 20GB).Job &lt;BR&gt;PS D:\&amp;gt; $Job &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#c0c0c0 size=2&gt;__GENUS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;BR&gt;__CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Msvm_StorageJob &lt;BR&gt;__SUPERCLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : CIM_ConcreteJob &lt;BR&gt;__DYNASTY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : CIM_ManagedElement &lt;BR&gt;__RELPATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Msvm_StorageJob.InstanceID="Microsoft:Msvm_{22FE6994-4CD8-4D06-9F3D-906A23A4BB09}" &lt;BR&gt;__PROPERTY_COUNT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 43 &lt;BR&gt;__DERIVATION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : {CIM_ConcreteJob, CIM_Job, CIM_LogicalElement, CIM_ManagedSystemElement...} &lt;BR&gt;__SERVER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : TAYLORB-DP490 &lt;BR&gt;__NAMESPACE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : root\virtualization &lt;BR&gt;__PATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : \\TAYLORB-DP490\root\virtualization:Msvm_StorageJob.InstanceID="Microsoft:Msvm_{22FE6994-4CD8-4D06-9F3D-906A23A4B &lt;BR&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; B09}" &lt;BR&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Storage Job &lt;BR&gt;Child&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;BR&gt;DeleteOnCompletion&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : True &lt;BR&gt;Description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Disk Creation Job. &lt;BR&gt;ElapsedTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 00000000000000.000000:000 &lt;BR&gt;ElementName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Storage Job &lt;BR&gt;ErrorCode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 32768 &lt;BR&gt;ErrorDescription&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : The system failed to create 'D:\Users\Public\Documents\Hyper-V\Virtual hard disks\TestVhd1.vhd' with error 'The f &lt;BR&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; ile exists..' (0x80070050) &lt;BR&gt;ErrorSummaryDescription : &lt;BR&gt;HealthState&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 5 &lt;BR&gt;InstallDate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 00000000000000.000000+000 &lt;BR&gt;InstanceID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Microsoft:Msvm_{22FE6994-4CD8-4D06-9F3D-906A23A4BB09} &lt;BR&gt;JobCompletionStatusCode : 2147942480 &lt;BR&gt;JobRunTimes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1 &lt;BR&gt;JobState&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 10 &lt;BR&gt;JobStatus&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Error &lt;BR&gt;LocalOrUtcTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;BR&gt;Lun&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0 &lt;BR&gt;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; : Msvm_StorageJob &lt;BR&gt;Notify&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;BR&gt;OperationalStatus&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : {2} &lt;BR&gt;OtherRecoveryAction&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Owner&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;BR&gt;Parent&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;BR&gt;PathId&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0 &lt;BR&gt;PercentComplete&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0 &lt;BR&gt;PortNumber&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0 &lt;BR&gt;Priority&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0 &lt;BR&gt;RecoveryAction&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 3 &lt;BR&gt;RunDay&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;BR&gt;RunDayOfWeek&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;RunMonth&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;BR&gt;RunStartInterval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;ScheduledStartTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;StartTime&amp;nbsp;&amp;nbsp;&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;BR&gt;Status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Error &lt;BR&gt;StatusDescriptions&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : {Error} &lt;BR&gt;TargetId&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0 &lt;BR&gt;TimeBeforeRemoval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 00000000000000.000000:000 &lt;BR&gt;TimeOfLastStateChange&amp;nbsp;&amp;nbsp; : 00000000000000.000000+000 &lt;BR&gt;TimeSubmitted&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;Type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1 &lt;BR&gt;UntilTime&amp;nbsp;&amp;nbsp;&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;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;FONT size=3&gt;Well I think that's going to have to do it for tonight… Stay tuned I have A LOT more to show.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;&lt;EM&gt;If you prefer the examples in this format tell me, if you prefer the format from yesterday tell me, if you want a different format altogether tell me…&lt;/EM&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;FONT size=3&gt;-Good Night and Good Weekend &lt;BR&gt;-Taylor Brown&lt;/FONT&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;!-- Start of StatCounter Code --&gt;
&lt;SCRIPT type=text/javascript&gt;
sc_project=3725534; 
sc_invisible=1; 
sc_partition=45; 
sc_security="9a688012"; 
&lt;/SCRIPT&gt;

&lt;SCRIPT src="http://www.statcounter.com/counter/counter_xhtml.js" type=text/javascript&gt;&lt;/SCRIPT&gt;
&lt;NOSCRIPT&gt;&lt;/NOSCRIPT&gt;&lt;!-- End of StatCounter Code --&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3049074" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/virtualization/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.technet.com/virtualization/archive/tags/WMI/default.aspx">WMI</category></item><item><title>Hyper-V WMI Using PowerShell Scripts – Part 1</title><link>http://blogs.technet.com/virtualization/archive/2008/05/02/hyper-v-wmi-using-powershell-scripts-part-1.aspx</link><pubDate>Fri, 02 May 2008 17:53:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3048542</guid><dc:creator>Taylorb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/virtualization/comments/3048542.aspx</comments><wfw:commentRss>http://blogs.technet.com/virtualization/commentrss.aspx?PostID=3048542</wfw:commentRss><description>&lt;P&gt;&lt;FONT size=3&gt;Hello out there in blog land… This is Taylor Brown some of you may know me from the Virtualization Deployment Summit or from my posts on the TechNet Forums, for those who don’t know me I am a test lead on the Hyper-V team.&amp;nbsp; One of my team’s responsibilities is validating end-to-end integration of all the different parts of Hyper-V such as networking, storage, user-interface or installation.&amp;nbsp; We are also responsible for the relationship between you the customer and the rest of the Hyper-V test team.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Last week I did a demo of some Hyper-V WMI scripts in Powershell and enough people asked for them I figured I'll just post them for everyone…&amp;nbsp; So without further delay here's part 1.&lt;/FONT&gt;&lt;/P&gt;
&lt;H3&gt;&lt;FONT size=3&gt;PowerShell 2.0 CTP – Graphical PowerShell Interface&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;&lt;FONT color=#000000 size=3&gt;I highly recommend the PowerShell Graphical Interface that is included in the PowerShell 2.0 CTP.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000 size=3&gt;You can read more about it and download the installation package at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/scriptcenter/topics/msh/download2.mspx" mce_href="http://www.microsoft.com/technet/scriptcenter/topics/msh/download2.mspx"&gt;&lt;FONT color=#000000 size=3&gt;&lt;STRONG&gt;http://www.microsoft.com/technet/scriptcenter/topics/msh/download2.mspx&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000000 size=3&gt;&lt;STRONG&gt;. &lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000 size=3&gt;It offers a nice tabbed interface and color coding, its a CTP build so it’s far from bug-free but the benefits out way the pitfalls.&amp;nbsp; You have to uninstall the PowerShell 1.0 Windows update before you can install the CTP build.&amp;nbsp; I don't think I would install the CTP on your production servers, but the PowerShell scripts are generally compatible.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000 size=3&gt;The biggest downside to this interface for me is that it makes me want more features like auto-complete.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowershellScriptsPart1_13A7C/PowerShell20CTP_1.jpg" mce_href="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowershellScriptsPart1_13A7C/PowerShell20CTP_1.jpg"&gt;&lt;IMG title=PowerShell20CTP style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=326 alt=PowerShell20CTP src="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowershellScriptsPart1_13A7C/PowerShell20CTP_thumb_1.jpg" width=356 border=0 mce_src="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowershellScriptsPart1_13A7C/PowerShell20CTP_thumb_1.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT size=3&gt;Mapping Worker Process ID's to Virtual Machines&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;&lt;FONT color=#000000 size=3&gt;Each virtual machine has it's own worker process (vmwp.exe) instance when it's running.&amp;nbsp; Some people have asked how they can map worker process to a specific virtual machine so here's the answer... This is also a great example of the power that WMI and PowerShell have with Hyper-V.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: gray 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 8pt; PADDING-BOTTOM: 4px; MARGIN: 20px 0px 10px; OVERFLOW: auto; BORDER-LEFT: gray 1px solid; WIDTH: 97.5%; CURSOR: text; MAX-HEIGHT: 200px; LINE-HEIGHT: 12pt; PADDING-TOP: 4px; BORDER-BOTTOM: gray 1px solid; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BACKGROUND-COLOR: #f4f4f4"&gt;
&lt;DIV style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   1:&lt;/SPAN&gt; $Vm = Get-WmiObject -Namespace root\virtualization -ComputerName &lt;SPAN style="COLOR: #006080"&gt;"."&lt;/SPAN&gt; `&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   2:&lt;/SPAN&gt; -Query &lt;SPAN style="COLOR: #006080"&gt;"Select * From Msvm_ComputerSystem Where ElementName='Server 2008 - Test1'"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   3:&lt;/SPAN&gt; $Vm.ProcessID&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   4:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   5:&lt;/SPAN&gt; $Vm = Get-WmiObject -Namespace root\virtualization -ComputerName &lt;SPAN style="COLOR: #006080"&gt;"."&lt;/SPAN&gt; `&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   6:&lt;/SPAN&gt;    -Query &lt;SPAN style="COLOR: #006080"&gt;"Select * From Msvm_ComputerSystem Where ProcessID=4044"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 8pt; PADDING-BOTTOM: 0px; MARGIN: 0em; OVERFLOW: visible; WIDTH: 100%; COLOR: black; BORDER-TOP-STYLE: none; LINE-HEIGHT: 12pt; PADDING-TOP: 0px; FONT-FAMILY: consolas, 'Courier New', courier, monospace; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-STYLE: none"&gt;&lt;SPAN style="COLOR: #606060"&gt;   7:&lt;/SPAN&gt; $Vm.ElementName&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;Lines 1 and 2 retrieves a WMI object for the virtual machine with the friendly name of 'Server 2008 - Test1'.&amp;nbsp; Then line 4 outputs the value in the ProcessID field to the console.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000 size=3&gt;Lines 5 and 6 retrieves the same WMI object as lines 1 and 2 did but retrieves it via the process id.&amp;nbsp; Then line 7 outputs the value in the ElementName (friendly name) of the virtual machine to the console.&lt;/FONT&gt;&lt;/P&gt;
&lt;H3&gt;&lt;FONT size=3&gt;Other WMI Properties Of the Msvm_ComputerSystem&lt;/FONT&gt;&lt;/H3&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowershellScriptsPart1_13A7C/msvm_computersystem.jpg" mce_href="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowershellScriptsPart1_13A7C/msvm_computersystem.jpg"&gt;&lt;IMG title=msvm_computersystem style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=321 alt=msvm_computersystem src="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowershellScriptsPart1_13A7C/msvm_computersystem_thumb.jpg" width=485 border=0 mce_src="http://blogs.technet.com/blogfiles/virtualization/WindowsLiveWriter/HyperVWMIUsingPowershellScriptsPart1_13A7C/msvm_computersystem_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;&lt;FONT size=3&gt;One of the best parts about writing scripts in PowerShell over VBScript or JScript is that like a command or batch script you can run commands in the shell window and see the results right away...&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=3&gt;In this screen capture I just ran the command from line 1 and 2 above &lt;EM&gt;(hint remove the ` and carriage return from the end of line 1 to make the command a single line).&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;Then I ran $Vm, which is the WMI object I retrieved.&amp;nbsp; This will output all of the properties that object contains.&amp;nbsp; Here's the list - stay tuned for later posts and I will talk about what these properties mean.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;PS C:\&amp;gt; $Vm = Get-WmiObject -Namespace root\virtualization -ComputerName "." -Query "Select * From Msvm_ComputerSystem Where ElementName='Server 2008 - Test1'" &lt;BR&gt;PS C:\&amp;gt; $Vm&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;__GENUS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;BR&gt;__CLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Msvm_ComputerSystem &lt;BR&gt;__SUPERCLASS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : CIM_ComputerSystem &lt;BR&gt;__DYNASTY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : CIM_ManagedElement &lt;BR&gt;__RELPATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Msvm_ComputerSystem.CreationClassName="Msvm_ComputerSystem",Name="A1223A4B-887D-4F01-895E-FBFB636F76D8" &lt;BR&gt;__PROPERTY_COUNT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 29 &lt;BR&gt;__DERIVATION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : {CIM_ComputerSystem, CIM_System, CIM_EnabledLogicalElement, CIM_LogicalElement...} &lt;BR&gt;__SERVER&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : TAYLORB-DP490 &lt;BR&gt;__NAMESPACE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : root\virtualization &lt;BR&gt;__PATH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/FONT&gt;&lt;A href="file:///root/virtualization:Msvm_ComputerSystem.CreationClassName=" mce_href="file://\\localhost\root\virtualization:Msvm_ComputerSystem.CreationClassName=" msvm_computersystem?,Name="A1223A4B-887D-4F01-895E-FBFB636F76D8"&gt;&lt;FONT face=Courier color=#000000 size=1&gt;\\localhost\root\virtualization:Msvm_ComputerSystem.CreationClassName="Msvm_ComputerSystem",Name="A1223A4B-887D-4F01-895E-FBFB636F76D8&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Courier size=1&gt;"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Courier size=1&gt;AssignedNumaNodeList&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : {0} &lt;BR&gt;Caption&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Virtual Machine &lt;BR&gt;CreationClassName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Msvm_ComputerSystem &lt;BR&gt;Dedicated&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;BR&gt;Description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Microsoft Virtual Machine &lt;BR&gt;ElementName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Server 2008 - Test1 &lt;BR&gt;EnabledDefault&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;BR&gt;EnabledState&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2 &lt;BR&gt;HealthState&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 5 &lt;BR&gt;IdentifyingDescriptions&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;InstallDate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 20080502051703.000000-000 &lt;BR&gt;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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : A1223A4B-887D-4F01-895E-FBFB636F76D8 &lt;BR&gt;NameFormat&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;BR&gt;OnTimeInMilliseconds&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 3783756 &lt;BR&gt;OperationalStatus&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : {2} &lt;BR&gt;OtherDedicatedDescriptions&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;OtherEnabledState&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;BR&gt;OtherIdentifyingInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;PowerManagementCapabilities&amp;nbsp;&amp;nbsp; : &lt;BR&gt;PrimaryOwnerContact&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;PrimaryOwnerName&amp;nbsp;&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;BR&gt;ProcessID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 4044 &lt;BR&gt;RequestedState&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 12 &lt;BR&gt;ResetCapability&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1 &lt;BR&gt;Roles&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;BR&gt;Status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;BR&gt;StatusDescriptions&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;BR&gt;TimeOfLastConfigurationChange : 20080502051707.000000-000 &lt;BR&gt;TimeOfLastStateChange&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 20080502051707.000000-000&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;!-- Start of StatCounter Code --&gt;
&lt;SCRIPT type=text/javascript&gt;
sc_project=3725534; 
sc_invisible=1; 
sc_partition=45; 
sc_security="9a688012"; 
&lt;/SCRIPT&gt;

&lt;SCRIPT src="http://www.statcounter.com/counter/counter_xhtml.js" type=text/javascript&gt;&lt;/SCRIPT&gt;
&lt;NOSCRIPT&gt;&lt;/NOSCRIPT&gt;&lt;!-- End of StatCounter Code --&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3048542" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/virtualization/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.technet.com/virtualization/archive/tags/WMI/default.aspx">WMI</category></item></channel></rss>