<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://powershell.com/cs/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>Search results for 'app:weblogs' matching tags 'operating system' and 'receiving input'</title><link>http://powershell.com/cs/search/SearchResults.aspx?q=app:weblogs&amp;tag=operating+system,receiving+input&amp;orTags=0&amp;o=DateDescending</link><description>Search results for 'app:weblogs' matching tags 'operating system' and 'receiving input'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Create a Custom Object from WMI by Using PowerShell</title><link>http://powershell.com/cs/blogs/hey-scriptingguy/archive/2011/09/27/create-a-custom-object-from-wmi-by-using-powershell.aspx</link><pubDate>Tue, 27 Sep 2011 05:00:00 GMT</pubDate><guid isPermaLink="false">f421715f-7aba-45f0-8a8d-44de5318a3a7:12519</guid><dc:creator>Anonymous</dc:creator><description>&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;: Create a custom object from WMI to display processor and operating system information using Windows PowerShell.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img title="Hey, Scripting Guy! Question" border="0" alt="Hey, Scripting Guy! Question" align="left" src="http://img.microsoft.com/library/media/1033/technet/images/scriptcenter/qanda/q-sm.jpg" width="34" height="34" /&gt;Hey, Scripting Guy! Your script &lt;a href="http://blogs.technet.com/b/heyscriptingguy/archive/2011/09/26/use-powershell-and-wmi-to-get-processor-information.aspx"&gt;yesterday&lt;/a&gt; was pretty cool. However, in addition to obtaining information about the processor, I also need to know operating system is 32-bit or 64-bit, the version of Windows that is installed, and the service pack that is installed. I hate to be picky, but this is the information I need in order to plan for our upgrade project.&lt;/p&gt;
&lt;p&gt;&amp;mdash;BB&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img title="Hey, Scripting Guy! Answer" border="0" alt="Hey, Scripting Guy! Answer" align="left" src="http://img.microsoft.com/library/media/1033/technet/images/scriptcenter/qanda/a-sm.jpg" width="34" height="34" /&gt;Hello BB,&lt;/p&gt;
&lt;p&gt;Microsoft Scripting Guy Ed Wilson here. First, I need to apologize to the Scripting Wife. Yesterday was her birthday, and I did not mention it in the Hey, Scripting Guy! Blog. Sorry!&lt;/p&gt;
&lt;p&gt;Beyond the disappointed Scripting Wife, BB, I am glad you enjoyed yesterday&amp;rsquo;s article. It is one of those things that sort of gets out of control. I begin working on a script and keep adding to it. So I will simply continue adding to it for today.&lt;/p&gt;
&lt;p&gt;First, make sure you have the script from yesterday&amp;rsquo;s Hey Scripting Guy! Article. The script, as it stood at the end of yesterday, is shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Import-Module ActiveDirectory&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$pingConfig = @{&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;count&amp;quot; = 1&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;bufferSize&amp;quot; = 15&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;delay&amp;quot; = 1&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;EA&amp;quot; = 0 }&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$computer = $cn = $null&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$cred = Get-Credential&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;Get-ADComputer -filter * -Credential $cred |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;ForEach-Object {&lt;/p&gt;
&lt;p style="padding-left:30px;"&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; if(Test-Connection -ComputerName $_.dnshostname @pingconfig)&lt;/p&gt;
&lt;p style="padding-left:30px;"&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; { $computer += $_.dnshostname + &amp;quot;`r`n&amp;quot;} }&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$computer = $computer -split &amp;quot;`r`n&amp;quot;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$property = &amp;quot;systemname&amp;quot;,&amp;quot;maxclockspeed&amp;quot;,&amp;quot;addressWidth&amp;quot;,&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;numberOfCores&amp;quot;, &amp;quot;NumberOfLogicalProcessors&amp;quot;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;foreach($cn in $computer)&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;{&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;if($cn -match $env:COMPUTERNAME)&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; Get-WmiObject -class win32_processor -Property&amp;nbsp; $property |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; Select-Object -Property $property }&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;elseif($cn.Length -gt 0)&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp; {&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; Get-WmiObject -class win32_processor -Property $property -cn $cn -cred $cred |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp; &amp;nbsp;Select-Object -Property $property } }&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now, let&amp;rsquo;s see if I can find the additional information you need for your upgrade project. Actually, it is pretty simple because everything you need is in the &lt;b&gt;Win32_OperatingSystem&lt;/b&gt; WMI class. The &lt;a href="http://msdn.microsoft.com/en-us/library/aa394239(VS.85).aspx"&gt;Win32_OperatingSystem WMI class is documented on MSDN&lt;/a&gt;, but the properties needed for today&amp;rsquo;s script are rather straightforward and do not need extensive documentation. A quick check of the &lt;b&gt;Win32_Operatingsystem&lt;/b&gt; WMI class reveals everything I need. The command I use to perform this check is shown here (&lt;b&gt;gwmi&lt;/b&gt; is an alias for &lt;b&gt;Get-WmiObject&lt;/b&gt; and &lt;b&gt;fl&lt;/b&gt; is alias for &lt;b&gt;Format-List&lt;/b&gt;):&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;gwmi win32_operatingsystem | fl *&lt;/p&gt;
&lt;p&gt;The command and associated output are shown in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/8863.hsg_2D00_9_2D00_27_2D00_11_2D00_01.png"&gt;&lt;img style="border:0px;" title="Image of command and associated output" alt="Image of command and associated output" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/8863.hsg_2D00_9_2D00_27_2D00_11_2D00_01.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The revised script is named GetADComputersAndWMiProcessorAndOSInfo.ps1.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;GetADComputersAndWMiProcessorAndOSInfo&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;Import-Module ActiveDirectory&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$pingConfig = @{&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;count&amp;quot; = 1&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;bufferSize&amp;quot; = 15&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;delay&amp;quot; = 1&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;EA&amp;quot; = 0 }&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$computer = $cn = $null&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$cred = Get-Credential&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;Get-ADComputer -filter * -Credential $cred |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;ForEach-Object {&lt;/p&gt;
&lt;p style="padding-left:30px;"&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; if(Test-Connection -ComputerName $_.dnshostname @pingconfig)&lt;/p&gt;
&lt;p style="padding-left:30px;"&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; { $computer += $_.dnshostname + &amp;quot;`r`n&amp;quot;} }&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$computer = $computer -split &amp;quot;`r`n&amp;quot;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$property = &amp;quot;systemname&amp;quot;,&amp;quot;maxclockspeed&amp;quot;,&amp;quot;addressWidth&amp;quot;,&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;numberOfCores&amp;quot;, &amp;quot;NumberOfLogicalProcessors&amp;quot;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$osProperty = &amp;quot;Caption&amp;quot;, &amp;quot;OSArchitecture&amp;quot;,&amp;quot;ServicePackMajorVersion&amp;quot;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;foreach($cn in $computer)&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;{&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;if($cn -match $env:COMPUTERNAME)&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; $obj = Get-WmiObject -class win32_processor -Property&amp;nbsp; $property |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select-Object -Property $property&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; $os =&amp;nbsp; Get-WmiObject -class win32_OperatingSystem -Property&amp;nbsp; $osproperty |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;Select-Object -Property $osproperty&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; } #end if&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;elseif($cn.Length -gt 0)&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp; {&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; $obj = Get-WmiObject -class win32_processor -Property $property -cn $cn -cred $cred |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; Select-Object -Property $property&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; $os = Get-WmiObject -class win32_OperatingSystem -Property $osproperty -cn $cn -cred $cred |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; Select-Object -Property $osproperty&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp; } #end elseif&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp; New-Object psobject -Property @{&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;name&amp;quot; = $obj.systemname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;speed&amp;quot; = $obj.maxclockspeed&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;addressWidth&amp;quot; = $obj.addressWidth&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;numberCores&amp;quot; = $obj.numberOfCores&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;numberLogicalProcessors&amp;quot; = $obj.NumberOfLogicalProcessors&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;OSname&amp;quot; = $os.Caption&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;OSArchitecture&amp;quot; = $os.OSArchitecture&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;ServicePack&amp;quot; = $os.ServicePackMajorVersion&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp; #$os&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;} #END FOREACH&lt;/p&gt;
&lt;p&gt;When the script runs, the first thing that happens is a credential dialog box displays. This is because I request credentials for connection to remote systems. The credentials are not used to connect to the local computer. The credential dialog box is shown in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/0726.hsg_2D00_9_2D00_27_2D00_11_2D00_02.png"&gt;&lt;img style="border:0px;" title="Image of credential dialog box" alt="Image of credential dialog box" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/0726.hsg_2D00_9_2D00_27_2D00_11_2D00_02.png" width="429" height="316" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I added an array of properties to store the operating system information:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;$osProperty = &amp;quot;Caption&amp;quot;, &amp;quot;OSArchitecture&amp;quot;,&amp;quot;ServicePackMajorVersion&amp;quot;&lt;/p&gt;
&lt;p&gt;This change is shown in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/7633.hsg_2D00_9_2D00_27_2D00_11_2D00_03.png"&gt;&lt;img style="border:0px;" title="Image of the change" alt="Image of the change" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/7633.hsg_2D00_9_2D00_27_2D00_11_2D00_03.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In addition, I changed the portion of the script inside the &lt;b&gt;Foreach&lt;/b&gt; loop so that I am storing the &lt;b&gt;Processor&lt;/b&gt; object instead of directly emitting. I also added a WMI query to retrieve the operating system information. The revised section is shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;foreach($cn in $computer)&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;{&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;if($cn -match $env:COMPUTERNAME)&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; $obj = Get-WmiObject -class win32_processor -Property&amp;nbsp; $property |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select-Object -Property $property&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; $os =&amp;nbsp; Get-WmiObject -class win32_OperatingSystem -Property&amp;nbsp; $osproperty |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select-Object -Property $osproperty&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; } #end if&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;elseif($cn.Length -gt 0)&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp; {&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; $obj = Get-WmiObject -class win32_processor -Property $property -cn $cn -cred $cred |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; Select-Object -Property $property&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; $os = Get-WmiObject -class win32_OperatingSystem -Property $osproperty -cn $cn -cred $cred |&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; Select-Object -Property $osproperty&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp; } #end elseif&lt;/p&gt;
&lt;p&gt;This portion of the revised code is shown in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/8585.hsg_2D00_9_2D00_27_2D00_11_2D00_04.png"&gt;&lt;img style="border:0px;" title="Image of this portion of revised code" alt="Image of this portion of revised code" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/8585.hsg_2D00_9_2D00_27_2D00_11_2D00_04.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To make it easier to work with the output, I decided to return a custom object. This object contains information from both WMI classes. In addition, I changed some of the column headings to make it easier to read. This section of the script that creates the new object is shown here:&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;New-Object psobject -Property @{&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;name&amp;quot; = $obj.systemname&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;speed&amp;quot; = $obj.maxclockspeed&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;addressWidth&amp;quot; = $obj.addressWidth&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;numberCores&amp;quot; = $obj.numberOfCores&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;numberLogicalProcessors&amp;quot; = $obj.NumberOfLogicalProcessors&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;OSname&amp;quot; = $os.Caption&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;OSArchitecture&amp;quot; = $os.OSArchitecture&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; &amp;quot;ServicePack&amp;quot; = $os.ServicePackMajorVersion&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;nbsp;&amp;nbsp; } #end new object&lt;/p&gt;
&lt;p&gt;This portion of the new code is shown in the following figure.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/3108.hsg_2D00_9_2D00_27_2D00_11_2D00_05.png"&gt;&lt;img style="border:0px;" title="Image of this portion of new code" alt="Image of this portion of new code" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/3108.hsg_2D00_9_2D00_27_2D00_11_2D00_05.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When the script runs, the following output is displayed.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/5657.hsg_2D00_9_2D00_27_2D00_11_2D00_06.png"&gt;&lt;img style="border:0px;" title="Image of output displayed when script is run" alt="Image of output displayed when script is run" src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-76-18/5657.hsg_2D00_9_2D00_27_2D00_11_2D00_06.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;BB, that is all there is to using Windows PowerShell to query for both processor and operating system information.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I invite you to follow me on &lt;a href="http://bit.ly/scriptingguystwitter" target="_blank"&gt;Twitter&lt;/a&gt; and &lt;a href="http://bit.ly/scriptingguysfacebook"&gt;Facebook&lt;/a&gt;. If you have any questions, send email to me at &lt;a href="mailto:scripter@microsoft.com" target="_blank"&gt;scripter@microsoft.com&lt;/a&gt;, or post your questions on the &lt;a href="http://bit.ly/scriptingforum" target="_blank"&gt;Official Scripting Guys Forum&lt;/a&gt;. See you tomorrow. Until then, peace.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ed Wilson, Microsoft Scripting Guy&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3455615" width="1" height="1" alt="" /&gt;</description></item></channel></rss>